@techreport{oai:ipsj.ixsq.nii.ac.jp:00185159, author = {宇都宮, 誉博 and 尼崎, 太樹 and 飯田, 全広 and 久我, 守弘 and 末吉, 敏則 and Takahiro, Utsunomiya and Motoki, Amagasaki and Masahiro, Iida and Morihiro, Kuga and Toshinori, Sueyoshi}, issue = {21}, month = {Jan}, note = {画像認識手法の一つである畳込みニューラルネットワーク (CNN : Convolutional Neural Network) は,その識別精度の高さから様々な分野で注目されている.CNN の組込み機器への実装を考えた場合,低消費電力かつ高速な処理が可能である FPGA (Field Programmable Gate Array) は有望な選択肢となる. しかしながら,FPGA に CNN を実装する際は,内部で膨大な回数実行される積和演算回路の構成および重みを読み込む際のメモリアクセスについて工夫する必要がある.そこで本稿では,CNN の重みを 2 のべき乗に近似する手法を提案する.これにより,積和演算回路における乗算はシフト演算に置き換え可能となる.また,重みを近似する際は CNN に再学習を施すことで認識率の低下を抑制し,近似後は閾値以下の重みをプルーニングすることで重みの表現に必要なビット幅を削減する.提案手法によって,畳込み層のカーネルあたりの LUT 使用量は約 1.9 倍改善され,全結合層の積和演算あたりの LUT 使用量は約 2.5 倍改善された.また,認識精度の低下を 0.3% 程度に抑えた場合は畳込み層の重みを 5 ビット,全結合層の重みを 4 ビットで表現可能となり, 2% 程度に抑えた場合はさらに全結合層の重みを 3 ビットに削減して表現可能となった., Convolutional Neural Network (CNN), a method of Image recognition, is utilized in various fields. Field Programmable Gate Array (FPGA) is one of the promising medium for embedded systems. For CNN implementation on FPGA, it is required to consider the resource utilization of multiply-add circuit and memory access for weight of neural network. In this paper, we propose power of 2 approximation of weight. This method enables multiply-add circuit with Shifter and Adder. Our proposed method improved LUT consumption up to 2.5 times. Furthermore, the bit width required for weight was reduced to 5 bits in Convolutional layer and to 3bits in Fully connected layer.}, title = {2のべき乗近似とプルーニングを用いたCNN向けFPGAアクセラレータ}, year = {2018} }