ディープラーニング小史(その2) 〜私の体験した第二次人工知能ブーム〜
はじめに
個人的な体験として、私と「ニューラルネットワーク」との出会い(?)について紹介したいと思います。こういう体験をした人は希少でしょうし、体験した人は私と同様、既に第一線を退いている可能性が高いです。何かの役に立つとはとても思えませんが、記録として残しておきたいと考えました。
一般に人工知能(以下、AI:Artifitial Intelligence)ブームは3回あったと言われています。今は3回目、第三次AIブームの最中とされますが、各ブームの期間は曖昧ではっきりしていませんし、この3回のブームというのは日本独自の観点で、海外ではむしろ「冬の時代」という観点で見られていることが多いように思います。
私がニューラルネットワークと遭遇したのは、★のところになります。冬の時代とされていますが、当時の日本国内では、そのような雰囲気はなかったと思います。
ニューラルネットワークとの出会い
私が体験したニューラルネットワークとの出会いは1990年代でしたので、恐らく第二次のAIブームと言ってもいいように見えますが、この期間は、AI、2回目の「冬の時代」となるのかもしれません。そもそも当時、ニューラルネットワークがAIであるとみなす人はいなかったと思います。「遺伝的アルゴリズム」なんていうのも出てきたばかりで、数ある計算アルゴリズムの一つ、と見なされていたのではないでしょうか?なんと言っても2回目のAIブームの主役は「エキスパートシステム」だったはずです。
私が今の会社に入社したのはバブル最中の1990年です。大学院で建築の構造解析を研究していた私は、ゼネコンの研究所に入るという道もあったのですが、どうしても建築以外の数値計算もしたいと思い、ツテを辿って現在の会社の数理工学部(当時)を希望して入社しました。この数理工学部では、まさに様々な数値解析をしており、構造解析のためのプログラムを多数抱えていました。例えば、衝撃解析プログラムDYNA3D(陽解法)、NIKE3D(陰解法)、NASTRAN(線形構造解析)などをクレイのスパコンで計算させていました。その他、流体の解析、熱伝導、通信網のシミュレーションなんかが主たるプロジェクトでした。
そして入社した時、既に大学との共同研究でニューラルネットワークを使った非破壊検査を行なっていました。水に沈めた欠損のある金属に超音波を当て、その反射波から金属の傷の長さを同定するといういわゆる「逆問題」になります。ニューラルネットワークは逆問題を解くのに期待されたツールでした。うろ覚えでしかないですが、以下にイメージ図を示します。
勉強会への参加
私自身は入社したばかりで、この研究には関われませんでしたが、逆問題に興味があったので、少しニューラルネットワークの勉強をしてみたりしたと記憶しています。
そしてやがて東大で「計算力学」の勉強会に参加することになり、そこで本格的なニューラルネットワークとの出会いがあったのです。この時期が恐らくですが、1993年くらいだったと思います。当時、東大に原子力工学科があったのですが、チェルノブイリ原発(1986年)の事故や広瀬隆氏の「危険な話」が出版され、原子力および原発への風当たりが強くなりはじめ、学科も「量子○○」みたいな名称に変えた時期になります。その学科の機械工学専攻の先生の勉強会に参加することになりました。ちょっと調べたところ、その先生は今もまだ現役の東大教授です。要らぬ迷惑をかけたくないので、Y先生としておきます。Y先生の今のご専門は計算力学で「ディープラーニング」とかではないです。
C言語プログラム
このY先生の勉強会には様々な企業の研究者が参加していました。この勉強会で紹介されたのがニューラルネットワークでしかも参加者全員にC言語で書かれたプログラムが配布されました。
当時、既に「誤差逆伝播(バックプロパゲーション)」という計算方法も確立されており、しかも「過学習」の概念もありました。渡されたC言語プログラムには組み込まれていませんでしたが、過学習を回避する「ドロップアウト」という手法もあると紹介されました。Y先生はドロップアウトをこのプログラムに組み込むとおっしゃっていましたが、ただでさえわけわからんC言語(当時の私の使っていた言語はFORTRANです!)にこの複雑なアルゴリズムをどうやって組み込むんだ、と思ったものです。
また、このプログラムで使っていた「損失関数」は「最小二乗誤差」で「クロスエントロピー」ではありませんでした。
勉強会では他に当時発表されていたニューラルネットワークの論文の読み回しをしました。私が担当したのは、富士フィルムの「相互結合型ネットーワーク」を使った研究でした。この研究は今の創薬や「マテリアルズ・インフォマティクス」の原点となるような内容で、この勉強会でも一番人気でした。こちらもうろ覚えですが、イメージ図を示しておきます。
せっかくプログラムを頂いたので、私も使ってみて簡単な論文にまとめました。(どんな論文を書いたかは、もう全く覚えていません!)
使ってみた感想は、そこそこ使える、でしたが、学習していない部分の予測は全くできない(外挿ができない)し、入力データがあまり多くできない(当時のハードウェアではとても計算できない)、など、ちょっとした”おもちゃ”のようなものでした。当時は認識していませんでしたが、正規化などの処理がなかったため、うまく結果が出るのも稀だったと推測します。
私自身大学院の研究で構造物の非線形(幾何学的非線形性と言います。建築でいうと「座屈」という現象になります。)の計算をさせていましたので、釣り合い点を求めるための収束計算はさんざんやりましたが、誤差逆伝播は非常にうまくはたらいていたように思います。
(「座屈」については、当時これも東大の半谷先生(故人)の研究が有名で成果が雑誌「数学セミナー」に紹介されたりして私も憧れた研究の一つです。)
その後
その後、ご存知の通り、日本ではバブルが崩壊し、こんな牧歌的な研究はもう許されない雰囲気になってしまい、それがまた日本の技術開発力を凋落させることになったことは非常に残念に思います。
日本では、NHK技研の福島先生の「ネオコグニトロン」のような今のディープラーニングに絶大な影響を与えた研究もありましたし、あのまま研究が続いていたら今のAIブームにもう少し貢献できたかもしれません。
一方、海外でもニューラルネットワークの研究者たち(コネクショニスト)も同じ人工知能研究者頂点であったマービン・ミンスキー(シンボリスト)の猛烈な批判を浴び、隅に追いやられることになります。
まさに冬の時代の到来です。
(ミンスキーはニューラルネットワークの祖先ともいうべき「パーセプトロン」の研究者でした。しかし、排他的論理和が計算できないことが判明すると一転、ニューラルネットワークを不完全なものとして批判側にまわります。)
この頃の海外での研究動向
以下に、この時期のニューラルネットワークに関わる技術研究動向を簡単に紹介します。(敬称略)
ルカンの畳み込み層の提案は福島のネオコグニトロンの研究を参考にしており、本人も度々そのことに言及しています。
ニューラルネットワークからディープラーニングへ
1958年 フランク・ローゼンプラット パーセプトロンを提案
1969年 マービン・ミンスキー パーセプトロンの限界を示し、第一次AIブームに止めを刺す。ミンスキーはなんと上記ローゼンプラットの高校の同級生であった。
1979年 福島邦彦 ネオコグニトロンを提案
1986年 デビッド・ラメルハート、ジェフリー・ヒントン、ロナルド・J・ウィリアムス 多層パーセプトロン(MLP)に誤差逆伝播法の適用
1989年 ヤン・ルカン LeNetを提案 畳み込みニューラルネットワーク
1990年 ヤン・ルカン 手書き文字(郵便番号)の認識に逆伝播ネットワークを適用
2006年 ヨシュア・ベンジオ 事前学習に貪欲法(greedy法)を適用
2012年 ジェフリー・ヒントン AlexNet 画像認識で高精度を達成(ILSVRC 2012)
参考図書
この記事が気に入ったらサポートをしてみませんか?