こんにちは、AITC 製品開発グループ Kaggle Masterの阿田木です。
私は現在、業務でAI製品の開発に携わっております。AIをビジネスに活かすために、自己研鑽や自身のスキルを磨くことにも注力しております。
そんな私の趣味は、Kaggle等のデータサイエンスのコンペに参加することです。
最近、就活生向けに、AIを使った技術の実践編として、Kaggleの経験を話す機会がありました。この機会に、データサイエンティストになりたい方やスキルをつけたい方向けに、Kaggleでの経験がどう実務やスキルアップに役立つかについて書いていこうと思います。
Kaggleコンペに参加するメリット
よく議論される議題ですが、個人的には、Kaggleはどうデータサイエンススキルの向上に役に立つのかに関して以下の点があると思っています。
1. 世界的なAIの流行りを知ることができる
2. 採用に有利に働く
3. 趣味感覚で始められる
この3点があげられます。
続いて、どう業務の役に立つのかに関しては、
4. データ分析、モデル改善の流れ、勘所がわかる
5. Kaggleで培ったスキルや知識がプロジェクトでのAIモデル精度改善時に役立つ
6. 技術のキャッチアップ力が向上する。どういう情報が必要かわかる
この3点をあげたいと思います。
それでは、1つずつの項目について詳しく触れていきたいと思います。
1. 世界的なAIの流行りを知ることができる
日本では、NLP技術のビジネス活用はあまり積極的ではない印象ですが、Kaggleでは、近年課題としては増加傾向にあります。これは、NLPを使った取り組みへの期待感の表れであると感じております。
スポーツでのAI利用も増えています。画像から認識してアクションを予測するというような取り組みが見られます。
また、医療系のコンペは頻繁に開催されている印象です。少し前までは、CT画像などを使ったコンペが多かったですが、最近では病理画像や細胞の画像など顕微鏡でみるようなミクロな世界に言及したお題も見られます。これらの分野は放射線画像に比べ後れをとっている印象ですが、撮影技術も発展してきており今後に期待されます。
2. 採用に有利に働く
私自身、Kaggleの経験と、そこから得られたスキルを活用して、他業界からAITCに転職しております。
何より、Kaggleを通して、AIの可能性やデータサイエンスの面白さを知ることができました。特に、Kaggle Master以上になるのは難しいとされており、採用市場でも貴重で、一定のスキルを保有するデータサイエンティストとして認識されています。
Kaggle Masterになることを目標にKaggleにうち込むことができれば、データサイエンティストになることは遠くありません。Kaggleは楽しくAI・データサイエンスについて学ぶことができるという点でもオススメです。
Kaggleで実績を積むことは、ビジネス方面やエンジニア方面など別領域に進むための通過点になってきているといわれています。それくらいのノウハウと環境が用意されているため、生かすも殺すもその人のやる気次第という状況です。
また、継続してコンペに参加することで積極性があり、自己研鑽できる方という評価を受けることができる点も大きな要素かなと思います。
3. 趣味感覚で始められる
近年の感染症流行の影響もあり、自宅で取り組める趣味というのは貴重です。そこでオススメなのが、Kaggleです。コンペは常時何かしら開催されておりますし、過去のコンペなども見ることができるので、知識は無限大です。そして、知識をつけ、自身が強くなることで、開催中のコンペでいい成績をおさめることが目標になります。
次はこれを試してみようと、心躍ること必至でしょう。その気になれば永遠とうち込めます。
以上のように、オンラインゲーム的な要素もあるため、ゲーム好きな方は、はまること間違いなしです。
4. データ分析、モデル改善の流れ、勘所がわかる
Kaggleでは、約3か月の期間、モデル作成と精度改善を行います。もちろん、そのためには、データの分析や加工も必要です。モデル改善のためには、様々な条件を変えて実験する必要があります。
特に深層学習モデルでは、学習に何時間もかかるものもあるため、効率的な学習方法を選択する必要があります。例えば、画像系タスクであれば、画像サイズを小さくして、複数の実験を実施した後、スケールアップして再度実験します。画像サイズによる影響もあるかもしれませんが、最初から大きな画像サイズで学習させるより効率的に実験を回すことが可能です。
また、提出の際にも時間制限やメモリに制限があるため、より軽量で高速なモデルにするスキルも必要です。ただ、これらのスキルは、Kaggleの中で、議論されており、コードも公開されることが多いので、実装を通しスキルをつけることができます。
おすすめの稽古方法として、次のような方法を提案します。コンペ開催中は1日5回提出できることが多いのですが、毎日5回分結果を提出するように目標をたてることで、5種類の実験を毎日考えて、実装して、回すという練習ができます。
さらに、コンペ終了直前では、時間的な制約もあるという意識を持つことができたり、複数の異なるパイプラインのモデルアンサンブル時のエラー対応等のデバグ対応力(仮説検証スキル)を高めたりできます。
Kaggleのコミュニティー内では本に載っていない手法などもたくさん紹介されていたり、書籍や論文に載っている手法が本当に効果があるのかどうかを体験することができます。
Kaggle等でよく使われる手法は、業務で実施するプロジェクトでも効果的なことが多いため、そういった肌間やノウハウを身に着けることができます。
5. Kaggleで培ったスキルや知識がプロジェクトでのAIモデル精度改善時に役立つ
案件を受けたり、受けるときに、手法を提案することができます。また、Kaggleの実績や同じようなタスクを解いた経験があると、アピール材料になります。コンペ参加を通して、モデル作成や改善でやること・やれることの引き出しが多くなるため、実際に案件開始時にすぐにやることを整理し、モデル作成に入ることができます(※要件定義等のスキルは別です)。
モデル改善の速度をKaggleで鍛えている状態であれば、顧客側から提案のあったドメインよりの改善も試すことができ、アジャイルにモデル改善・結果共有・フィードバックのサイクルを実現することができます。それによって、より多くのトライ&エラーを重ね、より高品質高精度なAIモデルを作成することができるようになります。
6. 技術のキャッチアップ力が向上する。どういう情報が必要かわかる
私は、ISIDに入社してから、ISIDがAI製品として展開しているTexAで使われている自然言語処理(以下:NLP)技術に触れ、NLPについて興味がでてきました。それまでは、NLP技術について触れたことがほとんどなかったため、その学習の手段としてKaggleのNLPタスクのコンペに参加しました。
コンペに参加することで、近年のNLPでは、どういったタスクをどのようなモデル・手法で解決すればいいのかということが分かります。コンペに参加したことで、NLPを専門に研究されている方とも、技術的な議論ができるようになりました。
取組内容については、以下の理系ナビ登壇時の資料が参考になるかと思います。
終わりに
他にも、Kaggleはチームを組んで取り組んだりできるため、サークル感があり、取り組みを通して色んな方と仲良くなれたり、知り合いを増やすことができます。特に、社会人になると、会社以外の友人を作ることが難しいため、貴重な機会となります。
紹介した中で、1つでも興味をそそられる項目があった方は、ぜひKaggleに挑戦してみてください。
もし、既にKaggle等での実績やデータ分析の経験があり、すぐにビジネスに生かしたいという方は弊社のAITCで一緒に働いてみませんか。
執筆
AITC 製品開発グループ
阿田木 勇八