非情報系が機械学習を使う研究をしたいとき

機械学習(深層学習・人工知能を含む)が使われる領域は、自然言語処理や画像処理といった機械学習の近隣とみなされる分野が従来のメインストリートでしたが、最近はそれ以外の分野の人からも機械学習を使った研究をしたいという声がよく聞かれるようになってきたと感じています。
サイボウズ・ラボでは、学生の開発・研究をサポートする「サイボウズ・ラボユース」という制度を10年続けています。メンターごとに募集テーマは異なり、「機械学習/自然言語処理に関するソフトウェア開発」では、その名前通り機械学習に関する応募を受け付けています。

labs.cybozu.co.jp

初期の応募者の動機は「自然言語処理やりたい」「画像処理やりたい」ばかりでしたが、そのうち応募の傾向が「機械学習を使った○○○○をやりたいが、ネットワーク(など機械学習と隣接していない情報系)の研究室なので機械学習に詳しい人が周りにいない」といったものに変わっていき、さらには非情報系の自然科学についても「機械学習を使いたい!」という応募をもらえるようになってきました。
昨年度のサイボウズ・ラボユースでも、「赤外線/電波望遠鏡の画像データから天体を検出」という天文学の研究に機械学習を応用するテーマをメンタリングしました(継続中)。

blog.cybozu.io

機械学習研究が広がっている背景には、深層学習以降の機械学習(AI)ブームがあるだろう、とは無難でありきたりな考察ですが、実際、機械学習でできることが劇的に広がり、(良くも悪くも)機械学習への期待が大きくなっているのを感じます。幸い、機械学習を始めるハードルは年々下がっています。入門本が数多く出版され*1、各種ライブラリもどんどん使いやすくなっています。
一方で、学習に使うデータは巨大化して扱いづらくなり、またモデルの推論に GPU などの高価な計算リソースが必要になってきているという面もありますが、AWSGoogle Colab などのクラウド環境を使えばリソースを持っていない人でも機械学習できます。また学習済みモデルのリポジトリの整備も驚くほどの勢いで進んでおり、巨大なデータで学習された性能の高いモデルを誰でも簡単に利用できるようになっています。

機械学習がそうやって広く研究されるのはとても嬉しいですが、その人の属する分野が機械学習から遠ければ遠いほど大変だろうなあと、ここ数年のラボユースの学生さんを見ていて実感します。
モデルを引っ張ってきてとりあえずあり物のデータで動かして見るだけなら結構誰でもできますが、機械学習用に整備されたデータセットではなく自分の手元のデータを食わせてみようと考えただけでいきなり壁が立ちはだかることも珍しくありません。データに適切な(と期待できる)前処理を施すだけでも大変ですし、だいたい必ずモデルの実装にも手を入れる必要も出てきます。
それを機械学習の知識も、モデルの知識も、フレームワークの知識も全部乏しい状態で試みるのはそりゃあ茨の道に決まってますよね。これが非情報系になると、さらに情報科学の知識やプログラミング経験も乏しくなりがち。
それだけの困難が見えているのに*2果敢に機械学習研究にチャレンジする学生さんがいたら、応援したくなりますよね。

解決策はとても簡単。機械学習に多少なりとも詳しい人を引っ張ってくることです!!

……と書くと完全に身もふたもないですが、まあ考えてみてください。
例えば、自分のデータを機械学習のモデルに食わせた実験結果を見て、「training loss が中途半端に下げ止まっているから、実装が間違っているか、モデルの表現力が足りないか、途中の層で特徴が潰れているか、訓練データにゴミが入っているか」と機械学習の立場から分析した上で、それらの切り分け方法を一緒に考えてくれる人がいるときと、いないときを想像して、いなかったときにそれを補う方法が果たしてあるだろうか、と。

「いっしょに研究してくれたら嬉しいけど、機械学習の人が全然関係ない分野の研究に協力してくれるんだろうか……」と心配になるでしょう。
それに対して、機械学習の代表どころか中の人と言うのもおこがましい立場の人間が何を言っても保証にならないかもしれませんが、実は機械学習は、本質的に他の分野とくっつかなければ研究ができません。というのも、機械学習の研究にはデータが絶対に必要ですが、そのデータを機械学習自身が生むことは基本的にないからです。
機械学習の代表例的な自然言語処理や画像処理も、そのデータの発生に機械学習は関係ありません。単に、機械学習人工知能から分かれて生まれたときからくっついているから、一体化しているようにみえるだけです。
だから機械学習界隈の人は、他の分野の話を聞くことをあまり嫌がりません。むしろ、データがどんな集められ方をして、どれくらいの規模があって、どういう特性があるのか、ついつい聞きたがります。共同研究に発展できるかどうかはさすがに時の運ですが……。
機械学習はその存在自体が学際的なんですね。

ただ、たとえそうだとしても、機械学習に詳しい外部の人と話す機会を作るのは難しいでしょう。研究室の先生にツテがあれば一番簡単ですが、もしそうならこんな記事読んで悩む必要が最初からないですね(苦笑)。IBIS(情報論的学習理論と機械学習研究会のワークショップ)のポスターセッションに出かけていって声かけまくる、なんてできたら尊敬しますが、それはさすがに強心臓すぎる……。
あとは機械学習人工知能をテーマにしたインターンに応募するという手もありますが、おそらく情報系の学生が優先されますし、自分の研究ができる可能性は低めです。(その他に良い手をコメントでもらえれば追記します)
そんな中、ハードル低めでチャレンジし甲斐があるのがラボユース応募ですね!(手前味噌!!)

labs.cybozu.co.jp

今回ラボユースで、天文学の学生さんの研究をメンタリングして、domain specific なデータそのもののおもしろさ、そのデータを機械学習のモデルと突き合わせて、お互いを調整するおもしろさにとても刺激的でした。
天文学に限らず、機械学習から遠い分野の研究からの応募をお待ちしています。もちろん普通の自然言語処理や画像処理もね!

*1:拙著もその1つです(笑)。

*2:困難さに気づいて無くて、無謀に当たって砕けてるのかも?(苦笑)