MORIKAWA

森川くん、人工知能の本をここで再編集。

<考えない知能#1> 

さて、今まで、我々の脳の仕組みをまねた
「ニューラルネットワークモデル」、
我々の遺伝とか進化の仕組みをモデルにした
「遺伝的アルゴリズム」、
我々の考え方の仕組みをまねた
「エキスパートシステム」と、
我々側知能を再現する人工知能モデルの話をしてきました。

我々側とあえて言うのは、
どうも、最近では我々側じゃない
知能っていうのもあるからです。
これは、最近の人工知能業界でのブームというか
新説というか突破口というか、
ま、ともかく、我々の考え方、覚え方、思い出し方が、
唯一絶対じゃないんかということです。
さてさて、そこで、じゃあ、
我々側じゃない知能ってなんなのよ、ってことです。
ざっくりいってしまえば、
「考えない知能」っていうことです。
なんだか、禅問答みたいですね。
でも、実は簡単な話なんです。
で、ありながら、結構ぼくはこれを最初に知ったときは、
結構目からウロコ的なモノがありましたですよ。
ということで、そのアタリの話を
これから数回にわたってご紹介していきたいと思います。

とりあえず、第一発目は、
行き当たりばったりの知識獲得とでもいうんでしょうか、
計画なんかなくったって、その時その場の試行錯誤、
その経験を積んでいくことでも、
立派に「知能」になるんだよという話です。


以下、「マッチ箱の脳」の「ニューラルネットワーク」より抜粋

■AI芋虫の学習方法

人工知能には、たくさんのモデルがあります。
そして、モデルごとに、学習方法が違います。
さらに、この学習方法のでき=そのAIモデルのでき
と言っていいくらい、
というかこの学習方法=AIと言って
いいかもしれないくらいコアな部分です。

NNやGAやについては、
それぞれの章でその学習方法について説明しました。
そこで、ここではそれ以外のAIの学習方法の一つであり、
非常に原始的(?)な学習方法を紹介したいと思います。
人工知能の学習方法というと、
なんだかすごく難しく感じるかもしれませんが、
この学習方法を知ると、
「AI、恐るるに足らず」と思えてくるでしょう。


●教師のいらない学習
NNなどの模範解答を必要とする学習方法、
教師付き学習方法には
問題があるんじゃないかという指摘は前の章で書きました。
なぜなら、火星や未知の世界に送り込む際に、
どうすればいいか、「これが正解」なんて
想定のしようがありません。
ですから、例題の設定や模範解答の作りようがありません。
また、人間が模範解答を作るのなら、
人間以上に頭が良くならないという限界もあります。

そんなわけで、教師、つまり模範解答を
必要としない学習方法というのが、
いろいろ考案されています。

この、「山登り学習法」は、
その中でも、最もシンプル(?)かつ原始的(?)で
いきあたりばったり(?)な学習方法です。
ここでは、モニター内の「芋虫」を例に説明していきます。


●モニターの中をクネクネ動く芋虫
ほんの偶然で、
あるところで芋虫を見せてもらったことがあります。
脚が2本しかないコンピュータの中にいる2次元の芋虫で、
胴体といったら1本の線でしかありません。
胴体と脚をつなぐ部分に関節が1つずつ付いています。

さて、この芋虫は、最初、
これまた1本の線で表現された地面に立っていますが、
スタートの合図とともに、
クネクネとのたうちまわりだしました。
クネクネしているばかりで、前にも後ろにも進みません。
そう、この芋虫は歩き方を知らないのでした。

そうこうしているうちに、ギクシャクしながら、
ちょっと前に進んだり、後ろに進んだりし始めます。
さらにしばらくすると、結構まともな格好になってきて、
最初よりもかなり前に進めるようになりました。
その間もいろいろ姿勢を変えて
試行錯誤しているようなのですが、
3歩進んで2歩下がるというか一進一退で、
徐々に歩き方がマシになっていきました。

そして最後には、しばらくたつとちゃんとした格好で
歩き出せるようになったのでした。

ここで、いじわるにも、
それをぼくに見せてくれた人は地面を傾かせました。
すると、今まで獲得した歩き方は
全く役に立たなくなってしまったのか、
またギクシャクした動きに戻ってしまったのですが、
やがてはきちんと坂道を上れるようになったのでした。

何を隠そう、なんて大げさな話ではないんですが、
これがぼくの「人工知能」との遭遇の初体験です。
これまたホントに偶然なんですが、
それより少し前にある本で芋虫の
学習法を読んだところだったので、
実際にクネクネ動き回る芋虫の姿を見て
すごく感動した覚えがあります。



●芋虫の山登り
さて、この芋虫の学習法「山登り法」は
至って簡単な仕組みです。
この芋虫は、胴体と脚をつなぐ2つの関節の角度を、
時間ごとにそれぞれ別個に変えることによって
前に進みます。もちろん前に進まないこともあります。
例えば、1秒ごとに、こんな感じで動いているのです。
◆1秒目:前の関節=30度 後ろの関節=60度
◆2秒目:前の関節=33度 後ろの関節=55度
◆3秒目:前の関節=25度 後ろの関節=40度
といったイメージですね。
もちろんこれはあくまで例に取ったデタラメな値ですが。

一応、彼にも前、後ろがあります。
それに2次元に生きている芋虫君ですから、
移動できる方向は前か後ろしかありません。
ですので、進むとは「前に進む」ということになります。

具体的な手順はこうなります。
関節部分の神経細胞のボリュームをランダムにいじります。
そして、ちょっとの間、歩かせます。
歩いたときのスピードとエネルギーの消費を計算して、
その成績を出します。
ボリュームを変える前より結果=成績が良ければ、
今のボリュームの変化はいただきです。
しかし、前より結果が悪くなっていたら、
今のボリュームの変化はなし、
ボリュームは前の状態に戻されます。

エネルギーというのは、
上下動など無駄な動きに使われるエネルギーのことです。
2次元に存在する芋虫君の「無駄」とは、
上下動だけとなります。
そして、もちろんエネルギーの
無駄はない方が良いことになります。

以上をスムーズになるまで繰り返します。
関節の角度を変えて、前に進んだら採用する。
たったそれだけです。
シンプルにして原始的にして、大胆にして、
出たとこ勝負な学習方法ですよね。

ほらきっと、「ほんまかいな」と思ってるでしょ? 
ぼくも実際モニターで見る前はそういう感じでした。
でも、本当にこれで歩き方を覚えていくんです。

同じような学習方法で投げ方を覚える
投球マシーンというのがあるんですが、
これまたイカしてます。
最初は、どうしようもないフォームなんですが、
最後には結構決まったフォームで
ボールを投げるようになります。

同じような学習方法に、
「強化学習法」というものがあります。
これに関しては詳しく後の章で述べますが、
この学習方法もまた、誰にも教えられることなく、
一人でああでもない、
こうでもないと試行錯誤しながら学習していくものです。

2001-06-03-SUN

BACK
戻る