SlideShare a Scribd company logo
1 of 29
Download to read offline
Evolving Deep Unsupervised
Convolutional Networks for
Vision-Based Reinforcement Learning
2017/08/13
野村俊太
1
Koutník, Jan, Jürgen Schmidhuber, and Faustino Gomez.
Proceedings of the 2014 Annual Conference on Genetic and
Evolutionary Computation. ACM, 2014.
2
スライド構成
1. INTRODUCTION
2. MPCNN
3. METHOD:MPC-RNN
4. VISUAL TORCS EXPERIMENTS
5. DISCUSSION
3
従来の強化学習において、画像のような
高次元入力を扱う問題は難しいとされてきた
特にNeuroevolution(NE)のように
ニューラルネットを用いて学習を行う場合、
ネットワークの規模が大きくなりすぎるため
この問題は致命的である
1. INTRODUCTION
研究背景と目的
目的:規模の小さいニューラルネットで
学習を成功させる
4
Neuroevolutionとは、ニューラルネットワーク(NN)と
遺伝的アルゴリズム(GA)を組み合わせたもの
各個体がNNを表し、重みや構造をGAで進化させていく
1. INTRODUCTION
Neuroevolutionとは
NNのなかでは強化学習に位置づけられ
近年、高次元の入力に対する学習方法として検討されている
5
高次元入力のNeuroevolutionに対するアプローチとして…
・規模の小さい任意のサイズのNNに変換(複雑なマッピングが必要)
1. INTRODUCTION
Neuroevolutionに関する既存研究
…
…
…
・高次元入力を低次元の特徴に圧縮する”Compressor”を用いる
(小さなネットワークで学習可能に)
…
Compressor
……
…
…
入力に利用
………
………
…
…
…
…
……
…
…
圧縮
6
Generating Large-Scale Neural Networks Through
Discovering Geometric Regularities [J. Gauci, 07]
・巨大なネットワークを小さな遺伝子に圧縮するのではなく
Compressorを用いて入力を圧縮する方式
・教師なし学習とevolutionary RLを組み合わせた初めての研究
・低次元の特徴でも学習できるように、通常は
無視されるような遺伝子からの情報も利用
1. INTRODUCTION
Neuroevolutionに関する既存研究
7
一方、本論文の著者(J. Koutnik)らの研究は…
Evolving Large-Scale Neural Networks
for Vision-Based Reinforcement Learning[J. Koutník, 2013]
この論文ではカーシュミレーターTORCSを
Recurrent NN(RNN)を用いた
Neuroevorutionにより学習を行っている
1. INTRODUCTION
Neuroevolutionに関する既存研究
8
1. INTRODUCTION
Neuroevolutionに関する既存研究
[J. Koutník, 2013]でのネットワーク構成
ネットワークの重みの数が多い(約100万個)ことが難点
→Compressorで入力の次元を減らしたい
→本論文では、MPCNNを用いてこれを実現する
9
2. MPCNN
MPCNNについて
CNN(Convolutional Neural Network)とは
全結合層からなる一般的なNNとは異なり
畳み込み層(Convolution Layer)とプーリング層(Pooling Layer)
を構成に含むNN
10
2. MPCNN
MPCNNについて ー 畳み込み層とは
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 0 1 0
0 0 1 0 0
例えば以下のように
画像を圧縮して
数字で表したものに…
0 1 0
1 0 1
0 1 0
以下のような
特徴フィルタを
順に掛け合わせていくと
0 3 1
2 3 2
2 2 2
その特徴が
どこに含まれるか
計算できる
このようにして、画像全体にわたって
特徴の一致件数を計算する操作が畳み込み
これを行う層が畳み込み層
11
2. MPCNN
MPCNNについて ー プーリング層とは
プーリングとは、大きな画像を重要な情報は残しつつ縮小する方法
プーリングを行うのがプーリング層
ここでMax-Poolingとは、区切った区画内から
最大値をとるプーリング方法
つまり MPCNN = Max-Pooling CNN
12
3. METHOD:MPC-RNN
提案手法の概要
通常、MPCNNは教師あり学習であり
ラベル付けされた大量の訓練データセットを必要とする
これにはクラス分けに関する先験的知識が必要とされるが、
画像入力のRLにおいては設定が難しい
いずれにせよ、従来のバックプロパゲーションによる学習では
特定のタスクしか学習できない
→提案手法においては、
訓練データセットを用意せずMPCNNを訓練する
13
3. METHOD:MPC-RNN
提案手法の概要
features
RNN-
controller
MPCNN-
compressorEnvironment
action
fitness
Evolutionary
Algorithm
提案手法のイメージ図
14
3. METHOD:MPC-RNN
提案手法の概要
features
RNN-
controller
MPCNN-
compressorEnvironment
action
fitness
Evolutionary
Algorithm
提案手法のイメージ図
MPCNNの学習方法
環境から得られたk個の画像セットから、以下のfitness関数を
最大化するように進化を行う
*Dは下記の各特徴ベクトル同士のユークリッド距離をリスト化したもの
15
実験環境
目的:MPCNNを用いて圧縮された入力で学習した
RNN controllerが、運転を学習できるかどうか
4. VISUAL TORCS EXPERIMENTS
実験の概要
実験環境はTorcs version 1.3.1に基づいて構成される
プログラムの流れは以下の通り
Torcs Car Code (C++)
OpenGLで画像をレンダリング
TORCSのJavaによるラッパー、RNN controllerを含む
(個体評価を行い、適応度を返す)
Client(JAVA)
UDPポート
16
画面は彩度によりグレースケール化され
MPCNNに入力
4. VISUAL TORCS EXPERIMENTS
実験設定 ー ネットワーク構成
17
3次元の特徴を出力
4. VISUAL TORCS EXPERIMENTS
実験設定 ー ネットワーク構成
18
3つのユニットを持つsimple recurrent NN(SRN)
(Turn Left, Turn Right, Throttle/Brake)の操作信号を出力
平均をとりSteering操作
-1:full left lock
1 :full right lock
Throttle ,Brake操作
-1:full brake
1 :full throttle
4. VISUAL TORCS EXPERIMENTS
実験設定 ー ネットワーク構成
19
各RNN個体は0.2秒毎に車の操作を行い、スタートしてから
25秒間走行した結果(=全125タイムステップの操作)を評価される
下の2つのコースを用いて実験し適応度を計算
適応度の小さい方を個体の適応度とする
コース1 コース2(コース1の反転)
4. VISUAL TORCS EXPERIMENTS
実験設定 ー RNNの進化計算①
20
𝑑 :トラックの中心線からの距離
𝑣 𝑚𝑎𝑥:最高速度
𝑚 :累積ダメージ
適応度の計算式:
𝑐は操作信号の累積誤差で、以下の式で計算
スムーズな運転かどうかを評価
個体数100、突然変異率0.8で、筆者らの手法CoSyNE [F. Gomez 08]
を用いて進化計算
[F. Gomez 08] F. Gomez, J. Schmidhuber, and R. Miikkulainen. Accelerated neural evolution through
cooperativelycoevolved synapses. Journal of Machine LearningResearch, 9(May):937-965, 2008.
4. VISUAL TORCS EXPERIMENTS
実験設定 ー RNNの進化計算②
21
4. VISUAL TORCS EXPERIMENTS
実験設定 ー MPCNNの構成
22
MPCNNの更新はRNN controllerの
更新前に行う(オフライン学習)
手動でトラックを一周させた
運転ドライバー視点から
20枚の画像を集め、
反転画像と合わせ40枚の画像を用意
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒更新式:
RNNと同様、個体数100、突然変異率0.8で
CoSyNEを用いて進化計算
終了世代数は300
4. VISUAL TORCS EXPERIMENTS
実験設定 ー MPCNNの進化計算
23
※表の上5つは、TORCS内蔵のhand-coded controller
d[m]:走行距離
vmax[km/h]:
最高速度
4. VISUAL TORCS EXPERIMENTS
実験結果と考察
24
※表の上5つは、TORCS内蔵のhand-coded controller
MPC-RNN controllerは
他のものほど精度が良くない
d[m]:走行距離
vmax[km/h]:
最高速度
4. VISUAL TORCS EXPERIMENTS
実験結果と考察
25
・hand-coded driverは、車の状態(速度など)を
直接観測できる点で強い
・Visual RNNはMPC-RNNよりも精度が良いが、
100万もの重みが必要なうえ、
MPC-RNNでは必要としないエッジの事前処理が必要
MPC-RNN driverとその他driverの結果の差について…
4. VISUAL TORCS EXPERIMENTS
実験結果と考察
26
MPC-RNN driverの挙動について…
・最高速度で直進する局所解から抜けるのに約20世代かかり、
このときの適応度は約150ほど
・その後、左右のハンドル操作を学習し始め、
適応度が一気に300ほどに
・適応度が500近くになれば、スムーズにトラックを一周可能
4. VISUAL TORCS EXPERIMENTS
実験結果と考察
27
40枚の画像に対する、世代数ごとのMPCNNの3次元特徴ベクトル
このような単純な特徴ベクトルによる教師なし学習でも、
安全な運転を学習すること自体はできた
…といえる
4. VISUAL TORCS EXPERIMENTS
実験結果と考察
28
構築したMPC-RNN controllerの汎化性能を、訓練コースと
カーブの半径などが同じである3種のコースで確かめた
結果
※500秒走らせた結果
トラック1では時間内に1周できたが、他は半周程度に留まった
4. VISUAL TORCS EXPERIMENTS
実験結果と考察 ー 汎化性能について
29
5. DISCUSSION
・高次元の画像入力から、冗長な部分を除いた特徴量のみで
運転を学習することができた
・提案手法のMPC-RNN controllerは、他のものと比べ
性能が低く、また汎化性能も高くないため
改善の余地がある
・MPCNNの学習はRNN controllerとは独立に
オフラインで行ったが、オンラインで同時に学習することが
期待される
まとめと今後の課題

More Related Content

Similar to Evolving Deep Unsupervised Convolutional Networks for Vision-Based Reinforcement Learning

[DL輪読会]"Improving Coherence and Consistency in Neural Sequence Models with Du...
[DL輪読会]"Improving Coherence and Consistency in Neural Sequence Models with Du...[DL輪読会]"Improving Coherence and Consistency in Neural Sequence Models with Du...
[DL輪読会]"Improving Coherence and Consistency in Neural Sequence Models with Du...Deep Learning JP
 
深層学習 勉強会 第1回資料(作成途中)
深層学習 勉強会 第1回資料(作成途中)深層学習 勉強会 第1回資料(作成途中)
深層学習 勉強会 第1回資料(作成途中)Shuuji Mihara
 
Yosuke Hoshi U-Net
Yosuke Hoshi U-NetYosuke Hoshi U-Net
Yosuke Hoshi U-NetYosukeHoshi1
 
ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎kunihikokaneko1
 

Similar to Evolving Deep Unsupervised Convolutional Networks for Vision-Based Reinforcement Learning (6)

20150930
2015093020150930
20150930
 
深層学習②
深層学習②深層学習②
深層学習②
 
[DL輪読会]"Improving Coherence and Consistency in Neural Sequence Models with Du...
[DL輪読会]"Improving Coherence and Consistency in Neural Sequence Models with Du...[DL輪読会]"Improving Coherence and Consistency in Neural Sequence Models with Du...
[DL輪読会]"Improving Coherence and Consistency in Neural Sequence Models with Du...
 
深層学習 勉強会 第1回資料(作成途中)
深層学習 勉強会 第1回資料(作成途中)深層学習 勉強会 第1回資料(作成途中)
深層学習 勉強会 第1回資料(作成途中)
 
Yosuke Hoshi U-Net
Yosuke Hoshi U-NetYosuke Hoshi U-Net
Yosuke Hoshi U-Net
 
ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎
 

Evolving Deep Unsupervised Convolutional Networks for Vision-Based Reinforcement Learning