第16回【ニューラルネットーワーク】

 前回の記事まででミームがどこにあるのかを主体の内側論と外側論に分けて考察していました。その過程で最後に私は「間主観的ミームの所在」について言及しました。今回からはその「間主観的ミームの所在」というものをどう考えているのかを解説したいと思います。

 結論から簡潔に言えば、私たち動物は「ミームの伝達装置」だというところにたどり着きます。私たちはひとりひとりがミームを内在化させていますが、そのミームの実態を捉えるには個人としての主体に対して外在している全体を見る必要があります。この内在化したミームと外在化したミームを結びつけようとするのが私の「間主観的ミームの所在」です。これを説明するモデルとなるのが「人工の脳」を作り出そうとするニューラルネットワークの研究です。

 今回はまず、ニューラルネットワークについて非常に簡単な概要とその研究の歴史をさらっとだけお話しします。

神経細胞(ニューロン)

 脳の仕組みを解明するためのひとつのモデルに「ニューラルネットワーク」という手法があります。動物の脳は大量の小さな神経細胞の集合体で、この神経細胞のことを「ニューロン」と言います。神経細胞(ニューロン)の構造を簡略化すると上の図のような形をしています。ニューロン細胞体からは樹状突起が生えており、他の神経細胞からの刺激を受け取ってニューロン細胞体へ伝えます。ニューロン細胞体は受け取った刺激を処理し、一本の軸索から複数に枝分かれした軸索末端へと伝え、次の神経細胞の樹状突起へと刺激を出力します。このときニューロンが受け取ったり出力したりする刺激は興奮性信号と抑制性信号に二分され、それぞれのニューロンは樹状突起から受け取った刺激の強さに応じて次のニューロンへ伝える刺激信号を決定します。

 こうした脳の神経細胞(ニューロン)の仕組みを機械的に再現したのが「ニューラルネットワーク」です。昨今流行りのAIの技術は基本的にはこのニューラルネットワークのアルゴリズムで構築されています。

 ニューラルネットワークでは脳の神経細胞(ニューロン)の代わりに「ノード」という人工のユニットが用いられます。人工ニューロンであるノードも脳のニューロンと同じように別のノードからの出力値を受け取り、その値が一定以上の値になれば次のノードへと出力するというのが基本的な役割です。もう少し具体的に言うと、それぞれのノードには活性化関数という数式と閾値が与えられており、受け取った値を関数に代入し答えがその閾値を超えると次のノードへと出力するという仕組みになっています。

パーセプトロン

 最近、AIや人工知能というワードをよく聞くことが多く、ニューラルネットワークは現代の科学技術において最先端のものですが、その基礎ができたのは1958年のことでした。ニューラルネットワーク最初期のころ考案されたのが心理学者のフランク・ローゼンブラットによるパーセプトロンです。

パーセプトロンは複数の入力ノードと1つの出力ノードからなっており非常に単純な構造ながらコンピュータが学習能力を持つという点で非常に注目を集めニューラルネットワーク開発のブームを巻き起こします。しかし、この単純なネットワークではXOR問題が解けない、つまりグラフ上の一本の線(基準値)だけでは分類できない問題を解決できないことが指摘されました。簡単に言うと、単純な計算で2つに分けることのできない物事については学習ができなかったのです。この単純なパーセプトロンが発見された頃がニューラルネットワークの第一次ブームだと言われ、OXR問題にぶつかった事でこのブームは去ってしまいました。

多層パーセプトロンと誤差逆伝播法

 第一次ニューラルネットワークブームが去ったとは言え地道に研究開発してくれていた研究者は多層パーセプトロンを作ります。多層パーセプトロンは図のように入力層と出力層の間にもう一層加えた三階層のネットワークで、入力層と出力層の間に挟まれたノードの層を「隠れ層」と言います。この隠れ層が追加されたことでXOR問題が解決されました。また、ノードが持つ活性化関数がステップ関数からシグモイド関数になったことで「パーセプトロン」という呼び名から「ニューラルネットワーク」という呼び名に区別できるようになります。(この辺りについては蛇足が過ぎるので詳しくはここでは解説しません……。)

 そして1986年に「誤差逆伝播法」という学習方法が考案されたことによりこの多層パーセプトロンの学習速度が大幅に向上し、第二次ニューラルネットワークブームがおきます。

 誤差逆伝播法は出力層から出された答えと正解の誤差を出力層のノードから逆流させて入力することで修正していくもので、これは説明すると話がややこしいので次回にでも少し詳しくお話しします。つまるところコンピューターが効率よく学習する方法が開発されたわけです。

 このおかげで画像認識の技術は格段に進歩し、人の顔を識別したり、画像からそれが猫であるか犬であるかを識別したりすることができるようになりました。この時の学習方法は人が猫の特徴や犬の特徴をあらかじめ入力することで機械はその特徴を学習していきが画像を識別するという方法が用いられていました。

 誤差逆伝播法と多層パーセプトロンによる第二次ニューラルネットワークブームでの問題は、学習を処理するコンピュータの性能と学習するための情報不足でした。パーセプトロンを3層にしたら4層、5層、6層と増やしていけばより精度の高い学習ができるはずだというのは誰でも思いつくところではありますが、そのように多層化したパーセプトロンに学習させるにはこれまで扱ってきたような情報量では学習しきれないことがわかり、さらにはより多くの画像を識別させるための特徴量(犬や猫、さらには猿や花などの各特徴)も膨大な量になってしまったためここでもまたブームは収束してしまいます。

ニューラルネットワーク

 多層パーセプトロンが考案され、されにシグモイド関数による非線形の活性化関数を用いることでニューラルネットワークが構築され始めました。そのニューラルネットワークの図がこちらです。まさに多層パーセプトロンがさらに多層化した形になっています。

 第二次ニューラルネットワークブーム以降このような多層のニューラルネットワークによってコンピュータに学習を行ってきました。この時、プログラマが特徴量を入力するのは一種の職人技だったと言われています。多階層化すればするほど学習に大変な労力と能力が伴うため、人が猫を見て「猫とはこういうものだよ」と機械に教えるときに“どの特徴を教えれば良いのか”は各プログラマーの能力に大きく左右されていたのです。

 そんな状態の中でも機械による画像認識のコンテストが行われ、その画像認識精度は年々向上していたものの毎年1%ずつ向上していくような地道な作業でした。そんな中、2000年代後半には人々がインターネットを普遍的に用いるようになったことで大量のデータを世界中から収集することが可能になり(いわゆるビッグデータ)、コンピュータの性能も格段に向上したことから第二次ブームでの問題が一気に解決することになります。ニューラルネットワークの隠れ層を何階層にも増やし、同時に大量のデータを学習させることのできる環境が整ったのです。

 そして2012年、かの有名なGoogleが劇的に画像認識の制度を向上させました。そこで用いられたのがニューラルネットワークとディープラーニングを用いた機械学習の方法です。

ディープラーニング

 ディープラーニングではこれまで行われてきたような特徴量の入力をプログラマが行いません。ただ大量のデータをニューラルネットワークに入力し続けるだけです。実際Googleは一週間にわたってYouTubeの動画をニューラルネットワークに見せるだけで、そのニューラルネットワークは「猫」を認識できるようになりました。人から「猫とはどういう特徴を持つか」を教えられることなく学習できたのです。

 この学習された状態というのは、ニューラルネットワーク内に猫の画像に強く反応するノードが形成されたことを意味していて、このノードが強く反応する画像を人工的に作り出すとまさしく「猫」の画像になりました。これがよく言われる「Googleの猫」というやつで、テレビのニュースでも少し見かけたと思います。この猫の画像が抽象性があるようでやはり猫らしいというなんとも独特な雰囲気の画像でぜひ見てもらいたいのですが、どこの文献を参照すれば良いものやらわかりかねるので「グーグルの猫」をGoogleで画像検索して見てください(笑)

 つまるところ、ディープラーニングではこれまで人が行ってきた特徴量の入力が不必要となり、ニューラルネットワーク自身がその特徴を独自に学ぶという点で画期的でした。

今回のまとめ

 ミームの話に行くことができませんでした(笑)

 ニューラルネットワークのざっくりとした歴史をさらっただけで長くなってしまいました。今回紹介した通り、ディープラーニングの成果が目に見えたのは2012年のことでその研究はまだ10年にも満たない分野ですが、その基礎となる研究からは60年ほどの歴史があります。スマートフォンから生活家電までAIの技術やAI搭載といった文言がよく聞かれる昨今ですが、案外歴史が浅いと思いませんか。そしてその短い歴史の中ですでに私たちの身近に活用されているわけですから劇的に発展している分野だとも言えます。

 さて私がミーム論を語る上でなぜニューラルネットワークを紹介したかというと私たち動物はミームという入出力情報のノード的役割をしているのではないかというのが私の考えだからです。この考えを詳しく説明するために、次回もニューラルネットワークの話を少しだけします。

 具体的にはノードが持つホロン的性質と相互接合型ニューラルネットワークについてお話ししようと思っています。

 ではまた次回。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です