Kaggleを通して学んだスキルを社会や顧客に還元していく

  • AI/IoT/RPA

写真左より HCM事業部 製品企画開発部 櫻井亮佑、Xイノベーション本部 AIトランスフォーメーションセンター 大森悠矢

機械学習やデータ分析の実践の場として拡大を続けるコミュニティ「Kaggle(カグル)」。
モデルの精度を競うコンペティション(以下コンペ)や分析ノウハウの情報交換を行うディスカッションなど魅力的なコンテンツが揃っており、世界中から13万人以上のデータサイエンティストが参加しています。

ISIDからも若手エンジニアが積極的にKaggleに参加。チームや個人でコンペに挑戦しています。
今回は「Kaggle Expert※1」であるXイノベーション本部 大森悠矢とHCM事業部 櫻井亮佑の二人にKaggle参加へのきっかけや、印象に残るコンペ、データサイエンティストとしての今後の展望などを聞きました。

機械学習やデータ分析を実践できる世界最大級のコミュニティ「Kaggle」

— Kaggleとはどういったものか簡単にご説明をお願いします。

大森:Kaggleとは、機械学習やデータ分析を実践できる世界最大級のコミュニティです。学習コンテンツや実行環境が無料で提供されており、興味があれば誰でも機械学習やデータ分析を体験できるのがKaggleの魅力の一つです。
中でも有名なコンテンツが、お題に対して予測精度を競い合うコンペ。主催する企業や研究所が上位の解法に賞金を支払う形式で、扱う領域は医療・マーケティング・金融・化学など多岐にわたります。コンペには世界中から参加者が集まるため、非常にハイレベルな争いが繰り広げられます。順位によって「金メダル」「銀メダル」「銅メダル」といった実績がユーザーに付与され、メダルの数と種類に応じて「Grandmaster」「Master」「Expert」といった称号を獲得することができます。

櫻井:純粋にゲーム性を求めて楽しんでいるユーザーもいれば、称号を得ることで就職活動において箔を付けたいというユーザーもいますね。Kaggleは教育コンテンツや、実際に分析に活用できるコードも充実しているので、技術力を高めるために参加している人が多いのではないでしょうか。

Xイノベーション本部 AIトランスフォーメーションセンター 大森 悠矢

— お二人がKaggleに参加するきっかけとなったのはどういったことだったのでしょうか。

櫻井:そもそも私が機械学習に興味を持ったのは、大学4年の頃です。
法学部だったのですが、卒業論文を書かなければいけない時期になって、「どうにか省力化できないか」と考えたんです。それで、もともと趣味でやっていたITの知識・ノウハウを生かしてAIで卒論を書いちゃおうと。
不純な動機ですね(笑)。結果的には卒論は自力で書いたのですが、それをきっかけに機械学習の分野にのめり込み、現在まで勉強しています。

大森:Kaggle参加のきっかけも確か、大好きなチョコレートからでしたよね(笑)

櫻井:そうですね、私はチョコレートやウイスキーが大好きで。そのデータセットを見て分析しようと思ったのがKaggleに参加したきっかけです。チョコレート・ウイスキーの味や成分、産地、評判などを集めたレーティングデータセットがあるんですよ。それを見ながら「このウイスキーはこんな味わいなんだ」と考えるのが楽しかったんです。

大森:私は大学時代にAIを学んでおり、大手人材会社と共に企業レコメンドのアルゴリズムについて研究をしていました。新卒のときは外資系ITベンダーに就職したのですが、やはりAIに携わりたくて、AI人材を積極的に採用していたISIDに転職したんです。
転職した当時は配属された部署も少人数で、実装するのも独自のノウハウでやることが多くて少し苦労しました。それならばと、技術力を磨くために世界中のデータサイエンティストが集まるKaggleに参加しようと思ったんです。様々なアルゴリズムの使い方や実装コードの書き方を学んで、力をつけて、社内でもシェアして還元していければいいなと。

失敗も成功も全てのチャレンジが成長につながる

— そうして、お二人ともKaggleに参加することになったのですが、印象に残っているコンペはありますか?

大森:私は最近参加したアメリカで行われるバスケットボール大学リーグの試合結果を予測するコンペですね。他のコンペと違って、事前にモデルを開発し、予測結果を出しておいて実際の試合で正誤がわかるというものでした。
これまでで一番真剣にバスケットボールの試合を観戦しましたね(笑)

— モデルの開発はどのように進めたのですか?

大森:今回のコンペは知識を仕入れるためではなく、これまでのノウハウをアウトプットすることを目的として参加しました。
それまでにも複数回開催されているコンペで、過去の上位入賞者がコードやアルゴリズムなどを公開してくれていたので、それを参考に実装しましたね。どのアルゴリズムを使うか、組み合わせ方やそれぞれの予測結果重みづけなどは試行錯誤しました。
結果的にはとてもよくて銀メダルを獲得し、「Competitions Expert※2」になったんです。

HCM事業部 製品企画開発部 櫻井 亮佑

— 櫻井さんはいかがでしょう?印象に残っているコンペはありますか?

櫻井:初めて参加したコンペですかね。テーマは「分子を構成する原子の間の磁気相互作用の予測」でした。
テーマはあまり興味なかったのですが(笑)、腕試しがしたかったので、正直テーマはなんでもよかったんです。同期に化学学科の出身者がいて、その領域の知識を仕入れることができたというのも一つのきっかけになりました。

私はそのときPythonのオープンソースの機械学習ライブラリである「PyTorch※3」に初めて触れたんです。現在では本を出版するほどに詳しくなりましたが、当時はPyTorchに関する日本語の文献も少なく、公式のAPIリファレンスを中心に調べて、書いて、調べて、書いての繰り返しでモデルを開発しました。

参考情報:『PyTorch実践入門 (日本語)』刊行

大森:初めてのKaggle参加で初めてのライブラリを使うとは思い切りましたね(笑)

櫻井:はい、その時は何もわかってなかったんです。
PyTorch関連のフレームワークでPyTorch Geometricというものがあって、分子のグラフ構造をGCN(グラフ畳み込みニューラルネットワーク:graph convolutional neural network)を用いて解析するために自分で調べながらモデル作りに励みました。恐らくPyTorch Geometricを難なく使える人って今でもあまり多くないんじゃないでしょうか。
コンペの成績はすごく悪かったのですが、一番自分が成長したコンペでしたね。PyTorchを使って、イチから自分でモデルの構築ができるようになったことが大きかったです。

社会的意義の大きなコンペにモチベーションが上がる

— Kaggleの面白さはそういう成長実感を得られるところなんですね。

大森:私にとってはそれが大きいです。
特定の課題に対してモデルを開発していくプロセスを学べることはもちろん、新たな知識やノウハウも増えていきます。

櫻井:私は“その分野の専門家を超えられる”部分も面白さの一つと感じています。人間ができることには限界がありますが、人間は人間を超えるAIを作れることがある。
例えば、Kaggleのコンペには医療系のものが多くあるのですが、私たちは医師でもなければ放射線技師でもないわけですよ。それでも機械学習という技術を通して、下手したら医師よりも高精度で病変を予測できる可能性があるわけです。

大森:そういう意味で行くと、社会的意義や貢献の強いコンペはよりモチベーションが湧きますね。

若手の頑張りを応援してくれる組織風土

— 2人は部署が違いますが、仲が良いそうですね。どうやって知り合ったんですか?

大森:社内にデータサイエンス研究会という同好会があって、そこで出会いました。その同好会には、入社年次や組織等を問わず様々な人たちが参加していて、初学者用の輪読会・技術書や論文の内容をシェアする勉強会・Kaggleコンペのチーム参加など様々な活動を行っています。組織の壁を超えて全社横断で共通の興味を持った人たちと活動できる場は貴重だと思います。

私たちはその同好会の他メンバーも含めて3人でコンペに参加したことがあるんです。

櫻井:そうそう、あのコンペは面白かったですね。一人一人知識やスキル、進め方も違っていて。とても勉強になりました。
具体的には、コンペ開催中のサブミットの頻度。サブミットとは随時モデルを提出して暫定スコアを確認することなんですが、私はこれまで手元での検証を十分に行ってからサブミットするスタイルだったんです。でも、それではコンペ期間後半でサブミットして、バグが発覚し、そのデバッグに時間がかかるということもしばしばありました。大森さんは高い頻度でサブミットしていて、チェックポイントを作っているのが印象的でしたね。

大森:手元では精度が上がっているように見えても、実はそうでもないこともあるので、それを確かめるためにある程度の頻度でサブミットしています。

あとはトライ&エラーで進めていくか、理論を先に固めて進むかもメンバー間で違いがありました。もう一人のメンバーは意味のある実験は何なのか、有効な手法は何なのかをじっくり考えてからコーディングに入るタイプで、それもとても勉強になりましたね。
特にEDA(Exploratory Data Analysis: 探索的データ分析)を実践するため、データを実際に目で見たり、統計量などを調べてみて、モデルを作る前にデータ自体の性質をしっかり調べていたのが印象的で。そのおかげでノイズデータを除去しなければいけないということに気付けて、分析やモデル作りの方針を立てやすくなりました。

— 社内メンバーで参加することの良さってありましたか?

櫻井:信頼関係が既に構築できているメンバーと参加するのはやはり進めやすいですよね。コミュニケーションもうまくいきますし、仕事の繁忙期を考慮して作業を進めることもできました。

— 会社としてのこのような活動へのサポートはあるのですか?

大森:「Kaggle Days Tokyo」などの大きなイベントへの参加費や参考書籍購入などへのサポートはあります。
ただ、それよりも風土の方が大きいかな。

櫻井:私は普段人事ソリューションの開発に携わっているので、機械学習からは少し離れているのですが、目標設定に「Kaggleでメダルを取る」と書いたことがあって。
上司には「面白いね、いいじゃん」と背中を押してもらいましたね。「銀メダル取りました!」と報告したときは「すごい、すごい」と一緒に喜んでくれました。そういう後押しは頑張る源泉になりますよね。

大森:わかります。私も社内のコミュニケーションプラットフォームに「Kaggleでメダル取りました」と投稿したときは、上司や先輩が「業務内の自己研鑽として認めていいのはないか」と議論してくれたんですよね。その分得られた知見はぜひ社内にも還元してほしいと。
ISIDって、若手が頑張っていることを面白がってくれる文化があると思うんです。本人が望み、それに向けて努力している人には追い風を吹かせてくれる上司や同僚が多い。もちろん、ISIDでは研修制度等も整っているんですが、それ以上にこの風土が大切なことに思うんです。

データサイエンティストとしての強みを社会や顧客に還元したい

— データサイエンティストとして今後取り組みたいことやチャレンジしたいことはありますか?

櫻井:私は常々強みを持ちたいと思っているんです。
今の私の能力って、この分野なら誰にも負けない!という、何か突出したものがないんですよね。こういうコンペがきたら100%メダルがとれるという分野を持ちたいです。
例えば、深層距離学習とか、グラフ構造に特化したニューラルネットとかの知見を深めていきたいと思ってます。
そして、可能ならそれを業務で生かしたいんですよね。人事ソリューションの開発に携わっているので、ぜひHRTechの領域で力を発揮したいなと。

大森:私はお客様に貢献したいですね。
例えば製造業だと、その製品には詳しいけど、AIには詳しくない、もしくはAIも分かるけど、どう組み込んでいけばいいかまではわからないという人って多いと思うんです。私はそういう人たちの懸け橋になりたいなと。たくさんのいい製品を持っていて、そこにAIという技術が搭載されればより良いものを生み出せる、そうなったときに私がAIの部分をお手伝いしたいんです。
そのためには業務の知見も増やしていかなきゃいけないと考えています。
また、最近はお客さま自身がAI人材の育成に積極的に取り組んでいる事例も増えてきました。お客様自身がAIの知見を高める、お客様自身が強くなる、そのような支援も増やしていきたいですね。

 

  •  
  • ※1 Kaggle Expert:Kaggle 内のコンペやノートブック、データセット等において一定の条件をクリアしたユーザーに与えられる称号
  • ※2 Competitions Expert:Kaggleのコンペでメダルを2枚獲得したユーザーに与えられる称号
  • ※3 PyTorch:Facebookが開発したオープンソースのディープラーニング用ライブラリ

2021年7月更新