4-06 vgg-11, 12, 13層目のEXCEL化
●前層と比べて11, 12, 13層目は入力画素数が1/4、出力チャネル数は一緒
vgg-10層目のプーリング(ブロック図の左から4番目の"P")が終わると次は11, 12, 13層目になります。ブロック図にあるようにこれらの層は入力画素数が19x19、出力チャネル数は512になります。 |
●下表から各層のファイルをダウンロード
各層のEXCELファイルを下の表からダウンロードして開きましょう。
・シートは重み係数だけで、その種類は同表のように制限されています。
・入力画像がないので入力CSVをコピーしてVBAを順番に実行していきます。
・シート数節約のために1枚のシートに複数チャネルぶん置きます(inChxx, im2colxx等)。
・512チャネル全部計算させると時間がかかるので最初の4チャネルのみ計算。
・EXCELで計算した出力とPython(出力CSV)を比較します。
・最後の層だけはプーリングがあります。 |
表4‐06 クリックしてダウンロード
●11層目の重み係数シート
図4‐41はSSD_layer11.xlm(11層目のEXCEL)のW11_Bias(重み係数シート)です。このように係数は8種類(-16,
-4, -2, -1, +1, +2, +4, +16)に制限されています(*1)。またこの層は入力が512チャネルあるので512x9
= 4608行、出力が512チャネルあるので512列あります。
(*1)2の累乗なのでビットシフトで乗算できる(乗算器の節約) |

図4‐41 11層目のEXCELファイル
●13層目の出力の答え合わせ
図4‐42はModule13の実行結果(Pool003シート)とPythonで計算した13層目のチャネル3(lay13out_003.csv)を比較しています(上の表からダウンロード)。各チャネルピタリ一致することを確認します(*4)。11層目、12層目も同様に確認します。
(*4)EXCELではPool00〜03まで計算。Pool04以降を計算させるにはここを参考。 |

図4‐42 13層目チャネル3の計算結果(EXCELとPython)
●画素数を保持するプーリング
13層目で行うプーリングは今までのそれとは少し違います。19×19画素をパディングして21×21画素にし、3×3のエリアの最大値を取ります。その結果は19×19となり、画素数は減りません。図4‐43(VBAのModule07)参照。 |

図4‐43 プーリング前にパディングするVBA
目次へ戻る |