6-01 conf-2〜6層のEXCEL化

●conf-3層目のEXCELを開く

 このブロック図の右中段に
conf-2〜6と呼ばれる畳み込み層があります(*1)。これらの層の出力は各BBOXの信頼度を示すものになります。

 その3層目(conf-3)をEXCEL化したものがこれです。ダウンロードして開きましょう。
 シートは1つ(confW3_Bias)だけで、これは重み係数のシートです(図6‐01)。入力は512チャネルありますが(*2)、
カーネルが3x3=9なので4608行、出力は126チャネルあるので126列あります(*3)。

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

(*1)conf-1層目は省略した。ここにあるようにsource1+L2Normを省略したことによる。
(*2)conf-3層目の入力はextras-2層目の出力。それらは512チャネルある。
(*3)種族(人、馬、自動車など)が21種、各BBOXの形が6種あるので21x6=126チャネルになる。


図6-01 conf-3層目の係数。カーネルは3×3


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

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

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

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


図6‐02 64×8=全部で512チャネル。パディングあり。


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

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

(*5)入力画素数が10×10=100なので。


図6‐03 各シート100行×72列になる


●行列乗算と加算で畳み込み、その後ビットシフト

 Module03で行列乗算後のシートが64枚生成され、Module04でそれらが足し込まれて1つのシート(im2colAll_W3)になります。みます。さらにModule05で4ビット右シフトが施されます(図6-04)。


図6‐04 畳み込みの後ビットシフト


次のページへ



目次へ戻る