【初心者】ネコでも分かる「ニューラルネットワーク」ってなに?
ニューラルネットワークの基礎を初心者向けにまとめました。図をたくさん使っているので、どの記事よりも理解しやすくなっていると思います。
このコンテンツの目的は、イメージをつかむキッカケになることです。砕いた解説のため、一部正確ではない場合があります。ご了承下さい。
皆さんの理解が一歩でも進むと嬉しいです。
Created by NekoAllergy
ニューラルネットワークとは?
ニューラルネットワークとは 人工知能を作るための仕組み のことです。ニューラルネットワークを組み立てることで、人工知能を作ることができます。
図のように丸いのが線で繋がっているようなものをニューラルネットワークといいます。ニューラルネットワークは、よく省略して NN と書かれます。NN は層構造になっていて、左から、「入力層」「中間層」「出力層」 と呼びます。
この NN に、画像などを入力すると、入力された情報(数字)をもとにいろいろな計算をします。数字をリレーのようにどんどん繋いでいくことで、最終的な結果が導き出されます。このとき NN がしている計算は、だいたいが足し算と掛け算なので、そんなに難しいことをしているわけではありません。
NN のなかでどんな動きをしているのか、詳しく見ていきましょう。NN にある丸いの1つ1つを 「ニューロン」 と呼びます。1 つのニューロンは数字を 1 つ持っています。
ニューロンの数字は、図のように線を通って、次のニューロンへと進んでいきます。この線を 「シナプス」 と呼びます。シナプスは数字の通り道です。このへんの呼び名は覚えなくても全く問題ないです。
ニューロンから送られた数字は、シナプスを通って、次のニューロンに足されます。このシナプスを通る時、数字は変わります。
シナプスにあるこの数字を 「重み」 と呼びます。この例では、3 に 2 が掛けられ、次のニューロンに 6 が運ばれます。
1 つのニューロンからは、たくさんのシナプスが伸びています。その全てのシナプスに同じ数字が進んでいきます。
しかし、その通り道によって重みの値は違っています。ニューロンの数字は、それぞれのシナプスを進んでいき、それぞれの重みが掛けられて、次ニューロンに足されていきます。
これらの重みは、前ニューロンからきた値が、次のニューロンにとって 「どれくらい重要か」 を表しています。重みが大きいほど、その値は次のニューロンにとって大切な情報となっています。
またある場所では、いくつかのニューロンから数字が運ばれ、1 つのニューロンに足されていきます。数字をまとめるイメージです。この場合、最終的にはすべて足されて「18」となります。これら処理を 全てのニューロン でやっています。
このように NN は、入力された情報を計算し、リレーのようにどんどん繋いでいくことで、最終的な結果を導き出します。
NN について、もう少しだけ詳しくみていきましょう。
各ニューロンには、「NN に入力された値」(画像がもっていた値)とは別に、「NN 自身が元から持っている値」が足されます。これを 「バイアス」 と呼びます。バイアスは 値をコントロールするため に足されるものです。
値をコントロールするという点では、バイアスは重みと同じような立ち位置です。それぞれのニューロンに、それぞれのバイアスが付いていて、微調整しているイメージです。
集められた数字は次のニューロン達へと送られますが、この数字はそのまま次へ進みません。ニューロンの中である変換をしてから、次のニューロンに進みます。最後の仕上げのようなものです。
ニューロンの中でされる変換を 「活性化関数」(かっせいかかんすう) と呼びます。値を少しだけアレンジして次へ送っているイメージです。この活性化関数を使うことで、より複雑な予測問題や分類問題を解くことができます。
活性化関数はいくつか種類があり、どの活性化関数を使うかは、層ごとに決めます。
詳しく知りたい方はこちらから ↓
画像はどんな感じで作られているのか
NN の中の動きをもう少し詳しく解説していきます。そのためにまず、NN に入力する画像がどうなっているのかを見ていきます。
...
続きの内容は本にまとめてあります。手に取って頂けるととても喜びます ↓
機械学習をもっと詳しく
ねこアレルギーの AI
YouTube で機械学習について発信しています。お時間ある方は覗いていただけると喜びます。
Created by NekoAllergy
Discussion