授業の目的
シミュレーションとは,模擬実験とも呼ばれ,何らかのシステムで働いている法則を推定・抽出し,これを他のシステムやコンピュータなどに組み込んで模擬することである.この授業では,対戦型ゲームを題材にして,ゲームに勝とうとする競技者の頭脳をコンピュータで模擬しながら,人工知能(AI)を支える深層学習,強化学習,探索という3つの技術を学ぶとともに,これらを結合して強いAIをつくるプログラミング能力を身につける.私たちは意思決定を繰り返してさまざまな可能性を秘めた未来へと歩んでいるが,膨大な選択肢の中から強いAIで最良の選択肢を選び出すことで意思決定を支援させて,私たちの社会が抱える課題の解決に向けた一歩を踏み出せるようになる.
到達目標
- 深層学習で複雑な局面から最善の一手を予測させる
- 強化学習で意思決定の経験を自律的に積ませる
- 探索で未来をできるだけ先読みさせる
- 上記の3つの技術を組み合わせたAIを作成して人間と向き合わせる
授業の概要
企業は,リーマンショック以降,短期的な利益を優先した経営から中長期的な持続型経営へと戦略の重点を変えつつあり,一部の企業は,鳥瞰的視野を持って企業経営を含めた社会全体が抱える課題の解決に取り組み始めている.また,クラウドコンピューティングの普及により,これまで一部の企業や研究機関しか利用できなかった大規模な計算資源を,私たちが研究や教育目的で簡単に利用できる環境が整ってきた.
シミュレーションは,実際にシステムを動かしてその挙動や結果を確かめる実験が困難,不可能,または危険である場合に用いられる。たとえば,車両の衝突安全性を検証するために,実際の車両を衝突させる実験も行われるが,コンピュータを駆使して条件を変えながら繰り返し衝突を模擬することによって安全かつ効率的に検証を行えるようになってきている.しかし,実際の実験とシミュレーションの結果が完全一致することは稀であり,両者を近づけるためには,システムで働いている法則を推定・抽出するモデリングと,そのモデルのパラメータを実際に合わせて設定することが必要である.
そこで,まず複雑な法則を正確に推定・抽出してモデリングすることに適した深層学習という技術を学び,次にモデルのパラメータを環境から自律的にデータを取得して設定できる強化学習という技術を学ぶことにする.ただし,深層学習や強化学習には膨大な計算を要するため,シンプルな対戦型ゲームを題材とし,探索と組み合わせて強いAIを短時間で育てられるようにする.この授業で学んだAIプログラミングを駆使して,学生自身が独創的なアプリケーションを作り,作成したアプリケーションに関するプレゼンテーションとデモンストレーションを行う.