今回はディープラーニングの根幹である、ニューラルネットワークとは何かについて説明します。
ニューラルネットワークとは何か
まず、ニューラルネットワークとは何でしょうか。ニューラルネットワークは英語にすると”Neural Network”です。”Neural”は”Neuron”つまりニューロン、脳の神経細胞のことです。ニューラルネットワークを理解するために、まずはニューロンから理解してみましょう。
ニューロンとは何か
人間の脳の神経細胞は以下のような形をしています。あるニューロンの末尾部分の細長い部分から伝達物質を放出し、後ろのニューロンの頭の部分についている突起部分でその信号を受信し、統合します。
この時、発信部と受信部の間はシナプスと呼ばれる構造によって伝達が行われますが、シナプスの大きさ(=ニューロン同士の結合の強さ)はそれぞれ異なります。繰り返し学習すると特定のシナプスが大きくなったり、新しいことを学習するとシナプスの形が変わったりします。
大きな(=強い結合の)シナプスを介した信号のやりとりでは、発信側のニューロンからの伝達物質が強くなり、受信側の神経が興奮して電気を流すことで、更に後続のニューロンまで信号が伝達されていきます。反対に小さなシナプスでは後続ニューロンに信号が伝達されません。
これが機械学習における”重み”に相当する部分です。重みが閾値以下であれば情報が伝達されないようにしたり、重みの大きな繋がりについては情報を拡張して伝えたりするのです。
ニューラルネットワーク
上では2つのニューロン(神経細胞)がどのように結びつくかを説明しました。次は、膨大な数のニューロン同士のネットワークである、ニューラルネットワークについて説明します。
人間の脳には、上述のニューロンが1,000億個以上存在すると言われています。その1,000億個のニューロンそれぞれが、上述のシナプスを介して情報の伝達をしているのです。人間は、初めて見た犬や果物の種類を基本的には正しく認識できますが、それを可能にしているのがニューロンの複雑なネットワーク、つまりニューラルネットワークです。
例えば見たこともないほど大きなイチゴを見たとしても、大きさ以外の様々な特徴を視覚的にとらえ、それを複雑なネットワーク内で処理し、それが規格外に大きいものの”イチゴ”であると認識できるのです。
ディープラーニングにおけるニューラルネットワーク
ディープラーニングというのは一言でいえば、例外もありますが、ニューラルネットワークによって人間の脳の活動を真似することで、従来の機械学習では実現できなかった複雑なモデルを構築することであると言えます。
機械学習の分野では線形回帰やロジスティック回帰、決定木など、人間が直感的に理解できる直線での予測モデルや、視覚で認識できる分類モデルを作成することができます。例えば、気温からアイスクリームの販売数量を予測するために以下のように線を引けるかもしれません。
また、3種類の果物を糖度と重量によって分類できるかもしれません。
誤解を恐れず言えば、こういったニューラルネットワークを用いない機械学習の予測モデルは、非常に単純なルールを元に構築されるため、人間が直感的に理解しやすい反面、本来人間のニューロンが行っているような複雑な処理には適していません。そこで、ニューラルネットワークを機械学習に持ち込むことで、より複雑なモデルを構築することを目指したのです。
結果として、ディープラーニングは年々複雑なモデルを構築できるようになってきていますが、一方で予測結果がなぜそうなったのか人間が理解できないケースもあり、ブラックボックス化している側面もあります。
これは、人間が目の前の犬を”なぜ犬だと思ったのか”など、脳の活動プロセスを都度明確に把握できないのと似ているのではないでしょうか。
ツールとしてのパーセプトロン
上述の通り、ディープラーニングではニューラルネットワークによって複雑な処理の構築を目指します。では、具体的にどのようにニューラルネットワークを構築するのかというと、その主なツールがパーセプトロンです。パーセプトロンについては以下を参照ください。
コメント