【Kaggle Masterに聞いてみた】 Kaggleで上位入賞するために必要なことって?

【はじめに】

Aidemy Premium Planのスペシャルコースに、「実践データサイエンスコース β版」が仲間入りしました。

このコースは、世界最大のデータサイエンスコミュニティKaggleで上位入賞を目指すもの。Kaggleでの実績や経験は、転職や待遇アップのための武器となります。そんなKaggleで通用する確かな実力をつけるための「実践データサイエンスコース β版」は、これからKaggleを始める方から、すでにデータサイエンスの基礎を習得した方まで幅広い層の方におすすめです。

そして、このコースの教材を監修されたのが、今回お話を伺った秋山理氏(@osciiart)です。

医学部に在籍しながら独学で機械学習を学び始め、多忙な中でKaggleにも挑戦し、2019年にはついにKaggle Masterの称号を手に入れた秋山さん。

機械学習との出合いや、Kaggleでの取り組みなど、様々なお話をしてくださいました。「これからKaggleを始めてみようかな」という方や「最近行き詰まっている」という方はぜひご一読ください!

秋山理氏プロフィール

2009年に京都大学を卒業し、2012年には同大学大学院生命科学研究科の修士課程を修了。2012年から2015年まで薬品会社で研究開発職を務めたのち、大阪大学の医学部に編入。2020年に同大学を卒業し、同年4月からは研修医として勤務中。

【インタビュー】

機械学習との出会い~Alpha Goとアスキーアート~

アイデミー:秋山さんが機械学習に興味を持ったきっかけは何だったのでしょうか?

秋山さん:AlphaGo(アルファ碁)の登場ですね。人工知能が人間に勝った、ということに衝撃を受けたんです。そんな中で「自分でも、なにかのジャンルで人間の能力に匹敵する人工知能を作れないだろうか」と思い、Pythonの学習を始めました。自分には囲碁の知識はなかったので、もともと趣味で制作していたアスキーアートの領域で挑戦することにしたんです。https://twitter.com/osciiart/status/761902433400344576?s=20

(キャプション)趣味の領域をとっくに越えている秋山さんのアスキーアート

アイデミー:アスキーアートと人工知能……? というと、AIを使ってアスキーアートを書くということでしょうか?

秋山さん:そうですね。アスキーアートは人間のセンスや判断で成立している部分が多いので、それをAIがどうトレースするかというのが課題です。少しずつ改善を重ねてきていますが、まだ人間の感性に肩を並べるようなAIは完成できていません。

https://twitter.com/osciiart/status/828611292655005697?s=20

 

(キャプション)左:元画像、右:AIが制作したアスキーアート。十分な出来かと思いきや、人間のきめ細かな調節には及ばないのだという

医学部生が機械学習を独学!

アイデミー:機械学習の勉強を始めた当時、秋山さんは医学部の学生だったのですよね? 現在も研修医としてご多忙だと思うのですが、どうやって学習時間を捻出していたのですか?

秋山さん:学生時代は、機械学習を使用する研究室にも所属していたので、研究と学習を並行できていました。何より大事なのは目標を持つことですね。特に私の場合は独学だったので、忙しい中でも諦めずに勉強を続けるためにはモチベーションとなる目標が必要でした。当時の目標の中の一つが、先ほどのアスキーアートAIだったのです。web上の初学用テキストやオライリー・ジャパンの書籍を使って、PythonやNumPyの基礎を学びました。

Kaggleとの出合い

アイデミー:その後に秋山さんはKaggleに取り組み始め、最終的に2019年にKaggle Masterになりましたが、そもそもなぜKaggleに取り組むようになったのでしょうか?

秋山さん:大学の先輩に誘われたのが直接的な理由です。Pythonの基礎を修めてから公式のライブラリを使って機械学習を学び始めたのですが、少しずつ周囲にもPythonを書くような学生が増えてきました。そしてある時、AIと医療の研究をやっている一年上の先輩から、Kaggleを一緒にやってみないかと声を掛けられました。当時はその存在すら知らなかったのですが……。

アイデミー:こんな質問をするのも恐縮ですが、Kaggleって実のところ、何をするところなんですか?

秋山さん:データサイエンスの技術を競い合う大会のようなものが常に行われているwebサイトですね。与えられたデータから、AIの技術や実装力を駆使し、データの持つ属性をいかに高い精度で予測できるかを競います。参加者の中で順位がつけられ、上位に入賞した者には賞金や名誉が与えられる、というものです。もちろん競い合うだけではなく、互いの知識を共有したり教え合ったりする、フォーラム的な機能もあります。

アイデミー:なるほど、スポーツなどのように、競い合って高めあっていくのですね。

秋山さん:そうですね。私もKaggleのおかげで、スポーツやゲームのように楽しんで実力を身につけることができました。

独学でデータサイエンスをやる上で一番難しかったのが、やはりモチベーションの維持でした。だからKaggleのコンペに参加するのは、とても効果的でしたね。コンペへの参加で定期的に〆切が設定され、常に取り組むべき内容が提示され、結果を出せばそれがきちんと反映されます。こうしてゲームのようにずっと楽しみながらランキングを上げていく中でスキルも身についていくので、すごく独学向きだと思います。

あとは、Kaggleのフォーラムの中で学び合ったり、機械学習のコミュニティで情報共有したり、Twitterで論文を紹介してもらったりするのも、学習の役に立ちましたね。日本のKaggle利用者が1万人ほどが参加しているSlackのコミュニティにも入っています。

(キャプション)誰でも参加できるSlackのKaggler向けチャンネル、kaggler-ja。初心者の質問も受付中

そして、Kaggle Masterへ……

アイデミー:秋山さんは、Kaggleを始めてから2年ほどでMasterになられています。このときのコンペはどのような内容だったのでしょうか?

秋山さん:音声の分類問題のコンペでした。女性の声や車のエンジン音など数秒の音声データを与えられて、それが何なのかをAIで仕分けるというものです。

アイデミー:上位入賞するために気をつけていたことや、秘訣のようなものはありますか?

秋山さん:与えられたデータをしっかり吟味すること、フォーラムをしっかり追いかけること。この2つは徹底しました。自分の知らないことを少しでも減らすのが大事です。あとは、最新の論文を追いかけることも必要です。自分にできることをどこまで追究できるか、という点では体力勝負なのかもしれません。満足行く順位を獲れたのは、やれる限りのことができた時ですね。

(キャプション)Kaggleでの秋山さんのプロフィール画像。右上には光り輝く「Competitions Master」の称号が

Kaggle初心者へ

アイデミー:今からKaggleに挑戦する人は、どんなことから始めたらいいでしょう?

秋山さん:まず、最低限のPythonの知識は身につけておきましょう。やはり、フォーラムで飛び交う情報をきちんと把握することが大事なので、完璧である必要はありませんが、少なくともその内容を理解できる程度には習熟しておいた方がいいです。Pythonの文法や、NumPy、Pandasなどのよく使われるライブラリに加えて、そもそも機械学習という概念自体の基本的な部分については理解しておきたいです。

アイデミー:「実践データサイエンスコース β版」では今おっしゃった内容もしっかりカバーしているので、初心者にも実際のKaggleに繋げやすい内容になっているのではないでしょうか。

秋山さん:そうですね。あとは、シェアされている情報や文献を読むためにも、最低限の英語能力は必要だと思います。

医療とAIについて

アイデミー:ところで、秋山さんは専門分野の医療や、ご自身の趣味である映画やアスキーアートと、AIを関連付けた活動もされていますが、これはなぜですか?

秋山さん:楽しいこととAIを結び付けられないかといつも考えているんです。先ほどお話ししたアスキーアートを作るAIも、自分にとって楽しいから始めたものです。また、本職である医療もAIで何かできないかな、といつも考えています。

アイデミー:具体的には、現在どんなものを考えているのでしょうか?

秋山さん:やはり、主戦場はCT検査やMRI検査などの画像を解析する分野ですね。近年、実際の医療現場でもAIが使われるようになってきています。また、様々な数値から患者や病態の未来を予測すること自体は、医療の現場でずっと行われていたことですが、この精度を向上させるために機械学習が期待されています。

Kaggleでも最近は医療のテーマのコンペが増えてきました。肺のCTスキャン画像から、病態の今後の進行を予測しなさい、というテーマのものもありました。また、今年は特にCOVID-19関連でKaggleの内外で活発に議論が行われていて、共有されたデータから様々な数値の予測などがされていましたね。

https://twitter.com/osciiart/status/1245689343479443456?s=20

アイデミー:研究が進んでいけば、寿命の予測なんてこともできるようになっていくのでしょうか?

秋山さん:そもそも医療の分野では、治療等によって余命がどう変化するかを統計的に解析することは非常に重要視されています。それは治療や薬品の効果を示すために必要不可欠だからです。ただし、これはあくまでも患者集団に対する予測であり、患者個人についてははっきりとしたことは言えません。そういう意味では、AIによる予測の技術が発展すれば、個人の寿命が高い精度で予測できるということもあり得るかもしれません。

実践データサイエンスコース

アイデミー:さて、秋山さんが監修した「実践データサイエンスコース β版」ですが、こちらはどのような内容なのでしょうか?

秋山さん:初心者に必要なものは一通り揃っています。データサイエンティストとしてデータを分析する上での一連の流れも、実際にやってみて理解できるようになっています。私は独学でデータサイエンスを学んできたのですが、その中で何回も挫折してきたんですね。「こういうことがやりたい!」という目標や理想はあっても、そこにたどり着くまで、予想以上の時間がかかりました。こういう風にコースが用意されていると、自分のやりたいことをスムーズにできるようになっていいですね。初学者にはぜひオススメしたいです。

アイデミー:コースを卒業した方は次に何をすべきなのでしょうか?

秋山さん:コース内でも「コンペに挑戦しよう」ということでいくつか実際のデータを使って学習しているのですが、やはりKaggleの最新のコンペに挑戦してみてほしいですね。コースで学んだ基礎的な技術や知識だけでなく、情報交換されている内容の把握や、コンペごとの解析対象分野の前提知識の取得など、様々なものが求められます。その中で学んできた技術を使ってコンペに取り組み、自分の現在地を知って、その先のスキルアップにつなげてほしいと思います。

【おわりに】

現在研修医をしながら機械学習の研究を続ける秋山さん。ゲーム感覚でKaggleに取り組んだり、自分の趣味と関連付けて機械学習を学んだりと、ストイックでありながらもいかに楽しむか考えているところに共感し尊敬の念を抱きました。これからデータサイエンスの勉強を始める方にとっても、参考になる部分があったのではないでしょうか。

Kaggle Master監修コース紹介画像

秋山さんが教材を監修する「実践データサイエンスコース β版」では、日ごとに重要性を増すデータサイエンスを担うユーザーを支援するべく、これから Kaggle を始める方からすでに始めている Kaggler の方まで幅広い層のデータサイエンティストの方に有益な教材をご用意しております。ご興味がある方は、ぜひ一度Aidemy Premium Planオンライン無料相談会にご参加ください。お待ちしております。

最後までご覧くださり、ありがとうございました。

プログラミング未経験からでもAIスキルが身につくAidemy Premium




PythonやAIプログラミングを学ぶなら、オンライン制スクールのAidemy Premiumがおすすめです。
「機械学習・ディープラーニングに興味がある」
「AIをどのように活用するのだろう?」
「文系の私でもプログラミング学習を続けられるだろうか?」
少しでも気になることがございましたら、ぜひお気軽にAidemy Premiumの【オンライン無料相談会】にご参加いただき、お悩みをお聞かせください!