SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社 新刊紹介(AD)

ディープラーニングと脳の関係とは? 人工ニューロンや再帰型ニューラルネットワークを解説

  • このエントリーをはてなブックマークに追加

 ビジネスやアートなど様々な分野で関心を集め、実際の活用が進む人工知能。人間の脳が持つ機能の一部を模倣している人工知能は、具体的に脳のどんな機能や構造を参考にしているのでしょうか。今回は人工知能を支える人工ニューロンやディープラーニングに焦点を当て、AI関連の教育と研究開発に携わっている我妻幸長さんによる『あたらしい脳科学と人工知能の教科書』(翔泳社)から脳と人工知能を比較して解説した「Chapter4」を紹介します。

  • このエントリーをはてなブックマークに追加
本記事は『あたらしい脳科学と人工知能の教科書』の「Chapter4 脳と人工知能」から一部を抜粋したものです。掲載にあたり編集しています。

4.1 概要:脳と人工知能

 最初に、このChapterの概要を解説します。機械学習は人工知能の一分野ですが、図4.1に脳と機械学習の関係を示します。

図4.1 脳と人工知能
図4.1 脳と人工知能

 機械学習は、教師あり学習、教師なし学習、強化学習に大きくグループ分けすることができます。実は、脳の各部位で行われている学習は、これらの機械学習のグループに対応するとされることがあります。大脳皮質で行われている学習は教師なし学習に、大脳辺縁系と大脳基底核で行われている学習は強化学習に、小脳で行われている学習は教師あり学習に対応すると考えられることがあるようです。

 それでは、これらの機械学習のグループにはどのようなアルゴリズムが含まれるのかを見ていきましょう。さきほどの図4.1の右側に注目してください。これら以外にもたくさんの機械学習の手法がありますが、このChapterでは特に脳と関係が深そうなもののみを扱います。

 教師あり学習では、コンピュータ上で神経細胞を再現するニューラルネットワークをこのChapterで解説します。また、報酬をもとに行動が決定される強化学習では、Deep Q-Networkを解説します。そして、教師なし学習では、入力を圧縮し復元するオートエンコーダ、画像などのデータを生成する生成モデル、高次元のデータを低次元に要約する主成分分析、確率的に情報が伝播するボルツマンマシンを解説します。

 このChapterでこれらについて学び、脳と人工知能の接点を探索していきましょう。

4.1 人工ニューロン、人工ニューラルネットワーク

 まずは、人工ニューロン、人工ニューラルネットワークについて解説します。神経細胞ネットワークをモデルにした、コンピュータ上のネットワークについて学んでいきましょう。

 ここで、以降で使用する用語について少し解説します。

  • 人工ニューロン(Artificial Neuron)
    →コンピュータ上のモデル化された神経細胞のことを、人工ニューロンといいます。
  • 人工ニューラルネットワーク(Artificial Neural Network)
    →コンピュータ上のモデル化された神経細胞ネットワークのことを、人工ニューラルネットワークといいます。

 これ以降は、簡単にするためにコンピュータ上のものに対してニューロン、ニューラルネットワークという名称を使うことにします。

4.2.1 人工ニューロン

 それでは、この人工ニューロンの構造を見ていきましょう。実際の神経細胞は、精緻な分子機構に基づく大変複雑な装置です。しかし、神経細胞の持つ機能を全てそのままモデル化しては大変複雑な人工ニューロンになってしまい、かえって本質を見落としかねません。神経細胞が持つ様々な機能の中から本質を見極めてモデル化することで、神経細胞ネットワークにおける情報処理の見通しがよくなります。

 可能な限り本質を損なわないこと、そして可能な限りシンプルにすること、その両者のバランスをとった形として、人工ニューロンはよく図4.2のようにモデル化されます。

図4.2 人工ニューロンの一例
図4.2 人工ニューロンの一例

 ニューロンには複数の入力がありますが、出力は1つだけです。これは、樹状突起への入力が複数あるのに対して、軸索からの出力が1つだけであることに対応します。

 各入力には、重みを掛け合わせます。重みは結合荷重とも呼ばれ、入力ごとに値が異なります。この重みの値が脳のシナプスにおける伝達効率に相当し、値が大きければそれだけ多くの情報が流れることになります。

 そして、重みとバイアスを掛け合わせた値の総和に、バイアスと呼ばれる定数を足します。バイアスは言わば、ニューロンの感度を表します。バイアスの大小により、ニューロンの興奮しやすさが調整されます。

 入力と重みの積の総和にバイアスを足した値は、活性化関数と呼ばれる関数で処理されます。この関数は、入力をニューロンの興奮状態を表す信号に変換します。神経細胞において、細胞体の電位がある値まで上昇すると、軸索に信号を送るのと似ていますね。

 実際の神経細胞は物理的・化学的制約、そして進化上の制約により多くの計算の本質でない要素を抱えざるを得ません。人工ニューロンのモデルはシンプルですが、脳のような制約のないコンピュータの世界では本質のみを抽出することができます。ただ、シンプルな人工ニューロンが本当に神経細胞の計算の本質を現しているかどうかについては、諸説あります。

 このような人工ニューロンは、1943年にウォーレン・マカロック(W. S. McCulloch)とウォルター・ピッツ(W. Pitts)が提案したMcCulloch-Pittsモデルに起源があります。このモデルは、入出力が0か1のどちらかに限定された非常に単純なモデルです。McCulloch-Pittsモデルは、神経科学の知見である、「全か無かの法則」を数理的に表したモデルとなります。

 そして、より神経科学的に正確なニューロンのモデルにアラン・ホジキン(A. L. Hodgkin)とアンドリュー・ハクスリー(A. F. Huxley)によって1952年に提案されたHodgkin-Huxleyモデルがあります。ホジキンとハクスリーは、ヤリイカの巨大神経についての実験結果をベースに、神経細胞を電気回路として表現しました。これはHodgkin-Huxley方程式として表されますが、これを解くことで軸索の活動電位の発生と伝播を示すことができます。

 この功績により、彼らは1963年度のノーベル生理学・医学賞を受賞しました。さらに、Hodgkin-Huxleyモデルよりも簡略化されて扱いやすいモデルに、FitzHugh-Nagumoモデルや、Izhikevichモデルがあります。

4.2.2 人工ニューラルネットワーク

 次に、人工ニューラルネットワークについて解説します。人工ニューロンをつなぎ合わせて構築されたネットワークが、人工ニューラルネットワークです。

 図4.3にニューラルネットワークの一例を示します。

図4.3 人工ニューラルネットワークの一例
図4.3 人工ニューラルネットワークの一例

 人工ニューロンが層状に並んでいますね。ニューロンは、前の層の全てのニューロンと、後ろの層の全てのニューロンと接続されています。ニューラルネットワークには、複数の入力と複数の出力があります。数値を入力し、情報を伝播させ結果を出力します。出力は確率などの予測値として解釈可能で、ネットワークにより予測を行うことが可能です。

 以上のように、ニューラルネットワークはシンプルな機能しか持たないニューロンが層を形成し、層の間で接続が行われることにより形作られます。ニューロンや層の数を増やすことで、ニューラルネットワークは高い表現力を発揮するようになります。

 このような層状のニューラルネットワークは、1958年にローゼンブラット(F. Rosenblatt)が提案した「パーセプトロン」に起源があります。ローゼンブラットはMcCulloch-Pittsモデルによるニューロンを入力層、中間層、出力層の3層に並べた「多層パーセプトロン」を考案しました。

4.2.3 バックプロパゲーションによる学習

 ここで、バックプロパゲーションによるニューラルネットワークの学習について解説します(図4.4)。ニューラルネットワークは、出力と正解の誤差が小さくなるように重みとバイアスを調整することで学習することができます。

図4.4 バックプロパゲーション(誤差逆伝播法)
図4.4 バックプロパゲーション(誤差逆伝播法)

 1層ずつさかのぼるように誤差を伝播させて重みとバイアスを更新しますが、このアルゴリズムは、バックプロパゲーション、もしくは誤差逆伝播法と呼ばれます。バックプロパゲーションでは、ニューラルネットワークの各層のパラメータ(重みとバイアス)が誤差を小さくするように調整されます。ニューラルネットワークの各パラメータが繰り返し調整されることでネットワークは次第に学習し、適切な予測が行われるようになります。

 バックプロパゲーションは、1986年にbackwards propagation of errors(後方への誤差の伝播)の略として米国の認知心理学者デビッド・ラメルハートによって命名されました。ラメルハートは、活性化関数として出力が0か1となる「ステップ関数」の代わりに、0と1の間で連続的な値をとる「シグモイド関数」を採用しました。これにより数学的扱いが楽になり、微分操作ができるようになるためバックプロパゲーションを実現することが可能になりました。

4.2.4 ディープラーニング

 次に、ディープラーニングについて解説します。多数の層からなるニューラルネットワークの学習は、ディープラーニング、もしくは深層学習と呼ばれます(図4.5)。ディープラーニングは、産業、科学やアートなど幅広い分野で活用されています。

図4.5 多数の層を持つニューラルネットワーク
図4.5 多数の層を持つニューラルネットワーク

 ディープラーニングはヒトの知能に部分的に迫る、あるいは凌駕する高い性能をしばしば発揮することがあります。特に、AlphaGoが囲碁チャンピオンに勝利したことや、高度な画像認識で近年注目を集めています。

 なお、何層以上のケースをディープラーニングと呼ぶかについては、明確な定義はありません。層がいくつも重なったニューラルネットワークによる学習を、漠然とディープラーニングと呼ぶようです。基本的に、層の数が多くなるほどネットワークの表現力は向上するのですが、それに伴い学習は難しくなります。

 2006年にカナダのコンピュータ科学者、認知心理学者のジェフリー・ヒントンによって多層にネットワークを積み重ねる手法が提唱されたのですが、2012年には物体の認識率を競うILSVRCにおいてヒントン率いるトロント大学のチームがディープラーニングによって従来の手法よりも大幅なエラー率の改善を遂げたことが研究者に衝撃を与えました。人間の神経細胞ネットワークを模したニューラルネットワークは、実際に高い性能を発揮することで注目を集め人工知能、AIの第3次ブームの主役となっています。

4.2.5 再帰型ニューラルネットワーク(RNN)

 ここで、再帰型ニューラルネットワーク(Recurrent Neural Network、RNN)を解説します。RNNは、時間方向に並んだデータ(時系列データ)を扱うのに適したニューラルネットワークです。RNNは、時間変化するデータのトレンドや周期、時間を跨いだ関連性をうまく捉えることができます。

 ニューラルネットワークにおいて、最初の層と最後の層の間に挟まれた層を中間層といいますが、先ほど解説した通常のニューラルネットワークにおいて、中間層の出力は隣の層に伝わるのみでした。RNNの場合、これに時間方向の接続が加わります。すなわち、RNNにおける中間層の出力は次の時刻の中間層と接続されることになります。これにより、RNNは時間変化するデータを扱うことが可能になります。

 この世界は、時間と共に脈絡を持って変化するデータに溢れています。例えば、海水面の高さ、空中のボールの位置、気温、物価などは前の時刻の値に強く依存しており、何の脈絡もなく突然値が変わることはありません。このような時間連続性を持つ値からなるデータが、「時系列データ」です。我々の脳は無意識にこのような時系列データを処理し、次の時刻における出来事の予測を行っています。

 そして、このような予測に基づき、次の行動が決定されます。なお、時間で変化するわけではないのですが、単語の並びが連続性を持つ文章なども時系列データとしてRNNで扱うことができます。

 RNNは、データが時間方向にも伝播しますが、前述のバックプロパゲーションを時間をさかのぼるように適用することで学習することができます。適切に学習したRNNは、次の時刻の値を精度よく予測できるようになります。

4.2.6 ディープラーニングと脳の比較

 それでは、ここでディープラーニングと脳の関係を表4.1にまとめます。

表4.1 ディープラーニングと脳の比較
表4.1 ディープラーニングと脳の比較

 まずはバックプロパゲーションについてですが、ディープラーニングでは効率的な学習のためにバックプロパゲーションを必要とします。それに対して、もし脳においてバックプロパゲーションが起きているとすれば、シナプス間口や軸索を修正量をさかのぼる必要があり、なおかつ情報の伝播方向を脳全体で同期して切り替える必要があります。

 人工物ではない脳でこのような現象が起きているとは、少々考えにくいのではないでしょうか。バックプロパゲーションは、脳をモデルにしていない人工のアルゴリズムと考えるのが自然に思えます。ただ、バックプロパゲーションを参考に、より神経科学的に妥当なアリゴリズムが多数考案されてはいるようです。

 層に関しては、ディープラーニングは縦に深くなることが多く時には100層を超えることもあります。ニューラルネットワークで層内のニューロン数が多すぎると、重みの数が隣の層のニューロン数との掛け算になるので計算量が膨大になってしまいます。そのため、ディープラーニングは層内のニューロン数を増やすのではなく層を重ねるようにして進化してきました。

 一方脳では、大脳の表面と小脳の表面が層構造をとります。大脳を覆う大脳皮質は6層、小脳を覆う小脳皮質は3層構造です。ディープラーニングと比べて脳の方が層が少ないですが、脳の場合は同じ層に非常に多くのニューロンを含むという特徴があります。大脳皮質は球面に沿って広く展開し、内部で遠方の領域同士をつなげる戦略を選んだため、広い層に非常に多くの神経細胞を含みます。大脳皮質の場合、6層しかないにも関わらず神経細胞の数は全体で100億程度におよびます。そのような意味で、ディープラーニングは縦に深く、脳は横に広いネットワークを持つことになります。

 また、ディープラーニングの場合は、基本的に学習に正解データが必要です。それに対して脳の場合ですが、大脳は正解を必要としない傾向がある一方、小脳は正確な運動を実現するために正解を必要とする傾向があります。

 ニューロンの接続に関してですが、一般的なディープラーニングの場合は隣の層のニューロンと接続します。ただし、ResNet[参考文献14]のように離れた層同士が接続されるニューラルネットワークも提案されています。また、再帰型ニューラルネットワーク(RNN)の場合は、時間方向の接続が加わります。それに対して、脳の場合は介在と投射により近傍および遠方の神経細胞と接続されます。

 コンピュータ上のニューラルネットワークは実際の神経細胞ネットワークを参考にしています。しかし、ディープラーニングには脳とは関係ない要素も取り込まれています。ディープラーニングのアルゴリズムは、脳を参考にしたり、あるいは距離をおいたりしながら今も進化を続けています。

あたらしい脳科学と人工知能の教科書

Amazon SEshop その他


あたらしい脳科学と人工知能の教科書

著者:我妻幸長
発売日:2021年1月25日(月)
定価:2,800円+税

本書について

脳と人工知能のそれぞれの概要から始まり、脳の各部位と機能を解説した上で、人工知能の様々なアルゴリズムとの接点をわかりやすく解説。脳と人工知能の、類似点と相違点を学ぶことができます。

 

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/13501 2021/02/01 07:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング