AI(人工知能)についての記事を日々読んでいる方なら、「ニューラルネットワーク」という言葉に出会った経験がある人は多いことでしょう。何やら難しそうな名前で、「自分は頭が良くないから・・・」と尻込みしてしまう人もいらっしゃるかもしれません。ただ、そんなに難しくはない、むしろ知れば知るほど面白い用語だと、筆者である僕(つっちー)は感じております。そこで今回は「ニューラルネットワーク」について、できる限りわかりやすくお伝えしていきます!!
一言で言うと「ニューラルネットワーク」とは・・・
これが凄いことなんです。詳細はこれから説明していきます!
今回お話するのはここ!!
機械学習の中にニューラルネットワークという技術があります。それではさらに「ニューラルネットワーク」について詳しく見ていきましょう。
機械学習とは、(AI(人工知能)の中心をなす技術で、プログラム自身が学習していく仕組みです。「機械学習」については以下のページで詳しく解説しています。
次章ではニューラルネットワークの基本的な仕組みについて説明していきますが、「仕組みは別に興味ないわ!」という方は、読み飛ばして、章「ニューラルネットワークのすごさとメリット」まで進んでしまいましょう!
ニューラルネットワークの基本的な仕組み
人間の脳の神経ネットワークは、ニューロン(神経細胞)同士が結合することで形成
ニューラルネットワーク(Neural Network)を日本語に訳すと、神経細胞のネットワークです。神経細胞は脳を構成する細胞のことですので、言い換えれば脳の神経ネットワークと言えるでしょう。人間の脳は無数のニューロン(神経細胞)で構成されており、ニューロンが複雑に結合することによって情報処理が行われています。
ニューロンが他のニューロンとシナプス結合と呼ばれる、情報的なつながりを作ることでネットワークを形成しています。シナプス結合は、結合の強さが変わる特性があり、情報に関係のあるニューロンとの結合は強くなります。
ニューラルネットワークは脳の情報処理ネットワークを単純化したもの
コンピュータにおけるニューラルネットワークの意味は、脳の情報処理ネットワークの仕組みを単純化して、コンピュータ上で再現したものとなります。もう少しだけ説明しますと、「ニューロンがシナプス結合によってネットワークを形成していること」と「シナプス結合にはつながりの強さがそれぞれ異なる」という、この二つを再現しています。
小難しいことを全部無しにして、こうした脳の仕組みを真似て単純化してコンピュータ上で表すと、下記の図のようなイメージになります。
情報と情報のつながりに重要度をつける「重み付け」を行いながら、入力層から出力層へと情報を伝えていく
ニューラルネットワークを理解する上で重要なのは、「入力」「出力」「重み付け」です。ニューロンについて、各シナプス結合によって結合の強さが異なることは前述しました。「重み付け」と言うのは、簡単に言えば、情報と情報のつながりに重要度をつけるというようなイメージです。ニューラルネットワークでは、この重み付けの数字が学習によって変わってきます。
情報を入力するためのニューロンの配置を入力層(図で言うと一番左側の列)と呼びますが、入力層から情報を受け取ったニューロン(中間層)は、情報を自分なりに評価して、その結果を次の層のニューロンに繰り返し伝達して行った末に、最終的に「出力層」にその結果が伝わり、結果が出力されます。
こうした処理の中で、情報について「特徴(特徴量)」が算出されます。そして、その特徴量から「何らかの処理結果」を出力する仕組みがニューラルネットワークの基本です。「何らかの処理結果」とは、ニューラルネットワークに与えられた目的によって異なります。それは、モノの認識出会ったり、分析や予測であったり、会話であったりするのです。
中間層が2層以上(入力層と出力層を含めて全体が4層以上)の構造を持つ場合を「ディープニューラルネットワーク」と呼び、この「ディープニューラルネットワーク」を用いた機械学習の手法を「Deep Learning(ディープラーニング)」、「深層学習」と呼びます。ディープラーニングについては以下のページで詳しく解説しています。
ニューラルネットワークによって「ルールのわからない問題」をコンピュータが解決できるようになった
ニューラルネットワークは非常にすごい技術です!何がすごいかと言われれば、今までのコンピュータが苦手としていた「ルールのわからない問題」を解決できるようになったのです。つまり、これまで人間にしかできなかった「物事の特徴を見抜く」ことをコンピュータができるようになりました。
まだ何がすごいのか正直わかりにくいので、ニューラルネットワークのすごさを理解するためは、ニューラルネットワークではない機械学習を知ることが良いでしょう。
ニューラルネットワークが注目される以前のAI(人工知能)のほとんどが、脳の仕組みを参考にしていないものでした。これはすごく簡単に言ってしまうと、人間がAI(人工知能)に対してどのように行動するのかを、細かく細かくルールを設定して教えてあげる必要があったということです。「AならBをしてね、CならDをしてね、AI(人工知能)君!頼んだよ!」というようにです。
ニューラルネットワーク、脳の仕組みを参考にしていない、ルールを細かく設定してあげる必要があったAI(人工知能)では、こうした問題を解決することができませんでした。
しかし、人間の脳の情報伝達の仕組みを真似たニューラルネットワークを利用することで、視覚的な情報に隠れたルール(特徴)をコンピュータが見抜けるようになり、このような問題を解決できるようになったのです。人間にしかできなかったことが、コンピュータにもできるようになりました。
ただ、ニューラルネットワークが導く結果について、なぜこのような結果が出力されたのか?、は研究者にも説明がつきません。この現象は「ブラックボックス問題」とも呼ばれています。
近年では、多くの問題に対してニューラルネットワークが、他のモデルよりも非常に高い精度を出すようになってきました。特に画像や自然言語、音声データに対する学習の精度が飛躍的に向上しています。
まとめ
つまり、「ニューラルネットワーク」とは、
コメントをどうぞ