original image: © zergkind - Fotolia.com
知的情報処理の最前線:深層学習の歴史
Historical review of deep learning
2016.05.10
Updated by Masayuki Ohzeki on May 10, 2016, 07:00 am JST
original image: © zergkind - Fotolia.com
Historical review of deep learning
2016.05.10
Updated by Masayuki Ohzeki on May 10, 2016, 07:00 am JST
視覚・聴覚など人間の知覚を司る五感。
その知覚の獲得こそが人工知能で重要な課題である。
センシング技術と機械学習の発展により、人工知能を搭載したシステムにおいて高精度な知覚技術を支えるだろう技術が深層学習(deep learning)である。
多くのデータからその特徴をとらえて、データの正体を知っているかのように知覚する。
「聞いたことのある音楽」であるとか「見たことのある物体である」とか識別することが可能となった。
その深層学習の登場までの逸話を簡単に紹介しよう。
深層学習の原理は、単純な識別器:パーセプロトンが元になっている。
パーセプロトンの原理は単純で、「どこで区別するか」の仕切りを見つけることにある。
たとえば、時計をみて、予定の時刻までの時間を知った時、
「急いで行動を開始しなければならない」「いやいやもう少しゆっくりしてもよい」など
ある「閾値」がひとそれぞれある。
しばらく自分の行動スタイルをデータ化してみよう。
15分前行動をする人もいれば、寸前になり慌てて行動を起こす人もいる。
そのデータにはある程度の散らばりはあるもののその人の個性をうまく反映したものだろう。
どこで区切りをつけるべきかどうか機械に自動的に調整してもらい、ここがあなたの閾値ですというのを見積もってもらうことで、データを学ぶ。
これがパーセプトロンの役割である。
なるほど簡単なスケジューラに導入できそうである。
夫婦喧嘩のもとになりかねないパートナーの怒りの閾値も知りたいものだ。
しかしあるとき気づくのだ。行動を起こすのは時間だけではないということに。
異なる条件があるのだ。例えば、誰かとともに行動するタスクであれば、事前の準備を伴うのだろうかやや早い行動がデータには残っている。
そのデータをうまく反映して、その人の行動基準を知るには、「軸」が足りない。
「ようし時間だけではなくて、誰かとともに行動する場合にはその相手の重要度も加味しよう」
そうやって拡張していくことでより高度な知的処理が実現するに違いない。
このように、高次元化により精度を高めることで、より高度なタスクを達成できるだろうと素朴に思ったわけだ。
その後、画像データや音声データなどが豊富となり、パーセプトロンを拡張することでその画像や音声の「識別」に使うことができそうだということになった。だがデータの直接の入力をしてみた結果、うまく識別ができないということがわかった。
たとえば動物の画像を見せて、その動物が何かを識別するには、「犬かどうか」「猫かどうか」の繰り返しの質問に、それぞれ閾値を超えるかどうかで判定することができそうだ。
しかしその際にどこに注目すればよいのか手がかりがないのだ。データを単純に入力する場合に画素値を入力すれば画像となるが、その画素値のどこの部分に注目すれば、犬かどうか判定できるかなど知る由もない。しかも画像であれば回転、拡大・縮小、変形をすればいくらでも異なるデータを作ることができる。それらすべてうまく犬かどうかを判定する仕切りを探さなければならない。
それすらも機械に任せようというのが究極の目標なのだ。
そこで導入されたのが中間層である。
画像を直接入力してからいくつかの画素値の組み合わせで犬っぽさなり猫っぽさとして適切な「特徴」を捉えたかのように絶妙な組み合わせを見つけてこい、そしてその組み合わせをさらに組み合わせて最終的な判断をしよう、という試みだ。
理論的には素晴らしい性能が発揮されると予想されて、研究者たちはその実践に躍起となった。
まさに深層学習が行っていることと同類のものが古くから発明されて、その実現に向けて躍起になっていたのだ。
しかしどうにもこうにもうまく動作しないことがわかった。
ここで本連載のいつだったかに何度か紹介した量子アニーリングの記事の中で触れた「最適化問題」というキーワードが登場する。機械に絶妙な組み合わせを探せという命令は、犬か猫かを適切に判断する組み合わせを見つけたら褒めてやるという関数を用意して、その褒められる度合いを最大限に高めるという意味での最適化問題を解くことで実行する。
先ほどのスケジュールの問題であれば、適当な閾値を機械が仮に設定して、その際に過去のデータを眺めたときに正しく行動開始時間を見積もることができているかどうかを確認する。もしもずれていれば「だめやり直し」、うまくいっていたら「褒めてつかわす」。これの繰り返しをすべてのデータについて行う。すべての過去のデータに整合すれば大成功。今後のパラダイムが変わらない限り、基本的には似たようなデータがでてくるので、その閾値とは矛盾がないだろうと期待できる。
いくつもの評価軸や組み合わせを考えるというタスクを追加した上での複雑な最適化問題を解くためには、非常に莫大な計算リソースを割くことになり、実行は困難を極めるというわけだ。
最適化問題は「霧の立ち込めるなか、幾つもの山があり、その山のてっぺんに財宝があるから探してきなさいという命令」という例えを紹介したことがある。
まさに機械学習で行われていることはこのことであり、画像から犬か猫かを識別するのは、この最適化問題の末に、正しく犬と判別できる絶妙な組み合わせを見つけるというわけだ。
さて、この最適化問題を解く際にどうも山をうまく登ってくれないという問題が生じた。
何度やってもうまく駆け上がってくれない。
疲れ果ててしまったのか。抜け道が全く見つからないとウロウロしている。
もしかして複雑に色々な要素を考えさせることは難しいのだろうか。組み合わせを探せというのは難しいのだろうか。諦めムードに包まれ、そして人々は去っていった。
他の方法論でやるべきだ。人間がうまくどこに注目すればよいかを示す必要がある。
全自動化は無理だ、と。
時は経て、深層学習の登場である。
さまざまな要素を加味しながら、犬か猫かを判定するためにどこに注目すればよいのか、うまい組み合わせを自動的に抽出することができる方法である。
判別の全自動化が可能となったのである。
そのため機械学習の研究者たちは驚いたし、機械学習をよく知らなかった人たちも機械が自動的に学ぶように見える様に驚愕したのだ。
しかしアイデア自体は全く変わっていなかった。我々は一体何を間違っていたのだろうか。
どこが効いたのか?
解くべき最適化問題においてなかなか山を登らなかったという問題を精細に調べてみると、抜け道がないわけではなかった。ある方向に歩けば登り道はあったのだ。
しかし研究者たちが利用していたアルゴリズムは、安全に配慮して様々な方向を探索して登り坂の見込みとして良いところに行こうというものだった。その抜け道は、しばらく歩いてみないと光が見えないわずかな広さであったために、探索方法を変える必要があったのだ。
そして何よりデータの不足がある。
入力するデータの数が少ない時に、その抜け道が見えにくいという問題点もあった。
今日では多くのデータを用意して最適化問題を解いてみると、財宝が眠っている山を探し当てることにうまく成功することがわかっている。
さらに現在では「確率勾配法」の利用など、山の登り方も通り一辺倒ではなく、データに忠実に、しかし色々な方向を向きながら探しながら進めという方式に変わっている。
本来、この「確率勾配法」は、全てのデータを利用して忠実に計算をするのではなく、一部のデータを利用してサボるための計算手法であったが、サボったが故に抜け道を探しやすいという特徴が功を奏して標準的な方法となっている。
今では何度も実験を繰り返してみると、高確率で財宝を探し当てることも分かった。探しすぎると財宝の中に毒蛇がいるということも分かった。この毒蛇はデータを信じすぎると良くないことがあるという昔からの経験と合致した結果で納得もいく。
データの大規模化に伴い、そのデータが不完全であることも増えてきたが、その不完全なデータを利用して、どんな山が目の前に広がっているか地図を事前に学習するという戦法も取られた。
深層学習の黎明期には、この「事前の学習」が重要であると認識された。「事前の学習」により事前にある程度抜け道を知りながら、財宝を探しに後発隊が向かうことで迷うことがなくなった。
過去に示した方針は正しかったのである。研究者たちは間違っていなかったのである。
しかし計測できるデータの量・質、計算に使うコンピュータの性能など、その時代にはまだ足りないものだらけだったのだ。
人間のアイデアに計測・計算技術の進歩が相まって、機械学習の新技術が完成を迎えた。
これでも人間と機械は対立するような文化を期待する人がいるのが不思議でならない。
人間と機械は協力関係に昔からあるし、今もある。そして今後も変わらないのではないだろうか?
おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)
登録はこちら1982年東京生まれ。2008年東京工業大学大学院理工学研究科物性物理学専攻博士課程早期修了。東京工業大学産学官連携研究員、ローマ大学物理学科研究員、京都大学大学院情報学研究科システム科学専攻助教を経て2016年10月から東北大学大学院情報科学研究科応用情報科学専攻准教授。非常に複雑な多数の要素間の関係や集団としての性質を明らかにする統計力学と呼ばれる学問体系を切り口として、機械学習を始めとする現代のキーテクノロジーを独自の表現で理解して、広く社会に普及させることを目指している。大量の情報から本質的な部分を抽出する、または少数の情報から満足のいく精度で背後にある構造を明らかにすることができる「スパースモデリング」や、次世代コンピュータとして期待される量子コンピュータ、とりわけ「量子アニーリング」形式に関する研究活動を展開している。平成28年度文部科学大臣表彰若手科学者賞受賞。近著に「機械学習入門-ボルツマン機械学習から深層学習まで-」、「量子コンピュータが人工知能を加速する」(共著)がある。