2022年2月18日(金)より,グランフロント大阪ナレッジキャピタル2FのThe. Lab.にて,本研究室で取り組んできた人工知能による音楽ゲームの自動生成のデモ展示を開始しました.このページでは,その研究に至った経緯と技術的ポイントについて詳細を解説します.
2017年の夏,人工知能による音楽ゲーム生成を行う研究として Dance Dance Convolution1 (DDC)が発表されました.チームリーダーである辻野雄大は自分自身もDance Dance Revolutionの実力者であり,音楽ゲームと人工知能を組み合わせたこの研究成果の衝撃は計り知れないものでした.
DDCは,「音楽ゲームの譜面は,音楽の信号波形に対して精密にアノテーションが付与されたデータである」という点に目をつけた点において機械学習(人工知能による特徴量の傾向の学習手法)の研究として画期的でした.一般的に,機械学習では,データに対して意味を持ったラベルを付与し(これをアノテーションと言う),そのデータの傾向とラベルの対応関係を学習していきます.一般的にこのようなアノテーションは人間がデータを見て実施します.DDCを開発したDonahueらは,音楽ゲームの譜面は,そのゲーム特性からして音楽の波形とゲーム譜面の矢印が精密にアノテーションされたデータであるということに気付き,音楽と音楽ゲームの譜面を機械学習に用いる研究データとして活用するアイデアを提示しました.機械学習手法の一種であるニューラルネットワークを用いて,このニューラルネットワークの仕組みである「Convolution(畳み込み)」を名前につけたDance Dance Convolutionという論文を発表しました.
この研究を参考にしつつも,辻野雄大のe-sportsのゲームプレイヤーとしての感性と潜在的な経験知でも「楽しい」と思える音楽ゲームを自動生成するシステムの実現を目指したプロジェクトが始まりました.
1 C. Donahue, Z. C. Lipton, J. McAuley: Dance Dance Convolution, Proceedings of the 34th International Conference on Machine Learning, PMLR 70:1039-1048, 2017.
DDCは,目の付け所としては確かに素晴らしい研究でした.また,音楽ゲームの生成過程を「ステップを置く時間を決める」「ステップの向きを決める」という2種類のサブタスクに分解して整理するなどの神託的なアイデアが説明されていました.
一方で,DDCのデモを使ってみると,論文で述べられていた統計特徴量とは異なり,ゲームとしての楽しさの部分に疑問が残る結果が得られました.例えば,2分間の曲の中で30秒以上ゲームの矢印が出現しなかったり,簡単な難易度であるはずなのに16分音符やジャンプの連続などの難しい要求が出てきたりしました.
DDCの出力結果と,音楽ゲームというコンテンツそのものへの分析を重ねて,我々の研究チームでは
という2点がDDCの出力結果が統計的にはよく見えても,ゲームとして見た場合の楽しさとしては物足りない原因であると突き止めました.そこで,楽しさを担保しつつ難易度を調整するための技術 Dance Dance Adaptation(DDA)2, 3と楽しさの方向性ごとに譜面生成を行う Dance Dance Convolution Clustered(DDCC)4を開発しました.
2 辻野,山西ら:時系列深層学習に基づく難易度間関係モデルを用いたダンスゲーム譜面難易度の自動調整, 情報処理学会論文誌, 59(11),pp.1953 – 1964, 2018年11月
3 山西,辻野: 譜面データ生成モデルの学習装置、譜面データ生成器、及びコンピュータプログラム, 特願2018-099294, 特開2019-201939,2018年5月24日出願, 2019年11月28日公開
4 辻野,山西ら: ダンスゲーム譜面の特性分析とクラスタリングに基づく特徴的な譜面の自動生成,情報処理学会論文誌,61(11),pp.1718-1728, 2020年11月
難易度を調整するための技術として,DDAを開発しました.
我々のチームでは,先行研究DDCの問題点は,簡単な譜面をそのまま音楽から作り出そうとしたことに問題があると考えました.音楽ゲームの譜面を作る上では,難しい譜面を作るためには,目立つ音の部分全てに矢印をおいてしまえば良いのです.一方で,簡単な譜面では全ての目立つ音に対してプレイヤーの操作を要求してしまっては難しくなってしまいます.また,単純に難しい譜面を間引くだけでは,操作数は少なくなる一方で音楽ゲームの楽しさの本質的な特性が失われてしまい,楽しくなくなってしまいます.そこで,音楽とゲーム譜面の関係ではなく,難しい譜面と簡単な譜面の関係を学習する人工知能モデルを構築することにしました.
辻野のゲームプレイヤーとしての知見をフル導入し,難易度が異なる複数のゲーム譜面の特性を分析しました.音楽ゲームにおける異なる難易度のゲーム譜面とは,言い換えれば,同一の楽曲を介して紐付けられた面白さのデザインの学習データとみなせると考えたわけです.
これにより,単なる「機械学習のためのアノテーションデータ」ではなく,音楽ゲームにおける「楽しさを創り出す秘密が込められたデータ」を人工知能モデルが学習可能になりました.
質の違う音楽ゲームの楽しさを人工知能が学ぶためのしくみとして,DDCCを開発しました.
難易度が同じであれば,どのゲーム譜面も同じような性質なのでしょうか?そうであれば,プレイヤーごとに得意な譜面や苦手な譜面はできないはずです.一言に音楽ゲームと言っても,その中で要求されるアクションは異なり,これこそが楽しさの秘密であると考えました.先行研究のDDCでは,こういった「楽しさの質」を考慮せずに,大量のデータを一度に人工知能モデルで学習していました.我々は,ここにも独自の仕組みを取り入れました.
機械学習は,入力されたデータの特性を愚直に学習していくため,学習対象としたデータ自体が異なる性質のものが混合されているとうまく学習できないはずです.これは,例えば高校での学びで数字や計算が出てくるからと言って,「数学」「物理」「化学」を一緒に学ぶことは難しく,科目毎に授業を受けて勉強することと同じです.そこで,学習前の大量のゲーム譜面を譜面の性質を表現する特徴量(例えば,ジャンプの頻度や矢印の出てくる傾向,矢印の出現頻度など)によって分類しました.また,この過程で1譜面しか存在しないような特殊なゲーム譜面(例えば,1曲中ずっとジャンプしか存在しない譜面など)をノイズとして除去しました.これにより,おおよそ同じ様な楽しさの質をもつ一般的なデータ群が用意できました.
この分類されたデータに対して,先行研究のDDCと同様に音楽の特徴量とゲーム譜面の関係性を学習し,自動でゲーム譜面を生成しました.学習前のデータを分類するという単純なことですが,結果として,楽しさの質が追求されたゲーム譜面が自動生成されるようになりました.これも,音楽ゲームのゲーム譜面というコンテンツの特性を真剣に分析した結果から得られた技術のアイデアです.
今回のデモ展示では,これらの技術を組み合わせて様々な難易度で楽しいゲーム譜面を創り出しています.このしくみをDDCC2DDAと呼びます.
DDCC2DDAでは,まずDDCCによって入力された音楽に対して難易度が高いゲーム譜面を生成します.先行研究のDDCよりも,楽しさの質が追求された難しいゲーム譜面が生成されます.
そして,生成された難しい譜面に対してDDAを適用することで,楽しさを担保しつつ難易度を下げたゲーム譜面を生成します.難しい譜面それぞれに対応した簡単な譜面を生成することで,難しい譜面で生成された楽しさは失わないままに,比較的簡単な譜面を生成しています.
これは,ピアノ楽曲などを初心者向けに簡単に編曲し直す作業と似ています.デモをプレイしながら,難しい譜面と簡単な譜面の共通点などを探してみるのも面白いかもしれません.