Hacker News new | ask | show | jobs
by oldandtired 1034 days ago
Your example of the Go AI being programmed to learn is not all that accurate for what has been achieved here. I didn't keep the link for the discussion on the confounding of the Go AI system. What the discussion covered though was that there were simple Go configurations that the GO AI failed abysmally on when playing a human - it didn't learn here.

I have spent forty years dealing with all sorts of computer systems - designing, building, maintaining, repairing, redesigning and rebuilding. One thing I have learnt over that time is that none of the systems ever built has been error free in terms of the logic entailed within them. All to often, I have seen systems that were used to make decisions with and those using them assuming that the outputs were correct or reasonable. Yet on investigation, the logic entailed in them was completely rubbish.

We make assumptions and often we do not carefully check that those assumptions are actually real. I don't trust anything I write until I have gone over it with a fine tooth comb and then I will try to document all my assumptions and this usually shows up various logic errors or conditions that I didn't think about. I don't see this happening much out in the real world.

1 comments

> Your example of the Go AI being programmed to learn is not all that accurate for what has been achieved here.

What do you mean?

AlphaZero was trained entirely on self-play, and is a generic reinforcement learning algorithm. All it starts with are the rules (Chess, Go, Shogi) and a few million games later it beats — so far as I can see from a quick Google — all the humans, and most matches against AlphaGo Zero which learned the same way and which in turn beat AlphaGo Lee in every match, and that (unlike the aforementioned) was trained on examples of human matches in addition to self-play… but still learning from those examples as there's no known useful[0] set of rules that even says if a Go game is over let alone which moves are good.

There are AI which can find and exploit its weaknesses, but I've not seen anyone else suggest humans can defeat it.

> I didn't keep the link for the discussion on the confounding of the Go AI system. What the discussion covered though was that there were simple Go configurations that the GO AI failed abysmally on when playing a human - it didn't learn here.

Do you remember the name of the AI?

A bit of rummaging got me KataGo, but the humans had to use another AI to discover the weaknesses of KataGo rather than figuring it out for themselves.

And yes, KataGo absolutely does learn. The fact you can trivially stop the learning process is a feature not a bug for AI, precisely because it means any safety testing of the sort you're calling for is actually possible (albeit rather different than formal logic).

[0] pathological cases are easy — "board empty == not finished" — but not helpful.

> What do you mean?

Whose intelligence programmed this system?

> Do you remember the name of the AI?

If I recall correctly - Go AI.

They used a simple regular pattern and the system failed to beat the human. It didn't [learn] from this.

All such systems use a set of rules (whether specific or pattern based or mathematically based - there is some form of logic involved, even when using probabilistic functions), you and I can make choices based on illogical decisions - irrational decisions if you like. No computational system is capable of irrational decisions, the decisions may be surprising but of you look at the code then that option was always there somewhere, It cannot take a path that does not exist.

We can create a completely new path not previously available.

> If I recall correctly - Go AI.

I see.

Well, that's too generic to even be searchable.

> They used a simple regular pattern and the system failed to beat the human. It didn't [learn] from this.

Anything written like that would struggle against an amateur.

The machine learning based Go AI don't do that, and do beat humans.

> All such systems use a set of rules (whether specific or pattern based or mathematically based - there is some form of logic involved, even when using probabilistic functions), you and I can make choices based on illogical decisions - irrational decisions if you like. No computational system is capable of irrational decisions, the decisions may be surprising but of you look at the code then that option was always there somewhere, It cannot take a path that does not exist. We can create a completely new path not previously available.

Whatever standard I use for logical or illogical decisions, wherever I put that line, humans and AI seem to be on the same side.

We have electrical impulses flowing though messy networks, crossing tiny chemical barriers where they can be influenced by neurotransmitters; to me, that's not different enough from information flowing through an artificial neural network with weights and biases that have been automatically modified through feedback after winning and losing millions of games to say that the machine "isn't learning" — or that humans and machines aren't on the same side of "logical", at the fundamental lowest level we can't violate chemistry any more than transistors can violate physics, at the highest level the real logic of each can be random.

AI are inhuman, certainly, but still learning.

Just to check, you are aware that the weights and biases of an artificial neural network are basically never set by humans? That this process has to be automated?

> Well, that's too generic to even be searchable

You might want to search what articles were discussed here on the subject.

> Whatever standard I use for logical or illogical decisions, wherever I put that line, humans and AI seem to be on the same side

You can make an illogical decision. No computer program can make an illogical decision, though the pathways followed through the code may give rise to something unusual, it still follows the logic written in the program, it cannot do otherwise. Even if you have random values occurring on inputs, the code itself will follow predictable paths. If you write self-modifying code, this too is done in accordance with specific rules.

Your example of neurotransmitters and comparing to neural networks is unfortunately flawed. We developed the idea of neural networks based on a very simplified understanding of what is happening in living neural systems. Our neural network are (whatever you might think of them) extremely simple and follow very specific logical paths. We may not be able to identify what those paths will be a priori but we can analyse what has happened after the event and it will still be based on the underlying logic we put into these systems.

> Just to check, you are aware that the weights and biases of an artificial neural network are basically never set by humans? That this process has to be automated?

Yes. The automatic processes still relies of specific logical rules.

If we use only goto's, we can write all sorts of "unpredictable" programs based on random inputs. Does this generate any intelligence? If we know the code and the inputs, we do have the ability to determine what has happened.

> AI are inhuman, certainly, but still learning

I would say it this way AS systems are simply artificial constructs and the data generated is simply generated and not learnt.