【AIって何だろう】ニューラルネットワークの順伝播【4/5】
どうも、G検定攻略ガイド管理人です。
第4回のコラムは、いよいよ「ディープラーニング」についてのコラムです。
前回の記事では「ディープラーニングの前段階」という内容で、ニューラルネットワークを学ぶ前に知っておくべき内容にフォーカスしていましたが、今回はいよいよ多層パーセプトロン・ニューラルネットワークについてお話したいと思います。
前回記事を読んでいない方は、こちらからどうぞ!
3層ニューラルネットワーク
前回のコラムで「単層パーセプトロンでは非線形な境界を引くことができない」ということをお話ししたかと思います。
これはどういうことを示しているかというと「複雑な分類問題などに直面した時に、正確に回答を出力できなくなる」ということに他なりません。
「単層パーセプトロンを非線形化することで、より精度の高い回答を出力できるようにしよう」ということで、パーセプトロンをつなぎ合わせて脳の神経回路を模したニューラルネットワークへと進化していきます。
ニューラルネットワーク自体は、それなりに昔から研究されていた分野ですが、ここ最近またブームがきています。画像認識分野では目まぐるしい発展を遂げていると同時に、最新技術が次々と生まれてきているからです。
ここでは、最も基本的な3層のパーセプトロンを見ていきましょう。
上のような3層ニューラルネットワークを考えていきましょう。
入力層・隠れ層・出力層という3つの部分を持っていて、それぞれの〇がノードと呼ばれます。
まずは、入力層から隠れ層(第1層)への伝播を考えてみましょう。
ここで、赤い矢印には「重み」というパラメータが乗っていることにしましょう。これは電気で言うところの「抵抗」みたいなもので、入力方向から出力方向に数値をどれぐらい伝えるかを決めるパラメータです。
数学的にはそれぞれの入力と重みの積和で入ってくることがわかると思います。積和演算ですので、それぞれは行列演算で記載できることがわかります。
隠れ層(第1層)から隠れ層(第2層)へ伝播するときも同じように書くことができます。
活性化関数に関しては、前回も軽く触れましたが、のちほど詳細に説明しますのでここでは割愛します。
出力層へ出ていく際も、全く同じ演算です。
これで、入力層から出力層まで数値を伝えることができたわけです。
考え方としてはシンプルで、
「左から入ってくる数値」と「入ってくる矢印の重み」を掛け算したものの和が、該当のノードに入ってくるだけです。
掛け算と足し算しか使っていません。
高度な数学に支えられながらも、実は基本的な部分は非常にシンプルなのです。
ここまでわかれば、もう少しです。
活性化関数
さて、ここで活性化関数というものを詳しく見ていきましょう。
ちょくちょく話に出てくる活性化関数ですが、これはいったい何をするためのものなのでしょうか。
基本的には活性化関数も「それぞれのノードが次にどれぐらい数値を伝達するか」をつかさどっているものです。
また、それらはある一定の閾値を設けて、それに応じて切り替わるように設計されているものになります。状況に応じて、いくつかの関数を使い分けたりしますが、よく使われるものに具体的には下記のようなものがあります。
出力を数値として得たい場合、確率として得たい場合というように、要求される回答に応じて、具体的なニューラルネットワーク設計は変わってきます。
活性化関数は「非線形にしなければならない」という話もありますので、補足的に次の画像で紹介しておきます。
活性化関数というものは、実際はかなり説明が難しいものです。実際にネットワークを組む際に「ここは数値のまま伝達しなければならない」「出力層では確率として出力したい」というように使い分けたりします。
複雑な概念ですので、実装に携わる方以外はそんなに深く考える必要はないかと思います。こういうものがあるんだということは知っておくといいかなというレベルですかね。
ニューラルネットワークの順伝播
さて、ここまででニューラルネットワークの順伝播は終了です。
さて、感の良い方は気づいていると思いますが、順伝播があれば、逆伝播があります。
順伝播ではデータを流し込んで出力するというところまでやりました。
逆伝播では出力されたものが正解とどれぐらい近いのかを判定してモデルを調整するという操作を行います。
ここからがニューラルネットワーク・ディープラーニングの神髄となりますが、今回はこのあたりにしておこうかと思います。
次回へ続く
いよいよ次回が最終回です。
ニューラルネットワークの逆伝播を通して、全体像を見渡せるようになりましょう。
G検定攻略ガイドでは「ディープラーニングG検定」の攻略に役立つ情報を発信しています。
下記リンクより、ぜひ別の記事も読んでいただけると嬉しいです。
ここまで読んでいただき、ありがとうございました。
よろしければサポートをお願いいたします。 記事・コンテンツ作成のモチベーションになります。