機械学習

ニューラルネットワークのフォワードプロパゲーションを実装してみた

ニューラルネットワークは、人間の脳の神経細胞(ニューロン)の仕組みをプログラム上で模したモデルで、機械学習の1手法であるディープラーニングで利用する。

今回は、ニューラルネットワークのフォワードプロパゲーション(ニューラルネットワークにおいてネットワークを入力層から出力層にデータを流す手法)を実装してみたので、そのサンプルプログラムを共有する。

なお、フォワードプロパゲーションについては、以下のサイトを参照のこと。
https://hossuii.com/?p=1803

前提条件

以下の記事の実装が完了していること。

ニューラルネットワーク内の単一ニューロンを実装してみた ニューラルネットワークは、人間の脳の神経細胞(ニューロン)の仕組みをプログラム上で模したモデルで、機械学習の1手法であるディープラー...

今回実装するニューラルネットワークの全体構成は、以下のようになる。
ニューラルネットワーク

このうち、単一ニューロンを実装した内容は以下の通りで、前提条件の単一ニューロンの実装と同じ内容になっている。



「CODE×CODE」は、需要の高い技術(AWS, Python等)を習得できるプログラミングスクールスクールだった近年、さまざまな会社でクラウド(特にIaaSやPaaSのパブリッククラウド)の需要が非常に高まっていて、クラウドサービスによるシステム開...

また、「ニューラルネットワークの全体構成」に相当するニューラルネットワークを実装した内容は以下の通りで、forwardメソッドでニューラルネットワークを構成している。

なお、__init__メソッドの重み\(\boldsymbol w\)は、出力結果\(y\)が、入力値\(x_0=x_1=0\)または\(x_0=x_1=1\)の場合に\(0\)に近く、そうでない場合は\(1\)に近い値になるよう、設定している。

さらに、先ほどのニューラルネットワークを呼び出した結果は以下の通りで、出力結果\(y\)は想定通り、入力値\(x_0=x_1=0\)または\(x_0=x_1=1\)の場合に\(0\)に近く、そうでない場合は\(1\)に近い値となることが確認できる。

ニューラルネットワークの呼び出し

要点まとめ

  • ニューラルネットワークは、人間の脳の神経細胞(ニューロン)の仕組みをプログラム上で模したモデルで、機械学習の1手法であるディープラーニングで利用する。
  • 単一ニューロンを組み合わせることで、ニューラルネットワークが実装できる。