見出し画像

アトラエ(AI)将棋部について

こんにちは。ビジネスマッチングアプリYentaでエンジニアをしている岩澤です。
普段はバックエンドエンジニアとしてAPI開発などを行なっているのですが、今日は本業の話ではなく、取り組んでいる将棋AIの作成について話そうと思います。

実はこの話をするのは初めてではなく、DSの勉強会などでも何度か発表をしているのでまたこいつは将棋の話だよ。と思う方もいるでしょう。そんなアンチには負けません。
最近の取り組みを具体的な技術に触れながら紹介します。

元々はDSの勉強会の最終発表で趣味の将棋のAIを作ったのがこの取り組みのきっかけでした。その時はDeep Learningってよくわからないなーくらいのテンションで参考書をみながら作ったのですが、動くものが作れてとても楽しかったのを覚えています。

動く喜びを味わった画像
他のソフトに勝つ喜びを味わった画像

仕組みとしては強化学習を用いて、事前に棋譜から学習させたものと自己対局のみで学習させたものを作成していました。結果はモデルの学習期間も足りず、事前に学習させたモデルが他のソフトには勝てたものの、棋力としては僕よりも弱いくらいのモデルになってしまいました。そこでリベンジを誓い勉強会の後も引き続き将棋AIを作り続けることを決めました。

そして社内の他のメンバーも面白そうだから一緒にやってみようと言ってくれて始まったのがアトラエ(AI)将棋部です。アトラエ(AI)将棋部はWevoxのDSのメンバー2人と僕で構成された3人の部です。各自将棋AIを作成して、知見を持ち寄りながら、AI同士を対決させるのがメインの行事(のはず)です。

変わったこととしては、今まで特に知識もなくただの手探り状態で実装していた僕に様々な知見や理論を教えてくれる仲間ができたこと、そして定期的に開催される将棋大会(通称「将棋wars!」)によってモチベーションが保たれるし楽しいということです。

第1回将棋wars!の様子

まだ強くないAIたちが予期せぬ一手を打ってくる様子を見るのが魅力です。
そんな我が子たちを笑いながら見ている将棋部の面々でした。
(ちなみに手前の明らかに毛量が多いのが僕ですが、AIを動くところまで持っていくことができず人知れず悔しい思いをしています。)

また大きく変わったことがもう1つあります。AIを動かすための環境(PC)です!
僕が1人で作成していたときはGoogle CloudのGCEでGPUのインスタンスを立てて自腹で料金を払っていたのですが、今回の将棋部発足に際してCTOである岡先輩がかなり高スペックのGPU搭載PCを買ってくれたのです!!!
(オフィスの端の方に置いてあるでっかいPCがそれです。社内の方は全然誰も使ってないじゃないかと思っているかも知れませんが、リモートアクセスして使っているので電源消さないでくださいね)

ありがたいことに簡単にGPUを使える環境を整えていただいてGPUの料金の問題は解決したわけです。
しかし次に出てきた問題が環境構築でした。GCEの時も環境構築にはだいぶ悩まされたのですが、自分でCUDAやNVIDIAの環境を整えるのにはだいぶ苦戦しました。PCはWindowsなのですが、Windows上でLinuxを動かすWSL2を使っており、仮想環境上で将棋のGUIを動かす方法にも苦労しました。
tensorflowのGPUなどはDockerのimageを、仮想環境でGUIを動かす方法としてはX Window Systemを使っています。

そしてタイムリーなことに明日、12月16日にもまた将棋wars!が開催されます。本業でDSをやっている先輩たちに勝てる場面はここしかないので明日こそは優勝を勝ち取ってきます!
また僕たちは世界将棋AI大会でもある電竜戦も見据えているのでこれからもこの取り組みは続けつつ日々鍛錬していきたいと思っています。

将棋部として活動を続けているのもこの強化学習という技術が今後のアトラエを躍進させる武器となりうると思っているからです。より強い将棋AIを作る過程で技術や経験を積み重ねていって、今後は将棋という文脈だけでなく事業や会社にとってこの取り組みや知見が役に立つ場面を作ることも将棋部の役割であると考えています。

現状僕はまだ「自分より強い将棋AIを作って指導対局してもらう」という当初の目的は果たせていないのですが、元々データサイエンティストなわけでもないのにこのような取り組みを一緒にやってくれる仲間がいて、それを応援してくれる人たちがいて、そういうところが本当に良い会社だなーと書いていて改めてしみじみと思いました。

そんな株式会社アトラエでは一緒に働く仲間を募集しています。興味ある方は是非こちらのスライドを御覧ください!
最後まで読んでいただいてありがとうございました!!


この記事が気に入ったらサポートをしてみませんか?