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


次のページへ


目次へ戻る