DEによるDeep Neural Network学習のGPUへの実装

平成 26 年度 卒業論文概要
DE による Deep Neural Network 学習の GPU への実装
B113642 中島 潤樹
【背景と目的】
近年,従来より階層の多いニューラルネットワークである,Deep Neural Network(DNN) を使
用したパターン認識が良好な成果をあげて注目されている.DNN のパラメータの獲得には,一
般に誤差逆伝播法を用いることが多い.しかし,この学習方法には設計者が設定するパラメータ
が多く存在する.そこで,学習に進化計算を用いることで,設計者の負担を軽減することを目指
す.また,ネットワークの構造が大規模化することで,計算コストの増加が問題になるが,GPU
Computing を用いることにより,計算時間の短縮を試みる.
【実験設定】
本研究では,中間層を3層持つ階層型ニューラルネッ
トワーク (Fig.1(b)) を使用して 0 から 9 の数字の認識
を行った.中間層の各ニューロンの活性化関数にはシ
グモイド関数を使用し,出力層の活性化関数にはソフ
(a) seven segment
トマックス関数を使用する.出力層のニューロンの数
は識別する数字の種類の数である 10 で固定する.各
ニューロンへの出力値がそのニューロンに対応する数
字である確率になる.例えば出力層のニューロン y5 の
出力値が 0.5 だった場合は,DNN に入力された数字を
5 と推測したとみなせる.中間層のニューロンの数を
変動させ,よりよい DNN の構造を探索する.
進 化 計 算 に は Differential Evolution(DE) を 用
い る .DE の 設 定 に つ い て 説 明 す る .本 研 究 で は
DE/rand/1/bin を使用する.個体数を 200 とし,ス
ケール係数 F や交差率 CR を変化させて実験を行う.
DE の評価値には正解との誤差を使用する.
本研究では認識対象として 7 セグメントを用いて実
(b) Deep Neural Network
験を行った.7 セグメント(Fig.1(a))とは 7 つのセグ
Fig. 1: 実験設定
メントそれぞれで点灯と消灯を切り替えることで数字
を表現することができる.これらの各セグメントの情報を入力信号としてニューラルネットワー
クへ入力することで,7 セグメントが表す 0 から 9 までの数字を認識する.
【結果と考察】
ここでは,計算の高速化に関する実験の結果を述べ
る.中間層の各層のニューロンの数をそれぞれ,10-1010,20-15-10,30-20-10 で実験を行った.学習を行う結
合荷重の数はそれぞれ,400 本,735 本,1170 本であ
る.CR=0.5,F=0.5 と設計し,50000 世代まで学習を
させた.3 種類の構造それぞれについて CPU での実装
と GPU での実装での計算時間を Fig.2 に示す.DE で
の遺伝的操作,Mutation と Crossover の計算時間では
Fig. 2: 実験結果
17.7 倍から 23.7 倍の高速化に成功した.評価計算,今
回での DNN の出力計算においては 7.53 倍から 9.83 倍の高速化に成功した.個体の交換 Selection
の処理時間が非常に長く,最適化の余地が考えられた.構造が大規模化することで速度比が大き
くなることが確認できた.