昨今、ビッグデータへの活用を始め、さまざまな領域で人工知能(AI)への注目が高まっている。そういった動きを感じ取り、AI開発へ興味を持つエンジニアの方も多いことだろう。
そこでレバテックキャリアではAI開発のリアルを伺うべく、「将棋ウォーズ」を始めとしたAI開発で知られる、HEROZ社にインタビューを実施。同社には、「世界コンピューター将棋選手権」で上位入賞を果たした将棋AI開発者が何人も集っている。今回は開発現場を代表して、井口氏・平岡氏に話を伺った。
井口圭一(いぐち けいいち)氏(上記写真右)
HEROZ株式会社 執行役員 兼 開発部長。大学院終了後、大手IT企業に入社し、研究職として約7年間従事。その後、ベンチャー企業にて開発部長を務める。HEROZ代表の高橋氏とは、IT企業時代からの知り合いで、そこからHEROZと関わるようになり、2013年6月には正式入社。現在は、執行役員兼開発部長として、開発プロジェクト全般・HEROZの技術全般を取りまとめる。
平岡拓也(ひらおか たくや)氏(上記写真左)
HEROZ株式会社 人工知能研究者。大学卒業後は、半導体メーカーにて開発に携わる。趣味が高じて開発したソフト「Apery」で、2014年世界コンピューター将棋選手権で優勝を果たす。同年、HEROZに入社。将棋AIの開発で培ったノウハウを活かし、同社のAI開発を支える。
- 1. 井口氏・平岡氏がHEROZへ入社したワケ
- 2. プログラムした通りに動くだけではつまらない
- 3. 将棋AI開発で培ったノウハウの活かし方
- 4. ハードウェアへの理解がAIの性能の秘訣
- 5. HEROZが見据えるAI開発の未来
1. 井口氏・平岡氏がHEROZへ入社したワケ
―お二人がHEROZへ入社された経緯はどのようなものだったのでしょうか?
井口氏:私は大学院修了後、大手IT企業へ研究職として入社し、主にXMLの処理をいかに早くするかという研究を行っていました。7年ほど勤務して、「そろそろ外の荒波の中で過ごそう」と思い、知り合いとゲーム系のベンチャーを立ち上げました。
その後、弊社の代表である高橋とIT企業時代の知り合いだった縁から、彼と関わるようになったんです。もともと私自身もAIに興味があったこともあり、その流れでHEROZへ正式に入社いたしました。
平岡氏:前職では半導体メーカーで開発を行っていました。やっていたことは主に組み込み系の業務で、直接AI開発に関連する経験をしていたわけではないんです。ただ業務に関係する勉強をしていくうちに、スキルアップにもなると思い、ゲーム作りに興味を持ったんですね。
もともと将棋が趣味だったこともあり、コンピューター将棋に手を出したら、そっちの方がどんどん面白くなっていったんです。そうして開発した「Apery」が、2014年の世界コンピューター将棋選手権では優勝することもできまして。そこで知り合った縁でお誘いをいただきHEROZへ入社しました。
―お二人が普段、HEROZで担当されているお仕事はどういったものでしょうか?
井口氏:私も平岡も、今は一緒のプロジェクトをやっています。AIを使った新しいスマートフォン向けゲームを開発中です。
―そこでお二人はどういったことをされているのでしょうか?
井口氏:私はシステムにまつわる部分を全部見ています。システム側の人間として、企画側からあがってきた希望はできるだけ実現してあげたい。無茶ぶりでも代替案を出せるようにしていますね。
平岡氏:私はAIに特化して開発を行っています。具体的にはゲームの部分やAIの思考の部分ですね。業務を行う上で心がけているのは、最初の設計段階から緻密性を意識することです。AI開発については、「コードを簡潔に書く」「高速性を考える」、こういった部分を常に考えていないと、後からではどうにもならないことが多いんですよ。
2. プログラムした通りに動くだけではつまらない
―お二人はなぜAI開発に興味を持つようになったのでしょうか?
井口氏:高校生くらいのとき、プログラムを組んでいくうちに「コンピューター自身が考えて動くもの」を作ってみたいと思ったんですよね。こちらがプログラムした通りに動くだけでは、当たり前過ぎてつまらないじゃないですか。そうではなくて、自動的に学習していくものを作りたいと考えて。
それで、大学でもAI開発に通じる部分があるGA(遺伝的アルゴリズム)の研究を行っていました。これは、生物が進化する仕組みを模倣したアルゴリズムです。生物の進化のように、環境に適したものが生き残り、その生き残りの中からさらに優れたものが生き残る、ということを繰り返していくんです。そうして優れたものだけが残っていくと、最終的にもっとも秀逸なものが残るだろうと。こういうことをシミュレートするのが、GAの大雑把な仕組みです。
平岡氏:私の場合、AI開発が単純に手っ取り早く始められるからでしたね。というのも、最初はゲームを作ろうと思っていたんですが、プログラミング言語の本を読んでもそれらしいものの作り方が出てこなくて。例えばグラフィック周りの技術だったり。今はけっこう簡単なのかもしれないですが。
それで「今知っている知識でできることはなんだろう」と思ったときに、ゲームの中でも賢く動くなどの思考部分に限定したら、ゲームとしての形にすることはできたんですね。そうして、趣味でもあった将棋で、AI開発をするようになって。それでやっていくうちに自分が予想していない動きを見せたりして、おもしろいことがどんどん起きていくのでハマっていきました。
3. 将棋AI開発で培ったノウハウの活かし方
―平岡さんが「Apery」開発で培ったノウハウは、他のAI開発にどのような形で活きているのでしょうか?
平岡氏:将棋AI固有のノウハウは他に応用が効かないのですが、プログラムを書く上での「こういう書き方はコピーが発生して遅い」といったような、根本的なノウハウは開発全般に活きています。他にもコンピューター将棋ですと、今は並列化処理や機械学習がかなり重要になってきていまして、これもAI開発全般に通じる要素です。
こうしたコンピューター将棋で学んだ、“賢く”“速く”動かすためにはどうしたらいいかという技術は、今のAI開発にかなり活きていますね。
―平岡さんお一人で「Apery」を開発されたということは、失敗や苦労もされたのではないでしょうか?
平岡氏:そうですね。「考えたとおりに動かなったときにどう対処するか」というのは、開発する上で当然直面する課題ではありますが、そういった経験を積むことで基礎が鍛えられたと感じています。他にもデバッグの方法だったり、バージョン管理だったりと、一人だと色々とやらざるを得ないので、トラブルに対応する中で試行錯誤したことが勉強になりました。
―井口さんから見て、平岡さんのご経験が活きていると感じるのはどういったところでしょうか?
井口氏:やっぱり他のメンバーと比べても、コンピューターの根本的な要素である「CPUがどう動いているか」を深く理解しているので、その点は明確な強みだと感じますね。最近のエンジニアには、「プログラムは書けても、CPUの動きまでは理解していない」という方が結構いらっしゃるんですよ。
4. ハードウェアへの理解がAIの性能の秘訣
―HEROZ社の強みはどういったところでしょうか?
井口氏:やはり将棋AIでは一番強いかなと。将棋AIでは「いかに一手でも深く早く読むか」が重要なんですが、「指し手の探索を速くする」「CPUの性能をフルに発揮する」といった部分ではウチに利があると考えています。
平岡氏:ちょっとかぶりますけど、AIの性能ですかね。社内には、コンピューター将棋の世界大会で上位の成績を収めている人間が自分も含めて複数名いますし、なかなか他では真似できないレベルのAIの強さを実現できていると思っています。
あとは一般的に、コンピューターと対戦するというのは、対人戦と比べるとあまり面白いものではなかったりしますが、そこを面白くできるのも弊社ならではのノウハウでしょうか。
―そういった強みを発揮できている要因をどのようにお考えでしょうか?
平岡氏:私の場合ですと、コンピューター将棋の世界で成果を出すといったように、なにか1つを突き詰めてやるということが大事だと感じています。
井口氏:社内にも仕事以外でこっそりAIを開発している人間がいるんですよ。「いつまでも平岡さんをトップにはさせない」と言うくらい野心を持っていて。彼も研究家肌で物事を突き詰めていくタイプです。
あとは、その彼も含めて、AI開発を行っているメンバーはみんなコンピューターそのものが好きですね。表面的なところだけでなく、CPUのように一歩深いところまで。
平岡氏:そうですね。パソコンでいうと、「新しい機種が出た」といった話題ではなく、「Intelが新しいCPUを出して、キャッシュがいくら増えて~」といった雑談をしています(笑)。
というのも、「この機能を実現するためにはメモリがどのくらい必要で~」「試したいアルゴリズムがあるけど、ハードウェアのここが足りない。でも、次のやつなら実験できる」といった具合に、パソコンを使う上で明確な目的があるからなんですよね。
―「将棋ウォーズ」では、「Apery」を始めとした強い将棋AIとも対局できますが、普通の棋力のユーザーとAIとの対局を成り立たせるためのレベル調整はどう行っているのでしょうか?
井口氏:いくつかある中で一番簡単なところでいうと、考える時間を短くしているんですよ。持ち時間をフルに使えば深いところまで手を読めるんですが、早い段階で読むことを打ち切ってその中で一番良い手を指すといった形で調整しています。
他の例でいうと、練習モードの一番弱いレベルでは逆読みを行っています。これは一番悪い手を探すということをさせていますので、負けるのが難しいレベルになっています。
あとは楽しんでもらうという点では、botごとに特徴を持たせたりもしていますね。例えば「玉」が前に行きたがる「KingPona」や、「玉」が全くうごかない「Hashipona」などです。こういった、人間同士だとまずやらないような動きをしつつも、ある程度の強さを備えていることで、AIと対局することの面白みを持たせています。
―なるほど。それでは人間とゲームAIの理想的な関わり方とはどういったものでしょうか?
井口氏:昔からのAIに対する要求なんですが、やはり対戦相手としての役割はずっと求められていますよね。
平岡氏:「将棋ウォーズ」でいうと、人数が多いので大体は人間同士でマッチングするんですが、もし誰もいなくてもコンピューターならいつでも対局できますしね。
あとは、やはり人を楽しませてナンボだと思います。強い人間だとなかなかやってこないようなケレン味のあることでも、コンピューターには命令すれば何でもやらせることができる。いつでも同じ局面を何回でも繰り返すといった対局の仕方でも、コンピューターにやらせたらいい。人のやりたがらないことでも率先してやるというのが、AIに求められるものの一つでしょうね。
5. HEROZが見据えるAI開発の未来
―強さを追求するという点で、ゲームAIにこの先ブレイクスルーが起こるとしたら、何がファクターとなるでしょうか?
平岡氏:ハードウェアの進歩が起これば確実に伸びはしますね。それに伴ってアルゴリズムも全部変わったりしますので、一気にAIの性能が変わるでしょう。
井口氏:将棋でしたら、将棋盤が9×9マスなんで81bitのレジスタが標準になったらめちゃくちゃ処理速度が上がるでしょうね(笑)。それはまずないので、次に何かが起こりうるとしたら128bitのレジスタが来たら、でしょうけど。
平岡氏:ハードウェアの進歩は鈍化している傾向がありますので、そこは長い目で見ています。それにハードウェアの問題だけだと自分たちのやることがなくなっちゃう(笑)。
将棋AIでいうと、機械学習の導入が一つのブレイクスルーになりましたけど、そのときも劇的に他よりも強かったわけではなくて、ギリギリの勝負だったんですね。実はブレイクスルーっていうのは意外となかったかもしれない、とも言えます。
この先も、毎年少しずつ機械学習の精度を上げていって段々と強くなっていくという感じで、ブレイクスルーというほどのことは起こらずに進化していくのかもしれないですね。
―ゲームAI以外では、どういったAI開発を行っているのでしょうか?
井口氏:現状では、まだ方向性を探っている段階ですね、個人的にはフィンテックやヘルスケアでの活用が気になっています。そういった領域で、すでにサービスを始めているベンチャーが色々とありますが、AI開発のエキスパートとして、新しいところには負けないようにしたいですね。
最近だと、“データだけ乗せればAIが動きますよ”といったAI用のプラットフォームを提供している企業も出てきています。便利ではあるので実験の時には使わせていただいたりもしていますが、うちでやるならC++を使って高速で動く本気のモノを作ろうとは思っています。
平岡氏:僕はゲームから離れるのは当分先になりそうです。ゲームはなかなか奥深くて、将棋以外にもゲームって色々な性質を持っているんですよね。
将棋AIはプロ棋士に迫るほどになりましたが、研究の余地がある分野はたくさんあります。将棋同様に、理論上は完全解析が可能な囲碁でもAIは研究されていますが、依然として人間の方が上なんです。
他にも、例えば確率が絡むゲームだったり、複数人が協力・対戦するゲームだったりすると、手を加えていかなければならないところが一気に増えるんですよ。最近では、会話型の心理ゲームである「人狼」でもAIが登場しましたが、まだまだ人間とコンピューターとの間には、高い壁があります。
そういったところでいうと今は、確率が絡んだゲームのAI開発にすごく興味がありますね。将棋のように、ゆらぎのない、理論上の正解が決まっているという性質のものは、現実にはあまりないんですよね。確率が絡んだゲームAIの開発では、現実世界に応用が効きやすい部分が多いと思っていて、面白みを感じながら取り組んでいます。
―その他にはどういった領域に注目していますか?
平岡氏:興味がある領域でいうと、車の自動運転は気になりますね。画像認識の力が上がれば、進路上に人がいたら自動的に止まる仕組みを作れます。経路の選択についても、他の車と協調しつつ適切な判断をしてくれたら、効率も上がってエネルギー削減にもつながるはずです。将来的に楽しみな部分は多いだろうな、とか興味だけはありますね(笑)。
―HEROZで現在、実際に研究されている分野には、どのようなものがあるでしょうか?
井口氏:流行りのところでいうと、Deep Learning(ディープラーニング)は、いま取り組んでいて、ゲーム等にも活用できないか探っています。あとは今まで探索問題をやってきましたが、数値最適化、分類問題の分野にも研究を広げていきたいと考えています。
私や平岡などが所属している人工知能研究部では、人工知能革命をおこすことをミッションとしていて、こういった課題やAIのさまざまな分野への応用に取り組んでいます。
平岡氏:私は、今のゲーム開発に限っていえば、UCT探索などの探索アルゴリズムですかね。あとは、機械学習は個人の趣味としてやっています。
―お二人がお考えになる、AI開発における今後の課題とはどのようなものでしょうか?
井口氏:何かを自動化するためのAIを作りたいと思ったときに、そこでの問題が何なのかを機械が理解できる形にしなければいけないんですよ。その部分をこれまで何十年も人間が行っているんですが、これをもっと簡単にできるような形にしたいと考えていますね。もっとも、完全に解決してしまうと我々の仕事もなくなってしまうんですけど(笑)。
平岡氏:画像認識でいうと、これまでは、例えば猫の画像を見分けさせたいと思ったら、猫の画像はこういう特徴がある、ということをAIに教える必要がありました。そのためには、機械に分かる形での特徴を、人間があれこれ試行錯誤しながら見つけなければならなくて。最近ではディープラーニングのおかげで、画像の特徴抽出までコンピューターがやってくれるようになりつつあります。
楽にはなったんですが、時間がかかるのも事実です。ですので、高速に動くためのアルゴリズムだったり、並列化処理だったりと、そういった部分に興味を持っています。
並列化でいうと、CPUだけでなく、画像を扱うための並列化に特化した演算器のGPGPUだったり、ハードウェアで作った回路を自由に変更できるデバイスのFPGだったりと。そういった機器を駆使すれば高速化できる問題があるんじゃないかと、ハードウェアと絡めた部分には色々と可能性を感じています。
―最後にお二人の今後の抱負をお聞かせください。
井口氏:フィンテックを早く事業化したいと考えています。現状はまだ、何か成果が出ないか試行錯誤している段階ですが、事業化できれば大きな成長が見込めますので、何とか形にしたいですね。
はやりのフィンテックですけど、よそと我々とではAI開発の基盤が違う、というものを見せたいですよね(笑)。
平岡氏:私はエンジニアなので、実際に目の前の問題を1個ずつ解決していきたいですね。今はゲームを作っていますので、例えばどんなに複雑なゲームでも賢く動くAIの開発だったり、解決していった経験を基に、別の分野に広げていければいいなと思います。
レバテック営業担当「町野史宜」から一言!
コンピューターへの意欲がHEROZ社のAI開発・研究の源
HEROZ社はゲームAIで有名な企業でしたので、インタビュー前はゲーム好きの方が集まっていると思っていました。ですが、実はみなさんコンピューターそのものが好きであり、それこそがAI開発の秘訣と聞き、非常に興味深かったです。また、“人の手を煩わせていたことをコンピューターが取って代わるようにしたい”と、お二人ともAIの10~20年先まで見据えて開発に取り組んでいるということも印象的でした。