日々是好日

備忘用読書メモ。主に感想・学んだことなどを記載

人工知能はどのようにして「名人」を超えたのか?

 ☆4

 

サブタイトルの通り、機械学習・深層学習・強化学習の本質を知りたくて読む。

 

ディープラーニングについてはよくわからなかったが、他はとてもわかりやすかった。たぶん著者が説明する内容をしっかり理解していてわかりやすい例を用いてくれたからだと思う。

 

面白かった点は、以下

・将棋ソフト(ポナンザ)をどう進化させてプロに勝ったか。

(長いので詳細は下記)

 

・人間のすごさ。→AIとの違い。

読める局面はポナンザが1秒間に数百万局面に対し、人間は大きく見積もっても1局面以下。なぜそれで戦えるか。

筆者が言うには人間には中間目標を設定する能力があるから。将棋の例(この局面では桂馬を渡さなければ自分は詰まないから、桂馬を渡さないようにしようとか。)はあまりピンと来なかったが、要はAIはPDCAでいうとDCしかできなくてPlanを自分で設定できない。その理由は物語とか意味を理解できないから。東ロボくんの新井さんと同じ見解でAIはまだ意味が理解できなくて、そこが人間の勝っているところ。

 

・まだまだ人間のがすぐれているでしょって今思っている領域もすぐに追いつかれて、抜き去られてしまうことが起こる可能性が高い。

なぜならば、人間は経験的に線形変化を予測するが、AIは指数関数的に進化するから。1分で2倍になるバクテリアが1時間後にコップいっぱいになった。コップの半数までバクテリアが増えたのはいつか?という問題に対し、考えると1分前といえるが、直感的には30分前後?と思ってしまう。

 

・教師あり学習も、ディープラーニングも膨大なデータが必要だが、簡単だからといってWEB上のものを使うとリスクあり。

黒人をゴリラとタグ付けてしまいgoogleは一度謝罪した。悪意あるor誤った関連付けをAIは判断できない。

 

他、所感

囲碁に関しては、記載はあったがあまり理解できず。

とくに、ディープラーニングで画像認識により囲碁の評価関数が作れるようになったらしいが、それがなぜかはわからなかった。自分の囲碁の知識不足のせい?

 

・筆者の将来予想にはついていけず。

ディープラーニング、そして囲碁で世界チャンピオンに勝ったというのが相当衝撃のようで、ディープラーニングをつなぎ合わせることで、AIも意味が理解できるようになるとか(Pができないという課題も解決できる)、囲碁より難しい判断はこの世にないから政治家みたいなこともできるようになると筆者は予想。

シンギュラリティもいつかはくるから、そのときいいAIになってもらうように、いい人(黒人とゴリラを結びつけた写真などをWEBにアップしない)でいましょうと筆者は主張する。

この辺りはかなり感覚論で話していた気がして、論理展開についていけなかった。 

 

<以下ポナンザの進化について>

コンピューターの出来ることは、簡単に言うと⒈四則演算、⒉覚える の2つ。

 

この2つを活用し、プロに勝てる将棋ソフトを作る場合どうするか。まずは"覚える"に頼ってプロの局面を覚えてみたが全く勝てない。

なぜか→覚えていない未知の局面があるから。

 

ではどうするか。未知の局面は将来を予想できるようにしてあげないといけない。

単純な四則演算で未来を予想しようとすると計算量が膨大すぎて不可能→将棋の局面は10の226乗ほど。これは計算不可能。どれくらい不可能かというと、チェスはこれより少なくて10の120乗ほどらしいが、1秒間に2億局面読めるコンピューターが宇宙開闢から現在までの100億年計算し続けても全然読みきれない。

 

となると、しらみつぶしに計算するのではなく、ある程度手を"評価"する必要がでてくる。飛車が1500点、歩は100点、金は王の近くにあったら400点などの点数をつけて局面を評価する評価関数を作成。それで戦わせて、負けたら今度飛車は1530点にしてみるかというような微妙な調整をしていた。

 

これは簡単に想像できるけどすっごい地味な作業で進歩が遅い。なんですぐれた評価関数をすぐ作れないかというと、人間は自分が何気なくやっていることをすべてコンピューター言語に落とせないから。例えば、「おはよう」という単語を発するとき、どうやって舌を動かしてっていうのを数字と数式だけで完全に言い表すことができない。これまで計算できなかった領域を計算できるようにしていくことがAIの進歩。

 

この進歩が遅い評価関数の評価に光明がさしてきたのが機械学習。5万局のプロの棋譜を読み込んで、ある局面でプロがさした手を正解(一番評価が高い)となるように、機械がパラメーターを自分で調整。結果パラメーターは1億個できて、何がどうやって調整されたのが人間にはもはやわからない。このようにして強い評価関数を機械が勝手に作ってくれて、これを使うとプロのてと50%くらいで一致するようになった。この段階でプロに勝てる。

 

*前回のエントリーで書いたように、1億個パラメーターがあるよ というのを人間が指定してあげて、そのパラメーターの値を自動に調整してくれるのが、機械学習

一方、1億個パラメーターの存在自体を見つけてくるのがディープラーニングと自分は理解していたけど、違うのかも。筆者は作成したポナンザには、ディープラーニングは使ってなかったと言っていたし。1億個のパラメーターを機械が見つけてきたともいってなかったが。もう少し勉強しよう。

 

この後さらに強くするために出てくるのが、強化学習。

機械学習との違いは、機械学習はプロの手を正解として真似ていた→教師あり学習と呼ぶ。

強化学習は、ある局面である評価の手をさしてみて、その後6−8手進めてみて、そのさした手がよかったのか悪かったのかを判断し、その手の評価を微妙に調整していくというもの。プロの手を必ずしも正解とはしないし、お手本(教師)の手を真似るわけではないので、教師がいらない。

局面データを1兆局面ほど集めて強化学習をさせてポナンザを強くした。機械学習ではプロに勝つケースも負けるケースもあったが、この段階でほぼ間違えなくプロに勝てるらしい。

 以上がポナンザの進化。執筆時点では、ディープラーニングをポナンザにも導入する計画も進めており、さらに進化していく模様。