プロジェクト報告書 Project Report

提出日 (Date) 2017/01/18

AI するディープラーニング
AI Love Deep Learning
AI するディープラーニング

AI Love Deep Learning

1014041 福田大知 Daichi Fukuda
1 背景と目的活動を進めてきた. グループ A ではディープラーニングを使用して, プロ野球のキャッチャーを模倣するという近年, ディープラーニング (深層学習) が大きく注目ことを目的として野球の配球の予測システムの開発, グされ話題となっている. その大きく注目されたきっかけ

ループ B では深層強化学習を使用して, 人間の操作よりとして, 画像処理の大会である ImageNet Large Scaleも速く走ることのできる人工知能の開発を目的としてそVisual Recognition Challenge 2012 (ILSVRC2012) にれぞれプロジェクトの活動を進めてきた.

おいて, ディープラーニングを用いたグループが従来の手法での画像認識のエラー率を 10 ％近くも改善したと

2 課題設定のプロセスと課題設定いう結果が出た [1] ことが挙げられる. このことから

本プロジェクトでは, 前期にどのようなものを作成す

ディープラーニングは近年, パターン認識の分野においるかを決定するために, メンバー全員で事前にディープて優秀な成績を挙げている手法として広く認知されてラーニングを用いた先行研究を調べ, さらに共有した.

いる.

それを踏まえプロジェクトでやりたいことのブレインス

また, ディープラーニングを用いて, 人間の認知や思考を模倣する例が増加している. 例えば, Google 社が開トーミングを行い, 各自で興味のあるキーワードを挙げ,大方の方針を決定した.

発した Google Brain では Youtube にアップロードさ

そこで強化学習班と教師あり学習班の 2 つのグループれている動画から猫について学習し, 人の手助け無しでに分かれて, それぞれのグループで教員からのネガティ猫の概念を学んだ [2]. さらに DeepMind 社が開発した

ブなことを考えずに議論を続けるというアドバイスを

囲碁プログラムの Alphago は, 当時世界ランク 4 位の参考にして, やりたいことで現実味のある案をメンバー

プロ棋士相手にハンデ無しで勝利することに成功していで出し合った. また, プロジェクトの活動時間中は過去る [3]. さらに, アウディなどの自動運転車のシステムのに活動した内容を確認したり, 教員からのアドバイスや一部に利用され, 車に搭載されているカメラからの画像次週までの課題を確認するために, 議事録の執筆を徹底を用いて周囲の状況を判断し無人でサーキットを走行すした.

ることに成功している.

2.1 配球予想班のシステム

ディープラーニングとは画像などのデータから特徴を2.1.1 システムの作成判断し答えを予測するために必要な特徴を学習するとい配球予想プログラムを開発するにあたり, プロのキャう仕組みであり, 画像等の特徴の判断において何層ものッチャーを模倣する人工知能を開発することを目標とし深いネットワークを用いているためにディープという表た. 既に配球予想を行うプログラムがないかを調査した

現が使われている.

ところ, ランナーがいない等といった状況を指定した配本プロジェクトでは, ディープラーニングなどの機械球予想プログラムを発見したが, 本グループで開発する学習を使用して, 人間を模倣, また人間を超越するシスような全ての状況を考慮した配球予想プログラムは発見テムの開発を目的として活動することとした. また, 本することは出来なかった. よってデータ収集から配球予

プロジェクトはグループ A とグループ B の 2 つのグ想を行うプログラムを 1 から開発することとなった.

ループに分かれ, それぞれ目的を立ててプロジェクトの2.1.2システムの実装

配球予想プログラムを開発するにあたって, 配球予想
グループでは配球予想という概念を, ストライクゾーンを 9 分割ボールゾーンを 16 分割し, どのコースに投げるかを予想する 25 値分類の問題と定義した.
本来, 配球とは捕手が指示する球種やコースの組み立てのことであるが, 今回のプロジェクトではコースのみを予想することに決定した.
配球予想を行うために必要なデータとして, 話し合いの結果以下のようなデータが必要であると考えられた.

• 打者のコース別打率• プロ野球公式戦の過去の配球のデータの取得を行った.

• 打者の名前• ランナーの有無• ボールカウント• 投げたコース• 球種• 捕手の名前• 投手の名前
これらのデータを 2016 年に行われたほぼ全試合から取得し, ファイルにまとめた. 当初は取得した全てのデータをディープラーニングに学習させ配球を予想させていたが, 精度向上の為必要なデータを判断し取捨選択

また, 配球予想を行うプログラムに用いる手法をグしたところ, 最終的に打者のコース別打率, ボールカウループでの話し合いの結果, 以下のような手法が適してント, 一球前のコースの 3 つのデータを用いて, 配球をいると考えた.

予想するプログラムの開発を行った. さらに, 前期では

• SVM
• ディープラーニング

2 値分類であったのに対し, 後期ではどのコースに投げるのかという 1 点の予想にさせるために 25 値分類に変更したが, 予想の精度が上がらず, 方法を 25 値分類から前期においては, 配球予想を行うために必要なデータ

縦を 5 値分類で予想させる処理と横を 5 値分類で予想を収集するグループと, SVM を用いて配球予想を行うさせる処理を独立に行って組み合わせることで, ある 1プログラムを開発するグループに分かれて作業を行っ点を予想させる方法に切り替えた.

た. 必要なデータを収集するに当たって, goo 一球速報

2.1.3 結果

[4] とデータで楽しむプロ野球 [5] の 2 つのウェブサイト

開発した配球予想プログラムの正答率は約 10 ％程度からデータを収集することに決めた. まず前期ではデーだった. この結果の良否を判断するために, 相対的に比タで楽しむプロ野球から, 打者のコース別打率をウェブ較が出来るようなデータを調査したが発見することは出スクレイピングを用いて収集し, 整理して csv ファイル来なかった. そこで, 比較対象としてランダムフォレスにまとめるプログラムを開発した. その後そのデータをトを用いた配球予想のプログラムを開発した配球予想の入力し, その打者のコース別打率からどのコースに投げプログラムと同様に縦と横でそれぞれ 5 値分類させてるべきかを判断するプログラムを SVM を用いて開発しある 1 点を予想させるものにして実装した. また, 野球た. しかし, このプログラムの問題点として以下のよう

歴 9 年のグループリーダーが一試合の配球を予想し, そな意見が挙がった.の正答率を出し, その結果と比較することとなった. そ• コース別打率から判断しているので, 単純に打率が低いところにしか投げるべきであると判断してしまう• ボールカウントの概念がないため, ボールゾーンにしか予想しないの結果, 表 1 のようにランダムフォレストの正答率は約8 ％程度, グループリーダーの正答率は約 5 ％程度となり, 開発した配球予想プログラムの方が正答率が高いと言う結果が出た. よってアマチュアの野球選手よりもプロのキャッチャーの配球を予想することが出来ていると言える. これらの結果から, プロのキャッチャーを模倣

そこで, 後期は goo 一球速報からデータを収集し, 実する人工知能を開発するという目標に対し, 完全にプロ際の試合の配球を学習させ, 配球を予想させることにしのキャッチャーを模倣することはできなかったものの,た. そのため一球速報のページを解析し, 以下のデータある一定の成果を収めることが出来たと考える.

縦横 5 分割ランダムフォレスト

25 分割

学生

縦方向27%

24%

×23%

横方向30%

25%

×28%

25 分割

10%

8%

7%

5%

表1

出力結果の比較• 学習を効果的に行うための報酬の設定
また、課題のための総合的な到達目標を以下のように設定した.

• グループメンバーとカーエージェントがそれぞれ単独でコースを 1 周し, カーエージェントがグループカーエージェント班のシステム

2.2
2.2.1

システムの作成

人間が完璧に推定できない問題に対し, 人工知能がどメンバーの最速タイムよりも短いタイムでコースを1 周する.のような解を提示するか観測するという目的で, 深層

前期では, 効率よく課題を解決するために Python 班,学習と強化学習を組み合わせた, 深層強化学習を用いてUnity 班の 2 つの班に分かれ, Python 班はネットワー人工知能を開発した. 深層強化学習を用いた例として,

クの作成, Unity 班はネットワークに送信するための報

DeepMind 社が開発した Deep Q-Network(DQN) があ酬も含めたレースゲームの環境の作成を主に行った. まる. DQN は自動でゲームを学習し, 攻略することがでた Python-Unity 間の通信機能の実装を行った.

きるシステムであり, ゲームのルールを教えなくても,後期では, 前期の活動の反省を踏まえてこれからの作どのように操作すれば, 高得点を目指すことができるの業の方針の見直しを行った. また, 学習環境を Unity かかを学習することができる. しかし, DQN の問題点とら TORCS というオープンソースのカーシミュレータして以下の 2 つが挙げられる.に移行することに変更した. その理由として gym-torcs• 報酬を得るまでに時間がかかる問題では効果的な学習を行うことができない• 環境のうち直接観測することができない部分の情報を完全には予想することができないという強化学習用の TORCS が公開されたこと, 前期の活動から画像を用いて学習を行うことが困難であると判断し, 画像の取得を行う必要がなくなったこと, ネットワークの構築と学習環境の再構築を同時に行うことが今学期中には難しいと判断したことが挙げられた. さらに,これらの問題を踏まえて, 視覚的に学習の過程がわか環境を TORCS に移行し TORCS 内で取得することがりやすいレースゲームを用いて, 人間が操作するよりもできるセンサ値を入力として設定したため, 深層強化学

速く走行することのできるカーエージェントを開発する

習ネットワークの実装に重点を置き, いくつかの手法のこととなった.

検討を行った. 手法の検討を効率よく行うために, 2 人 1

2.2.2

システムの実装

前述の DQN の 2 つの問題の解決のために前期と後期で以下のように課題を設定した.

組の班で 3 グループに分かれ, 各グループで別々の手法の検討を行った. 手法は, 各グループがそれぞれ調査を行い, より効果的に学習できるであろう手法を検討して実装した.

前期

2.2.3 結果
• Unity での学習環境の開発• Experience Replay, Fixed Target Q-Networkの実装• 学習を効果的に行うための報酬の設定• Long Short Term Memory(LSTM) を用いたネットワークの実装

前期では Python,Unity を用いて行動の判断, 学習を行うネットワークと実際にエージェントが行動し学習を行うレースゲーム環境を実装したが, 学習が成功することはなかった.
ま た, 後 期 で は, Asynchronous method, Deep Q-

Network, Long Short Term Memory の 3 種類の手法を単純な Cart-Pole において実装を行った. Cart-Pole とは, 台車 (Cart) 上の棒 (Pole) を鉛直上向きに振り上げ後期て静止させる制御を強化させるゲームである. その後に

• TORCS での学習環境の開発・実装

3 種類の手法をそれぞれ用いたエージェントを TORCS

のオーバルトラック上で走行させ, 十分に操作の練習を

http://baseballdata. jp

したグループメンバーとラップタイムの比較を行った.

[6] Volodymyr Mnih, Adri Puigdomnech Badia,用いた手法の中でも, Asynchronous method[6] を適用

Mehdi Mirza, Alex Graves, Timothy P. Lillicrap,したエージェントは, 十分に学習させるとほぼ理想的なTim Harley, David Silver, Koray Kavukcuoglu.

走行ラインを滑らかに走行することに成功した. 十分にAsynchronous Methods for Deep Reinforcement

操作を練習したプロジェクトのグループメンバーのそれ

Learning.

ぞれの最速ラップタイムと比較すると, エージェントはIn ICML, 2016.

グループメンバーの中で最速であった 1 分 37 秒 36 というタイムよりも速い, 1 分 37 秒 27 というタイムを記録した.

3 展望
本プロジェクトの将来の拡張性として, 配球予想班は,当初の目標として掲げていたリアルタイムでの配球の予想結果をウェブ上で公開することで, 全世界のプロ野球ファンが楽しめるようなコンテンツになると考えている. また改良の方向性という点で, 配球予想班では, コースだけの予想ではなく投手が投げる球種も予想することが挙げられる. さらにレースゲーム班は, 2 月に行われる秋葉原発表会に向けて, 単純なコースだけでなく複雑なコースや, 走り慣れたコースではなく初めて走るコースであったり, 複数台での競争を行えるような更なる開発を行うことが挙げられる.

参考文献[1]「All results」,
http://imagenet.org/challenges/LSVRC/2012/results.html.
[2]『nikkei BP net』, 2016 年 3 月 31 日,「囲碁 AI「アルファ碁」が世界トップ棋士に勝利の衝撃！ 進化する人工知能」,

http://www.nikkeibp.co.jp/atcl/matome/15/325410/032800202[3] Le, Q. , Ranzato, M. , Monga, R. , Devin, M. ,Chen, K. , Corrado, G. , Dean, J. , and Ng, A.
Building high-level features using large scale unsupervised learning.
In ICML, 2012.
[4] プロ野球速報,
http://sports.goo.ne.jp/baseball/npb/[5] データで楽しむプロ野球,