Tag Archives: artificial intelligence

AI and AlphaGo: Why It’s Not the Big Deal It’s Made Out to Be

I’d like to open this post by admitting I am not a Go master.  I’ve played a few times, watch Hikaru no GO when nothing else was on.  But that’s about it.  However, I don’t need to be an expert at the game to point out the flaw in some of the press coverage.  I suspect actual AI researchers already know what I mean.

The first thing to remember is that AlphaGo is a deep-learning program built on a neural network.  What that means is that rather than an artificial intelligence program, AlphaGo is an artificial learning program.  Public perception of AI is still focused on artificial intelligence, but the field has now expanded to cover many related or tangential or component areas of study.  AlphaGo also has some form of reasoning ability.  But this ability is solely related to Go.  You cannot generalize it’s algorithms to other tasks.  In fact, DeepMind even admits there are better programs out there to play Chess.  Chess and Go are both “perfect information”(PI) games.  You can if you so choose know everything about a given game of Chess or Go by looking at the board.  You know all the rules and the position of all the pieces.  PI games are a very popular area of AI research, because programs can do a lot with them.  The information can be reduced to a very small set of states and rules, which is ideal for computers to excel at.  The trick of course is to teach the computer the best set of tactics for taking those rules and the initial state of the game, and trading states with another player to get to the win state.  And yet, even in two PI games, the best AI solution to a player capable of competing with the best of humans is different for each game.

I like to call this specific intelligence, although the more popular terms are weak AI or narrow AI, a kind of non-sentient intelligence focused on solving one task or a narrow range of tasks. But even that is a bit of a misnomer.  After all, the machines aren’t truly smart, just impressively programmed dumb machines.

However, a learning program like AlphaGo comes a bit closer to true intelligence(though not sentience) by being able to take the initially programmed rules and knowledge and extrapolate from them on its own to do things it wasn’t explicitly hard-coded to do by the programmers.  It’s incredibly impressive.  But it’s not “AI” in the way most layfolk think of it.  It’s not general intelligence, even a crude version.  It’s a very sophisticated piece of specific intelligence.



But there’s a second flaw in the coverage.  Besides the great deal of mystique that’s built up around Go, which isn’t an issue of AI, although some of it is misplaced–for example, another lifeform does not “almost certainly play Go” whereas Chess is too human specific–there’s the issue that even as a powerful example of narrow AI, AlphaGo does not–as stated by some professional players–“play go just like a human but better”.  There has been much talk of its unorthodox tactics, or its algorithm’s focus on win-rate over all else.  Some have even said it made moves “only God could have made”–a common expression of a perfect move.


But the real truth is this: much like how genetic code, a style of coding in which a computer is given basic building blocks of code and tasked to mix them up until it finds a closer to optimal solution, AlphaGo has no idea it is playing go.  As far as AlphaGo knows, it’s just trading ones and zeroes around until it finds the desired sequence.  The ways in which a human player attempts to reach the winning board position are inherently different than the way a computer does, because they aren’t really pursuing the same goal.


We’re not particularly closer to strong or general AI than we were before.  Go isn’t truly so different from any other PI game.  AlphaGO has not learned intuition.  It’s merely played millions of games of Go subtly adjusting the value it places on a given set of stone positions on the board as it goes until more and more the win-rate increases to the point it wins the game.  Although the process is superficially similar to the way a human learns the game, the lack of framing devices such as vision used by humans has taught it to value entirely different things, and unlike a human, a computer has a perfect memory to go with the perfect information, and it is incapable of making an error.

After that, we can consider the psychological warfare aspect of multi-player games.  AlphaGo may be able to beat anyone Lee Se-dol could, but it cannot judge its opponents experience and thus alter its strategy to beat that player faster or more elegantly.  Instead, it will always play the same way every time, and react no differently to a master making three opening moves than to a novice making the same.  But where a human might see those moves and be able to make a variety of plays depending on their intuition of the players skill or likely next move, AlphaGo will continue to inexorably play exactly the move that will have the highest chance of victory against any and all players, rather than the one with the highest chance of victory against a specific individual.

Leave a comment

Posted by on March 15, 2016 in atsiko, Science Fact


Tags: , , , , , , , ,

The Translation Problem: People vs. Computers

In my last post, I introduced the topic of natural language processing and discussed the issue of how the context of a piece of language has an enormous impact on its translation into another language.  In this post, I want to address issue with translation.  Specifically, I want to talk how language is really an integrated function of the way the human brain models the world, and why this might make it difficult to create a machine translator isolated from the rest of an artificial intelligence.

When a human uses language they are expressing things that are based upon an integrated model of the universe in which they live.  There is a linguistic model in their brain that divides up their concept of the world into ideas representable by words.  For example, let’s look at the word “pit bull”.  (It’s written with two words, but as a compound word, it functions as a single noun.)  Pit bull is a generic term for a group of terrier dog breeds.  Terriers are dogs.  Dogs are mammals.  Mammals are animals.  This relationship is called a hypernym/hyponym relationship.  All content words(nouns/verbs/adjectives) are part of a hierarchical tree of hypo-/hyper-nym relationships.

So when you talk about a pit bull, you’re invoking the tree to which it belongs, and anything you say about a pit bull will trigger the conversational participants’ knowledge and feelings about not only pit bulls, but all the other members of the tree to which it belongs.  It would be fairly trivial programming-wise, although possibly quite tedious data-entry-wise to create a hypo-/hyper-nym tree for the couple-hundred-thousand or so words that make up the core vocabulary of English.  But to codify the various associations to all those words would be a lot more difficult.  Such a tree would be a step towards creating both a world-model and knowledge-base, aspects of artificial intelligence not explicitly related to the problem of machine translation.  That’s because humans use their whole brain when they use language, and so by default, they use more than just a bare set of grammar rules when parsing language and translating between one language and another.

One use of such a tree and its associations would be to distinguish between homographs or homonyms.  For example, if the computer sees a word it knows is associated with animals, it could work through the hypernym tree to see if “animal” is a hypernym or association with say, the word horse.  Or, if it sees the word “grain”, it could run through the trees of other words to see if they are farming/crop related or wood-related.  Or, perhaps, crossing language boundaries, if a language has one word that covers all senses of “ride”, and the other language distinguishes between riding in a car, or riding a horse, the program could use the trees to search for horse- or car-related words that might let it make a best guess one which verb is appropriate in a given context.

The long and short of the case I intend to make is that a true and accurate translation program cannot be written without taking enormous steps down the path of artificial intelligence.  A purely rule-based system, no matter how many epicycles are added to it, cannot be entirely accurate, because even a human being with native fluency in both languages and extensive knowledge and experience of translating cannot be entirely accurate.  Language is too malleable and allows too many equivalent forms to always allow for a single definitive translation of anything reasonably complex, and this is why it is necessary to make value judgements based on extra-linguistic data, which can only be comprehensively modeled by using techniques beyond pure grammatical rules.


In the next post, I’ll talk about statistical methods of machine translation, and hopefully I’ll be following that up with a critique and analysis of the spec fic concept of a universal translator.


Tags: , , , , , ,

The Translation Problem

One of the biggest problems in the field of artificial intelligence as it is popularly conceived is that of natural language processing and machine translation.  Natural language processing is the processing of human languages, generally in the form of text, but also as audio, by computers and software.  Machine translation is a form of natural language processing having to do with the translation of a text from one language into another by a computer.  Enormous strides have been made in natural language processing over the last two decades.  Text-to-speech, represented often by those annoying robotic phone calls, and speech-to-text such as dictation software, have both improved markedly.

But the big fish of natural language processing is still the universal translator, able to translate between any two given languages with high accuracy, perhaps even perfectly.  Which is, currently impossible, despite what people might tell you.  For example, Skype Translator looks great in the recent demo, but it’s doubtful it performs quite so well in the field.

There are actually several major issues that machine translation, and translation in general, have to tackle to achieve a high degree of accuracy.  Over the next few posts, I’m going to discuss what some of them are, why they are so difficult to solve, and possible ways they might be overcome.

To start with, there’s a very simple problem with most translation:  language has meaning on its own, but for human communication purposes, you have to know the context of the words you are trying to translate.  Most communication is not factual transmission of information.  Even in formal written prose, there are heaps of subtle ambiguities, and most humans can’t always pick up on every one, much less a poor dumb computer.  This is a problem not only when a word is used that has two different sense, such as a technical and a general sense.  Different languages divide up their semantic space differently, and a word that is a correct translation on paper may fail miserably in the real world.

To give an example, Japanese has pronouns just like English.  However, it does not have an exactly equivalent set.  The word for “her” in Japanese is “kanojo”.  But that word is rarely used, as most Japanese uses a name and an honorific instead.  Further complicating the situation, the word “kanojo” is also idiomatic for “girlfriend”.  The same goes for “kareshi” which is often translated as “he” on paper.   And then we have the various Japanese pronouns technically meaning “you”, or at least referring to the second person singular.  The main one given in teaching Japanese is “anata”.  However, much like “kanojo” or “kareshi” there is a sense of intimacy not immediately apparent in the use of this word.  It is often used between older married couples to mean something like “dear”, and is rarely if ever used as a bare second person, singular pronoun.  Rather, again, the person’s name and an honorific are used.  However, a great deal would have to be hard-coded into a piece of translation software to cover all of this, and that’s assuming there’s even enough context to make a decision at all.  Further, going into Japanese from English, would require the addition of formality information that a computer or even a human couldn’t always be sure of.

It’s often possible to translate conversation/survival language with bare, literal translations, because the basic sense is all that matters.  But more formal registers, or translation of a fixed text, would likely prove impossible for today’s machine translators and most humans, because there’s no way to convey all the necessary context that would provide information that in one language would not be included lexically or grammatically, but it all but necessary for appropriate communication in the other.


In the next post, I’ll be looking more at the ways language divide up their semantic space, and how that hinders accurate translation.

1 Comment

Posted by on June 9, 2014 in Uncategorized


Tags: , , , , ,