AI(人工知能)用語集

5分で理解、ニューラルネットワークを簡単解説

ニューラルネットワーク

AI(人工知能)についての記事を日々読んでいる方なら、「ニューラルネットワーク」という言葉に出会った経験がある人は多いことでしょう。何やら難しそうな名前で、「自分は頭が良くないから・・・」と尻込みしてしまう人もいらっしゃるかもしれません。ただ、そんなに難しくはない、むしろ知れば知るほど面白い用語だと、筆者である僕(つっちー)は感じております。そこで今回は「ニューラルネットワーク」について、できる限りわかりやすくお伝えしていきます!!

一言で言うと「ニューラルネットワーク」とは・・・

例えばコンピュータに象を認識させる際に、象の条件として「鼻の長さはこれくらい」「肌はこの色」「体の大きさはこれくらい」と無数に指示を出していかなくても、コンピュータが象を認識できるようになる技術のことです。

これが凄いことなんです。詳細はこれから説明していきます!

今回お話するのはここ!!

機械学習とニューラルネットワークの関係

機械学習の中にニューラルネットワークという技術があります。それではさらに「ニューラルネットワーク」について詳しく見ていきましょう。

つっちー
つっちー

機械学習とは、(AI(人工知能)の中心をなす技術で、プログラム自身が学習していく仕組みです。「機械学習」については以下のページで詳しく解説しています。

次章ではニューラルネットワークの基本的な仕組みについて説明していきますが、「仕組みは別に興味ないわ!」という方は、読み飛ばして、章「ニューラルネットワークのすごさとメリット」まで進んでしまいましょう!

ニューラルネットワークの基本的な仕組み

人間の脳の神経ネットワークは、ニューロン(神経細胞)同士が結合することで形成

ニューラルネットワーク(Neural Network)を日本語に訳すと、神経細胞のネットワークです。神経細胞は脳を構成する細胞のことですので、言い換えれば脳の神経ネットワークと言えるでしょう。人間の脳は無数のニューロン(神経細胞)で構成されており、ニューロンが複雑に結合することによって情報処理が行われています。

ニューロンが他のニューロンとシナプス結合と呼ばれる、情報的なつながりを作ることでネットワークを形成しています。シナプス結合は、結合の強さが変わる特性があり、情報に関係のあるニューロンとの結合は強くなります。

ニューラルネットワークは脳の情報処理ネットワークを単純化したもの

コンピュータにおけるニューラルネットワークの意味は、脳の情報処理ネットワークの仕組みを単純化して、コンピュータ上で再現したものとなります。もう少しだけ説明しますと、「ニューロンがシナプス結合によってネットワークを形成していること」と「シナプス結合にはつながりの強さがそれぞれ異なる」という、この二つを再現しています。

小難しいことを全部無しにして、こうした脳の仕組みを真似て単純化してコンピュータ上で表すと、下記の図のようなイメージになります。

ニューラルネットワークのイメージ図

脳のニューロン(神経細胞)に当たるものをコンピュータ上で再現したものを「形式ニューロン」や「ノード」と呼びます。説明を簡単にするため、ここではどれも「ニューロン」と呼ぶことにします。上図のように、ニューラルネットワークは、多数のニューロンから構成されます。

情報と情報のつながりに重要度をつける「重み付け」を行いながら、入力層から出力層へと情報を伝えていく

ニューラルネットワークを理解する上で重要なのは、「入力」「出力」「重み付け」です。ニューロンについて、各シナプス結合によって結合の強さが異なることは前述しました。「重み付け」と言うのは、簡単に言えば、情報と情報のつながりに重要度をつけるというようなイメージです。ニューラルネットワークでは、この重み付けの数字が学習によって変わってきます。

情報を入力するためのニューロンの配置を入力層(図で言うと一番左側の列)と呼びますが、入力層から情報を受け取ったニューロン(中間層)は、情報を自分なりに評価して、その結果を次の層のニューロンに繰り返し伝達して行った末に、最終的に「出力層」にその結果が伝わり、結果が出力されます。

こうした処理の中で、情報について「特徴(特徴量)」が算出されます。そして、その特徴量から「何らかの処理結果」を出力する仕組みがニューラルネットワークの基本です。「何らかの処理結果」とは、ニューラルネットワークに与えられた目的によって異なります。それは、モノの認識出会ったり、分析や予測であったり、会話であったりするのです。

つっちー
つっちー

中間層が2層以上(入力層と出力層を含めて全体が4層以上)の構造を持つ場合を「ディープニューラルネットワーク」と呼び、この「ディープニューラルネットワーク」を用いた機械学習の手法を「Deep Learning(ディープラーニング)」、「深層学習」と呼びます。ディープラーニングについては以下のページで詳しく解説しています。

ニューラルネットワークによって「ルールのわからない問題」をコンピュータが解決できるようになった

ニューラルネットワークは非常にすごい技術です!何がすごいかと言われれば、今までのコンピュータが苦手としていた「ルールのわからない問題」を解決できるようになったのです。つまり、これまで人間にしかできなかった「物事の特徴を見抜く」ことをコンピュータができるようになりました。

つっちー
つっちー

まだ何がすごいのか正直わかりにくいので、ニューラルネットワークのすごさを理解するためは、ニューラルネットワークではない機械学習を知ることが良いでしょう。

ニューラルネットワークが注目される以前のAI(人工知能)のほとんどが、脳の仕組みを参考にしていないものでした。これはすごく簡単に言ってしまうと、人間がAI(人工知能)に対してどのように行動するのかを、細かく細かくルールを設定して教えてあげる必要があったということです。「AならBをしてね、CならDをしてね、AI(人工知能)君!頼んだよ!」というようにです。

例えば、仮の話ですが、アジアゾウを特定できるAI(人工知能)を作ろうとした場合は、体調5.5-6メートル、尾長1.2-1.5メートル、体高2.5-3.2メートル、薄い灰色または白色、、、、などのように無数にルールを定めてAI(人工知能)に指示する必要がありました。しかし、実際のアジアゾウの姿は、角度や光、体勢などで変わってしまいます。どれだけ詳細に言葉や記号で伝えたとしても、当てはまらない場合が出てくるでしょう。つまり、世の中にはルールでは伝えられない情報がたくさんあるということです。アジアゾウのイメージ

ニューラルネットワーク、脳の仕組みを参考にしていない、ルールを細かく設定してあげる必要があったAI(人工知能)では、こうした問題を解決することができませんでした。

しかし、人間の脳の情報伝達の仕組みを真似たニューラルネットワークを利用することで、視覚的な情報に隠れたルール(特徴)をコンピュータが見抜けるようになり、このような問題を解決できるようになったのです。人間にしかできなかったことが、コンピュータにもできるようになりました。

つっちー
つっちー

ただ、ニューラルネットワークが導く結果について、なぜこのような結果が出力されたのか?、は研究者にも説明がつきません。この現象は「ブラックボックス問題」とも呼ばれています。

近年では、多くの問題に対してニューラルネットワークが、他のモデルよりも非常に高い精度を出すようになってきました。特に画像や自然言語、音声データに対する学習の精度が飛躍的に向上しています。

まとめ

つまり、「ニューラルネットワーク」とは、

脳の神経ネットワークを単純化してコンピュータのプログラム上で再現したもので、従来のコンピュータが苦手としていた「ルールのわからない問題」にも対応できる非常に可能性を秘めた技術です!
つっちー
つっちー

AI(人工知能)って「なにそれ美味しいの?」ってレベルだった僕が、AIエンジニアを目指してステップを踏んだり踏まれたりしている記事を書いてます。よかったら読んでみてください(ほぼ実話)。

「歩く負債」と言われた僕がゼロからAIエンジニアになる為のステップを実践してみた!
みんなのAI(人工知能)用語集

コメントをどうぞ

トップへ戻る
タイトルとURLをコピーしました