Coffee Break Script

モフモフしててニャーと鳴く気まぐれな生き物が好きです。情報を物理で工学するのが専門らしい。

AlphaGoの弱点

巷を賑わせているAlphaGo(アルファ碁)。

 

僕は機械学習とは少し方向性の違う「脳型計算」の従兄弟みたいな分野の研究を

ちょうど今やっているところなので、深層学習とかこの手の話題はよく耳にする。

 

今はどこの業界も「猫も杓子もディープラーニング」状態、

ある人は

まるでティーンエイジャーのセックスのようだ 何がいいのか分からないけど、周りがみんなやってるらしいし自分もやっとくか」

 と評したとかしないとか。(どっかのSlideShareで見かけた気がするんだよね)

 

たしかに目覚ましい成長を遂げていて、確実に成果を挙げている技術なので当然と言えば当然なのだけど、あまり批判的な意見に触れることがない。

……ので、今日は少しネガティブな話をしてみるとしよう。

 

分かりやすいのでAlphaGoを対象にして話していく。

まず、こいつの弱点はシンプルに、

  1. データがなければ何も始まらないこと
  2. イレギュラーに弱いこと
  3. 囲碁しか打てないこと

の3つ。

 

### 神は「教師データよあれ」と言われた

 

AlphaGoについてはもう散々記事が書かれているので詳しく説明する気はないが、

「大量の棋譜を読み込むことで様々な戦略を学習していった」

というのは前提知識にしてもいいと思う。有名な話だよね。うん。

 

機械学習では、こういう風にお手本となるデータを大量に入力することで、最適な選択肢を取るようにトレーニングする。これを「教師あり学習」と呼ぶ。

世の中には「教師なし学習」というものもあるけれど、「これが正解です」と明示的に教えないだけで、結局大量のデータを入力するプロセスは不可欠である。

 

つまり、ざっくらばらんに言えば、

機械学習を使うと「1を聞いて10を知る」ようなシステムを構築することができるけど、それには「1億の関連データを前もって教えておく」必要がある

ということだ。

 

しかも、この「事前入力データ(教師データ)」の質が性能を左右する。

たとえば、AlphaGoに初心者とか素人の棋譜を大量に入れても、プロ棋士に勝てるようになるには、プロの棋譜を使うときの数倍のデータが必要になってくるだろう。

 

だから、キリスト教の神が万物を創造するときに「光あれ」と言葉を用いたように、機械学習で優秀な人工知能を創造したければアダムが「良質なデータあれ」と唱えて用意してやらなければならない。

入力データ選定段階では、確実に人間の知恵(少なくとも現時点では)が関与していないと成立してくれない技術なのである。

 

これが弱点の1つ目。

 

 

### 打たれ弱さ

 

AlphaGoと対局したイ・セドル九段のインタビューをまず見てみよう。

 

記者会見の冒頭、イ・セドル9段は「今回の勝利は非常に大きな価値がある。世界の何ものにも代えがたい」と笑顔で喜びを語った。さらに、記者の質問に対し、これまでの対局を通してアルファ碁の弱点を二つ発見したことを明らかにした。一つ目は、黒(先手)で打つときのほうが、白(後手)よりも苦手なこと。二つ目は思いがけない手に、ミスというほどではないが、それまでに比べわずかに劣った対応をすること。後者について「バグではないか」という。

引用元 : 囲碁AIにイ・セドル9段が初勝利、プログラムの弱点見破った?

 

実際、囲碁を知る人から見ると明らかに凡ミスのような変な手を打っていたらしい。

基本的には線形なシステムだし、最適解ではない解(ローカルミニマム)に落ち込んでしまうということが考えられる。ま、要はイレギュラーに弱い、ということですね。 

 

これが弱点2つ目。

 

 

### 専門バカ

当たり前だけど、AlphaGoは将棋は指せない。

囲碁しか打てない。

しかも、絵を描きながら囲碁を打つとか、ミステリー小説を読みながら囲碁を打つとか、そんな芸当もできない。

 

つまり、与えられたタスクしか、あらかじめ決められた範疇でしか仕事をこなさない。

課題を自分から見つけてくる、とか、そういうこともない。

 

たとえば、なんだろうね。

囲碁を打ってて気がついたんですけど、別に碁石って白黒じゃなくてもよくないですか?もっとカラフルなやつがあったり、ガラスでできてる碁盤だったり、デザイン重視の物もあっていい気がするんですよね。インテリアとしても売れそうじゃないですか?」

みたいな提案(あるいはジョーク)を、AlphaGoはできない。

 

これは「境界問題」と言うのだが、現在の技術では「想定する範囲」を限定してあげないとプログラムが組めないのである。(もしくは、プログラム自体は組めても実用にならないくらい膨大な演算が必要になって、実質できないのと同じ。)

 

これが弱点の3つ目。

 

 

## 機械学習の本質はアルゴリズムの「抽出」に過ぎない。

 

ということで、まとめ。

機械学習すげーぜ、ともてはやされているけど、実は弱点もあるんだよ」

ということがほんのり伝わっていたらOKです。

 

で、じゃぁなんでそんな弱点が残っちゃってるの?と。

それも人工知能で補完してどうにかできちゃうんでしょ?みたいなそこのあなた。

 

いやいや、ちがうんですよ。

機械学習というのは、本質的に、アルゴリズムの「抽出」を自動化しただけなんです。

それだけでも画期的な成果を挙げていることは疑いようのない事実だけど、べつに人工知能アルゴリズムを「創造」しているわけではない。

 

過去から現在に至るまでにに蓄えられたありとあらゆるデータから、人間の指示で求められているものに見合った何かしらを抽出しているだけ。

 

だから、そこをもう一歩乗り越えて、「一度の経験(イベント)で、枝葉末節、下手したら全然関係ないことまで、ありとあらゆることに関する経験値を得る」ような人工知能を作らない限り、シンギュラリティはまだ来ないんじゃないか、と思うわけです。

 

最後に、多少批判的な文を書いてきましたけど、機械学習の技術はすごく面白いし、数学的にも綺麗な構造をもっているものが多いので、個人的に否定的な意見をもっているというわけではないです。

 

むしろ、すべての地球人がさっさと人工知能に仕事を奪われて、何もしなくたって生きていける桃源郷みたいな世の中になればいいと思ってるくらいです。

あ、今度その話も書きましょうかねぇ。