みなさんこんにちは!HEROZのストーリーへお越しいただきありがとうございます!
HEROZ株式会社で採用担当の「サンペイアヤノ」です。
さて、今回はサンペイ初インタビュー!!!🎉🎉🎉
記念すべき初インタビューはHEROZのスーパーAIエンジニア「川島馨さん」にお話をお伺いしました。
何でエンジニアになったのか?など生い立ちから、先日優勝された将棋AIの世界大会「電竜戦」の裏側まで、ドドンと!内容たっぷりお届けします!
―先日のインタビューでお話しされていましたが、改めてHEROZで担当していることお聞かせください!
(川島さん)エンターテイメント領域をメインにAIエンジニアとして働いています。マネジメントも担当していて、案件進捗や課題の管理もしています。
☖川島馨さん
2019年HEROZ入社。
前職では官公庁系システムのシステムエンジニアとして従事。
2020年11月21日~22日に開催された第一回世界将棋AI電竜戦にて チーム「GCT電竜」として優勝を果たし、世界チャンピオンに。
現在は主にエンタメ業界を対象にAIエンジニアとして従事。カードゲームのバランス調整用AIのプロジェクトで将棋AIのディープラーニングの手法も応用中。
▼前回のスーパーAIエンジニア対談はこちら!
#生い立ち。エンジニアになるまで。
―川島さん、そもそもエンジニアになろうと思ったきっかけってなんだったんですか?
(川島さん)もともとプログラミングが好きで、高校生の時からプログラミングを始めました。趣味でゲームのプログラムを作ったりしていて、大学時代もアルバイトでプログラムを作ったりしてました。
大学時代の研究は電子物理工学で全然プログラミングとは関係なかったんですけど、仕事はプログラム関係にしようと思っていました、そこからエンジニアになりました。
―高校生の時から・・・!高校生の時はどんな活動されてたんですか?
(川島さん)クラブ活動でゲームを作ってコンテストに応募したりしてました、その時はゲームのプログラミングが多かったですね。
#将棋、そして将棋AIとの出会い。
―あとで電竜戦についても詳しく聞かせていただきますが、将棋AIの開発しているじゃないですか。そもそも将棋との出会いってどんな感じだったんですか?
(川島さん)父親の趣味が将棋だったんです。小さいときに父から教わって将棋のルールは知っていました。小学校の時は将棋クラブに入っていたんですよ。その当時はそこそこ遊んでたかな・・・笑
中学校に入ってからはぱったり触れてなかったですね。
―中学校は将棋部ではなく・・・?
(川島さん)そうですね、なのでしばらくは将棋自体にはかかわってなかったんです。将棋AIを作り始めてからはプロの対局を見たりしてますよ。
―HEROZのエンジニアさんは幼少期から将棋に触れている方多いなぁ。
(川島さん)HEROZの将棋強い人たちとは全然関わりのレベルが違いますけどね!笑
―実際に将棋AIとして初めてみようと思ったきっかけはなんだったんですか?
(川島さん)当時、AlphaGoっていう囲碁のAIが結構ニュースになってたんです。その話題がディープラーニングをテレビで取り上げられるきっかけになっていて、それを見て自分も衝撃を受けました。
―その・・・当時というのは?
(川島さん)社会人になってから結構経ってからです、AlphaGoが取り上げられたのが2016年ごろなので、割と最近です。
―そうなんですね!思ってたより最近!
(川島さん)はい。自分が今まで知ってたプログラミングっていうのは、自分が分かっている範囲でルールを作り込んでいくというものでした。
AlphaGoは囲碁の盤面を画像として入力してそれが指し手になるっていう。それって全然プログラミングはしてなくて、ただ画像と差し手のデータを与えたら碁を指せるようになるという。画像を入力して判断できるというのはどういうプログラミングなのか?とものすごく興味を覚えて、そこで論文を読んで作ってみようと思ったんです。それがきっかけでした。
ただ、囲碁の方はいっぱい開発している人がいて今から同じもの作っても面白くないなと思って、将棋は試しているような人は少しだけいたけどまだあまり成果は出てなかった。ここで試してうまくいったら価値があるかな?と思って将棋AIで取り組み始めました。
―実際、将棋とAI将棋って全然違います?(出たー!ド素人質問!)
(川島さん)実は将棋自体はそんなに詳しくないので、将棋の内容はあまり見てないんです。笑
コンピュータ将棋はコンピュータ同士が自己対戦して、より勝つように。強化学習というやり方で勝手にどんどん強くなっていく。より効率を上げるようにするにはどうしたらいいか?というプログラミングは作っていますが、将棋の内容はほとんど見てないのでどう変わってるとかはほとんど分かってないです・・・
―あ、将棋のルール知らなくても強くできるんですね!
(川島さん)そうです、将棋の知識をどんどんプログラムしているわけではないんです。うまく学習させるにはどうしたらいいか?っていうものなんですよね。
―HEROZ=将棋AI!なイメージだから入社してから?とか勝手に思ってましたけど、川島さんはHEROZに入社する前に将棋AIに携わっていらっしゃったんですね!
#電竜戦について。「チームで優勝しました!」
―ここから電竜戦についてお伺いしたいです!改めて、優勝おめでとうございます!
―今回はチームで参加されてたんですよね?
(川島さん)はい、加納さんとチームで参加しました。加納さんは前職の後輩です。
前職の社内でLT大会(5分くらいで技術について発表する場)というのが開催されて、そこで自分がディープラーニングを使った将棋AIをテーマで発表したんです。そこで加納さんも興味を持ってくれて。当時からソフトは別々で開発していたんですが、電竜戦に出る時は新しいハードウエアを使いたかったというのがあって、そのハードウエアは加納さんの方で使うことが出来たので今回チームで参加するということに至りました。
―もともとはそれぞれで出場しようとしていたんですか?
(川島さん)それぞれでエントリーしていました。でも、開発に関してはアドバイスしながら一緒にやっていて、最後に一緒に出場することにしました。割と大会の直前に。笑
―そうだったんですね!今回の電竜戦、第1回大会だったようですが、どんな経緯で参加を決められたんですか?
(川島さん)「世界コンピュータ将棋選手権」という歴史のある大会が毎年1回開催されていて、実際に会場に集まって対戦する大会なんですが、去年コロナの影響で中止になってしまって。
その代わりにオンライン大会が開催されたんですが、その大会の打ち上げで、今後もオンラインの大会やりたいねというのを話した方がいたんです。その方がメインになって、今後も続いていくオンライン大会として立ち上げました。
有志で立ち上げましたが、秋になると開催されていた電王戦(将棋AIの大会)がなくなったので、その代わりということで、コンピュータ将棋協会も賛同して公式大会として開催されたんです。
コンピュータ将棋の開発している人はだいたい、「世界コンピュータ将棋選手権」に出場しているんですよね。そのオンライン大会に自分も参加していて、その大会の後に電竜戦の話が出たので、乗りかかって参加しました。
―大会直後に川島さんが優勝したよ!っていう連絡が来て、大会コメントなどを見てたら【2日目で大逆転勝利!】なんていう印象も受けました。実際に大会はどんな感じでしたか?
(川島さん)1日目はスイス式の対戦方式でくじ運みたいなもので誰と当たるかで順位が決まってしまうところがあって。その順位が2日目の総当たりの順位とは離れていたので逆転、みたいに見えたかもしれないです。
でも優勝するのは全然予想してなかったんです。
―え!そうなんですか?
(川島さん)自分でもこんなに強いプログラムになってたんだ、ってビックリしました。笑
―いざ対局してみて見えなかったものが見えたというか・・・
(川島さん)そうなんです。チームメンバーの加納さんが学習していたモデルが結構よくて、だいぶ強くなっていたんです。自分が作ったプログラムでも決勝には行けたけど、加納さんの工夫をプラスしたことで優勝することが出来ました。
―なるほど!今回、「将棋AIの大会でディープラーニングのソフトでの優勝は初めて」というのも目にしたんですけど、ライバルの方たちとの大きな違いって何ですか?
(川島さん)決勝に残ったチームは他はディープラーニングを使っていなくて、ディープラーニング使って決勝に残ったのは自分の開発したdlshogiを使ったソフトだけなんです。
―すごっ!笑
(川島さん)他にもディープラーニングを試しているチームはあるけどあまり強くなってなくて。その差がなぜ起きているのか?というと、将棋に特化した工夫をいっぱい入れているんですよね。
他のチームは囲碁の手法をそのまま応用しているんですけど、将棋に特化した「詰み」の処理を組み込んでいて。将棋って結構「詰み」が重要だったりするので。
自分で盤面を作っていく序盤では大局観が必要とされるのとは違って、あと何手で詰むっていうのはほとんど読みの世界。詰みの部分だけ特別にディープラーニングを使わずに、詰みの探索をする仕組みを入れているんです。さらに、詰みの状態を正しく学習できるような仕組みも入れていて。そこが大きな違いかなと思います。
逆に、ディープラーニングを使っていない強いソフトはほとんど「読み」だけでプログラムしているんです。ディープラーニングは盤面だけ見てどこがよさそうというのを予測するんですけど、使ってないソフトは一手先をより速く、深く広く読むというので強くしてますね。
―強くするためには技術だけじゃなくて考え方や工夫も必要なんだ・・・改めて、エンジニアさんってすごいですね。
ここでチームメンバーの加納さんからもコメントいただいています!
加納邦彦さん
川島さんと知り合ってから、そろそろ18年になります。
仕事、飲み会の繋がりから始まり、LT大会、技術系同人誌即売会の売り子、将棋AI本の査読、そして、コンピュータ将棋の大会で優勝するまで至りました。コンピュータ将棋の発展の歴史に、ディープラーニングと川島さんが寄与した功績を刻むことができ、ホッとしています。
一期一会の出会いに感謝します。
▲優勝の証。第1回世界チャンピオン、そして「電竜」の称号!かっこいい!
#HEROZに入社して、仕事と趣味が近くなった。結果、スキルアップもできた。
―改めて・・・なぜ転職しようと思ったんですか?
(川島さん)前職の大規模なシステム開発って技術面に関してはかなり保守的なんですよね、他で使用されていて安心して使えるものを採用するので。前職ではディープラーニング、AI関連は特に触れてなかったんですが、自分は技術的な志向が強く、当時はAI技術への興味も強くて、それが大きかったです。
あとは、マネジメント寄りになっていたのでもっと手を動かしたいな、と。笑
―HEROZに入社する前から将棋AIに携わっていらっしゃいましたよね、HEROZに入社してから学んだ技術がプラスになったなどもありますか?
(川島さん)仕事でもゲームAIを作っていて、業務で試したものを趣味の方でも試してみようってなることはあります。会社のGPUが空いてたら使わせてもらえるんですよ、そこでいろいろ実験したりもしました。
―HEROZに入社したのは趣味でやってきたスキルを仕事にも生かしていきたいとお話しされてたと思いますが、実際入社してみてどうですか?
(川島さん)前職はAIとは一切関係なくて。とにかく与えられた仕様のシステムを作るという感じでした。HEROZって仕様は漠然としていて、とにかく強いAIを作りましょう!という感じなんです。自分で考えて作らなきゃいけない。
それは前の仕事より楽しいって感じています。
―ほんとド素人で恥ずかしいんですけど、使用するプログラミング言語って全然違いますよね?
(川島さん)前職の大規模システム開発ではJavaを使ってました。HEROZでJavaは使ってなくて、Python、C#、C++を使っていますよ!
―入社してから勉強したんですか!?( ゚Д゚)
(川島さん)趣味で将棋AI作ってたんで知識はありましたよ。あと、新しいプログラミング言語が出たら触ってみる、というのが習慣だったので大体知ってました。
―さすがです、趣味がきちんと身になっていらっしゃる・・・(脱帽)(趣味が男性アイドル鑑賞のオタクの呟き・・・)
―一番好きな言語は何ですか?笑
(川島さん)C++ですかね。笑 ゲームAI作るにはC++が一番速いプログラムが作れます。
―趣味の領域からHEROZへ入社、そして電竜戦のチャンピオンに。仕事と趣味の両立するにあたってHEROZに入社してよかったことはありますか?
(川島さん)仕事の中で新しい技術に触れるチャンスがたくさんあります。自分の趣味でも新しい技術を覚えることが楽しくてプログラミングもしている感じもあるので。自分のやりたいことと仕事が一致しているのは良いところですね。
―HEROZで働く。環境面はどうですか?
(川島さん)GPUサーバを自由に使えるのはHEROZの魅力だと思います!転職を決断する理由の一つになりました。もちろん、業務が優先ですが空いていれば使用できるのはとても良いです。
あと、前職は残業も多くて、休日出勤もありました。HEROZはみなさんメリハリ付けて働いている雰囲気です、それも働きやすい。就業時間中にとにかく集中して取り組もう、という社風です。
―今後エンジニアとしてHEROZで挑戦したいことはありますか?
(川島さん)今はエンタメ系の領域の案件を担当しているのですが、ゲームAIも何でもかんでもできるわけではないので・・・
もっと高度なプログラミングが出来るようになったら、ゲームの対戦相手としてもっと楽しめるものをユーザーに提供できると思うし、その裏方でものすごい大変なゲームのデバッグ作業もAIが自動でできるようになれば楽になりますし・・・エンタメの産業にもっと貢献していきたいですね。
▲緊急事態宣言下なのでオンラインでインタビュー。画面越し、15:46の川島さんと私。笑
#好きこそものの上手なれ!自分の技術が誰かの役に立ちますように。
―最後に、川島さんの「座右の銘」などありますか?
(川島さん)座右の銘・・・ないんですよね~!かっこいいこと言えたらいいんですが。笑
自分は特に生き方みたいなのを決めているわけではないです。
ただ、興味は技術的なところにあって、学生の時は数学・物理好きで、この世は分からないことだらけだからわかるようにしてやろう!というモチベーションでしたね。
科学って人が積み上げてきたもの。それに自分が新しい何かを付け足していきたい、付け足していければいいなと思っているところがあって。
将棋AIもやってみて、まだ誰もやってないところに自分が関わって少しでも成果を残せたということは嬉しいと思っているんです。自分自身がやって達成感というより、それが誰かの役に立っているんじゃないかな?という。
実際にアプリを開発していて、音楽のアプリで割と人に使ってもらってるんです。音楽の先生に使ってますよ!っていう声を実際にもらったりして嬉しかったんですよね。
―十分かっこいいこと言ってます・・・!
▲実はヒルクライムのご趣味も。趣味のタイムマネジメントが上手すぎる!大会への出場経験もあるそう。好きなものはとことん極めたい川島さんでした!
最後までお読みいただき、ありがとうございました!今後も川島さんのご活躍から目が離せません😲👏
今後もHEROZの「ヒーロー」たちを紹介していきます、お楽しみに!
そんなスーパーAIエンジニアが集うHEROZにご興味ある方はこちらからご応募ください
■募集職種