simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

勾配降下法とユーティリティーベースAIのパラメータ決定

ユーティリティーベースAIの作り方について、とても分かりやすい記事を見つけました。
moon-bear.com

筆者のくろくまさんは、ユーティリティベースAIの評価関数の作り方について、明確に次の問題点を指摘しています。

しかし困ったことに「こうすればいい」というような決まりはない

ひいてはゲームAI全般に言えることですが、パラメータの決定を AI ディレクターなる立場の方が試行錯誤や勘に頼って行っているのが現在のゲーム業界です。
大手メーカー各社、ほか医療関係の業界では人の命にかかわる製品が多いため、必ず事故が起こらないようにパラメータを解析的に決定するようにしています。(経験的に決めた値が使われることもあるかも、必ずは言い過ぎ)

解析的に決めるという手法ですが
具体的には、ゲーム中にキャラクターを人間が動かして行動ログを取り、その人間の行動ログと適当なパラメータで決定したAIの行動ログの差を誤差として
誤差最小化の枠組みでパラメータを変動させながら決めるというのが、一般的なアプローチです。

5年前にこのような発言がゲーム業界に投げかけられたことがあったのですが
だれもが「そんな難しいことできません。開発工数にそういった高度な試みをする余裕がない」という回答を持って、聞き入れませんでした。
そして、現在も行われていません。

しかし、近年 GDC などのゲーム国際会議の議題レベルでは、Deep Learning をはじめとする機械学習のツールを活用したゲーム開発効率や作品の質向上について語られるようになってきました。
経営権を持つ上層の人たちも、こうした情報元を通じて、大量の行動ログとAIの行動ログの差を最小化する手法(一般的な機械学習のスタイル)について、見識を持ち始めています。

5年前と違って、今こそAI ディレクターが試行錯誤や勘に頼って頑張っている作業を機械化し、より高品質なユーティリティーベース、またはゲームAIが作れるようになる時代だと考えています。

すべては飽きがなかなか来ない愛せるほどの面白いゲームを作るため
ゲーム業界で大量のログを持て余している方の目にとまったならば、その人間のログとAIのログの差を最小化する手法を試そうと調べてみるのはどうでしょうか?

関連する、約3年前の私の記事です。

誤差は順調に減少していくと思いますから、そうなったとき好ましい結果を返すAIになってくれると良いですね。

simplestar-tech.hatenablog.com