話を聞いたらいろいろ出てきそう。ABEJAにはそう思わせる人たちがいます。何が好きで、どんなことが大事だと思っているのか。そんなことを聞き書きしていきます。
大手通信会社を経て、データサイエンティストとしてABEJAに参画している服部 響さん。KaggleやatmaCupなどのデータサイエンスコンペに積極的に参加して活躍しています。
服部さんとAIの関係、コンペとデータサイエンティストの仕事の共通点など、語ってもらいました。
服部:新しい技術が好きです。
子どもの頃、テレビゲームの時間は制限されていたのですが、パソコンだったら自由に触らせてもらえたので、パソコンで遊んでいました。小さい時からプログラミングをやっていたとか、そんなことではないんです。自分でパソコンで何か新しいことをしてみたら、すごく楽しかった。いま思うと、それが新しい技術に興味を持つきっかけだったのかもしれない。
大学ではVirtual Reality(VR)の研究をしていました。もう少し正確に言うと、VRなどの技術を使うことによって人間の力を拡張することや、ヒューマンインターフェイスについて考える研究室に所属していました。
今でこそVRは普及していますが、2010年はVRという言葉はあれど、ほとんど普及していない新しい技術でした。当時はハードウェアが発達しておらず、ゴーグル型のデバイスも重いか、視野が狭いかのトレードオフでした。研究室では視野の広さに関わる研究をしていたので、1〜2キロのものを頭につけて研究していました。重いので、ネジでギュッギュッと止めて固定するんですよ。よく、頭が痛くなっていたなあ。
知識ゼロからスタートした、「麻雀AI」づくり
服部:機械学習を始めたのは、麻雀がきっかけです。実は昔は麻雀ばかりやっていました。「運」の要素と「実力」の要素のバランスが良いところ好きです。
26歳の時に出会ったのが、「麻雀AI」です。「これ、面白そうだな」「自分で作ってみたいな」と思って、麻雀AIを作るために機械学習の勉強をはじめました。
大学時代に統計の授業を受けたことはありましたが、機械学習の知識はほぼゼロの状態からスタートしました。当時、ディープラーニングが流行り始めたタイミングだったので、これは使えるんじゃないかなと思って調べ始めました。
少しづつ調べて勉強して、最終的にはオンライン麻雀を勝手に打てるところまで作りました。ネットゲームのパケットをキャプチャして、それから自分の手持ちの牌を把握できるようにプログラムに落としこみました。その上で、「この場面だったらどれを切るか(不要な牌を放り出すこと)」をAIで計算して決められるようにし、それに合わせてマウスをプログラムで動かしてクリックできるようにしました。
なので、一応「麻雀AI」として成立はしているんですけど、ただ、そんなに強くはなかったですね。普通にやると負けることも多かったのですが、何を切るのかなどは、それなりの精度でできるようになったと思います。
最初に使っていたのは教師あり学習で、麻雀が強い人のデータを使って学習させました。その後、深層強化学習の実装をするなど、いろいろアップデートしています。
毎日仕事が終わった後に家で取り組んで、動くまでに3ヶ月ほどかかっています。 知識ゼロからスタートしたので、結構苦戦したのですが、新しい技術を知るのはやはり楽しかったですね。
「考えて、スコアが上がって、順位が上がる」ゲーム感覚で楽しめるコンペティション
服部:新卒ではじめに配属になった部署では、システムエンジニアをしていました。自分をコードを書くというよりも、ベンダーに委託するための設計や、要件定義をしていました。
ちょうど新卒3年目が終わるタイミングで最初の異動があるのですが、当時すでに麻雀AIをきっかけに機械学習にハマっていたので、機械学習をあつかえる研究所に異動希望を出しました。
研究所では 機械学習以外のアプリ開発などもしていました。機械学習は少しずつ勉強しながら取り組んで、3年経った頃に出会ったのがKaggle(世界最大の機械学習コンペティションプラットフォーム)です。
実は、そのタイミングで子どもができて、育休を3ヶ月ほどいただいたんです。もちろん子育ても忙しいのであまり時間はなかったのですが、何か勉強もしたいなと思い、子どもが寝ている時間などで取り組み始めました。
はじめの頃は全然分からないし、めちゃくちゃ難しかったんですけど、これがハマってしまったんですよね。
分からないなりに勉強して、何か改善したりすると、スコアや順位が上がって、それがすごく楽しくて。ゲーム感覚で、「次はこうやってやろう」「もっと上に行きたい」と思うようになりました。ランキングがあることで、自分が頑張った結果が目に見えて分かるんですよ。
自分のアイディア1つで、順位がパッと上がるんです。「考えて、スコアが上がって、順位が上がる」――このサイクルで脳が刺激されて、ドーパミンが出る感じがします。
Kaggleにはチーム参加とソロ参加(個人参加)の2つがあります。私は両方好きで、それぞれの良さがあります。
チーム参加の魅力は、自分が持っていないアイディアを知れることですね。コンペは苦しい時間も多いので、自分1人だとスタックすることもあります。そんな時にチームだと、ディスカッションして、壁打ちすることが心のはけ口になっていると感じます。最近は、ABEJAのデータサイエンティストチームのメンバーとKaggleに出ました。2チームに分かれて競ったのですが、最後にお互いのチームの振り返りをして、お互いの考え方やアイディアを知ることができて楽しかったですね。
一方でソロ参加の魅力は、マイペースに取り組むことができることです。チームを組む以上はメンバーとして貢献したいんですが、私は時間をかけられないことも多いので、プレッシャーを感じることもあります。マイペースに好きなことを楽しむことができるのが、ソロ参加の良いところです。
Kaggleからスタートしたコンペ参加ですが、最近ではatmaCupのような他のコンペにも参加しています。
Kaggleは2〜3ヶ月など長期開催のものが多いのですが、atmaCupは1日〜2週間など比較的期間が短いです。どちらかと言うと、私は短期間の方が向いているのかなと思います。「限られた時間で戦う」方が性に合っているのでしょうね。
特に、1日開催のコンペだと全員その場に集まってやるオンサイトになるので、使える時間が平等なんですよね。なので、子どもがいても、誰であっても、使える時間がフェアなところが良い。
コンペの課題にもよるのですが、長期間コンペの場合 やるべきことを少しでも多くでもやらないと勝てません。
一方で短期間コンペの場合、いかにキーポイントを押さえるのかが勝敗の分かれ目になります。「このお題でこのデータだったら、このあたりがポイントになるんじゃないか」など、要点を押さえるところが得意ですね。
出題者の意図を考えて取り組んできたコンペの経験が、お客様の課題設定支援に活きている
服部:私は今、ABEJAでデータサイエンティストとしてクライアントのAI活用の支援を行っています。
コンペでいろいろなデータやタスクに触れてきたことが、ABEJAでの仕事にもつながっていると感じています。「限られた時間の中で精度を上げるために何をするべきなのか」を数多く経験してきたことは、お客様の課題を解く時にもダイレクトに活きています。
私がKaggleをやる時に大切にしているのが、「そもそも出題者ってどういう意図でこのデータを出しているのか?」「なぜこの評価指標にしているのか?」など、出題者の意図を考えることです。
ABEJAではデータサイエンティストがコンサルタントやPMと連携して課題設定段階から関わることも多いのですが、そこで感じるのは、お客様自身で課題をきれいに整理できていないケースも多いということです。
そこで、お客様の課題意識を深掘りした上で、「そもそも違うタスクにした方が良いかもしれないです」のように技術的な観点でアドバイスをすることもある。こういう時に、まさにコンペの出題者の立場に立って考えてきた経験が活きていると感じます。
私はただ技術や機械学習をやるのが好きというよりも、「技術と何かを結び付ける」ことや、「これまで技術が適応されていなかったところに技術を適応してみる」ことが好きなタイプです。機械学習に興味を持つきっかけになった麻雀AIや、以前引越しをする際に作った不動産AIも、まさにそんな感じ。
そういう観点だと、課題設定のところから関わることができるABEJAの環境は、私に合っていると感じています。
服部:これからの展望としては、エンジニアリングのスキルを磨いていきたいなと思っています。モデル開発についてはかなり経験を積むことができてきたのですが、やはり作ったモデルは実装されないと意味がない。
チームにエンジニアがいるので彼らにお願いをすることもできるのですが、お客様とつくったアイディアを、モデル化して、実装するところまで一気通貫して自分でできるようにしたいという気持ちがあります。
あとは子どもがいるので、彼の成長が楽しみです。最近はプログラミング教育などが流行っていますが、個人的にはこだわりはないです。
根本的には、プログラミングと、レゴやパズルなどのおもちゃの間に大きな差はないと思っています。自分の頭で「何か作りたいな」と思うものを思い描いて、「こうしてみよう」「今度はこれやってみよう」って試行錯誤をする経験はして欲しいですね。
よくある話になってしまいますが、やりたいところをしっかり伸ばしてあげる環境を用意したいな。やりたいことを見つけるために、「外の世界はこんなに広いんだよ」というのを見せてあげることもしたい。
そう考えると、親である自分自身が、新しい技術をはじめとする色々なことに興味を持っている状態ってきっと大事なんだろうな。
服部 響(はっとり・きょう):大阪大学大学院情報科学研究科卒業。卒業後は大手通信会社に入社。Webアプリの企画・開発を経験した後、趣味で麻雀AIを作ったことをきっかけに機械学習の道に入る。その後業務で、画像認識を用いたアプリの開発や機械学習を用いたユーザプロファイリングに従事。2020年5月にABEJA入社。AIソリューション事業部データサイエンティストを担当。業務の他にもKaggleやatmaCupなどのデータサイエンスコンペに積極的に参加。Kaggle Master。atmaCup3回優勝(2021年7月現在)。
取材・文:高橋 真寿美 撮影:田島 ふみえ
(2021年9月13日掲載「テクプレたちの日常 by ABEJA」より転載)