8-01 VBAを駆使して3層目をEXCEL化する
●畳み込みは全部で6層ある
今回ハードウエア化を試みる畳み込みニューラルネットワークの全体像を図8-01に示します。この書籍の8章、half_float_network.pyというPythonプログラムの流れをブロック図にしたものです。 |
図8-01 処理の全体像。畳み込みが6層、その後全結合が2層ある
●畳み込み3〜6層目をEXCEL化する
図8-01のうち畳み込み2層目までは前章までにEXCEL→VHDL化しました。本章では3〜6層目(同図の灰色の部分)をEXCEL化します。
畳み込み2層目の結果は28x28画素ですが、それらをプーリング(ここで説明)により14x14画素に落とし、更にパディング(ここで説明)して16x16画素にしたものを3層目の入力とします。
●16x16画素が16チャネル・・・これが3層目の入力
このEXCELファイル(conv_layer3.xlsm)を開いてみましょう。シートCh00〜Ch15まで16チャネルあります。これらが入力画像で、それぞれ16×16画素からなります(図8-02にCh00)。 |
図8-02 16チャネルある入力の最初のチャネルがシートCh00
●入力のシートの後は重み係数、バイアスのシート
その後ろ、シートW3_Biasには重み係数があります(図8-03)。縦方向に144個ありますが、これはこの層の入力が16チャネルあることによります(9×16)。横方向には32個ありますが、これはこの層の出力が32チャネルになるということです。
また同シートの一番下にはバイアスの値があり、これも32個になります。 |
図8-03 係数とバイアスのシートW3_Bias
次のページへ
目次へ戻る |