モリカトロンAIラボGAMEゲームMUSIC音楽ARTアートTECHNOLOGY先端技術SCIENCEサイエンスTAGモリカトロン株式会社運営「エンターテインメント×AI」の最新情報をお届けするサイトです。Slackゲーム業界で急速に存在感を増してきたAIエンジニア。中には新卒でAIエンジニアに採用されるケースも見られます。今回の座談会では、mynet.ai、スクウェア・エニックス、モリカトロンAI研究所の若手AIエンジニア7人が一同に集合。前後編2回に分けてお届けする本シリーズの前編では、彼らがゲームAIに関心を持つようになった学生時代からの背景や、入社後の勉強のしかたなどについて語り合いました。——自己紹介も兼ねて、これまで手がけられた業務を教えてください。髙井央司氏(以下、髙井):mynet.aiのデータサイエンティストの髙井と申します。新卒2年目で、1年目はソーシャルゲームの離脱予測のAI制作などに携わりました。2年目の今年はポップアップ広告のABテストを行うAI開発で、プロジェクトリーダーをつとめています。他にもデータサイエンティストとして、さまざまなデータ分析に携わっています。渡邊貴也氏(以下、渡邊):同じくmynet.aiの渡邊と申します。新卒1年目なので、まだそこまで業務に深くかかわっているわけではありませんが、画像解析をベースとした異常検知のAIを作りました。ユーザーがそれまで辿ってきたWebページの遷移を分析して、機械学習で分類するといったシステムを作っています。里井大輝氏(以下、里井):スクウェア・エニックスの里井です。新卒3年目で、コンソールゲームで使用されるキャラクターAIの開発と、新規技術の研究開発という2つの仕事を担当しています。ハーツIII』のボス戦におけるキャラクターAIの開発などですね。他にキャラクターがゲーム内で移動する際に使用されるミドルウェアの運用サポートなども行っていました。後者ではゲーム中のプレイログをもとにゲームの状況を動的に変化させる仕組み、いわゆるメタAIについて研究開発を行ったり、製品への実装をサポートしたりといったことを行いました。馬淵浩希氏(以下、馬淵):モリカトロンAI研究所に2019年4月、新卒で入社した馬淵と申します。これまでAlphaZeroでボードゲームを攻略するプログラムを書いたり、ロボット玩具「toio」で使用される専用モバイルアプリ「ウロチョロス」でビヘイビアツリーを組んだりしました。竹内将氏(以下、竹内):同じく新卒の竹内です。馬淵と同じく、AlphaZeroのボードゲーム学習AIや、「toio」の開発に参加したりしました。この2件については、この4人のメンバー全員が参加しています。他に細かいところだと、電気通信大学でボードゲームのAI研究をされている研究室にお伺いして、講演サポートなどをしました。AIエンジニア)銭起揚氏(以下、銭):同じく新卒の銭です。学生時代に自動運転技術の研究開発を行ったので、その経験をいかして「toio」の運動制御を担当しました。今はマルチエージェントの強化学習について基礎研究を進めつつ、ゲームAIへの応用の可能性などについて、試行錯誤しています。本間翔太氏(以下、本間):同じくモリカトロンAI研究所の本間です。ゲーム会社でプログラマーとして働いていましたが、学生に戻って大学院に進学しました。大学院ではゲームと認知負荷の研究をしていました。去年卒業して、現在はモリカトロンでゲームAIエンジニアとして働いています。「ウロチョロス」の開発では、エージェントアーキテクチャーに基づいたAI開発や実装などを行いました。他にゲームAIについて基礎研究をしています。僕は35歳の時でしたが...。髙井:大学は医療系で、検査技師の資格を取るための勉強をしていました。大学院では睡眠と神経の研究が専門で、マウスの解剖をしたり、注射を打って効果をしらべたりと、AIとは全然関係ない分野だったんです。6年間勉強したところで、あまり医療に興味がないとわかりまして。自分にとっては医療行為ではなく、行動がデータで可視化される点がおもしろかったんですね。そこで、これをキーワードに就活を進めたところ、ソーシャルゲームに出会いました。プレイヤーの行動がすべてプレイログで可視化される点が新鮮で、弊社に入社したという流れです。そのため、AIについても入社後に知りました。データの分析に興味があり、その延長としてAIや機械学習が面白いなと思った感じです。渡邊:中学生のころにゲームが好きで、本を読みながら簡単なゲームを作ってみたのが、AIについて知ったきっかけでした。その後コンピューター界隈で自然言語処理が盛りあがる中、コンピューターと会話することに興味が湧いてきて、大学で自然言語処理について研究しました。大学院に進むとニューラルネットワークなどが盛りあがりを見せていて、研究室ではGANで画像を生成したり、音楽の自動生成をしたりしていましたね。ゲームが好きだったこともあり、ゲームと人工知能で何かできないかなと思って、ここに至るという次第です。AIリサーチャー)里井:AIという単語自体は小中学生くらいから知っていました。最初からゲームAIの仕事をしたいと思ったわけでなくて、ゲームを面白くするための技術開発に興味がありました。そのためジャンルについては、あまりこだわりを持ってなかったですね。大学院に進んだのも同じ動機で、学部3年の時に同じ学科の友人達と、玩具を作ってイベントに出すような活動を趣味でしていました。Meetingといっていましたね。そこで自分たちが出展した玩具を、家族連れの来場者がすごく喜んでくれたんです。そこで人を楽しませるような仕事がしたいと思いました。大学院に進学したので、技術開発という視点で貢献したいなと思ったんです。その上で大学院の研究テーマが、魚の生き物らしさの再現でした。実は映画『ファインディング・ニモ』に登場する魚たちの動きは、アニメーターが手付けで作っているんです。魚はモーションキャプチャーできませんからね。それってめっちゃ大変じゃないですか。すごくいっぱい種類があるうえ、泳ぎ方もまったく違います。そこで、それをプロシージャルで自動生成することが研究テーマでした。研究していくうちに魚の思考回路をモデル化する、フィッシュAIを作るアプローチに落ち着いたんですよ。いう流れもあって弊社でもゲームAIのチームに配属されることになりました。して振り返ってみると、意外とつながっていましたね。馬淵:自分がAIを意識するようになったのは、大学院時代でした。プログラムを始めたのは学部時代で、物理のシミュレーションをするためでした。自分が所属していた研究室では流体力学、特に海面の波に関する研究をしていました。流体に関する方程式に非常に難しく有名な方程式があるのですが、大学の先生から「流体に関する方程式を解くために、ディープラーニングが使われているらしい」と聞き、ちょっと勉強してみようかなと思いまして。個人的な勉強を通して、AIがすごく面白いなと思うようになっていきました。いざ仕事にするとなった時、医療や自動車など、人の命を扱う業務は自分にはしんどいなと。やるならエンターテイメントの方かなと思い、この業界に来たという感じです。竹内:自分は昔からゲームを遊ぶのが好きでした。いっても、普通にプレイするだけじゃなく、競技性が強いゲームについて考えるのが好きなんです。FPSなども好きでしたし、カードゲーム大会に出場したりもしました。そこでも上級者のデッキ構築や、上手い人がどんなことを考えながらプレイしているのかについて、考えたり調べたりするのが好きでした。Starのようなプロを負かすようなAIが出てきたことで本格的に興味をもったような感じですね。自分でも勉強がてら何か作ってみたいなと思い、ポーカーの戦略をゲーム理論的に学習するアルゴリズムを、論文を読みながらPythonで実装しました。それを弊社の就職面接で提出したら、内定がもらえました。銭:昔からオープンワールドのゲームが好きでしたが、興ざめするところもありました。『グランド・セフト・オートV』では、絶対に警察に見つからないトンネルがあるんです。それだと、つまらないじゃないですか。このゲームにディープラーニングを組み込んで、警察が学習するようにしたらどうだろう・・・。そんなふうに考えるようになったのが、AIに興味を持つようになったきっかけです。その後、大学院で自動運転の研究を行いました。そこでも強化学習を応用したいと思いましたが、いろいろ制限が厳しいことがわかりました。強化学習では試行錯誤が必要で、たくさん失敗させることが重要ですが、現実世界ではそれが難しい。さまざまな面白いAI手法と応用を研究したいならリアルな世界から遠ざかる方がいいかなと思い、ゲームAIをやろうと思いました。AIエンジニア)本間:AIを意識し始めたのはゲームの開発現場で、2015年のことでした。当時、3Dアクションのモバイルゲームを作っていって、キャラクターAIを担当していました。当時、日本語で読めるAIの技術書がほとんどなくて。CEDECでもゲームAIのセッション数は、それほど多くありませんでした。その一方でセミナールームはどこも超満員で、人が溢れていたほどでした。そこで「ゲームAIの需要は高いけれど、AIの重要性について企業は気づいていないのではないか?」と感じたんです。その後、大学院に進学した時も、日本ではゲームに関係する研究室がマイナーな存在で、ゲーム研究がほとんど進んでいないことがわかりました。業界研究を進めるうちに、開発現場でもスクリプトベースのAIと、機械学習などを用いたAIに深い溝があることがわかり、「これはチャレンジングな状況だぞ」と感じるようになりました。そこで、ぜひこの分野に挑戦してみたいなと思い、ゲームAIエンジニアになったという流れですね。AIエンジニア)——まだまだ日本語環境下での勉強資源が少ない中、どういう風に勉強されたり、研究を深めたりしていますか?髙井:僕は先ほどお話したように、入社してからAIについて勉強しました。福利厚生の一環で、AIを学べるサービスが無料で使えたので、まずはそれを活用し基本的なことを学びました。その後プロジェクトに入ってからは、本を読んだり、先輩に聞いたりして、必要な知識や学びを深めていった感じですね。それと並行して、有志でAI学習チームを作って毎月ミーティングを行い、進捗状況を共有したり、互いに教え合ったりしていました。渡邊:基本的なところは髙井と同じですが、結局は論文を直接読むのが早いと思います。そこで、できる限り最新の論文を読んで情報を溜めこんで、仕事でそれを応用するということをしています。実際、別の業界の別の事例をもってきて、ちょっとやり方を変えてゲームに応用することが、すごく多いと思います。その上で実際に社内で使ってもらって、フィードバックを得て、さらに改良を重ねて...というサイクルを踏むようにしています。その中で自分自身も学んでいくという感じでしょうか。ちなみに弊社の新人研修では、SIGNATEも使用しています。実際に使われているビッグデータをもとに、各自で最適と思われるアルゴリズムを提案し、その完成度を競い合うというサービスです。これを新人研修の一環として行っています。他に、社内の先輩に対して自分の調べた手法をもとに提案し、フィードバックをもらって知識を深めつつ、引き出しを増やしたりしています。最近はGitHubなどで公開されているソースも多いので、非常に便利ですね。里井:新人研修ではゲームAIの基礎に関する講義がありました。メンター役の先輩のAIエンジニアから洋書を渡されて、内容を読むなどの課題を提示されたりもしました。Pro』シリーズなどです。AIチームのリーダーの三宅は社内でゲームAIの勉強会を毎週開催しているので、そちらでも知識を得ていきました。具体的なことはプロジェクトに配属された後に、先輩のエンジニアに聞いたり、すでにあるものを参考にしたりして、自分で作ることが多かったですね。そのため、あまり体系的に勉強したわけではありません。AIエンジニア)馬淵:入社前に「こういった本を読むと良い」「こういったライブラリが使えるようになると良い」といった提示はありました。それも含めて、基礎的なスキルは独学で身につけたという感じですね。入社後は基本的に自由にやらせてもらっています。機械学習などをしている人たちのコミュニティをSNSなどでフォローして、そこから流れてくる情報をもとに、こういうことが使えるんじゃないかな、みたいなことを会社の人たちと共有して、実際に試してみるという感じです。髙井:オススメのTwitterアカウントなどはありますか?馬淵:普段の業務から積極的に機械学習をしている会社のAIエンジニアさんは、いろいろ情報を流してくれるので、おすすめです。興味深い技術や論文などを紹介したり解説したりしてくれているので、助かっています。竹内:強化学習を中心にいろいろ勉強中ですが、内容としては3段階ぐらいに分けられるなと感じています。基礎になる解析や統計などの数学的な部分と、「DQNでCartPoleを動かしてみた」などの実験的なレベル。このうち中間層は日本語で読めるブログ記事などがたくさんあります。実装」などで調べると、たくさん記事がヒットしますから。その一方で基礎的な数学の部分や、最新の論文の情報は、体系的にまとまった日本語のリソースが少ないように感じています。基礎的な部分だと、Suttonの『強化学習』みたいなものが挙げられるでしょうか。最新の論文は直接英語で読むようにしています。その上でわからないところを、その都度ネットで調べたり、論文を遡ったりして、補完している感じですね。髙井:勉強の時間は業務内にとれるんですか?竹内:はい、ばりばり業務内にやってますよね。銭:自分が入社した時はカリフォルニア大学バークレー校のCS294という有名なAIの無償学習コースがあり、そこで強化学習について勉強しました。今は毎朝会社に来て、Twitterで新しい論文が投稿されたか調べるのが日課です。おもしろい論文だったら概要を確認して、Slackでシェアしたりしています。僕にとっては英語も日本語も、どちらも外国語なので、やはり一次資料である英語の論文を読みます。キャラクターAIなどを強化学習で行うのは、まだまだ難しいのが現状です。そのため、常に最新の論文をチェックしています。髙井:最新の論文じゃないとダメだなと実感するところはありますか?銭:そうですね。AIのgymのような、シンプルな世界です。この課題においては、アルゴリズム自体がひとつのボトルネックになっています。そのため、実際のゲームに応用するには最強のAIアルゴリズムを追い求めるのが重要なんです。基礎研究者ではない自分たちエンジニアは、将来強いアルゴリズムが出現する際にすぐそれを発見して応用できるようになるため、常に新しい論文に関心を持って、知識と敏感性を備える必要があるかと思います。Modelなどに注目しています。本間:僕の場合も独学がメインですが、入社後は他のメンバーが読んでいる論文の内容がある程度共有されているので、ぐっと論文を読むのが楽になりました。この論文のポイントは何なのか。いったことに応用可能なのか。した話を先に聞いてから読むと、理解が深まりますからね。その上で基礎的な論文と、ゲーム産業で使用されている応用論文、そしてゲームの隣接分野ということで、ロボティクス系の論文を中心に読んでいます。聞き手:森川幸人/構成:小野憲史2020.02.07[編集部]:記事の一部を修正しました。