くらし情報『GTC 2015 - Deep Learning用のCUDAライブラリ「cuDNN」』

2015年4月10日 13:00

GTC 2015 - Deep Learning用のCUDAライブラリ「cuDNN」

FFTは大規模な処理では効率が高いが、これもメモリを多く必要とし、フィルタをずらす部分の処理が難しい。直接、畳み込みを計算する方法は、メモリのオーバヘッドは無いが、各種のケースに対して最適化するのが難しいというように一長一短がある。

2D ConvolutionはImageにFilterを重ね、対応するピクセルの値を掛けて、総和をとる。この例ではフィルタは3×3であるが、実際には10×10とかもっと大きいサイズが使われる。イメージの中に枠で示された部分にフィルタがある場合は、次の図の右側のように枠内のピクセルを行ベクトルに並べ替え、フィルタを列ベクトルに並べ替えて内積を計算すれば良い。

そして、フィルタを当てる領域を右に1ピクセルずらせて同じ操作を行う。

これを繰り返すと、イメージ側の行ベクトルが増えて行き、行列×ベクトルの計算になる。実際のDNNの処理では、1つの画像にいくつものフィルタが適用され、さらにミニバッチの数だけの異なる画像を一括して処理する。
そのため、行列×行列の計算となるのでGEMMが使え、より高い演算性能が得られる。なお、ここでは紙面の都合でフィルタは2×2で描かれている。

関連記事
新着くらしまとめ
もっと見る
記事配信社一覧
facebook
Facebook
Instagram
Instagram
X
X
YouTube
YouTube
上へ戻る
エキサイトのおすすめサービス

Copyright © 1997-2024 Excite Japan Co., LTD. All Rights Reserved.