人工知能の分野におけるニューラルネットワーク(; NN、神経網)は、生物の学習メカニズムを模倣した機械学習手法として広く知られているものでありCharu C.Aggarwal著『ニューラルネットワークとディープラーニング』(データサイエンス大系シリーズ)、学術図書出版社、2022年。, 第一章「ニューラルネットワークとは」「はじめに」、pp.1-2、「人工ニューロン」と呼ばれる計算ユニットをもち、生物の神経系のメカニズムを模倣しているものである。人間の脳の神経網を模した数理モデル『2020年版 基本情報技術者 標準教科書』オーム社、p.55 。模倣対象となった生物のニューラルネットワーク(神経網)とはっきり区別する場合は、人工ニューラルネットワーク () と呼ばれる。
以下では説明の都合上、人工的なニューラルネットワークのほうは「人工ニューラルネットワーク」あるいは単に「ニューラルネットワーク」と呼び、生物のそれは「生物のニューラルネットワーク」あるいは「生物の神経網」、ヒトの頭脳のそれは「ヒトのニューラルネットワーク」あるいは「ヒトの神経網」と表記することにする。
概要
人工ニューラルネットワークを理解するには、そもそもそれがどのようなものを模倣しようとしているのかを知っておく必要があるので説明する。ヒトの神経系にはニューロンという細胞があり、ニューロン同士は互いに軸索 (axon) と樹状突起 (dendrite) を介して繋がっている。ニューロンは樹状突起で他の神経細胞から情報を受け取り、細胞内で情報処理してから、軸索で他のニューロンに情報を伝達する平塚秀雄『よくわかる脳神経外科学』金原出版、1996, pp.14-15「神経細胞とニューロン」。そして、軸索と樹状突起が結合する部分をシナプス(synapse)という(右図も参照。クリックして拡大して見ていただきたい。紫色の部分がひとつのニューロンであり、Dendrite, Axonなどが示されている。)。 このシナプスの結合強度というのは、外的な刺激に反応してちょくちょく変化する。このシナプス結合強度の変化こそが生物における「学習」のメカニズムである。
ヒトの神経網を模した人工ニューラルネットワークでは、計算ユニットが《重み》を介して繋がり、この《重み》がヒトの神経網のシナプス結合の「強度」と似た役割を担っている。各ユニットへの入力は《重み》によって強さが変化するように作られており、ユニットにおける関数計算に影響を与える。ニューラルネットワークというのは、入力用ニューロンから出力用ニューロンへと向かって計算値を伝播させてゆくが、その過程で《重み》をパラメータとして利用し、入力の関数を計算する。(ただし計算値が出力用ニューロンへと伝播されてゆくというだけでは入力パターンからある決まった出力パターンが出るだけなので、さほど有益というわけではない平野廣美「学習することは重みが変わること」『C++とJavaでつくるニューラルネットワーク』パーソナルメディア株式会社、2008年、27頁。。。)《重み》が変化することで「学習」が起きる(ここが重要なのである)。 (右図も参照のこと。右図で「weights」や、丸で囲まれた「w」が縦に並んでいるのが《重み》である。) 生物のニューラルネットワークに与えられる外的刺激に相当するものとして、人工ニューラルネットワークでは「訓練データ」が与えられる。いくつか方法があるが、たとえば訓練データとして入力データと出力ラベルが与えられ、たとえば何かの画像データとそれについての正しいラベルが与えられる(たとえばリンゴの画像データとappleというラベル、オレンジの画像データとorangeというラベルが与えられる)。ある入力に対して予測される出力が本当のラベルとどの程度一致するかを計算することで、ニューラルネットワークの《重み》についてフィードバックを得られ、ニューロン間の《重み》は誤差(予測誤差)に応じて、誤差が減少するように調整される。多数のニューロン間で《重み》の調整を繰り返し行うことで次第に計算関数が改善され、より正確な予測をできるようになる。(たとえばオレンジの画像データを提示されると「orange」と正しいラベルを答えられるようになる。) この《重み》の調整方法は、数学的にはバックプロパゲーションで偏微分して確率的勾配降下法で学習する方法である。
なお、ヒトのニューロンを模したユニットは人工ニューロンあるいはノードと呼ばれる。
右図の、多数のユニットが結合しネットワークを構成している数理モデルは、ニューラルネットワークのほんの一例である。(実際にはニューロンの数もさまざまに設定可能であるし、結合のしかたもさまざまに設定可能である。右図はあくまで、とりあえず説明にとりかかるための "一例" と理解いただきたい。 ユニットの構成(例: 線形変換の次元、非線形変換の有無・種類)やネットワークの構造(例: ユニットの数・階層構造・相互結合、入出力の再帰)に関して様々な選択肢があり、様々なモデルが提唱されている。)
各ユニットは入力のアフィン変換を必ず含み、多くの場合それに後続する非線形変換を含む()。
ニューラルネットワークは機械学習のモデルとして利用され、分類・回帰・生成など様々なクラスのタスクに教師あり/教師なし問わず利用される。利用分野にはパターン認識やデータマイニング(例: 画像認識、レコメンデーション)が挙げられる。学習法は確率的勾配降下法が主流である。
2層以上の多層パーセプトロンは微分可能で連続な任意の関数を近似できることが証明されている(線形分離不可能な問題を解ける)。
形式ニューロンなど研究の源流としては生物の神経系の探求であるが、その当初から、それが実際に生物の神経系のシミュレーションであるか否かについては議論がある2020年現在のところ、「小脳パーセプトロン説」が支持されるなど、「全く無関係」ではない、とされている。。生物学と相互の進展により、相違点なども研究されている。
歴史
初期の研究 今日のディープニューラルネットワークは、200年以上前の統計学における初期の研究に基づいている。最も単純な種類のフィードフォワードニューラルネットワーク(FNN)は線形ネットワークであり、これは線形の活性化関数を持つ出力ノードの単一層で構成される。入力は一連の重みを介して直接出力に供給される。各ノードで重みと入力の積の合計が計算される。これらの計算された出力と与えられた目標値との間の平均二乗誤差は、重みを調整することによって最小化される。この技術は2世紀以上にわたって最小二乗法または線形回帰として知られている。これは、惑星の動きを予測するためにルジャンドル(1805年)およびガウス(1795年)によって、点集合に対する良好な近似線形フィットを見つける手段として使用されたMansfield Merriman, "A List of Writings Relating to the Method of Least Squares" 。 歴史的に、ノイマン型のようなデジタルコンピュータは、多数のプロセッサによるメモリへのアクセスを伴う明示的な命令の実行を介して動作する。一方、一部のニューラルネットワークは、コネクショニズムの枠組みを通じて生物学的システムにおける情報処理をモデル化しようとする試みから生まれた。ノイマン型とは異なり、コネクショニストの計算ではメモリと処理が分離されない。
形式ニューロン 1943年、ウォーレン・マカロックとウォルター・ピッツは、ニューラルネットワークのための学習しない計算モデルである「神経回路網理論」を考察した(形式ニューロンを参照)。このモデルは、研究を2つのアプローチに分岐させる道を開いた。1つのアプローチは生物学的プロセスに焦点を当て、もう1つのアプローチはニューラルネットワークの人工知能への応用に焦点を当てた。 1949年、ドナルド・ヘッブは、ヘッブの法則として知られるようになった「シナプスの可塑性の理論」という仮説を提案した平野廣美『C++とJavaでつくるニューラルネットワーク』パーソナルメディア株式会社、2008、pp.9-10「はじめに」。これは、ローゼンブラットのパーセプトロンやホップフィールド・ネットワークなど、多くの初期のニューラルネットワークで使用された。
1954年、ファーリーとクラークは、計算機を使用してヘッブ型ネットワークをシミュレートした。1956年、ロチェスター、ホランド、ハビット、デューダによって他のニューラルネットワーク計算機が作成された。
パーセプトロン 1958年、心理学者のフランク・ローゼンブラットは、最初に実装された人工ニューラルネットワークの1つであるパーセプトロンについて記述したHaykin (2008) Neural Networks and Learning Machines, 3rd edition。これは米国海軍研究局によって資金提供された。 R. D. ジョセフ(1960年)は、ファーリーとクラークによるさらに初期のパーセプトロンのような装置について言及している。「MITリンカーン研究所のファーリーとクラークは、パーセプトロンのような装置の開発において、実際にはローゼンブラットに先行していた」。しかし、「彼らはその主題を断念した」。
パーセプトロンは人工ニューラルネットワークの研究に対する世間の興奮を高め、米国政府は資金を大幅に増加させた。これは、パーセプトロンが人間の知能を模倣する能力に関する計算機科学者による楽観的な主張によって煽られた「AIの黄金時代」に貢献した。単純パーセプトロンには適応的な隠れ層がなかった。しかし、ジョセフ(1960年)は、適応的な隠れ層を持つ多層パーセプトロンについても議論した。1962年、ローゼンブラットは、H. D. ブロックと B. W. ナイトの研究も引用し、これらのアイデアを引用し採用した。残念ながら、これらの初期の取り組みは、隠れ層のための実用的な学習アルゴリズム、すなわち確率的勾配降下法にはつながらなかった。
1960年代と1970年代のディープラーニングのブレークスルー 1960年代と1970年代に人工ニューラルネットワークに関する基礎研究が行われた。
1965年、ソビエト連邦のアレクシー・イヴァネンコとラパによって、最初の実用的なディープラーニングアルゴリズムが示された。これは、任意に深いニューラルネットワークを訓練するための手法であるデータ処理のグループ手法であった。彼らはそれを多項式回帰の一形態、あるいはローゼンブラットのパーセプトロンの一般化と見なした。1971年の論文では、この手法で訓練された8層のディープネットワークが記述されており、これは回帰分析による層ごとの訓練に基づいている。余分な隠れユニットは、別の検証セットを使用して刈り込まれる。ノードの活性化関数はKolmogorov-Gabor. の多項式であるため、これらは乗法ユニットまたは「ゲート」を持つ最初のディープネットワークでもあった。
1967年、甘利俊一が多層パーセプトロンの確率的勾配降下法による学習を理論的に解析した論文を発表した。甘利の学生である斎藤庄司によるコンピュータ実験では、2つの修正可能な層を持つ2層の多層パーセプトロンが、線形分離不可能なパターンクラスを分類するために内部表現を学習し、日本語の修士論文で発表した。甘利俊一は1968年に書籍『情報理論II ―情報の幾何学的理論―』を出版し手法を解説した。扱っていたのは、入力が2次元ベクトル、出力がスカラーの二値分類問題で、1966年のR. O. Duda等の手書き文字認識のモデルを改変した という区分的線形識別関数のモデルである。甘利俊一は2023年の書籍『深層学習と統計神経力学』のp.69で、これを5層と数えているのだが、一般的なニューラルネットワークの層の数を数える際は、入力層は数えず、更に、甘利俊一は線形変換と活性化関数で2層と数えているが、普通はこれを1層と数え、よって、一般的な数え方では5層ではなく2層である。確率的勾配降下法は1951年に開発されたものであるが、『深層学習と統計神経力学』のp.7によると、甘利俊一は1967年当時その研究を知らなくて、確率的勾配降下法を再発見している。その後のハードウェアの発展とハイパーパラメータの調整により、エンドツーエンドの確率的勾配降下法は現在主流の訓練手法となっている。
ところが、1969年にマービン・ミンスキーとシーモア・パパートが単純パーセプトロンの限界(線形分離不可能なデータの判別問題を扱えないこと、排他的論理和回路を処理できないこと)を数学的に証明し、書籍『パーセプトロン』でそのことを記載したことで、1970年代になると神経回路網的手法に対する期待が一気にしぼみ、その研究者の数が急激に減ってしまった。なお、この単純パーセプトロンの限界は、上述の単純パーセプトロンではないイヴァフネンコと甘利が発表したニューラルネットワークには存在しなかった。甘利俊一の書籍『深層学習と統計神経力学』のp.9によると、彼らの書籍が原因というより、当時、東京大学の大型コンピューターを用いて計算していたが、256KiBしかメモリがなく、当時のコンピューターの性能が低すぎたのがニューラルネットワークが流行らなかった原因であると述べている(なお、書籍には256KiBではなく256Kワードと書かれているが、1966年11月1日に東京大学に納入されたHITAC 5020Eをさしているはずだが、これは64Kiワードで1ワード32ビットのため、256KiBである)。
1969年、福島邦彦はReLU(正規化線形ユニット)活性化関数を導入した。ReLUは、ディープラーニングで最も人気のある活性化関数となっている。
1976年、ニューラルネットワーク学習に転移学習が導入されたBozinovski S. and Fulgosi A. (1976). "The influence of pattern similarity and transfer learning on the base perceptron training" (original in Croatian) Proceedings of Symposium Informatica 3-121-5, Bled.Bozinovski S.(2020) "Reminder of the first paper on transfer learning in neural networks, 1976". Informatica 44: 291–302.。
誤差逆伝播法(バックプロパゲーション)の導入 バックプロパゲーション(誤差逆伝播法)とは、出力側から偏微分することで効率よく計算する手法である。1673年にゴットフリート・ヴィルヘルム・ライプニッツによって導出された連鎖律を使用する。自動微分ではトップダウン型(リバース・モード)と呼ばれる。
1962年、ローゼンブラットによって「back-propagating error correction procedure(誤差逆伝播訂正手順)」という用語が初めて用いられた。しかし、その時点ではこれを実装する方法を知らなかった。そして、これは言葉は似ているが、出力側からの偏微分の話ではない。
1960年、ヘンリー・J・ケリーはに制御理論の文脈で、誤差逆伝播法(バックプロパゲーション)の連続的な前駆体を発表していた。1964年に自動微分が発表され、その際発表されたのは入力側から偏微分する方法だが、1960年代後半に出力側から自動微分にて偏微分する方法が文章では発表されていなかったが提案はされていた。1970年、セッポ・リンナインマーは修士論文で誤差逆伝播法(バックプロパゲーション)の現代的な形式を発表し、文章で発表したのはこれが最初とされる。1971年、G.M. オストロフスキーらはそれを再発表したOstrovski, G.M., Volin,Y.M., and Boris, W.W. (1971). On the computation of derivatives. Wiss. Z. Tech. Hochschule for Chemistry, 13:382–384.。1982年、ポール・ワーボスはニューラルネットワークに誤差逆伝播法(バックプロパゲーション)を適用した(彼の1974年の博士論文、1994年の著書で再版は、まだアルゴリズムを記述していなかった)。
1986年、デビッド・ラメルハートらが出力側から偏微分する方法をバックプロパゲーション(誤差逆伝播法)と命名する。論文は最急降下法を使用していたのだが、同時に確率的勾配降下法で学習する方法も定着する。確率的勾配降下法により、それまでの限界を突破する道がとうとう開け、「ニューラルネットワーク」として多くの研究者の注目を浴びるようになった。
畳み込みニューラルネットワーク(CNN)の導入 1979年、福島邦彦は、畳み込み層とダウンサンプリング層、および重み複製を備えた畳み込みニューラルネットワーク(CNN)のディープラーニングアーキテクチャを導入したネオコグニトロンを開発。畳み込みニューラルネットワークの一般的なダウンサンプリング手順であるmaxプーリング法も導入された。しかし、この時点では確率的勾配降下法による学習は行われていなかった。畳み込みニューラルネットワークはコンピュータビジョンに不可欠なツールとなっている。
1987年、アレックス・ウェイベルによって、音素認識にCNNを適用するための時間遅延ニューラルネットワーク(TDNN)が導入された。これは畳み込み、重み共有、およびバックプロパゲーションを使用したAlexander Waibel et al., Phoneme Recognition Using Time-Delay Neural Networks IEEE Transactions on Acoustics, Speech, and Signal Processing, Volume 37, No. 3, pp. 328. – 339 March 1989.。 1988年、ウェイ・チャンはバックプロパゲーションで訓練されたCNNをアルファベット認識に適用した。
1989年、ヤン・ルカンらは、郵便物の手書きZIPコードを認識するためにLeNetと呼ばれるCNNを作成した。訓練には3日を要したLeCun et al., "Backpropagation Applied to Handwritten Zip Code Recognition", Neural Computation, 1, pp. 541–551, 1989.。LeNet-5という、7層のCNNは、数字を分類するもので、いくつかの銀行で32×32ピクセルの画像にデジタル化された小切手の手書き数字を認識するために適用された。1990年、ウェイ・チャンは光コンピューティングハードウェア上にCNNを実装した。
1991年には、CNNが医用画像オブジェクトのセグメンテーションおよびマンモグラムにおける乳がん検出に応用された。 1988年以降Qian, Ning, and Terrence J. Sejnowski. "Predicting the secondary structure of globular proteins using neural network models." Journal of molecular biology 202, no. 4 (1988): 865–884.Bohr, Henrik, Jakob Bohr, Søren Brunak, Rodney MJ Cotterill, Benny Lautrup, Leif Nørskov, Ole H. Olsen, and Steffen B. Petersen. "Protein secondary structure and homology by neural networks The α-helices in rhodopsin." FEBS letters 241, (1988): 223–228、特に最初のカスケードネットワークが複数のシーケンスアラインメントによって生成された「プロファイル」(行列)で訓練されたとき、ニューラルネットワークの使用はタンパク質構造予測の分野を変革したRost, Burkhard, and Chris Sander. "Prediction of protein secondary structure at better than 70% accuracy." Journal of molecular biology 232, no. 2 (1993): 584–599.。
リカレントニューラルネットワーク(RNN)の導入 リカレントニューラルネットワーク(RNN)は、2つの学問から見出された手法である。1つ目は統計力学であった。1972年、甘利俊一は、連想記憶のモデルとして、学習の要素を加えて、ヘッブの法則によってイジング模型の重みを修正することを提案した。これはジョン・ホップフィールド(1982年)によってホップフィールド・ネットワークとして普及した。
2つ目は神経科学であった。1901年、カハールは小脳皮質に「リカレント半円」を観察した。神経心理学者であったドナルド・ヘッブは、短期記憶の説明として「反響回路」を考察した。1943年、マカロックとピッツの論文では、サイクルを含むニューラルネットワークを考察し、そのようなネットワークの活動は、過去に無限に遡る活動の影響を受ける可能性がある、つまり再帰性があると指摘した。
1982年、アレイアーキテクチャを持つリカレントニューラルネットワーク(RNN)、すなわちクロスバー適応アレイ(Crossbar Adaptive Array) Bozinovski, S. (1982). "A self-learning system using secondary reinforcement". In Trappl, Robert (ed.). Cybernetics and Systems Research: Proceedings of the Sixth European Meeting on Cybernetics and Systems Research. North-Holland. pp. 397–402. Bozinovski S. (1995) "Neuro genetic agents and structural theory of self-reinforcement learning systems". CMPSCI Technical Report 95-107, University of Massachusetts at Amherst が導入された。このリカレントニューラルネットワークは、出力から教師(教示)入力への直接的な再帰接続を使用した。行動や決定を計算することに加えて、結果の状況の内部状態評価を計算した。外部教師を排除し、ニューラルネットワークに自己学習法を導入した。
1980年代初頭、認知心理学において、学術誌「American Psychologist」で、認知と感情の関係についての議論が行われた。1980年、ザイアンスは感情は最初に計算され、認知とは独立していると述べたが、1982年、ラザルスは、認知が最初に計算され、感情とは不可分であると述べたR. Zajonc (1980) "Feeling and thinking: Preferences need no inferences". American Psychologist 35 (2): 151-175Lazarus R. (1982) "Thoughts on the relations between emotion and cognition" American Psychologist 37 (9): 1019-1024。1982年、クロスバー適応アレイは、認知と感情の関係のニューラルネットワークモデルを提示したBozinovski, S. (2014) "Modeling mechanisms of cognition-emotion interaction in artificial neural networks, since 1981" Procedia Computer Science p. 255-263 (https://core.ac.uk/download/pdf/81973924.pdf )。これは、AIシステムであるリカレントニューラルネットワーク(RNN)が、認知心理学によって同時に取り組まれた問題に貢献した議論の一例であった。 ジョーダン・ネットワーク(1986年)とエルマン・ネットワーク(1990年)という2つの研究は、リカレントニューラルネットワーク(RNN)を認知心理学の応用することに貢献した。
1980年代、誤差逆伝播法(バックプロパゲーション)は深いリカレントニューラルネットワーク(RNN)に対してうまく機能しなかった。この問題を克服するために、1991年、ユルゲン・シュミットフーバーは「ニューラルシーケンスチャンカー」または「ニューラルヒストリーコンプレッサー」を提案し、自己教師あり事前学習(ChatGPTの「P:Pre-trained」)と知識蒸留の重要な概念を導入した。1993年、ニューラルヒストリーコンプレッサーは、時間展開されたリカレントニューラルネットワーク(RNN)で1000以上の後続層を必要とする「超深層学習」タスクを解決した Page 150 ff demonstrates credit assignment across the equivalent of 1,200 layers in an unfolded RNN.。
1989年にマクローズキーとコーエンによってあるタスクで優れたパフォーマンスを発揮したモデルが、次のタスクで訓練された後に突然その能力を失う破滅的忘却(catastrophic forgetting)という現代に至るまで研究者たちを悩ませ続ける現象が初めて特定された。
1991年、ゼップ・ホフレイターの論文S. Hochreiter., "Untersuchungen zu dynamischen neuronalen Netzen", , Diploma thesis. Institut f. Informatik, Technische Univ. Munich. Advisor: J. Schmidhuber, 1991.では、勾配消失問題を特定して分析し、それを解決するために再帰的な残差接続を提案した。彼とシュミットフーバーは、複数の応用領域で精度の記録を打ち立てた長・短期記憶(LSTM)を導入した。これはまだ現代版のLSTMではなく忘却機能が必要とされた。これらの技術はRNNアーキテクチャのデフォルトとなった。
1985年から1995年の間、統計力学の影響で、テリー・セジュノウスキー、ピーター・デイアン、ジェフリー・ヒントンらによって、ボルツマンマシン、制限付きボルツマンマシン、ヘルムホルツマシン 、およびウェイク-スリープアルゴリズムなど、いくつかのアーキテクチャと手法が開発された。これらは深層生成モデルの教師なし学習のために設計された。
ディープラーニングの登場 2006年、ジェフリー・ヒントンらによりオートエンコーダおよびディープ・ビリーフ・ネットワークが提案された。オートエンコーダは、ニューラルネットにおいて、入力層と出力層に同じデータを用いて教師なし学習させたものである。もともとは、次元削減や特徴抽出といった小さい次元に落とし込む作業を効率的に行うために開発された。実用上では、入力と出力の差分をとることで、異常検知に利用されている。