3‐02 1層目のEXCEL化(続き)
●バイアスを足すマクロ
Module04はバイアスを加算します。W1_Biasシートの一番下にあるバイアス16個を、前のシートの16列に足してplusBiasシートが生成されます。 |
図3-16 plusBiasシート
●ReLUで負の数を0にする
Module05はReLU関数を施します。正の値はそのまま、負の値は0で、ReLUシートが生成されます。 |
図3‐17 正の数はそのまま
●truncateで値が小さくなる
Module06では下位11ビットが切り捨てられます(Pythonでlay1outを1/256 -> 1/8にしている部分)。このようにハード規模削減のために、ビット数を減らします。更に31でリミッタをかけて、5ビットの範囲に収めます。 |
図3‐18 ハード化に備えて値を小さくする
●出力16chを分けるマクロ
1層目の出力は16chあり、それぞれ784画素あります。今まで1枚のシートにまとめてあったものを16枚のシートに分けます。Module07を実行すると図3‐19のようにoutCh00〜15が現れます。各チャネルの画素は平面的(28x28)に並べ替えられます。 |
図3‐19 16枚の出力シートが現れる。それぞれ28×28
●PythonとEXCELが一致しているか確認
上の図はEXCELで計算した1層目の出力(13番目)です。Pythonを走らせた際にlay1out_13.csvが生成されているので比較してみましょう。図3‐20と図3‐19はピタリ一致しています。 |
図3‐20 lay1out_13.csv - Pythonでの演算結果
●入力画像3ch+重み係数+バイアスでPythonと同じことをした
出力16chがそれぞれPythonと一致するのを確認して1層目のEXCEL化は終了です。 |
最初のページへ
目次へ戻る
|