Winograd勉強メモ
忘れるからメモ
Winograd F(2x2,3x3)
入力画像を4x4,出力画像を2x2,カーネルサイズを3x3のwinogradアルゴリズム
計算式は以下の通り
ここで
は入力4x4,はweight,⦿は各要素の乗算.
入力チャンネルと出力チャンネルを加味すると以下のようになる.
- ci:入力チャンネル
- co:出力チャンネル
実装法
推論のconvにおいてどのように計算するのが良いか
基本として,
1. はweightの計算なので事前に行う
2. を除いた変換行列との行列積はベクトルの加算減算で計算する
また,各要素の乗算であるは16個の行列ベクトル積に変換することができる.
- を
- を
- を
とし,さらに
- を長さのベクトルに変換
- をの行列に変換
- を長さのベクトルに変換
すると
と計算することができる
感想
SIMDで行列積変換するのめんどくさそう
数式の表現合ってるかな...