![]() |
|||||||||||
|
|||||||||||
|
Course Navigation
Week 4 (September 24, 26)
Timothy Ambrogiq.cis.uoguelph.ca/~skremer/Teaching/27476/lectures/node11.htmlpsy.uq.oz.au/CogPsych/acnn96/case7.html
The above links give further information on NetTalk, for those of you who are interested in more of the details on it. I was talking with Johnicolas Hines earlier this week about Neural Net applications I was thinking about (such as music analysis/synthesis software, car-counting, video-game playing) and in most of the complex cases I listed out, he suggested that neural networks were a silly option, though he refused to tell me what would be better. Also, I was thinking that genetic (evolutionary) algorithms could be used to great effect in parallel programming. Each node could test X cases, and send the process with the highest fitness back to the host. Then the host would send back the best of all processes, to be broken up into X more cases. This way, many nodes could work together on the algorithm in what I suspect would be very efficient parallel.
Lawrence BombackI particularly enjoyed learning about NetTalk this week. I always wondered how computers were able to produce coherent speech. I have a program on my computer callled Aladdin's Reading Lamp which allows the user to copy any text onto the clipboard and it will then read it back to the user. I find it particularly helpful after I've written a paper because Aladdin catches more mistakes than I would just proofreading the paper to myself. It always fascinated me how the program work and I feel like I know a little bit more about it now. I also wonder if we will ever be able to get computer sppech to sound like actual human speech. The compuvoice currently is the typical voice that robots have in sci-fi movies. What I think needs to be done is to incorporate some principles from psycholinguistics - most importantly the notion of formants. Formants are essentially overtones of the fundamental frequency, the rate which vocal cords vibrate when air passes through them. The faster the vibration the higher pitched the voice. I don't know what exactly is "vibrating" inside the computer but I do believe the first three formants are being incorporated somehow because the first three formants are crucial for speech production. The fourth and fifth formant give our voice its "human" quality. Without these two upper formants, our speech would be very similar to that of a computer - very monotous and arhythmic. I suppose the same notion of feature detection used in speech production for computers is true for speech comprehension as well. Software programs such as Point & Speak are capable of understanding spoken human speech. I assume that there is a neural net involved here that takes the examples of the user's voice and turns them into a training set.
Jacqueline ChewI found NetTalk to be extremely interesting because i had never thought of computer speech as an impressive accomplishment. I had never considered that training algorithms and such programming were necessary. I am very curious as to how the computer was able to develop speech. It seemed as if it was similar to the way a child learns to speak becasue it began with gibberish, much like the way that babies attempt to express themselves. Slowly, the gibberish can be vaguely interpreted as words. I was very impressed by the improvement made. I was also impressed by the letter recognition training we saw in class. After the number of trials, the computer began to recognize letters with near-perfection. In some cases, when "noise" was added, the computer was better at recognizing the letters than a human would be.
Catherine ChiuI have to admit that I am impressed with the applications of training and genetic algorithms. After hearing NetTalk and seeing the demonstration of a training algorithm, I was quite amazed at how much the computers had improved and how the computers had taught itself to speak or recognize letters. The output went from utter gibberish to something that was somewhat comprehensive. Although there were still some stumbling points in the computer's speech, it was able to correct itself and improve. I was wondering how exactly the computer was programmed though. Did it have something to compare itself to or did it just have the building blocks of what sound each letter made?
I was equally amazed by the demonstration of genetic algorithms in the video clip that we watched from NightLine. The learning process of the robot trying to walk seemed very similar to the way that a human infant would learn how to walk. I wonder if that is because the robot was given a goal that it was trying to acheive and it could then consider choice and if a certain choice would make it "happy" or if there was something different about the program.
Jason Coleman
Nicholas KerrI haven't quite made the distinction in my head between game theoretic optimization algorithms and genetic algorithms. I had thought that up until this point the field of mathematics/economics in which an optimal solution is found give a set of data and a set of rules upon which to act on the data is fairly well established. I am not I see the difference between programs "mating" or simply being selected in a certain way because the are more "optimal" than others in a certain problem. Is the term "genetic algorithm" (and the parallels we have been drawing between cs and darwinian evolution) just a buzz word to get people interested in the topic? Sure there are many elements of genetic algorithms that parallel darwin's theory of evolution, but this just seems like an intricate optimization problem with a flashy solution. I think there is something I am missing. Granted, I don't know much about game theory...
Ananya Misra
From the examples / case studies in the video, I found two particularly interesting. The first was the bug-like creature learning to walk based on the ideal positions of its legs. This may not have been more complicated than any other learning program, but the fact that it was learning actual physical coordination made it seem more dramatic. Most such systems that I've come across either don't have a physical "body" or begin with predefined concepts of going forward and turning. So it was interesting to watch a robot learn a more basic or animal-like step. Of course, I don't know if animals really begin learning to walk by instinct (like the robot) or example (or both, or neither), but the robot did look somewhat realistic.
The stock program also interested me, mainly because of its success. But the suggestion that it works better than human beings reminds me of a natural language processing talk I had to attend this summer. The speaker claimed that his software could grade essays better than human teachers, because more consistently. This statement didn't go down well with most of the audience, especially since the program worked by first going through a training sample of essays on the given topic graded by...human teachers. I guess the stock example is different because it's based on evolution and does not rely as directly on human strategies for input--which makes it more credible that it can devise a better plan of its own. It would be useful if we could see how the predictions or decisions were made (other than by number sequences), but I suppose that would involve the program's developing some sort of symbolic system.
James Racanelli
Ian HarrisonRegarding the use of neural networks in relation to language, I think that nettalk seems more like a publicity than an actual application of machine learning to the problem of human language. The nettalk program didn’t learn the general patterns of spoken language, just the ones specific to the sound wave it was supposed to reproduce. I don’t exactly what the training data looked like, but I imagine it involved feeding back how far off the output wave was from a prerecorded wave that involved the pronunciation of the given sentence. So nettalk would’ve been trained to reproduce a specific wave, and not to speak. There has been successful work done in the area of using neural networks to learn grammar, and the current of model of the human language capability involves neural net like structures, as opposed to the Universal Grammar module proposed by Chomsky. Distributed representation of data would explain why there are no actual rules of grammar, but rather patterns of speech upon which rules are later imposed by grammarians, even when no finite set of grammatical rules is capable of capturing all of human language. It also helps explain we can understand even highly ungrammatical sentences. While I don’t believe that a neural network, on it’s own, is enough to fully recreate the language capability, it does a appear to be one of the major components necessary for speech. If one were to equate language with intelligence, as some do, then artificial intelligence would most probably end up being neural network based. According to Derek Bickerton, language may also be accounted for by a sort of Darwinian process that occurs in the brain (he calls them Darwin Machines), from which intelligible speech evolves from meaningless drivel. It may be that, between genetic algorithms and neural networks, we already have the proper programming techniques to create a language learning machine, and that the only obstacle in our way is lack of an ability to train such a program properly. Such a program, taught properly, avoids the dilemma of Searle's Chinese room because it doesn't simply exhibit specifically programmed behavior (the intelligence of the system is not the intelligence of its creator), but rather would display behavior based on its learning, much the same way people do.
Juan RamosI found the concept of genetic programming, including the examples shown in the video, to be a very interesting take on the whole artificial intelligence field. In these, we see a computer that is given a basic set of rules and behavior, and is told what the expected results should be. Programmers don't tell the computer anything about how it should solve the problem, but after some time, the computer can come up with results that are better than what a human could produce. The two main examples that come to mind are the 'limbo' lamp that dragged itself with its head instead of its stand, and the stock program that foresaw the rise of Apple Computers' options. I imagine that there might be genetic programs that can be taught to break codes, and any n-th generation of such a program might be a very effective codebreaker. This approach to making a learning computer also led me to think that future advances in AI might come from the desire to make computers that imitate human behavior, or at least human patters. Take genetic algorithms, for instance. Genetic algorithm programmers are mimicking a biological process, namely Darwin's theory of evolution, and applying it in a very similar manner that is recognizable by a computer system. Another example of mimicking biology would be the application of neural nets in computers. It looks to me that some scientists doing AI research focus on translating biological processes into computer code, and making computers that can behave like a (limited) living organism. If we are able to apply enough biological properties into a computer program, would we eventually create a computer that could actually exhibit behavior akin to a living creature? Going back to the Honda robot example, I imagine that the next step is to make a humanoid robot that can learn to make simple human behavior, such as walking with two legs, grabbing objects, and perceive images as input, by learning to do so on its own. Given enough data storage space, I wonder if it might be possible to make even more complex robots right now.
Matthew RushtonI thought the video we saw on Thursday made a number of quite interesting points. In paticular I thought the complexity of genetic programming was quite amazing. By this I am talking about how the programmers of genetic algorithms don't necessarily understand why their programs make the decisions that they do. I think the example used in the video was the Apple Computer stock, which the program chose to buy for seemingly no apparent reason. Assuming it wasn't complete luck, which it certainly may have been, then this is both amazing and troubling. The computers are doing something we can't follow with a simple algorithm, in other words we can't just step through each process (in theory I suppose we could, but in practice it would be far too complicated). While the positive effects of such programming techniques seem limitless, their also seem to be some negative effects, especially considering the fact that people are willing to follow such advice seemingly blindly. I definitly think that there is much promise with GP though. On another note I want to make a brief comment about our robots and the reactions they garnered from those who we showed them to. I think it was Tim who mentioned that intelligence is very relative. While I don't think about my robot as being intelligent to someone who doesn't know what is going on it may appear to possess some basic intelligence. As soon as we understand what's going on though, they don't seem so smart anymore. I think this idea is an important one, and certainly central to our class.
Tina TanWhen I heard the tape of the NetTalk program, my view of AI changed a bit. Granted, the tape was of work that was done years ago, I have never really thought of letter and speech recognition programs as that intelligent. I never realized the process of learning those programs actually go through; to me it was more like the computer was producing what had been programing. Especially with the training algorithm where the basic letter pattern was fed to the program and it was able to recognize the letter even with noise, it really became clear that the programs were able to build on the basic foundations it was given.The video, NightLine really showed how far AI has come in the past few years. The programs that those animators used don't seem as impressive anymore as they used to. As I commented on in earlier weeks and from the comments above, AI is measured relatively. I noticed when I showed my robot to my friend, she reacted like the robot had a mind of its own, and treated it like a pet (she was upset to hear we were putting new programs in). She thought the robot was making independent decisions and choices. I really didn't feel that way about the robot; maybe later on when we put in more complicated programs I'll feel differently.
ViewWiki | EditWiki | Webmaster@wiki.cs |