Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Deep Q-Networkに基づくRCカーの
運転制御学習と報酬設計
Driving Control Learning and Reward Designing
of RC cars Based on Deep Q-Network
北海道大学...
研究背景
Deep Q-Network(1
Deep LearningをQ学習に適用したもの
• 先行研究
Preferred Networks” Autonomous robot car control
demonstration in CE...
Deep Q-Networkの応用可能性
•複雑な環境を学習できる
•複数のロボットの動作について学習できる
応用可能性を拡張
-さらに複雑な環境
• 外部からの命令
-同時に複数の問題に対処する必要がある
• 高速な動作を行うロボット
-意思...
実環境システム
走行コース
石膏ボード
5. 88 × 7.84𝑚2
使用カメラ
Baumer
VLG24
コースの対角上に二つのカメラを配置
制御用PC
Alienware
仮想的コース
交差点の入換可
OpenCV 画像変換
色領域
抽出 ...
課題設定
1エピソード:走行開始から
コースアウト、衝突、90秒経過まで
評価指標
①コース内で安全な走行
1エピソードの走行距離
②可能な限り速い走行
1エピソードの平均速度
③交差点でのルート選択
交差点のルート選択正解率
○入力
速度(0...
学習システム
実環境システム
行列計算ライブラリ(TensorFlow)
Deep Q-Networkの実装
1エポック=1千エピソード
ボルツマン分布に従い、
エピソードを選択
分散ファイルシステム(NFS)
ニューラルネット(NN)の
モデ...
Deep Q-Network
使用パラメータ
ドロップアウト率0.5
活性化関数 Relu
最適化方式 RMSProp
Learning Rate 0.000025
Gradient momentum μ 0.95
Target Network...
報酬設定
重み付き報酬和を学習に用いる
Rsum =
R 𝑐𝑜𝑢𝑟𝑠𝑒 𝑜𝑢𝑡 (コースアウト)
R 𝑐𝑎𝑟 𝑐𝑜𝑙𝑙𝑖𝑠𝑖𝑜𝑛 (RCカー同士の衝突)
𝑎 𝑠𝑝𝑒𝑒𝑑 𝑅 𝑠𝑝𝑒𝑒𝑑 + 𝑎𝑙𝑖𝑑𝑎𝑟 𝑅𝑙𝑖𝑑𝑎𝑟 + 𝑎ℎ𝑎𝑛𝑑𝑙𝑒 𝑅ℎ𝑎...
予備実験 報酬パラメータの探索
要因 水準 1 2 3 4
Γ 割引率 0.8 0.85 0.9 0.99
𝑎 𝑜𝑟𝑑𝑒𝑟 50 80 100 150
R 𝑐𝑜𝑢𝑟𝑠𝑒 𝑜𝑢𝑡 -1 -20 -50 -100
𝑎 𝑠𝑝𝑒𝑒𝑑 30 50 60 ...
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0 5 10 15 20 25 30
速度[m/s]走行距離[m]
ルート選択正解率予備実験 結果
A order ...
カリキュラム学習
段階的に学習内容の難易度をあげる方策
第一段階 単機走行
コース上を走行することを学習する
第二段階 停止車追加
コース以外の障害物の認識を学習する
第三段階 二機走行
実際に走行している他RCカー1台の認識
第四段階 四機走...
0
1
2
3
4
5
6
7
走行距離[m]
0
0.2
0.4
0.6
0.8
1
ルート選択正解率学習実験
・単機走行ではすべての指標で向
上が見られ、正しく学習が進んでい
る。グラフでは伸び代が見られる。
・停止車追加後の走行距離は減少...
実験結果の検証
左(大) 1301.175
左(中) 1288.968
左(小) 1295.663
直進 1202.536
右(小) 1276.650
右(中) 1179.750
右(大) 1287.849
停止 45.140
左方向に進むと停...
まとめと今後の展望
• 単機走行では3つの評価指標について正常に学習が進んでいることが
確認された
• 停止車を追加すると走行距離が増加しない
→ルート選択を重視した運転制御
• 単機の走行のみに適したパラメータになってしまった
→カリキュラム...
Upcoming SlideShare
Loading in …5
×

ogawa_b

1,802 views

Published on

Published in: Technology
  • Be the first to comment

ogawa_b

  1. 1. Deep Q-Networkに基づくRCカーの 運転制御学習と報酬設計 Driving Control Learning and Reward Designing of RC cars Based on Deep Q-Network 北海道大学 工学部 情報エレクトロニクス学科 情報工学コース 複雑系工学講座 調和系工学研究室 小川一太郎 1
  2. 2. 研究背景 Deep Q-Network(1 Deep LearningをQ学習に適用したもの • 先行研究 Preferred Networks” Autonomous robot car control demonstration in CES2016”(2 • 複数ロボットの学習 • 複雑な環境の学習 1)Volodymyr Mnih, Koray Kavukcuoglu, David Silver,at el, “Human-level control through deep reinforcement learning” Nature, 14236, pp.529—533 2)Preferred Reserch “CES2016でロボットカーのデモを展示してきました” https://research.preferred.jp/2016/01/ces2016/ 複数のRCカーが衝突しないで走行 指定ルートの走行 2
  3. 3. Deep Q-Networkの応用可能性 •複雑な環境を学習できる •複数のロボットの動作について学習できる 応用可能性を拡張 -さらに複雑な環境 • 外部からの命令 -同時に複数の問題に対処する必要がある • 高速な動作を行うロボット -意思決定に時間がかけることができない -伝達手段が必要になる ①コース内で安全な走行 ②可能な限り速い走行 ③交差点でのルート選択 RCカーの運転制御 本研究で取り上げる 3
  4. 4. 実環境システム 走行コース 石膏ボード 5. 88 × 7.84𝑚2 使用カメラ Baumer VLG24 コースの対角上に二つのカメラを配置 制御用PC Alienware 仮想的コース 交差点の入換可 OpenCV 画像変換 色領域 抽出 射影変換 機体番号,位置,方向 緑,黄の組み合わせ 8cm,8cm,6.5cmの 三角形 位置推定 パーティクルフィルタ 位置,方向を推定 粒子数2000 粒子重み付け: dx,x座標の観測値との差 dy,y座標の観測値との差 dd,方向の観測値との差 運転制御 1/10RCカー Raspberrypi3 基盤の作成 PWMでモーター制御 約6.67fpsで動作 w i = exp(− 1 1600 𝑑𝑥2 − 1 1600 𝑑𝑥2 − 25 4 𝑑𝑑2 ) カメラ1撮影範囲 カメラ2撮影範囲 カメラ2位置 4
  5. 5. 課題設定 1エピソード:走行開始から コースアウト、衝突、90秒経過まで 評価指標 ①コース内で安全な走行 1エピソードの走行距離 ②可能な限り速い走行 1エピソードの平均速度 ③交差点でのルート選択 交差点のルート選択正解率 ○入力 速度(0~1.5)[m/s] 加速度(-0.5~1.0)[m/𝑠2 ] 角速度(-2.6~2.6)[rad/s] 角加速度(-1.3~1.3)[rad/𝑠2 ] 過去3ステップのステアリング 過去3ステップのアクセル 方向と目標ルートとの誤差(-π~π)[rad] コース検知用ライダー(0~4)[m] 他RCカー検知用ライダー(0~4)[m] ○出力 内容 ステアリング アクセル 左(大) 左30度 ON 左(中) 左22.5度 ON 左(小) 左7.5度 ON 直進 0度 ON 右(小) 右7.5度 ON 右(中) 右22.5度 ON 右(大) 右30度 ON 停止 0度 OFF RCカー中心から発するライダー コース境界検知用(青点) 他RCカー認識用(緑点) 外部からの制御命令 RCカーの進路を決定する RCカーの方向と 目標ルートとの誤差 θ 入出力の内容を決定し、RCカーの運転制御の評価方法を決定する 5
  6. 6. 学習システム 実環境システム 行列計算ライブラリ(TensorFlow) Deep Q-Networkの実装 1エポック=1千エピソード ボルツマン分布に従い、 エピソードを選択 分散ファイルシステム(NFS) ニューラルネット(NN)の モデルの保存 実機を用いた学習ではエピソードの収集と学習を交互に行うと時間がかかる 別々のコンピュータでエピソードの収集と学習を分離し、同時に行う 学習システム エピソードの 保存 デスクトップPC RC R-XG GPU×4 Edition データベース(MySQL,MySQL workbench) 専用のテーブルを作成 エピソード内容,エピソードの走行時間,ID,実験番号 エピソード内容 ステアリング出力,アクセル出力,予備,予備,コースアウトまたは衝突,交 差点での目標方向,交差点のルート選択,入力 MySQL workbenchによる表示 NNのモデルの更新 6 推論を 行う
  7. 7. Deep Q-Network 使用パラメータ ドロップアウト率0.5 活性化関数 Relu 最適化方式 RMSProp Learning Rate 0.000025 Gradient momentum μ 0.95 Target Network 3千回で更新 Q学習にDeep Learningを組み合わせたもの QテーブルをNNで置き換えることによって多くの状況に対応する 行動決定 ε-greedy ε=0.1 初期化 オートエンコーダ 各層200回学習 中 間 層 4 ( 2 0 0 )速度 加速度 角速度 角加速度 過去のステアリング(3) 目標方向 コース用ライダー(56) 他RCカー用ライダー(56) 過去のアクセル(3) 入力 中 間 層 1 ( 5 0 0 ) 中 間 層 2 ( 4 0 0 ) 中 間 層 3 ( 3 0 0 ) NN構成図 中 間 層 5 ( 7 0 ) 出力 左(大) 左(中) 左(小) 直進 右(小) 右(中) 右(大) 停止 𝑎𝑐𝑡𝑖𝑜𝑛 − 𝑣𝑎𝑙𝑢𝑒 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛 Q∗(s,a) = max 𝜋 𝐸 𝑟𝑡 + 𝛾𝑟𝑡+1 + 𝛾2 𝑟𝑡+2 + ⋯ 𝑠𝑡 = 𝑠, 𝑎 𝑡 = 𝑎, 𝜋 𝑙𝑜𝑠𝑠 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛 𝐿𝑖 𝜃𝑖 = 𝐸 𝑠,𝑎,𝑟,𝑠′ ~𝑈(𝐷)[(𝑟 + 𝛾 max 𝑎′ 𝑄 𝑠′ , 𝑎′ ; 𝜃𝑖 − − 𝑄(𝑠, 𝑎; 𝜃𝑖))2 ] θ:Q-network paramater Volodymyr Mnih, Koray Kavukcuoglu, David Silver,at el, “Human-level control through deep reinforcement learning” Nature, 14236, pp.529--533 7
  8. 8. 報酬設定 重み付き報酬和を学習に用いる Rsum = R 𝑐𝑜𝑢𝑟𝑠𝑒 𝑜𝑢𝑡 (コースアウト) R 𝑐𝑎𝑟 𝑐𝑜𝑙𝑙𝑖𝑠𝑖𝑜𝑛 (RCカー同士の衝突) 𝑎 𝑠𝑝𝑒𝑒𝑑 𝑅 𝑠𝑝𝑒𝑒𝑑 + 𝑎𝑙𝑖𝑑𝑎𝑟 𝑅𝑙𝑖𝑑𝑎𝑟 + 𝑎ℎ𝑎𝑛𝑑𝑙𝑒 𝑅ℎ𝑎𝑛𝑑𝑙𝑒 + 𝑎 𝑜𝑟𝑑𝑒𝑟 𝑅 𝑜𝑟𝑑𝑒𝑟 (𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒) ①コース内で安全な走行 • コースアウトの回避 • 他のRCカーとの衝突の回避 • 蛇行運転の回避 • コース中央で走行 R 𝑙𝑖𝑑𝑎𝑟= 1/9 × 9 min (݉ܽ‫/)݈݊݁ݎ݈ܽ݀݅,ܮݔ‬maxL 𝑐ℎ𝑎𝑛𝑔𝑒 𝑡𝑖𝑚𝑒𝑠 = 直前2ステップのハンドル変更回数 Rℎ𝑎𝑛𝑑𝑙𝑒 = m𝑖𝑛 𝑐ℎ𝑎𝑛𝑔𝑒 𝑡𝑖𝑚𝑒𝑠, 2 maxL[m] 16𝑥2 + 𝑦2 = 1 16𝑥2 9 + 𝑦2 = 1 maxL0=0.25 maxL1=0.267 maxL2=0.343 maxL3=0.609 maxL4=1 maxL5=1.276 maxL6=0.849 maxL7=0.731 maxL8=0.75 22.5度 ②可能な限り速い走行 • 停止の回避 R 𝑠𝑝𝑒𝑒𝑑 = v m s ③交差点でのルート選択 • 目標ルートに旋回 θ Rorder = (1 − |𝜃| 20 × 1 15 ) (|𝜃| < 20°) 14 15 (1 − |𝜃| − 20 160 ) (|𝜃| ≥ 20°) ルート選択 8 R 𝑐𝑜𝑢𝑟𝑠𝑒 𝑜𝑢𝑡 R 𝑐𝑎𝑟 𝑐𝑜𝑙𝑙𝑖𝑠𝑖𝑜𝑛
  9. 9. 予備実験 報酬パラメータの探索 要因 水準 1 2 3 4 Γ 割引率 0.8 0.85 0.9 0.99 𝑎 𝑜𝑟𝑑𝑒𝑟 50 80 100 150 R 𝑐𝑜𝑢𝑟𝑠𝑒 𝑜𝑢𝑡 -1 -20 -50 -100 𝑎 𝑠𝑝𝑒𝑒𝑑 30 50 60 80 𝑎𝑙𝑖𝑑𝑎𝑟 0 -30 -50 -70 予備実験コース 実験 γ 𝑎 𝑜𝑟𝑑𝑒𝑟 𝑹course out 𝑎 𝑠𝑝𝑒𝑒𝑑 𝑎𝑙𝑖𝑑𝑎𝑟 1 0.8 50 -1 30 0 2 0.8 80 -20 50 -30 3 0.8 100 -50 60 -50 4 0.8 150 -100 80 -70 5 0.85 50 -20 60 -70 6 0.85 80 -1 80 -50 7 0.85 100 -100 30 -30 8 0.85 150 -50 50 0 9 0.9 50 -50 80 -30 10 0.9 80 -100 60 0 11 0.9 100 -1 50 -70 12 0.9 150 -20 30 -50 13 0.99 50 -100 50 -50 14 0.99 80 -50 30 -70 15 0.99 100 -20 80 0 16 0.99 150 -1 60 -30 L16直交表でパラメータ探索調査対象 それぞれ100万エピソード学習 性能評価:20エピソードの速度、走行距離、ルート選択正解率 各水準で平均を求める。 割引率と4つの報酬の重みを調査し、 実験に用いるパラメータを決定する。 単機走行で実験 9
  10. 10. 0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 5 10 15 20 25 30 速度[m/s]走行距離[m] ルート選択正解率予備実験 結果 A order R course out A speed A lidarγ 進路追従率を重視 走行距離を重視 採用水準を用いた報酬和が決定した Rsum = −100 (コースアウト) −200 (RCカー同士の衝突) 50𝑅 𝑠𝑝𝑒𝑒𝑑 − 70𝑅𝑙𝑖𝑑𝑎𝑟 −3𝑅ℎ𝑎𝑛𝑑𝑙𝑒 +150𝑅 𝑜𝑟𝑑𝑒𝑟 (𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒) 10 すべての指標で 最適 走行距離 進路追従率 を重視 走行距離 進路追従率 を重視
  11. 11. カリキュラム学習 段階的に学習内容の難易度をあげる方策 第一段階 単機走行 コース上を走行することを学習する 第二段階 停止車追加 コース以外の障害物の認識を学習する 第三段階 二機走行 実際に走行している他RCカー1台の認識 第四段階 四機走行 複数の他RCカーの認識を学習する カリキュラム学習の段階設定 単機走行 二機走行 Yoshua Bengio, Jerome Louradour, Ronan Collobert, Jason Weston “Curriculum Learning” ICML '09 Proceedings of the 26th Annual International Conference on Machine Learning” Pages 41-48 停止車例停止車追加 11 本研究の範囲
  12. 12. 0 1 2 3 4 5 6 7 走行距離[m] 0 0.2 0.4 0.6 0.8 1 ルート選択正解率学習実験 ・単機走行ではすべての指標で向 上が見られ、正しく学習が進んでい る。グラフでは伸び代が見られる。 ・停止車追加後の走行距離は減少 していることが読み取れる。 ・二機走行では全ての指標が減少 している 仮説 走行距離よりもルート選択正解率 優先する運転制御が行われている 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 0 1000000 2000000 3000000 4000000 5000000 速さ[m/s] 学習回数 近似曲線は累乗近似を採用した 単機走行 停止車 二機走行 実験 コース 12
  13. 13. 実験結果の検証 左(大) 1301.175 左(中) 1288.968 左(小) 1295.663 直進 1202.536 右(小) 1276.650 右(中) 1179.750 右(大) 1287.849 停止 45.140 左方向に進むと停止車と衝突するが、 最大価値の出力が左(大)である コースアウトによる減点を回避することより ルート選択報酬を受け取ることを 重視した運転制御を行う事がある 出力(Q) 目標ルート 停止車追加時の最終NNを用いて 出力を調査した 走行車 停 止 車 進 行 方 向 13
  14. 14. まとめと今後の展望 • 単機走行では3つの評価指標について正常に学習が進んでいることが 確認された • 停止車を追加すると走行距離が増加しない →ルート選択を重視した運転制御 • 単機の走行のみに適したパラメータになってしまった →カリキュラム毎に適したパラメータの設定 14

×