Computer that "learns"? - Page 1
Forum section: electronics / general

author: JonnyBoats
author_rank: Regular Contributor
timestamp: March 29, 2014, 08:14:42 pm
content: OK this is not really EE but Computer Science.....We read a lot about how firms like IBM (Watson) and Google have computers that "learn". There is the Google cluster of 16,000 computers that "watched" YouTube videos and "discovered" cats:http://www.nytimes.com/2012/06/26/technology/in-a-big-network-of-computers-evidence-of-machine-learning.html?pagewanted=all&_r=0What I would like to know is if anyone knows of a simpler example that someone could run at home for people to learn how this works? Maybe something on the order of computer reads a photo-sensor and "discovers" that light levels vary by time of day and follow a daily cycle. Something simple to demonstrate the concept.On a personal note, I find it fascinating to contemplate a computer that knows nothing out of the box that gets "smarter" over time so long as I continue to feed it power and an internet connection.

author: SeanB
author_rank: Super Contributor
timestamp: March 29, 2014, 08:23:18 pm
content: It will discover porn and cats at about the same time...........And will be confused by both.

author: IanB
author_rank: Super Contributor
timestamp: March 29, 2014, 08:24:55 pm
content: Machine learning is a big field. The best place to start is by reading up on neural networks. You can very easily do experiments with simple neural networks and simple recognition tasks on a home computer.

author: kolonelkadat
author_rank: Regular Contributor
timestamp: March 29, 2014, 09:39:22 pm
content: learning how to use neural networks for ocr is a nice weekend project.

author: zapta
author_rank: Super Contributor
timestamp: March 30, 2014, 02:56:14 pm
content: Search the net for free material and software. There is plenty. For examplehttps://www.coursera.org/course/mlMachine learning uses a training set of labeled data to predict the labels for non labeled data. The data is typically represented as a vector of 'features'. For example, given information about N people such as <age, weight, number_of_multimeter_owned, country, wear_glasses, number_of_tattoos> -> is_an_eevblog_member, given a feature vector of another person, predict if that person is an eevblog member or not.One way to look at it has having each vector representing a point in a n-dimensional space (6 in the example above) of which certain portions has higher probability to have eevblog members while others have higher probability for non eevblog members, and given a new vector of features (an n-dimensional point), figure out in which of the two it falls.The accuracy of the prediction (aka classification) is measured in terms of 'recall' and 'precision' which are fancy names for false positive and false negative. Achieving 100% in either of them is trival (always predict true or always predict false) but the challenge is having high rates for both of them.Hope it helps.PS: you can program the old 'guess the animal' game. It learns but has nothing to do with machine learning. It goes like this, the program has a binary tree with questions as inner nodes and animal names as leaves. It start with a tree with a single question 'does it bark?' and two answers, yes->dog, no-cat. The play things of an anima and traverse the tree using yes/no answers. When you get to the bottom, if the animal name of the leaf is different than the one the play picked, it asks the player to enter a question that distinguish between the two and add to the tree that question, thus learning the new animal.

author: Jarrod Roberson
author_rank: Regular Contributor
timestamp: March 30, 2014, 03:22:50 pm
content: Quote from: JonnyBoats on March 29, 2014, 08:14:42 pmIf this is the take away from that article, it is buzzfeed journalism at its worst!Then you will be sadly disappointed to find out that your assumption that the computer starts out at "nothing" is profoundly incorrect. The computer doesn't get smarter from nothing, that isn't how it works. There is no magic to it. A program tells it in painful detail about a subject and provides rules for it to guess whether how "fit" other things are for those rules.This article is particularly misleading and egregious the way it is written, they might not have given it the concept of a "cat", but they did give it the concept of matching things with detail rules and other things, the neural network just applied those rules billions/millions of times and found lots of data that was similar and all of it was labeled "cat" so it create a category of "data that is all similar and all has the label cat, so I will categorize future data that is similar and not labeled as cat as cat". It implies to the layman that the system "intuited the concept of a cat" out of thin air, which isn't the case.Note the only thing it classifies as "cat" are direct front on data, so it didn't create the concept of a "cat" in the whole like a child would, it just classifies some data, labels it and adds it to its pool of data to help classify future data, if the data varies by even a small delta, it isn't "smart" enough to know it is the same. Thus the comment that there is probably other "discoveries" of side views of cats that the computer made but they are separate non-integrated "discoveries".Which means, the computer didn't "discover" a "cat" and has no concept of what a "cat" really is, just that some data pattern that is labeled "cat" by humans. They created a generalized image data auto-taxonomy neural net, they didn't create an intuitive computer program that is "smart".Computer "vision" is notoriously conflated with "learning" but the "vision" algorithms have very little if nothing to do with biological vision, much like machine "learning" has little to do with biological learning.They say as much in the last sentence, that this isn't really "learning", far from it.I thought this was terrible "journalism" back when it was first reported, it doesn't stand up to the test of time for sure.

author: zapta
author_rank: Super Contributor
timestamp: March 30, 2014, 03:37:24 pm
content: Quote from: Jarrod Roberson on March 30, 2014, 03:22:50 pmIt does know, by the lower confidence level.I wouldn't be surprised if human learning is just as simple, a few low level components and rules that make the all thing happen. Once we glamorized the heart, now we know it's just a pump. May be the same with the brain.

author: Tinkerer
author_rank: Frequent Contributor
timestamp: March 30, 2014, 11:14:59 pm
content: This is a huge subject and I doubt a paragraph or two is even enough to summarize it.Conciousness I think comes from I think at its base, feedback loops. Computers lack 'needs' at the moment and cant really set their own agendas to satisfy needs that dont exist. The point of mentioning this is that for example, when a person is hungry, they will start looking for food. How do they know what is food? They have learned over their lifetime what is food and what isnt; people learn to associate certain feelings and sights with a given thing. This is in addition to compounds such as fats and sugars that are ingrained through evolution as to be good. Now imagine if a computer suddenly realized it needs energy from somewhere and it could make the step that it needs to go find this energy. Add on top of this that it needs programming solely to learn and implement ways to communicate in order to achieve this goal and now you have a robot running around asking where the energy is. People learn to communicate through growing up. They learn that you have to ask questions a certain way and that simply yelling at people or hitting them isnt how you get an answer.Now, take the above example and stack on the various layers that are people. Things like long term planning, the need to procreate, and the need to improve the world around them(well many people anyway) and you end up with something exactly like a person.Most importantly though, you need to have the ability to empathize with other people, that is at its most basic one of the major things that humanity is about. Without this, you are left with cold hard wants, needs, and ambitions. This is basically going to be what that new movie is about where the guy transfers his consciousness into the computer. Without the ability to empathize, he basically loses his humanity.I should have gone into AI because it seems I have the concepts of it pretty well haha. Needless to say, this is not a simple subject and I dont mean to imply that it is.

author: SL4P
author_rank: Super Contributor
timestamp: March 31, 2014, 01:06:15 am
content: Quote from: zapta on March 30, 2014, 03:37:24 pmCompletely agree.I wrote an algorithm and supporting user interface back in 1992 - called 'Acquisitive', which took multiple user's command-line input, and developed a dictionary of context and temporal relevance. It worked great, but I have been unable even to 'show' that, and the fruits that grew from it - due to lawyers and corporate barriers against external IP.I've been offered university research resources and many other opportunities but I can't afford to stop working -- i.e. no forward movement. Acquisitive, and CRC/Freedom did exactly what you suggesting - starting from a totally blank canvas, and building experience from that to infer and propose outcomes. Oh well.

author: SL4P
author_rank: Super Contributor
timestamp: March 31, 2014, 01:07:16 am
content: Quote from: Jarrod Roberson on March 30, 2014, 03:22:50 pmCRAP.

author: Jarrod Roberson
author_rank: Regular Contributor
timestamp: March 31, 2014, 02:17:35 pm
content: Quote from: zapta on March 30, 2014, 03:37:24 pmThe program isn't "smart" enough to know that a side view of a cat and front view of just the face is still a "cat" and correlate the two, they say this in the article.Like I said, this is a buzzfeed quality article and completely does a hollywood misrepresentation on what they accomplished. Throw a 3/4 view of a cat, or a rear view of a cat into the mix of images that the front view of cats, it will just reject it as not being a "cat". That isn't "smart", that isn't learning or intelligence, that is fuzzy categorizing based on comparison.Conflating this neural net categorization algorithm to "smarts" or "intelligence" is like conflating automatic cruise control PID algorithms with a self driving/navigating car, and that is exactly what this article indirectly implies, that the computer program conceived something out of nothing, which it didn't.

author: zapta
author_rank: Super Contributor
timestamp: March 31, 2014, 03:56:45 pm
content: I did not read the article but the field of machine learning is for real and and is useful.