見出し画像

交換留学からCVPR2023採択まで

初めまして。cvpaper.challenge2023アドカレ16日目を担当する慶應義塾大学 青木研究室 M1の柴田優斗(@shibatashi_)と申します。私は今年の8月からcvpaper.challengeに参加いたしました。大学では音を用いた姿勢推定に関する研究を行っており、昨年の成果はCVPR2023に採択されました(図1)(論文はこちら)。

図1. 昨年の研究成果


このアドカレでは他のメンバーは研究内容の紹介や裏話をしていますが、私は入りたてということもあり、公開できる内容が限られています。したがって本記事ではCVPR2023採択時にB4だった私がそれまでどのようにして機械学習について勉強し、研究を進めてきたのか、そして今後はどのようなことに取り組んでいきたいのかについて簡単にご紹介したいと思います。また、私は学部時代に(色々な事情があり)オーストラリアとイギリスにて2回の交換留学を経験しているので、留学時の生活や学習内容についても記載します。機械学習に興味を持っているが何を勉強したら良いのかわからない学部生や、留学に興味を持っている方々にとって参考となる記事となれば幸いです。

本記事は以下の構成となっております。極力無益な自分語りは省略するよう努めましたが、皆さんの興味のある箇所を適宜読んでいただければと思います。交換留学と研究に関する内容とで記事を分けても良いのですが、後述のように留学中にも機械学習の勉強を行っていたため、合わせてご紹介します。


大学入学 ~ 留学準備 (英語学習)

2018年に私は慶應義塾大学理工学部学門1に入学しました。学部1年次は特に変わったことも起きず、バイトをして授業に出る日々を繰り返していました。当時の学門1のカリキュラムでは1年次にはプログラミングの授業などもなく、人並みに線形代数や量子力学を勉強していた記憶が(微かに)あります。

プログラミングの勉強を始めたのは大学2年次からで、なんとなくアプリ開発の本を読んで個人で日記アプリを作ってみたり、C言語の授業を履修したりしていました(一緒に履修していた友人と文句を言いながらデバッグをしたのはいい思い出でもありますが、当時はプログラミングの才能なくて残念と思っていました)。ちょうど同じ時期に英語の勉強も開始しました。交換留学を目指す人には早めに英語の勉強を始めることを強く推奨します。多くの場合、留学開始の1年前から英語力やGPAに基づいた選考が始まるためです(就活などを考慮すると学部4年次の留学はなかなか手を出しづらいですよね)。
私なりに効果があったと感じる勉強法は以下の2つです。

TOEFL対策単語帳のオリジナル例文音読
隙間時間を見つけて単語帳の例文を音読し、その単語を使ったオリジナル例文を日本語を介さずに考え、独り言の要領で声に出す、ということを繰り返していました。語彙と英語で考える力がついたと思います。

BBCの"6 minute English"(Podcast)を活用したリスニング対策
この番組はスクリプトが用意されており、番組の最後に使用した単語をおさらいしてくれます。さらに司会者の人はゆっくり話す一方で、途中のインタビューは自然な速さでやり取りが行われるため非常に勉強になる神番組です。
こうした努力の成果もあり、第1志望であったオーストラリア国立大学の理系交換留学におけるTOEFLの基準をギリギリ越える88点を取ることができました。

交換留学① - ANU編🇦🇺

学部3年次に進級するタイミングでキャンベラにあるオーストラリア国立大学(ANU)での交換留学を開始しました。オーストラリア国立大学では理工学部に所属し、量子力学や電気回路、ネットワークの授業などを履修していました。現地の学生との寮生活は刺激的で本当に楽しく、1日1日があっという間に過ぎていきました。留学前に予想していた以上に言語の壁があり、特に飲み会でテーブルが盛り上がると心の底から何の話をしているかわからない状態に陥りました。またスピーキングに関してはTOEFLを乗り切る最低限の能力しかなかったため、グループでの会話に参加できないことも多々ありました。そこで私は学生寮で用意される食事の時間に、同じ卓の友人が食べ終わって移動してもまた別のテーブルに移り、他の友人と話すことを食事の時間が終わるまで繰り返すようにしました。かなり力技ですが、効果抜群で、英語力を伸ばすと同時に、友人も多く作ることができました。

図2. ANUでの様子 (2列目中央の傾いている人が自分)

ただ悲しいことに、同時期にコロナウイルスの感染が広がったため、授業がオンラインになるだけでなく寮での交流も徐々に制限され、この交換留学は1ヶ月半で打ち切りとなってしまいました。留学中止の判断はとても辛いものでしたが、コロナ禍で今後の展開が読めない中で日々母国に帰ってしまう交換留学生達と毎週のようにお別れ会を開くなど、より深い交流を行うことができました。現地の寮生活や多様な背景を持った留学生と旅行やイベントに参加できたことなどを踏まえて、短い期間でしたがとても充実した留学生活が送ることができたと思っています。また、この留学で得られた友人とのつながりによってエジンバラ大学交換留学が始まりますが、それは次章でお話しします。

帰国 - 機械学習の勉強(Kaggle, インターン)

ANUから帰国した直後はかなり絶望していましたが、学部就職も選択肢に入れていたこともあり、インターンに参加したり役に立つスキルを身につけようと切り替えました。このタイミングで初めて深層学習と出会うことになります。具体的にはゼロからディープ本を読んだり、Andrew Ng大先生のCourseraの授業を受けたりしました。また、機械学習の応用に関する技術と実績を得たいと思い、Kaggleのコンペに参加しました。実際、夏休みに時間をかけて参加した肺コンペでは2097チーム中20位(銀メダル)を得ることができました。このコンペでは特発性肺線維症患者の肺活量の推移を予測するタスクが与えられ、私は表データと画像の両方を活用するアプローチを取りました。公開されている精度検証方法に惑わされず、時系列データとして作成した検証データに基づいて精度改善を行いベストモデルを提出すればPrivate Leaderboardで良い順位を取れるコンペとなっており、データサイエンスの面白さに気づきました。


図3. 最終順位(shake upですいません!!!)

その後は引き続きKaggleに参加しつつ広告代理店などでデータサイエンスのインターンを行うことで実装力やデータの可視化力などを鍛えました。思い返すと、この時期に基本的なデータサイエンスの概念や実験の回し方を習得したことが、のちの研究活動に活きたと思います。インターンの参加に関しては時期や運などの巡り合わせがあると思いますが、Kaggleはすぐにアカウントを作成して勉強を始められるのでとてもオススメです。

また、ここで夏休みにANUで知り合ったイギリス人の元交換留学生とZoomで雑談とお互いの近況報告を行いました。彼とはANUの寮が同じで、一緒にショッピングに行ったり、クラブに行ったりと最も親しかった友人の一人です。ZoomでANUでの思い出話をしている最中に、私が当時ゲーム・オブ・スローンズに激ハマりしていることを話すと、イギリスの俳優が多く出演しており、ヨーロッパに多く撮影地があると言われ、今度はヨーロッパで留学をしないかと誘われました。二人で画面共有をしながら慶應大学の交換留学リストを上から一つずつ確認すると、彼がコンピューターサイエンス学生に良い留学先候補としてエジンバラ大学を勧めてくれました。大学のHPを見ても雰囲気がとても良く、かつ(浅はかではありますが)コンピューターサイエンス部門の世界大学ランキングで上位に位置していたため、すぐにIELTS試験の予約を行い、奨学金や選考プロセスに関する情報を必死に探しました。ANU留学を経験していたこともあり、事務手続きや英語力試験に関しては比較的簡単に済ませることができました。ただし、コロナ禍であったため、出国前のワクチン接種やPCRテストなどは必須でした。

Camblyを使って英語力の維持に努めつつ、これまで通りKaggleの参加やDSインターンは継続しました。この時期にKaggle Expertになることができました(今もまだExpertですが、、、😢)。

また、学部4年次の秋学期から交換留学は行われましたが、春学期から電気情報工学科の青木研究室に所属し、出国までNTTとの共同研究として先に述べた"音響信号を用いた姿勢推定"という研究を始めました。スピーカーとマイクの間に位置する被験者に対して音響信号を照射し、マイクに届いた反射波や屈折波を解析することによって被験者の姿勢(例. 起立、お辞儀など)を推定することが目標です(図1)。画像では夜間の姿勢推定の精度が大幅に下がり、より高い周波数を持つWi-Fiなどの信号では精度こそ高いものの、病院やフライト中の飛行機内などで使用が制限されてしまいます。そこで音響信号に注目しました。この研究はかなり画期的なものだと思っていて、ベースラインが存在しなかったため、前処理やベースライン作成を自分達で行いました。機械学習が機能するかどうかもわからない、参考にする研究も少ないという状況の中で、日々精度を向上させ結果の考察をすることは非常に刺激的でした。この研究が始まる直前に、Kaggleの鳥コンペ2021に参加し銅メダルを取ることができたため、音響信号に関する基礎的な知識を持った状態でスムーズに実験を行うことができました!(Kaggleは研究でも役に立つんですね…!!!🤗)留学開始から半年間は、それまで共著者として実装面で非常に貢献してくださっていた当時M2の先輩がメインで引き継ぐことになりました。

交換留学② - エジンバラ大学編🇬🇧

2021年の9月からエジンバラ大学の交換留学が始まりました。前期は"Introduction to Vision and Robotics"や"Stochastic Modelling"などの前回の留学よりも自分の興味(=画像処理やデータサイエンス)に合わせた履修を組むことができました。前期の間は現地の発展的な授業についていくこと、イギリスの天気や文化に慣れることなどで一杯一杯でした。またこの時期はイギリスでもオンライン授業が主流で、同じ授業を履修している学生との交流は残念ながら少なかったです。それでも、現地の学生や交換留学生の友人たちとクリスマスマーケットに行ったり、ハウスパーティーを開いたり、それぞれの国のご飯を振る舞いあったりしました(エジンバラ大学はとても国際色が強く、交換留学生以外にも様々な国出身の現地学生がいました)。長期休みの間はそういった学生達と彼らの母国に一緒に旅行に行き、現地の文化をネイティブ解説付きで体験することができました。

図4. エジンバラの様子 (晴れている日は珍しい)

特に、後期に履修した授業が自分にとって特に大きな学びとなりました。というのも、前期と比較してオンライン授業が減り、グループワークが多く課されたためです。例えば、自分は通年授業として"TTDS: Text Technologies for Data Science" (授業ページ)という授業を履修していたのですが、後期には5~6人の学生でグループを組んで、3ヶ月かけて検索エンジンを作成するというプロジェクトが課されました。

このプロジェクトは、自分たちで決めたテーマに沿うデータを集め、授業で習ったアルゴリズムを活用し、低遅延かつ精度の高い検索エンジンを作成しWebサイトにする、という内容でした。これはフロントエンド、バックエンド、ランキングアルゴリズムの知識を総動員する非常にタフな課題でした。私たちのチームは、例えば新規提案された深層学習モデルの精度を、応用可能な複数のデータセットで精度検証できるといいなと考え、クエリに対して論文と手法の精度評価ができそうなデータセットを同時に推薦する検索エンジン(図5)を作成しました。私のチームはインド人3人、中国人1人、ドイツ人1人、私から構成されていました。結果から述べますと、チーム内で生じた口論激しい議論の甲斐もあり、その年の1位を獲得することができました(Githubのリポジトリはこちらです)。

図5. 実際に作成した検索エンジン

私はランキングアルゴリズムのパートを担当しましたが、バックエンドを担当している学生と協力して、低遅延な検索結果を表示することが難しかったです。英語を用いて複数人で協力作業をした経験がなく、特に序盤はよりよいアルゴリズムや設計方法などが思いついても、激しい議論の中で伝えられないもどかしさを感じました。またチームメイトがとてつもなく優秀かつ成績にこだわっていたため、チーム内での(日本人からしたらかなりダイレクトな)指摘が多く、Discordの通知が鳴るたびに胃が痛い思いをしていました。よくある話ですが締切前はInformaticsの建物に篭って、ピザをみんなで食べたことは今となってはよい思い出です。この授業以外にもチームを組んで、少数クラスに対する画像認識モデルの精度を競い合う授業であったり、ペアで音声認識モデルを作成する授業があったりと、長期間複数人で協力する課題が多く非常に勉強になりました。

図6. Wine Society

このように課題が多く、学業面では周りについていくことに必死だったのですが、同時に娯楽も多くありました。例えば私はWhisky society(society=サークルのようなもの), Wine society (図6)に所属していたのですが、現地の学生と毎週のようにお酒を飲んで楽しく会話することで、何とか課題の多い時期も生き残ることができました。10ヶ月あったエジンバラ大学での交換留学もあっという間に終わりを告げ、満足感と更なる海外への挑戦に対するぼんやりとした意欲に包まれつつ、帰国の便に乗りました。

帰国 ~ CVPR2023採択まで

6月の中旬に日本に帰国した私は、7月末に迫っていたMIRU2022の準備に取り掛かりました。先述の音響信号を用いた姿勢推定の研究に関して、口頭発表の機会を頂きました。初めての学会体験となりましたが、ポスター発表では多くの研究者と現状の課題や今後の展望に関する技術的な議論ができ、貴重な経験を得ました。


8月以降はより実用性を高めた内容をCVPR2023に提出することを目標に、データの前処理や実装、論文執筆に取り掛かりました。自分が研究を行う上で意識していることは、データや結果の可視化です。姿勢推定の場合、予測対象の姿勢を確認することはもちろん、集音された音声のスペクトログラム(各時刻でフーリエ変換した結果を時間方向に並べて二次元形式にしたもの)やネットワークの中間特徴の可視化を行うことで、モデルの改善点を考えることが多いです。例えば、CVPR2023に提出した論文では、モデルの中間特徴量が被験者の体格差に影響を受け、被験者ごとに分布がばらついていることを可視化によって確認しました。こういった状態だと推論時に未見の被験者に対して精度を低下させてしまいます。そこで被験者ごとに分布に差がなく、モデルが被験者を識別できないように敵対的学習を組み込むことで、未見の被験者に対して精度を向上させました(敵対的学習は訓練データの被験者のみを使用して適用されます)。

図7. 提案ネットワーク 


闇雲にモデルを複雑にしたり前処理を変えたりすることも時には重要ですが、こういった可視化を通した改善方法は、論文を書く際に説得力のあるストーリーにしやすいと個人的には思います。また他に意識している点は、結果や考察を定期ミーティング以外のタイミングでもこまめに共著者に共有するということです。Google Slideなどを用いて、モデルの変更点とその結果、考察内容などをわかりやすくまとめることで、共著者の方々からクイックなフィードバックを得ることができます。精度が上がらない時期や結果の解釈が難しい時期には、こういった議論を通して1人で抱え込まずに気軽に研究を進めることができました。

この研究は先述のとおりCVPRに採択され、バンクーバーでポスター発表を行いました(図8)。画像処理をメインで扱う学会において、音響信号を使用する研究はかなり珍しいと思うのですが、似たような研究をしている音響Loversが長い時間ポスターの前に滞在してくださり、活発な議論を行うことができました。日本の学会と比較して、実環境での応用先について聞かれることが多い印象でした。

図8. CVPR2023でのポスター発表

また、CVPRに参加したことで研究に対する考え方も大きく変わりました。それは「タスクや手法の新規性」にこだわりたいということです。私のポスター発表でも多くの方が賞賛してくださったのは、音響姿勢推定という新規性でしたし、学会中に行われた講演会においても、既存のデータセットで同じ問題を解くのではなく、新規の問題を考えることの重要性が強調されていました。もちろん全く新しい問題を考えるということはアイデア出しとデータセット作成の観点から非常に困難であり、公開データセットに対する精度向上を狙う研究も大事だと思います。しかし今後は、そういった手法改善を行う場合であっても、「なぜこの手法が既存手法と比べて新しく、研究する価値があるのか」、「新規手法が残した結果にはどういった意味があるのか」といったメッセージを伝えられるような研究に取り組みたいと感じました。

cvpaper.challengeに参加した経緯

cvpaper.challengeの活動は、MIRUなどの国内学会での発表を通じて把握しており、国際学会の論文などをまとめるメタサーベイの資料にも目を通していました。また、CVPR2023でも多くのメンバーが現地で発表をしており、高いモチベーションと技術力を感じることができました。そして、自分にはこれまでそういった大規模なチームに所属して研究を行う機会がなく、メンターや同世代の研究者と活発な議論を行いながらプロジェクトを進めるという経験を得たかったため、8月に本格的に参加いたしました。

cvpaper.challengeに参加してからは、やはり同世代で国際学会を狙う学生が身近な存在として研究しているため、非常に多くのことを学んでいます。例えば、私は学部時代、自身の論文の先行研究や比較手法をメインでサーベイしていたのですが、メタサーベイ資料に代表されるようにcvpaper.challengeに所属することで、CVの分野全体のトレンドや今後の展望について、アンテナを張ることができます。また、私はこれまでKaggleやインターンなどを通して、個別のデータやタスクに対する、よりよい具体的なアプローチを学んできました。一方でcvpaper.challengeでは先述のように「最新の研究内容を踏まえ、今後どのような研究が発展するのか」、「どういった研究ならば実世界でインパクトを残せるのか」といった未知の内容に関して、日々試行錯誤を行うことできとても楽しく感じます。

今後の展望・結び

今後は産総研の他のメンバーと協力しつつ、事前学習や画像生成に関する技術を学び、基盤モデルや基盤データセットの構築に携わりたいと考えています。今まで学んできた内容を活かしつつ、実世界にポジティブな影響を与えられるような研究に取り組んでいきたいです。
今回の記事が、留学や機械学習の研究に興味を持っている学生にとって有意義であれば幸いです。ここまで読んでくださった方々、どうもありがとうございました!!!!!


この記事が気に入ったらサポートをしてみませんか?