浮動点から世界を見つめる

「井蛙」には以って海を語るべからず、「夏虫」には以て冰を語るべからず、「曲士」には以て道を語るべからず

人工知能(2) 自立的に(人間を離れて)思考し行動するコンピュータ

吉成真由美『知の逆転』(8)

ミンスキー(Marvin Minsky、1927-2016)に対するインタビューは、2011年に行われた。

チェスのようなものは、実はコンピュータにとっては非常に易しい問題なんです。…ある種の数学などは、コンピュータにとっては実に簡単なんだけれども、そういうことが人々を感心させる。最も重要なことは、まずコンピュータに、人間の子供にできるレベルのことが出来るようにする。そこから成長させていけばいい。

チェスの場合、単に可能な手を検索しつくすというだけで、人間の対戦者を負かすことができるのです。

𠮷成…コンピュータの知能を上げる代わりに、コンピュータを巨大なデータベース化してきた。コンピュータにとっては、頭のいい論理的なマシーンになるより、片っ端から何でも覚えてしまうほうははるかに効率がいい。

莫大な例をデータベース化することで、どれくらい言語の翻訳に進歩があったかを見てみるといいでしょう。…(文章の)言葉や事柄の、ある種の関係性を引き出そうとすると、ずーっと難しくなります。

十分に大きな例文のデータを持っていて、質問と答えとをうまく照合する良い方法があれば、役に立つ答えが得られるでしょう。でも新しいアイデアがあった場合、既存のデータベースでは対応できません。…将来、統計的な照合だけに頼らず、もっと理解力のあるプログラムが出来てくれば、この状況は変わってくるでしょう。

現在、もっと一般的な知能を備えたマシーン、あるいは人間の子供たちができるようなことができて、そこからさらに育っていくことのできるマシーンを作るというような研究をしている人が、とても少ない。

𠮷成…コンピュータ自体が、ちょうど子供が育っていくように、次第に成長していくというようなことを考えておられるのですね。

そうです。…コンピュータ自体が、新しいアイデアを生み出して、調べて、試行錯誤して、その経験を次に生かして、ということができるはずなのです。

 

2016年3月、人工知能(AI)の囲碁ソフト「アルファ碁」が、世界トップ級の韓国のイ・セドル九段に4勝1敗で勝利したことが大きな話題になった。これは画期的なことであった。いろんなことを考えさせる出来事だった。

毎日新聞は、次のように伝えている。

世界トップ級棋士にハンディなしの五番勝負を挑んでいたグーグル傘下の人工知能(AI)の囲碁ソフト「アルファ碁」が12日、3連勝で早々と決着をつけた。「ハンディなしで勝てるのは10年先」と見ていた世界の囲碁関係者の「常識」を覆す衝撃的な結末。

今年1月、コンピューターソフトにとって「難攻不落の関門」と見られた囲碁の状況が一変した。グーグルが「プロ棋士に対等の条件で勝った」と発表したのだ。世界の囲碁界を疑心暗鬼にさせるのに十分で、「100万ドル」(約1億1300万円)の賞金を懸けて今月9日から李九段と五番勝負を戦うことになった。

囲碁が「最後のとりで」とされた理由は、初手から決着がつくまでに現れる局面[初手から終局までの可能な着手数]の数を考えてみると分かりやすい。チェスが10の120乗、将棋が10の220乗あるのに対して、囲碁10の360乗通りあるとされ、変化の数が桁違いに多い。そのため、スーパーコンピューターなどの最先端の計算能力を持つマシンパワーでも追いつかないのだ。さらにソフトを悩ませてきたのが、そのゲーム性である。チェス、将棋と異なり、碁石には一つ一つに役割がなく、それぞれの位置関係などによって価値を判断するため、ソフトには形勢判断が難しかった。

囲碁界関係者の誰もが、李九段が1敗もすることなく圧勝すると予想した中でのアルファ碁の完勝劇囲碁先進国である日中韓の関係者は、言葉では言い表せないほどのショックを受けた。日本のエース、井山裕太6冠(本因坊棋聖、名人、王座、天元碁聖)は「恐ろしいことが起こっている」と語った。

http://mainichi.jp/articles/20160313/ddm/003/040/169000c

井山裕太(1989-)は、十段戦も制し、囲碁史上初めて七大タイトルすべてを独占、「七冠」を達成し、6月に総理大臣顕彰の賞状が贈られた。その井山をして「恐ろしいことが起こっている」と言わしめた「アルファ碁」とはいかなるものなのか。

f:id:shoyo3:20160619082538j:plain

http://l7.alamy.com/zooms/fffab3558187422ea6710fa16a60cc72/epa05200228-demis-hassabis-co-founder-of-googles-artificial-intelligence-fm3yxj.jpg

 

アルファ碁を開発したのは、2011年に設立された英国の人工知能ベンチャーDeep Mind」(ディープマインド)だ。ディープマインドは、グーグルとフェイスブックとの間で買収合戦となり、2014年にグーグルに買収された。買収金額は5億ドル以上といわれる。天才創業者デミス・ハサビス氏の獲得が目的とされたが、グーグルの期待通り、ディープマインドは、機械学習と脳神経科学を応用した画期的な汎用学習アルゴリズム「DQN」(Deep Q-Network)を発表し、世間を驚かせた。このDQNをもとに、アルファ碁が作られた。

アルファ碁は、人間と同じように、対局を重ねるたびに自己学習しながら強くなっていく人工知能として作られた。DQNを囲碁というゲームに適用したのだ。囲碁でコンピューターが人間に勝てるようになるのはまだ10年は先といわれていたので、今回の勝利は、人工知能研究を軽く10年は前倒しした快挙ともいえるものだ

ハサビス氏とディープマインドは、買収された後も引き続きロンドンに拠点を構える。現在220人ほどの人員を抱え、その4分の3が基礎研究、残りをグーグルのサービスとの連携のために配置しているそうだ。

http://mainichi.jp/premier/business/articles/20160413/biz/00m/010/011000c

 

この話題の最も重要なポイントは、コンピュータが自己学習するという点だ。しかし、私のような素人には、この話はなかなか難しい。できるだけやさしい解説を探してみよう。

今回、イ・セドル九段との対局を制したAI「アルファ碁」を開発した英グーグル・ディープマインド社のデミス・ハサビスCEOは2016年3月11日、韓国・大田で講演し、アルファ碁の実力向上をこう振り返った。

1997年にチェスの世界王者を破ったIBMのコンピューター「ディープブルー」との違いも語った。「ディープブルーは膨大な情報を処理したが、アルファ碁は選択した少数の情報だけを処理している。人間が直感で状況判断するように」。

アルファ碁は局面を読むのに、画像認識などで近年注目が集まる「ディープラーニング」という手法を使う。認識に必要な特徴を人が教えるのでなく、自ら気づくことができる。脳の神経回路網のように、数多くの分岐点をもつネットワークで認識する。各局面での勝率を予測したり、次の手を決定したりする。そして、局面に応じた最善の手を探る。そのために有段者らの過去の棋譜から打ち方を学び、さらにこのデータを使って自分同士で対戦してみることで知識を深めてきた。「強化学習」と呼ばれる手法で、囲碁の手順の多さを克服した。

東京大の松尾豊特任准教授は「短期間ですさまじいレベルアップを成し遂げた。今回の勝負の結果は、人工知能学習能力の高さを改めて感じさせる結果だった。人間のように、複雑な行動を予測したり適切な段取りを決めたりして行動できる、人工知能の開発がさらに進む可能性がある」と話している。

http://www.asahi.com/articles/ASJ3D6R5LJ3DUHBI02J.html

 

これだけの説明では腑に落ちない。ディープラーニング(深層学習、deep learning)とは、どういうものか。NTTコムウェアの解説が分りやすいようだ。なお本稿は、NTTコムウェアのコーポレートマガジンTERA No.58(2014年)に掲載されたものである。(「アルファ碁」以前)

https://www.nttcom.co.jp/tera/tera58/pdf/p02_06.pdf

まず、ディープラーニングとは、機械学習手法の一種であるという。では、機械学習とは?

機械学習とは、人間が経験を積んで学習するのと同様に、コンピュータ上の人工知能が入力データを経験として、アルゴリズムでそのルールを学習し、人工知能自身で以降の判断をできるようにすることだ。

f:id:shoyo3:20160619083547j:plain

例えば猫の画像とそのタグ(この場合「猫」)をペアにした大量のサンプルデータを入力し、それら猫の画像に共通する特徴を人工知能に学習させる。するとそれ以降は、新たに入力された未知の画像に猫の画像と共通する特徴を検知すると、猫の画像であると識別するようになる。画像の特徴とタグから、猫の画像を人工知能機械学習したということだ。このようなタグ予測に用いられる機械学習技術は、本質的に「データとタグの正解ペアを通じて学習し、その学習結果を使って答え(=未知のデータに対するタグの予測)を出力するブラックボックス」である。

ここでの「学習」とは、猫を識別するための特徴をコンピュータに与えることではなく、「データと正解」からコンピュータが「特徴」を導き出すということであろう。これは人間が、「猫」を識別する(学習する)こととほとんど同じではないかと思われる。

そうした「ブラックボックス」としての機械学習技術の中でも、今最も注目を浴びているのが、脳の機能を参考に作られた「ニューラルネットワーク」(以下、ニューラルネット)である。これは、脳の神経回路を模した「人工ニューロン」を層状に配したものだ。そして、今回取り上げるディープラーニングとは、このニューラルネットの中でも、人工ニューロンの層の数を増やして「深く」することにより、特に成果を挙げているものを指す。ニューラルネットを深くしてディープラーニングとすると、画像・音声認識などの複雑な問題も、高い精度で解けるようになるのだ。ディープラーニングでは、ニューラルネットの構造上「入力層」と「出力層」の間にある、「隠れ層」と呼ばれる中間層の数を増やし重層構造にする。この隠れ層によって何段階かで認識を繰り返し、色、形状、質感、全体像など複数の特徴を抽出して、より正確な識別ができるようになる。入力層から出力層に向かって層が深まるにつれて、人工ニューロンが認識できる概念がより高度となり抽象的なものへの適応を可能にしていくのだ。

このように実績が見えてきたディープラーニングだが、実は実際に内部でどのようなメカニズムが働いてうまくいっているのか、理論的には解き明かされていないという。ニューラルネットが人間の脳神経をモデル化しているところに、人間と同じように認識できる理由があるはずだとの推測はなされつつも、理論化については今後の研究が待たれる。

人間は「(∵)」のような図形の配置を見ると、何となく顔とみてしまう。これは人間が「顔」を認識するときに、目、目、口の3点と位置関係を特徴と捉えるからだろう。つまり、画像認識という問題に対する機械学習とは、こうした特徴点に反応する人工ニューロンの出力を積み上げて、そこから判断をしていくという方法になる。

よく使われる人工ニューロンの一つ一つは、「複数の入力があり、その和がある一定のレベルを超えた時にアウトプットをする」というシンプルな構造をしている。それを組み合わせたニューラルネットブラックボックスとして捉え、そこにデータを与えると、正解らしきパターンが出てくることは分っているが、具体的に機械学習が進んでいく仕組みの解析は進んでいない。つまりはまだ制御がしにくい技術であるといえる。

一方で、この技術に先進的に取り組むGoogleの場合は、世界で有数の大量データと計算資源を持っているため、圧倒的物量のデータをニューラルネットに与えてみて、得られた結果がそれなりに意味を持ちそうなら、理論的な裏付けはさておき、まずはブラックボックスとしてアプリケーションに適用してみよう――とのスタンスではないかといわれている。

 

ニューラルネットワークについての小野田崇の次の記事を読めば、0,1で作動するコンピュータがどのように「特徴」を導き出すのか、何となくわかってくるような気がする。

http://www.buildinsider.net/small/machinelearning/01

ニューラルネットワークは、「人間の脳神経回路をまねすることによってデータを人間と同じように分類しよう」というアイデアに基づくアルゴリズムです。人間の脳はニューロン神経細胞)のネットワークで構成されていて、あるニューロンは他のニューロンとつながったシナプスから電気刺激をニューロン同士の結合の強さに応じて受け取り、その電気が一定以上たまると発火して、次のニューロンに電気刺激を伝えます。これをアルゴリズミックに表現すると、あるニューロンが他のニューロンから0か1の値を受け取り、その値に何らかの重みをかけて足し合わせるという計算をしていると表現できます。ここでいう重みというのは、ニューロン同士の結合の強さを表していると考えられます。受け取った値の合計がある一定の値(閾値)を超えると1になり、超えなければ0になります。そして、1の値になったニューロンは再び次のニューロンに値を受け渡していくのです。この一連の流れの中で肝となるのは重み付けで、人間のニューロンが学習によってシナプスの結合の強さを変化させるように、学習する過程で重み付けを変化させ、最適な値を出力するように調整することで、入力に対する出力の正解精度を高めていきます

学習する=「特徴」を導き出す=正解との誤差を小さくするように、自動的に重みづけを変化させる。…ということで間違いないだろうか。(どのように重みづけを変化させるのか分らないのだが)

 

もう一度「アルファ碁」に戻って、木村正人は次のように書いている。

http://bylines.news.yahoo.co.jp/kimuramasato/20160313-00055372/

ディープラーニングとは多層構造のニューラルネットワーク(人間の神経回路を模して作ったネットワーク)によるマシンラーニング(機械学習)のことを言います。…木のように枝分かれした単純な検索ツリーを使ったプログラムでは囲碁のプロ棋士に勝てる可能性は皆無でした。そこで「アルファ碁」には、さらに進んだツリー検索と多層構造のニューラルネットワークを取り入れたそうです。12の異なる多層構造が数百万のニューロン神経細胞)のようなつながりを構築しています1つのネットワークが次の一手(ポリシーネットワーク、小局)を考え、別のネットワークが勝者(バリューネットワーク、大局)を予測します。開発チームは専門棋士が打った3千万手を使って「アルファ碁」のニューラルネットワークを鍛えに鍛えました。そしてついに人間が打つ手の57%まで予測できるようになりました。しかしそれでも世界トップレベルのプロ棋士を打ち負かすことはできません。そこでグーグルのクラウドコンピューティングを使って、ニューラルネットワーク同士で数千の対戦を繰り返し、勝つと得点などの報酬が与えられる強化学習によってネットワークのつながりを修正していきます。

「専門棋士が打った3千万手を使って…」と聞くと、やはり人間の知恵がベースになっているのであり、創造力がないと思ってしまうのだが、「ニューラルネットワーク同士で数千の対戦を繰り返し、勝つと得点などの報酬が与えられる強化学習によって…」と聞くと、「うーん」とうなってしまう。人間が関与しないところで、能力を高めている!

「アルファ碁が5千年間続いてきた囲碁の原理を根本から書き換えつつある。核心は中央攻略だ。かつて人間が『厚み』と命名して神秘の領域として残してきた空間を、アルファ碁はついに精密な計算力で征服し遂げている」(中央日報

囲碁は可能な手が天文学的なためコンピューターでも計算しきれません。人間の場合は「着眼大局、着手小局」とよく言います。大局は計算できませんが、小局は計算できます。「アルファ碁」はポリシーネットワークとバリューネットワークを使ったこれまでの学習から一番勝ちそうな手を選んで打っているので、「着手大局」をも可能にしたと言えるのではないでしょうか。

 

(つづく)