本研究は、GPUを用いた機械学習計算向けの超並列計算手法の開発を目的としている。具体的なアプローチとして、機械学習計算の回路実装をGPUの多数のマルチコアを用いて並列シミュレーション計算を行うことで、既存のソフトウェアアプローチとは一線を画す計算手法を提案している。 回路計算をシミュレートする上で計算時間に直接的な影響を及ぼすのが回路サイズであるため、本研究ではニューラルネットワークのサイズの削減をネットワークプルーニングによって実現している。通常、学習済みのネットワークモデルに対して行われるネットワークプルーニングだが、精度を維持したまま多くの重みを削除することは困難であるという課題がある。 そのため、本研究では「未学習モデルから開始した方が、プルーニングの効果が高くなる」という盆栽仮説を立て、シンプルで効率的なチャネルプルーニングアルゴリズムを提案している。このアルゴリズムは従来学習後に精度に影響のない重みを削減する手法が一般的であるが、本手法では学習をする過程でネットワークを圧縮する点が既存手法と大きく異る。本手法は任意の構造のネットワークに適用可能で、実験ではCIFAR-10とCIFAR-100をターゲットにVGG16に対して未学習モデルと学習済みモデルのプルーニングを行った結果、未学習モデルは既学習モデルよりも多くのチャネルを削減できることがわかった。 これにより、回路シミュレーションの回路サイズの削減を実現し、シミュレーション時間の大幅短縮を実現している。
|