ニューラルネットワークについて入門を学びたいけど基礎の部分が難しすぎてわからない!
ニューラルネットワークについて入門から見ていくと、仕組みやディープラーニングとの関連性など出てきてとても複雑ですよね。


それではまず、そもそもニューラルネットワークとは何かというところから始めていきましょう。
ニューラルネットワークとは
まず始めに、ニューラルネットワークは人間の脳にある神経細胞(ニューロン)とその繋がりをコンピュータ上で数式的に表現したもの。
これの歴史を簡単に押さえていきましょう。
ニューラルネットワークの基となる数理モデル「形式ニューロン」が提唱されたのが1943年。また、1957年に「パーセプトロン」というニューラルネットワークが開発され60年代に注目を集めることになります。
近年ディープラーニングへの期待が高まっており、それに欠かせないことからニューラルネットワークへの注目も再び大きくなっています。関連性については後ほど説明していきます。
具体的にどういう仕組みになっているか次の章で見ていきましょう。
ニューラルネットワークの仕組みはどういう風になっているの?
まずは入門知識の前提となる人間の脳の仕組みについて触れていきます。
私たち人間の脳にはニューロンと呼ばれている神経細胞が張り巡らされています。
その数は何十億個にものぼるほど。これらは結びつくことで神経回路というネットワークができています。
情報を受け取るとニューロンに電気信号が伝わりネットワークの中を駆け巡ることに。どこにどれくらい伝えるかでパターンを認識していることになるのです。
ニューラルネットワークで前提としているのは人間の脳の神経回路は層構造になっていると考えられていること。単純なモデルとして単純パーセプトロンというものが挙げられます。
これは複数の特徴量と呼ばれる入力情報を受け取り1つの出力を行うもの。
ここで入力を受け取る部分を入力層、出力を行うのを出力層と言います。
入力層のニューロンと出力層のニューロンの間の繋がりは重み(w)で表され電気信号の伝達を調整することになるのです。
単純パーセプトロンの問題点は線形分類という限られたことしかできなかったこと。入力層と出力層だけだと回路が単純すぎたためでした。そこで考えられたアプローチが層をさらに追加するというもので多層パーセプトロンと呼ばれています。
ここでは入力層と出力層の間に隠れ層というものを追加。
入力層と隠れ層の間、隠れ層と出力層の間で電気信号を伝えていくという点では単純パーセプトロンと仕組みは同じになります。
それでも隠れ層が追加されたことで単純パーセプトロンよりもできることは格段に広がっていったのです。
ニューラルネットワークとディープラーニングはどんな関連性があるのか
ここで両者がどう関係しているのか今のうちに見ていきましょう。
ディープラーニングでは多くの手法でニューラルネットワークの構造が使われており、ディープラーニングのモデルをディープニューラルネットワークと呼ぶことがあります。
ニューラルネットワークとの違いは隠れ層の数。
これによって従来の機械学習だけでは厳しかった複雑なことの実現にも近づく大きなきっかけとなっています。
ニューラルネットワークを用いると、どんなことができるようになるのか
ニューラルネットワークとは何か、仕組み、ディープラーニングとの関係性について見てきましたがこれを使うことで何ができるようなるのか気になりますよね。
ここではニューラルネットワークを用いた具体的な事例をいくつかご紹介します。
Pepper
Pepperはソフトバンクが2015年から一般販売している人型のロボット。
「史上初の心を持つロボット」と標榜している通り表情や声の調子から感情を推測、それに適した反応ができるということで注目が集まっています。
これによって感情表現ができるようになっているのです。
model S
model SはTesla Motorsが販売する電気自動車の1つ。
ここでは運転支援技術が搭載されており加速や操舵、制動といったことを担ってくれます。
ここではニューラルネットワークを応用した技術であるディープラーニングが用いられています。
ニコニコ動画
ニコニコ動画は株式会社ドワンゴが提供する動画サイト。
ニューラルネットワークを投稿されるコメントの解析に活用しています。
ニューラルネットワークについて、入門から学びたくなったらおすすめの講座・書籍
最後にニューラルネットワークの入門から本格的に学びたい方向けにおすすめの講座と書籍を一つずつご紹介します。
【NumPy・Python3で】ゼロから作るニューラルネットワーク
これはUdemyという学習サイトで販売されている講座の一つになります。
ニューラルネットワークについて自分で書くという経験を通して入門知識について実感を伴って理解できること間違いありません。
【NumPy・Python3で】ゼロから作るニューラルネットワーク
ゼロから作るDeep Learning――Pythonで学ぶディープラーニングの理論と実装
これはオライリーが発行している理工書の一つになります。
この本がテーマとしているのはゼロからディープラーニングを作ることで原理を学ぶこと。
今回はニューラルネットワークの入門から学びたい方向けにその土台となる基礎知識についてお伝えしてきました。
入力層、隠れ層、出力層の3つから成りディープラーニングではこの仕組みを応用しています。
ニューラルネットワークを用いた事例としてPepperやmodel S,ニコニコ動画など。
入門から学ぶのであればUdemyの「【NumPy・Python3で】ゼロから作るニューラルネットワーク」やオライリーが発行している「ゼロから作るDeep Learning――Pythonで学ぶディープラーニングの理論と実装」がおすすめです。


ニューラルネットワークの入門についても理解し、ディープラーニングやさらに進んだ内容も理解できるようになるといいですよね。