はじめに
この記事はゼロから作るディープラーニング 4章ニューラルネットワークを自分なりに理解して分かりやすくアウトプットしたものです。
文系の自分でも理解することが出来たので、気持ちを楽にして読んでいただけたら幸いです。
また、本書を学習する際に参考にしていただけたらもっと嬉しいです。
多層パーセプトロンとニューラルネットワークの違い
前回の記事で多層パーセプトロンはニューラルネットワークの進化一歩手前と言う話をしましたが、一体どこが違ってどうすれば進化させることができるのでしょう。
ではまず、多層パーセプトロンが改良されてニューラルネットワークが開発された経緯を話したいと思います。
多層パーセプトロンは前回も話した通り、層を深くすることでコンピュータの処理を再現することができるほど可能性を秘めています。ですが、層を深くすると言うことはその分だけ重みやバイアスなどのパラメータを設定しないといけないと言うことです。
コンピュータの処理のような複雑な処理を再現するには何千・何万層の多層パーセプトロンを使用しないといけません。しかし、人力では何千・何万層ものパラメータを設定することは到底出来ません。つまり多層パーセプトロンは理論上コンピュータの処理を再現できるが、実質それは不可能なのです。
そこでこの問題を解決するために作られたのがニューラルネットワークです。
ニューラルネットワークはデータを学習することで、最適なパラメータを自動で設定することができます。これにより実質不可能だった複雑な処理が再現可能となったのです。
遅くなりましたが、多層パーセプトロンとニューラルネットワークの違いを簡単にあげると学習機能と活性化関数です。
学習機能は第5章の内容なので、今回は活性化関数について解説したいと思います。
#活性化関数とは
活性化関数とは入力信号の総和を出力信号に変換する関数のことを言います。
パーセプトロンにはstep関数、ニューラルネットワークにはシグモイド関数・ReLU関数が使われており、入力信号の総和を出力信号に変換しています。
実はパーセプトロンのニューロンに活性化関数が使われていたんです!!
次回に各活性化関数の説明と実装を行いたいと思います。