京都産業大学 > 情報理工学部
岡田英彦 (Hidehiko OKADA) ホーム > 研究テーマ

オートエンコーダの進化的学習

オートエンコーダとはニューラルネットの一種であり,出力が入力を再現するように学習させたニューラルネットのことである.深層ニューラルネットのひとつである「積層オートエンコーダ」の要素技術として用いられる.本研究ではオートエンコーダの学習における進化計算アルゴリズムの有効性を比較評価した.用いたアルゴリズムは,進化戦略(ES),遺伝的アルゴリズム(GA),差分進化(DE)および粒子群最適化(PSO)の4種類である.

学習用データとして手書き数字データを用いた.データセットのなかから学習用として0~9のデータをそれぞれ10件ずつランダムに抽出した.このデータを図1に示す.学習後のオートエンコーダの汎化性能を評価するためのテストデータも同じように10件ずつ抽出した.このデータを図2に示す.

図1: 学習用データ

図2: 評価用データ

DEによって学習させたオートエンコーダの出力を図3および図4に示す.図3(図4)は学習(評価)用データの入力に対する出力を表している.図3と図1の比較により,学習後のオートエンコーダは学習用データをよく再現できていることがわかる.また図4と図2の比較により,学習していないデータも概ね再現できており,一定の汎化能力を持つことがわかる.

図3: 学習後のオートエンコーダによる学習用データの再現

図4: 学習後のオートエンコーダによる評価用データの再現

アルゴリズムごとの学習曲線を図5に示す.縦軸のerrorは1ピクセルあたりの誤差の平均を表している. いずれの手法も最終的な評価回数1,000,000の時点ではおよそ9%程度まで誤差が減少しているが,この9%程度の誤差まで最も早く到達した手法はDEであったことがわかる.しかしDEは序盤の評価回数200,000の時点では4手法のなかで最も誤差の減少が緩やかであり,PSOやGAよりも早熟を避けた探索を行ったことがわかる.つまり,DEは序盤の広域的探索によって良好な解の領域を適切にスポッティングし,中盤以降にはその領域を高速に局所探索できていたと考えられる.

図5: 学習曲線