5-02 extras-3, 4層目のEXCEL化

●extras-3層目のEXCELを開く

 extras層は全部で8つあります。これは3層目をEXCEL化したものです。

 シートは1つ(exW3_Bias)だけで、これは重み係数のシートです(図5‐11)。入力は512チャネルありますが、
カーネルが1x1=1なので512行、出力は128チャネルあるので128列あります。

 係数は-8, -4, -2, -1, +1, +2, +4, +8の
8種類に制限しています。全て2の累乗なのでビットシフトで乗算を達成できます(乗算器の節約になる)。またこの層もバイアスは省略するのでありません。


図5-11 extras-3層目の係数。カーネルが1×1であることに注意


●64枚のシートに入力512チャネル

 
VBAのModule1を実行すると、ex2out_000.csv〜ex2out_511.csv(extras-2層目の出力、これを解凍して同じディレクトリに置く)が新しいシートに転写され、それら(inCh00〜inCh63)がextra-3層目の入力になります(図5-12)。

 この層の入力は512チャネルですが、生成されるシートは64枚、すなわち1枚のシートに8チャネルぶんの画像が張り付けられています(*1)。extras-2層目の出力は10×10
なので10列、各シート8チャネルぶんあるので10x8=80行になります。

(*1)シート数があまりにも多いとEXCELが重くなり、パソコンのメモリを圧迫するのでシート数を節約する。


図5‐12 64×8=全部で512チャネル


●im2colxxシートも64枚に512チャネルぶん

 Module02を実行するとim2col00〜63が生成されます(図5‐13)。カーネルは1×1、各シート8チャネルぶんあるので1×8=8列、行数は10×10=100行になります。


図5‐13 各シート100行×8列になる


●extras‐3層目の出力の答え合わせ

 Module03〜07を順番に実行します。図5‐14はoutCh000シートとex3out_000.csv(Pythonで計算したextras-3層目のチャネル0)を比較しています(これを解凍して開く)。出力は128チャネルあり、それぞれ
ピタリ一致することを確認します。(*3)

(*3)EXCELではoutCh000〜003まで計算。outCh004以降を計算させるにはここを参考。


図5‐14 EXCEL化してもPythonの結果と変わらない


次のページへ



目次へ戻る