ハッカーの系譜(10)マービン・ミンスキー (11) 会話するロボットシステム「SHRDLU」

牧野武文

April 7, 2017 08:00
by 牧野武文

知能の手続き化の研究をするミンスキー

ミンスキーとパパートの著書「パーセプトロン」によって、世間はパーセプトロンに未来はないと思いこんでしまった。AIの冬の時代とも言われる。その間、ミンスキーは「直感を手続き化する」という、より根源的な問題に取り組んでいた。これは人間だけがもっている(とされている)ひらめきや直感、大局観というものを、具体的な手続きに落としこんで機械やコンピューターにおこなわせてみるという研究だ。

ミンスキーは、学生のトマス・エバンスとともに、知能テストを解くプログラムを開発した。たとえば、次のような問題だ。上段のようにある図形が変換されるとき、中段の図形は同じ法則に従ってどのように変換されるだろうかという問題だ。答えは4択で、おそらくだれもがすぐに答えを見つけるだろう。

なぜなら、むずかしく考えなくても、例題の図形は3つの図形が中心線に縦に並んでいる。これは変換された後も変わらない。ということは、4つの答えのうち、3つは中心線からずれた位置に図形があるので誤り、消去法で残りのひとつが正解だとすぐにわかる。
しかし、なぜ左から2つ目の答えが正解なのだろうか。試験官が「選択肢の中に答えがあるとは限りません。答えがない場合は、ないと回答してください」とつけ加えたら、2つ目の答えが確実に正解であるということを確かめておかなければならない。

少しの間、問題の図形を眺めていると、ある瞬間、パッと思いつくはずだ。「上にある大きな図形が下に下がっただけではないか」。問題の図形の場合、上にある大きな図形は三角形だから、これを下に下げてやればいい。果たして、その結果は2つの目の答えと一致する。これで2つ目が正解であるということがわかった。

消去法であっても、後者のひらめきにしても人間はほぼ直感でおこなっている。では、これを手続きとして記述できるだろうか。もっと言えば、プログラム言語で記述することができるだろうか、アルゴリズム化できるだろうか(エバンスはAI研究ではおなじみのLISPを使ってプログラムを書いた)。

この問題をエバンスのプログラムは次のように解いていく。まず、上段の変換前と変換後の図形を分析して、「図形が3つある」「大きい図形と小さい図形に分類できる」ということを認識する。それから大小の図形が四角の中のどこにあるかを確かめると、上にある場合と下にある場合がある。これで比較をすると、変換前は「上:大小、下:小」だったものが、変換後には「上:小、下:大小」になっている。ここから、問題図でも下が大小になるようにすればいい。このように考えていく。

自分の目を持つロボットアームSHRDLU

ところで、機械いじりが大好きなミンスキーはロボットに興味をもたなかったのだろうか。70年代からは、ロボットに人工知能を搭載させようという研究が多く登場する。一般的なのが、限られたフィールドをカメラで見て、障害物を避けながら移動して、積み木をつかみ、別の場所に置くという課題をこなすロボットだ。「障害物を避けて移動する」「複雑に積まれた積み木から、目的の積み木を判別して、積み木の山を崩さないように手にとる」ことをおこなうには、あらかじめ決められたプログラムではむずかしく、自律的に判断する知能が必要になるからだ。

このような人工知能ロボットが発展すれば、工場内で作業をするロボットや家庭内で家事をするロボットが実現できる。

しかし、ミンスキーは当時のロボット研究に否定的だった。ロボットがダメだというわけではない。当時はまだプログラミングや機械技術、人工知能研究が未発達で、今人工知能ロボットをつくっても成果は上がらないだろうと考えていた。「(ロボットは)多くの非本質的な保守技術を必要としたんだ。これが彼らを本質的な問題に集中することを妨げていた」。

ミンスキーがそう言うのは、ミンスキー自身がロボット研究をさんざんやったからだ。パパートとテリー・ウィノグラッドはSHRDLUというロボットシステムの開発に協力をした。これは、カメラとロボットアームからできていて、いずれもミニコンピューターPDP-6に接続され、自分で対象物を見て、つかんだり、積んだりすることができるというものだ。

このカメラとロボットアームを使うというのがミンスキーの独創だった。ロボットアームがものをつかむときは、対象物の正確な座標が与えられ、なおかつロボットの指に圧力センサーをつけなければ、対象物をつかむことができない。ちょっとした振動で、座標系がずれてしまうとまったく役に立たなくなってしまう。しかし、カメラがあれば、リアルタイムで、腕の位置と対象物の位置の関係を修正しながら、腕を伸ばしていくことができるのだ。

対話をしてロボットアームに指令をだせる

このSHRDLUでは、ミンスキーは苦労続きだった。まず、画像解析に大きな困難がともなった。積み木を認識するようにプログラミングしているのに、なぜか積み木ではなく、積み木の影を対象物として認識してしまう。この問題はなんとか解決したが、照明の位置を変えるだけで対象物が認識できなくなってしまう。プラスティックのようなツヤのある対象物も認識できなかった。反射光がなにか悪さをしているらしかった。ミンスキーは知能とはなにかを考えるためのヒントを見つけるために、このSHRDLUの研究に参加したのだが、知能を考える以前の、ロボットアームを動作させるための技術的課題にほとんどの時間をとられてしまうのだ。

しかし、最終的にSHRDLUは、ロボットアームで対象物であるボールなどをつかんで移動させることができるようになった。それも、PDP-6のターミナルから文章で命令をだして作業をさせることができた。

SHRDLUを起動すると、まずロボットアームが左右に揺れ動く。カメラで自分自身の腕を認識して、腕と対象物の位置関係を認識するためだ。その後、実験者はターミナルから文章で命令を入力していく。SHRDLUもちゃんと文章で返事をする。
 
実験者:大きな赤い積み木を拾え。
SHRDLU:OK(実行した)。
実験者:ピラミッドをつかめ。
SHRDLU:どのピラミッドのことなのかがわかりません。
実験者:今つかんでいるのより背の高い積み木を見つけて、それを箱の中に入れろ。
SHRDLU:「それ」というのは、私がつかんでいるのより背の高い積み木のことだと考えます。
SHRDLU:OK(実行した)
実験者:箱の中にはなにが入っている?
SHRDLU:青いピラミッドと青い積み木です。
実験者:ピラミッドはなにの上に乗っている?
SHRDLU:箱です。
実験者:箱の外には積み木がいくつある?
SHRDLU:4つです。
実験者:拾えといったものより細い積み木がその4つの中にある?
SHRDLU:あります。赤い立方体です。
実験者:それはなにかの上に乗っている?
SHRDLU:はい、テーブルの上に乗っています。
実験者:テーブルは積み木をつかむことができる?
SHRDLU:いいえ。
実験者:ピラミッドを積み木の上に置くことができる?
SHRDLU:はい。
実験者:ピラミッドをピラミッドの上に置くことができる?
SHRDLU:わかりません。
実験者:2つのピラミッドを重ねて。
SHRDLU:できません。
実験者:2つの赤い積み木の上に、緑の立方体かピラミッドのいずれかを重ねて置いて。
SHRDLU:OK(実行した)。
実験者:どの積み木がテーブルに接している?
SHRDLU:大きな緑の積み木です。その上には赤いピラミッドが乗っています。
実験者:ピラミッドの後ろに大きな緑の積み木はある?
SHRDLU:はい。3つあります。大きな赤い積み木、大きな緑の立方体、青い積み木です。
実験者:小さな積み木を、ピラミッドを載せている緑の立方体の上に置いて。
SHRDLU:OK(実行した)。
……
実験者:緑の積み木を小さな立方体の上に置く前に、ピラミッドに触った?
SHRDLU:はい。緑のピラミッドに触りました。
実験者:それをいつつまみあげたの?
SHRDLU:赤い立方体、大きな赤い積み木、大きな緑の立方体を積み重ねているときです。
実験者:なぜ触ったの?
SHRDLU:どかすためです。
実験者:なぜそうしたの?
SHRDLU:赤い立方体の上をなにもない状態にするためです。
実験者:なぜ立方体の上をなにもない状態にしたの?
SHRDLU:大きな緑の立方体を置くためです。
実験者:なぜそうしたの?
SHRDLU:赤い立方体と大きな赤い積み木、大きな緑の立方体を積み重ねるためです。
実験者:なぜそうしたの?
SHRDLU:あなたがそう頼んだからです。
実験者:どうやったの?
SHRDLU:まず大きな赤い積み木をテーブルに置きました。それを自由な状態にしました。それから、大きな緑の立方体をその上に置きました。立方体の上を自由な状態にしました。それから赤い立方体をその立方体の上に置きました。それから立方体の上を自由な状態にしました。
実験者:その間にいくつの物体に触れた?
SHRDLU:4つです。
実験者:どかす前に赤い立方体の上に乗っていたのはなに?
SHRDLU:緑のピラミッドです。
実験者:では、箱の中には5つの積み木が残っているね?
SHRDLU:いいえ。4つしかありません。赤い立方体、大きな緑の立方体が2つ、大きな赤い積み木です。
実験者:青いピラミッドを、箱の中の積み木の上に置いて。
SHRDLU:OK(実行した)。
実験者:どのピラミッドよりも大きいいけど、下にある積み木ほど幅が広くないものはある?
SHRDLU:はい。青い積み木です。
実験者:「とんがり」を作って。
SHRDLU:(しばらく間があって)すみません、「とんがり」という言葉がわかりません。
実験者:「とんがり」は2つの緑の立方体とピラミッドを重ねたもの。
SHRDLU:わかりました。
実験者:今、とんがりはある?
SHRDLU:ありません。
実験者:作って。
SHRDLU:OK(実行した)。
実験者:いちばん大きな積み木を「超積み木」と呼んで。
SHRDLU:OK。
実験者:「超積み木」をつかみあげたことはある?
SHRDLU:はい。
実験者:どうしてそれを置いてしまったの?
SHRDLU:「それ」とは、超積み木のことだと考えます。存在しない動作については説明できません。
実験者:赤いピラミッドの右側にはなにかある?
SHRDLU:はい。4つあります。箱と赤い立方体、青いピラミッド、超積み木という名の積み木です。
実験者:ありがとう
SHRDLU:どういたしまして!

この会話は公開されている実際のやりとりだ。SHRDLUは知能をもっているだろうか。それともただアルゴリズムにしたがって、計算しているだけだろうか。あなたはどう感じただろうか。
 
(その12に続く)




1年に1度 ラスベガスで開催されるハッカー達のお祭りアジア勢が健闘したDEFCON 25 CTF&PHVレポート

September 19, 2017 08:00

by tessy

今年もDEF CONがアメリカ・ラスベガスで行われた。25回目の記念となるDEF CON25は昨年までのバリーズ、パリスと2つのホテルが会場となっていたが、今年はシーザース・パレスに変更され、7月27日から30日までの日程で開催された。 筆者も今回で9回目の参加であり、会場も4つ目となる。初めてDE…

46万5000台のペースメーカーに存在した脆弱性(後編)脆弱性情報は投資会社に伝えるほうが「うまくいく」のか?

September 15, 2017 08:00

by 江添 佳代子

前編記事→死に直結する医療機器のセキュリティホール Abbott Laboratories(旧St Jude Medical)のペースメーカーの脆弱性を最初に報告したのは、米国のスタートアップのセキュリティ企業MedSec Holdings(以下MedSec)だった。その発見は当時、珍しい展開のセキ…