研究概要 |
本研究では,シナプスの重みを浮動小数点フォーマットにより表すことができるハードウェアパルスモード多層ニューラルネットワークについて研究を行った.通常のパルスニューラルネットワークでは,パルス信号の密度により信号レベルを表すが,提案するニューラルネットワークでは,パルス密度(周波数)と各パルスごとに設定した重みの値により信号レベルを表すことで,シナプス荷重を浮動小数点で表現できるようにしている.浮動小数点表現により,広範囲な重みの設定が可能となるため,より複雑な問題に対応できるハードウェアニューラルネットワークの実現が可能となる. 提案するニューラルネットワークを実装するために,パルス信号の重み付けと周波数変換を行うシナプス乗算器,シナプス信号の加算,非線形活性化関数を持つニューロンの開発を行った.シナプス乗算器の周波数変換部にはDirect Digital Frequency Synthesizer(DDFS)を使用し,パルスの重み付けにはパルス位置変調を用いた.これらの回路を用いることで,浮動小数点演算を通常の乗算器を用いずに実装している.さらに,オンチップ学習機能を持たせるために,バックプロパゲーションアルゴリズムをパルス演算によりハードウェアとして実装している. 本研究で開発した,シナプス乗算器,ニューロン,学習機能を用いて学習機能付きニューラルネットワークをField programmable gate array(FPGA)を用いて実装し,実験により提案するシステムの評価を行った.実験では,論理関数の学習問題,2次元図形の領域分割問題についての実験を行った.実験結果から,提案するネットワークが複雑な問題に対応できるとともに,良好なオンチップ学習機能を持つことを確認した.
|