« オンラインサービスmiroとastahを連携するastah-miro plugin | トップページ | Redmineはまだ死んでいないよ »

2020/05/30

「人工知能は人間を超えるか ディープラーニングの先にあるもの」の感想

「人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書) 」がとても良かったので、感想をメモ。
ラフなメモ書き。

たまたま古本屋で「人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書) 」を見つけて立ち読みした。
2015年出版なので、内容は古いだろう、と勝手に想像していたら、ディープラーニングや機械学習の概念の比喩や説明が非常に分かりやすくて、良い本だった。

興味を引いたフレーズ、理解した内容は下記の通り。

人工知能は、飛行機の例と近い。
人は飛ぶために鳥の真似をするような羽ばたく飛行機を作ろうとして失敗した。
実際は揚力という概念を見つけて、揚力を得る方法をエンジンによる推進力で実現することで、工学的に解決できた。
同様に、人工知能も、人の脳みそを真似したとしても、実装方法は生物と同じようにやる必要はない。
人工知能でも、知能の原理を見つけて、それをコンピュータで実現すればいいだけだ。

機械学習は所詮、力任せに探索手順を全て探すアルゴリズムに過ぎない。
ただし、人工知能ブームを経ていくつかの成長がある。
一つは、膨大なデータを元に機械学習をさせると、より良い特徴量が発見できてきたこと。
たとえば、将棋ソフトの特徴量では、以前は2つの駒の関係だったが、3つの駒の関係を使った方が有効だと分かってきた。

2つ目は、スコア評価にモンテカルロ法を導入して、ある局面まで来たら、人間が重み付けで評価するのではなく、ランダムに数億手を探索させてスコアを評価させる。その中から良いスコアの探索手順を選ばせる方が精度が高い。
コンピュータによるシミュレーションで膨大に計算できるのだから容易いこと。

ニューロンの誤差逆伝播のたとえ。
ある組織の上司が判断を下す場面で、部下からの情報を元に判断を下す。
自分の判断が正しかった時、その判断の根拠となった情報を吸い上げた部下との関係を深めて、判断が間違った時はその間違いの原因となった情報を吸い上げた部下との関係を弱める。
これを何度も繰り返せば、組織として正しい判断を下す確率が上がる。
つまり、正しい判断材料が部下(下)から上司(上)へ上がる一方、修正を加える時は、上司(上)の判断の誤り(誤差)から部下(下)との関係の強さに修正を加えるので、誤差は逆伝播するわけ。

しかし、上司と部下の距離が遠すぎると、誤差逆伝播による修正の情報は届きにくくなる。
この比喩は、ニューラルネットワークの誤差逆伝播は、組織の情報伝達と似ていて非常にわかりやすい。

機械学習は、ニューラルネットワークを作る学習フェーズと、できあがったニューラルネットワークを使って正解を出す予測フェーズに分かれる。
学習フェーズの作業はとても時間がかかる一方、いったんニューラルネットワークが完成すれば、予測フェーズは一瞬で終わる。
たとえば、人間も学習している時は体得するのに非常に時間がかかるが、学習した成果を使って判断するのは一瞬だ。
それと事象は似ている。

機械学習の手法はいくらでもあるが、結局、いい特徴量を作るのが一番大変で、人間がやるしかないんですけどね、と先生から言われた。
つまり、特徴量をどうやって作るかが機械学習の本質である。
人間は特徴量をつかむのに長けている。

特徴量の話は、言語哲学者ソシュールの議論に似ている。
彼は、記号とは、概念(シニフィエ)と名前(シニフィアン)が表裏一体となって結びついたもの、と考えた。
たとえば、シニフィエは猫そのものであり、シニフィアンは日本語は「猫」、英語は「Cat」と呼ばれて、人はそれぞれ理解して運用されている。

コンピュータが特徴量を取り出したら、それは概念(シニフィエ)であり、そこに記号として名前(シニフィアン)を与えれば良い。
そうすれば、シンボルグラウンディング問題は解決される。
Googleがディープラーニングによって膨大な画像データから、猫の顔や人間の顔を判別できた、というのはそういうこと。

ディープラーニングは多階層ニューラルネットワークである、という意味が分かっていなかったが、ようやく分かった気がした。

ディープラーニングとは、特徴表現学習と呼ぶべきだ。

ニューラルネットワークで、3層からどんどん多層にすれば人間の脳みそに近づくのに、精度が上がらなかった。
原因は、深い層では、誤差逆伝播が下の階層まで届かないから。
つまり、組織の階層が深いと、一番上の上司の判断が良かったか悪かったかどうかが、末端の従業員に届く頃には、ほとんど影響がゼロになってしまうから。

ではディープラーニングではどうやって解決したのか?
ディープラーニングが従来の機械学習と大きく異なる点は2つ。
一つは、1階層ずつ学習すること、もう一つは自己符号化器という情報圧縮器を使うこと。

自己符号化器では、ニューラルネットワークの入力値と出力値を同じにする。
つまり最初は教師あり学習をさせる。
隠れ層は細くくびれているので、情報量を圧縮させて復元エラーが出ないような特徴表現を学習させる。

統計に詳しい人であればピンとくるだろうが、自己符号化器でやっていることは、アンケート分析結果でおなじみの主成分分析と同じ。
たくさんの変数を少数個の無相関な合成変数に縮約する方法。
実際、線形な重みの関数を用いて、最小二乗誤差を復元エラーの関数とすれば、主成分分析と一致する。
自己符号化器では、非線形な重み関数(シグモイド関数とか色々)を使い、復元エラーを最小にさせるだけでなく、様々な形でノイズを与えて非常に頑健に主成分を取り出す。
これにより、多階層にディープにでき、主成分分析では取り出せないような高次の特徴量を取り出せる。

「ディープにする」図23が非常にわかりやすい。
隠れ層を上に引っ張り出し、入力層と出力層は同じだから便宜的に重ねてしまい、隠れ層を2段目、3段目、と何段にも重ねればよい。

相関のあるものをひとまとまりにすることで特徴量を取り出し、さらにそれを用いて、高次の特徴量を取り出す。
人間がぼーっと目や耳から入った情報から、「お母さん」の概念を発見する仕組みも同様に実現できるはず。

なお、データから概念を作り出すというのは、本来、教師なし学習である。
ディープラーニングでは、教師なし学習を教師あり学習的なアプローチでやっている。

ところが少し難しい点は、そうして得られた特徴量を使って最後に分類する時、教師あり学習になることだ。
つまり、ディープラーニングは「教師あり学習的な方法による教師なし学習」で特徴量を作り、最後に何かを分類させたい時、「教師あり学習」になる。
では、ディープラーニングは教師あり学習をやっているなら、ディープラーニングの意義は小さいのではないか?
(ここは、僕にとっては一番難しい所)

だがこの違いは非常に大きい。
ディープラーニングによって得られた特徴量を使ってデータを判断する時の教師あり学習は、非常に高度なレベルなのだ。
「世の中の相関する事象」の相関をあらかじめとらえておく(つまり、特徴量で抑えておく)ことで、現実的な問題の学習は早くなる。
なぜなら、相関があるということは、その背景に何らかの現実の構造が隠れているはずだから。
つまり、世の中の2つの事象の関係に強い相関関係があるならば、その背後には、概念や意味のレベルで何かしら同一な概念が含まれているはずだから。

ディープラーニングは所詮、主成分分析を非線形にし、多段にしただけ。
とても単純な理屈。
しかし、考え方は単純であっても、こうした高次の特徴量や概念を取り出すには、非常に長時間の精錬の過程を必要とする。
つまり、特徴量の頑健性(ロバスト性)が必要。
すなわち、入力にノイズが多少あっても、ニューラルネットワークの特徴量による判断がぐらつかないレベルの頑健性が必要。

頑健性を得るには、ニューラルネットワークに過酷な環境を与えて、いじめ抜かないと、データの背後にある本質的な特徴量を獲得できないのだ。
画像認識の精度が上がらなかったのは、頑健性を高めるためにいじめ抜く作業の重要性(正則性)に気づかなかった為、そもそもマシンパワーが不足していた為だ。
それさえ気づけば、単純明快な話に過ぎない。

人工知能は本能を持つのか?
本能とは、快や不快を感じるかということ。
人間が獲得する概念の中には、復元エラーを最小化するだけでなく、何が快か不快かによって方向づけられてるものが多い。
ゲームや漫画、スポーツ、音楽など。
こうしたことは、人工知能では「強化学習」として知られている。
報酬を与えることで行動を方向づけて、その結果を生み出した行動を強化される仕組み。
強化学習で重要なのは、何が報酬になるのか、何が快や不快の基準になるのか?
人間は、生存に有利な行動が快、生存の確率を低くする行動は不快になる。
こうした本能に直結する概念をコンピュータが獲得するのは難しい。

この部分は、強化学習は今ホットな話題の一つ。
DeepMindのAlphaGoが以後の世界チャンピオンを破ったのは、強化学習にディープラーニングを取り入れたから。
たぶん、今後色々解決されていくはず。

強化学習の話は、昔習った教育学の話に似ている感じがする。
快や不快の基準は、マズローの欲求段階説における生存レベル、安全レベルの人間にとても当てはまるだろう。
つまり、貧しい人達の行動は、経済学の合理的人間説、強化学習のアルゴリズムにとても近い。
一方、低次の欲求が満たされて高次元レベルの人間になると、生存や金銭に関係なく、より複雑な行動を取るようになる。


|

« オンラインサービスmiroとastahを連携するastah-miro plugin | トップページ | Redmineはまだ死んでいないよ »

統計学・機械学習・深層学習」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« オンラインサービスmiroとastahを連携するastah-miro plugin | トップページ | Redmineはまだ死んでいないよ »