深層学習初心者がAAAI2022に採択されるまでの道のり
筆者:中嶋航大
筑波大D1/産総研RAの中嶋航大と申します.私の方では,深層学習に関する研究を始めてからCan Vision Transformers Learn without Natural Images?という研究がAAAI2022に採択されるまでの道のりを振り返っていきたいと思います.深層学習に関する研究を始めたのは4年程前のことです.まずは始めの2年8ヶ月についてまとめて振り返り,Can Vision Transformers Learn without Natural Images?に取り組んでICCV2021/AAAI2022に挑戦した直近1年間の話を書いて締めくくろうと思います.
なんの成果も産めなかった2年8ヶ月
私は佐藤研 & cvpaper.challengeに入るまで深層学習に触れたことはほぼありませんでした.そのため,深層学習についてやライブラリの使い方を勉強するところから始めたのですが,セグメンテーションやGenerative Adversarial Networks(GAN)などを実装して毎週のミーティングで発表していたらICRA2019にチャレンジしてみようという話になりました.これが私にとっての国際会議初挑戦です.テーマは,一般的な交通動画を交通ニアミス動画に変換するというものでした.未来フレーム推定GANの学習に交通ニアミス動画のみを使うことで割とあっさり解決できるのでないかと思い取り組んでいたのですが,いざ実装してみると未来の5フレーム程度しか綺麗に生成できませんでした.この問題の解決に向け試行錯誤したのですが結局解決できず,そうこうしている間に締め切り間近というところまで来てしまいました.そこでテーマを交通ニアミス動画分類(ぶつかりそうな対象を分類)のためのデータ拡張に変更しました.これまでの方法で5フレーム程度ではあるものの多少データ数を増やせるという言い分です.今思えば到底ICRAに通るテーマじゃないですね...
併せて論文も執筆していたのですが,ここでも悪戦苦闘していました.というのも,これまで書いた論文といったら高専時の卒論ぐらいのものだったので,英語云々だけでなくそもそもの文章や論文構成自体どうしたら良いのかよく分かりませんでした.そんな私でも佐藤先生と片岡さんのお力添えによりなんとか投稿に漕ぎ着けることができました.ICRAの採択率は40%程度なのでワンチャンあると当時は思っていたのですが,いざ査読が返ってくると「ICRAのレベルではない」など散々な言われようでした.このこともあって今でも査読コメントを読むのには勇気がいるのですが,この時試しに投稿してみてよかったと思っています.
ICRA2019以降もテーマを変えながらCVPR2019 workshopやICRA2020,CVPR2021などに挑戦したのですが,どれもリジェクトやデスクリジェクト,そもそも論文の出来が悪くて投稿できないなど散々な結果でした.ただ,なんの成果も産めなかった2年8ヶ月の中でも多少得たものもあります.それは実装が得意で実験計画を立ててからの実行が比較的早いということ,一方でテーマ設定と論文執筆がネックであり改善が必要ということです.研究を始めて3年程度ではインパクトあるテーマを設定するのは難しいし,論文執筆に関しても当初よりはマシになっている(と思っている)ので,これらに関しては未来の自分に期待しておきます.
数式ドリブン教師あり学習の研究グループに入って事態が好転
ICCV2021への挑戦
ここまでの酷すぎる結果に佐藤先生や片岡さんから「研究は世に出ないと何もやっていないのと同じ」や「努力している方向が間違っているんじゃないか?」と言われてしまいました.どうしたものかと考えた末に,数式ドリブン教師あり学習の研究グループに参加することにしました.この研究グループは片岡さん主導ということもあり,これまで以上に片岡さんの近くで研究できるのでないかと考えたわけです.そこで片岡さんに何か良いテーマはないかと泣きつき,数式ドリブン教師あり学習でVision Transformer (ViT)は学習できるか確かめるというテーマをいただきました.また,論文も共同主著として一緒に書いていただけることになりました.さらには,片岡さんが東工大の井上中順先生に,私は佐藤研後輩の松本晨人くんに声をかけて,一緒に研究していただけることになりました.
無敵の布陣となりこれは勝ったなガハハと思う一方,数式ドリブン教師あり学習でViTが学習できるとは正直なところ思っていませんでした.というのも,ViTの学習は自然画像でも難しいという印象だったので,数式ドリブンに生成した画像では無理だろうと思ったからです.物は試しということでやってみたのですが,案の定全く学習が進まないという結果でした.2週間ほどパイパーパラメータをいじったりしていたのですが,どれもうまくいかず半ば諦めかけていた時にData-efficient image Transformer (DeiT)が登場しました.DeiTはパイパーパラメータやデータ拡張設定などを徹底的にチューニングすることで,ViTの学習に必要な自然画像の枚数を激減してくれました.我々の方でもViTと同じ構造でありながら同じデータ拡張やハイパーパラメータの設定を使って学習してみたところ順調に学習が進み,ファインチューニング先データセットでの精度も自然画像と比べ悪くない結果となっていました.
予備実験が終わった頃には〆切まであと1ヶ月半になっており,そろそろ論文を書き始めないといけない時期になりました.ここから作業の役割分担をしたことで研究速度が飛躍的に向上しました.それぞれの役割は片岡さん:データセット作成や論文のアブスト,イントロ,関連研究,実験考察,井上先生:論文の図の作成や関連研究,中嶋:実装や実験,論文の手法,実験,松本くん:可視化や論文の手法,実験といった感じだったかと思います.並列に作業が進むというのはやはりすごいことで,私が実験を回している間に論文がどんどん埋まっていく様は見ていて爽快でした.
〆切まであと2週間という時には探索実験や教師あり学習との比較実験など一通りの結果は揃っており,論文も書き終わっていました.しかしcvpaper.challenge内で査読していただいたところ,自然画像データセットでの教師あり学習と同等かそれ以下の精度であることなどを理由に厳しい評価を受けてしまいました.そこで自己教師あり学習とも比較してみようという話になったのですが,当時はViTを自己教師あり学習した研究がなく,これから既存手法(SimCLRやMoCo)を実装するのなんて無理だよと思っていた時,VISSLというライブラリを見つけました.VISSLは多くの自己教師あり学習手法が実装されており,なんならViTも実装されているという優れもので,願ったり叶ったりとはこのことかと思いつつ,多少つまずくところはあったのですが,なんとか自己教師あり学習との比較実験も行うことができました.また,結果もSimCLRやMoCoと同程度以上というインパクトあるものとなってくれました.
投稿時の論文は未だかつてないほどのクオリティに仕上がっており,私としては通ってもおかしくないと思っていました.しかし査読結果はReviewer1(R1)がBorderline,R2がWeak Reject,R3がWeak Accept,R4がWeak Rejectと厳しいものでした.どの差読者にも既存研究からの差分なしと受け取られたことがこの評価になった理由でした.言ってしまえばこの研究は,これまでCNNで行なってきた数式ドリブン教師あり学習をViTに置き換えただけなので,そう言われるのも仕方なかったかと思います.リバッタルで精一杯反論してみましたが,結果が覆ることはなく結局リジェクトされてしまいました.論文の出来に満足していた私は,トップ会議なんて一生通せないんじゃないかと思いました.ただ,Weak Acceptと評価してくれた査読者が,「他の査読者の言うように,この論文はインクリメンタルな研究であるが,それを理由に落とすのであればViTの元論文も落とすべき.」と激推ししてくださったことに救われ,気持ちを切らさずに前を向くことができました.
AAAI2022への挑戦
ICCVが終わり,次はAAAIとCVPRのどちらに出そうかと片岡さん・井上先生と相談した際,私はCVPRを目指したいと言いました.というのも,AAAIの採択率は他と比べ低いことを知っていたため出しても通らないと思ったからです.しかし,査読結果次第で取り下げればCVPRに間に合うと知り(綱島くんありがとう),また片岡さんがAAAIに出そうと言ってくださったこともあり,ひとまず出してみることにしました.
AAAIでは,ICCVで突っ込まれたことを参考にして差分作りと論文アップデートを行いました.テーマの大枠上,CNNで行なってきた数式ドリブン教師あり学習をViTに置き換えるところを変えるのは難しいので,差分としてViTの挙動を活用した数式ドリブンデータセットを構築することにしました.ICCVの段階でViTは生成画像の輪郭に注目することは分かっていたので,輪郭が複雑な生成画像でデータセットが構成されるように工夫しました.これにより,ICCV時より精度を向上させることができ,強くはないですが差分も作ることができました.論文の方も片岡さんと井上先生にご尽力いただき,差分や重要性が伝わるように修正していただきました.少し深ぼると,データセットを工夫したこと以外にも,「数式ドリブンに生成した画像との相性はCNNよりもViTの方が良いんじゃないか?」という仮説(実際にそうであることは実験的に明らかにした)やICCVで激推ししてくださった査読者のコメントを参考にした文章などを追記してくださいました.実験を追加したことやAAAI論文は7ページ制限(ICCVは8ページ)であることから,投稿時の論文はICCVの時と比べかなり内容が濃くなりました.論文のクオリティも上がったのですが,採択率が低いのでICCVの時のような自信はありませんでした.
あとは査読を待つのみ.査読フェーズ1(2人の査読者が付き,少なくとも1人がWeak Accept以上と評価するとフェーズ2に進む.リバッタルはできない.)を無事抜けることができて安心しているのも束の間,フェーズ2(最低3人の査読者が付く.ここではリバッタルができる.)でついに査読結果が返ってきました.結果はR1がWeak Accept,R2がAccept,R3がBorderline Reject,R4がRejectでした.「あ〜Reject付いちゃったか.これはもうだめだ.」と思いましたし,井上先生ときっとだめだろうねという話もしました.さらにはR4が「差分・貢献なし.はいはいリジェクトリジェクト.」といった風で,どう反論しても評価を覆してくれなさそうでした.一方R3は,「より大きなViTでもうまく行くなら評価上げるよ.」といった感じでした.そこでリバッタルでは,R3の評価をAccept寄りにすることでR4にも評価を上げてもらおうという作戦に打って出ました.この作戦が成功したのか定かではないですが,最終的にはAccept,Accept,Borderline Accept,Weak Acceptと評価していただき,無事AAAI2022に採択されました!今回の採択率は15%で,少なくとも直近9年間で一番低く,Twitterでも低すぎると怒りのツイートがされたそうです.これでダメだったら賞味期限切れだと思っていたので本当に良かったです.
おわりに
いかがだったでしょうか?「深層学習初心者がAAAI2022に採択されるまでの道のり」と題して,直近4年間についてまとめてみました.文章は拙いし,画像はないしでさぞ読みにくかったかと思いますが,少しでも参考になれば幸いです.Twitterなどで感想を書いていただけますと非常に喜びます.
AAAIに採択されたことは非常に喜ばしいことですが,結局のところ私の弱点であるテーマ設定と論文執筆をカバーしていただいたことが最大の要因です.この点は反省する必要があります.一方で,実装や実験に関してはトップ会議にも通用するレベルまで成長できたことは喜ばしいことだと思います.今回の経験を活かしてまた日々精進していきます.
俺の戦いはこれからだ!