シートtruncateはシートim2colAll_W2を8ビット右シフトして1/256にしたものです(図7‐11)。


  図7-11 8ビット右シフトしたシートtruncate


 シートplusBiasはバイアスを足したもの、次のシートはRelu、その次のシートoutCh0はReluの1列目を28×28の行列に並び変えたものです(図7-12)。これが畳み込み2層目の出力になります。


  図7-12 Reluの1列目を平面的に並べたシートRelu。畳み込み2層目の結果になる


●PythonとEXCELの演算結果が一致するか確認

 図7-12の計算をPythonで行ったものが図7-13です。値がピタリ一致していることが分かります。


  図7-13 Pythonから畳み込みの結果を書き出す


●次節で「乗算器を使わない乗算回路」を設計する

 畳み込み2層目の係数を4種類(+64, +16, -16, -64)のみにしても正解率が約98%あることをPythonで確認しました。またその演算をEXCELでも行い、結果がピタリ一致しました。

 係数が2の累乗の場合、乗算は
符号の反転とビットシフトでまかなえます。次章ではそのような回路を設計し、VHDL化します。


最初のページへ


目次へ戻る