(第3回)ニューラルネットワークについて

活性化関数では、入力と出力がつながっていましたが、ニューラルネットワークは数層あります。 今回は3層のニューラルネットワークを作成して、入力から出力まで計算します。

<構成>

2次元の入力層から、第1層目(3次元)、第2層目(2次元)、出力層(2次元)の構成のニューラルネットワークです。

<計算式>

各層の伝達の計算は次のとおりになります。入力の総和のaはシグモイド関数で変換を行い、zに出力されています。重みwとバイアスbは、行列の積を行うため、対応する次元の要素数に一致させます。

<入力層→第1層>

実際に計算をします。xとw、bは既知のデータになります。aの出力は、行列の計算を行い、シグモイド変換を行い、第1層目の出力として、zが得られます。

<第1層→第2層>

第1層の出力zとw、bを計算します。第1層と同様に、zを得ます。

<第2層→出力層>

出力層を計算しますが、aは何もせず、zを出力させています。(=恒等関数)

<Pythonで計算>

実際にこの式をPythonで計算すると以下のようになります。

結果は次の通りになります。手で計算した結果と同じ結果を示しています。

単純なニューラルネットワークですが、実際に手で計算して、Pyhtonでも計算してみると、理解が深まります。

-------------