2020年のおもしろかったDL/ML論文10選

# はじめに
2020年も，機械学習コミュニティでは多くの新しい成果が見られました．[2019年](https://qiita.com/shionhonda/items/cde26040c5a301e381d2)に引き続き，1年を振り返ってもっとも面白かった論文を10本紹介したいと思います．

\* 本記事は，[私のブログにて英語で書いた記事](https://hippocampus-garden.com/best_papers_2020/)を翻訳し，適宜加筆修正したものです．
\** 記事中の画像は，ことわりのない限り対象論文からの引用です．

# 論文10選（公開順）
普段から，読んだ論文を簡単にまとめてツイートしているので，それを使って公開日順に振り返っていきます．対象はおおまかに「2020年に公開された論文」と「2020年に学会・雑誌で発表されたもの」とします．全くの主観で選んでいるので，私の興味範囲である深層学習および応用研究に偏っている点はご容赦ください．

紹介するのはこちらの10本です！

1. Rigging the Lottery: Making All Tickets Winners
2. PIFuHD: Multi-Level Pixel-Aligned Implicit Function for High-Resolution 3D Human Digitization
3. Jukebox: A Generative Model for Music
4. Language Models are Few-Shot Learners
5. Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning
6. Implicit Neural Representations with Periodic Activation Functions
7. Graph Structure of Neural Networks
8. Towards Faster and Stabilized GAN Training for High-fidelity Few-shot Image Synthesis
9. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
10. Pre-training without Natural Images

## Rigging the Lottery: Making All Tickets Winners
- 著者: Utku Evci, Trevor Gale, Jacob Menick, Pablo Samuel Castro, Erich Elsen
- URL: https://arxiv.org/abs/1911.11134
- 公開: November 2019
- 採録: ICML 2020

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Rigging The Lottery [Evci+, 2020, ICML]<br>パラメータ数を変えず、接続をつなぎ替えることで疎なNNを訓練する方法を提案した。刈り込みよりも良い解を見つけることができ、一定の計算コスト下で最高精度を達成できる。ResNet-50やMobileNetで有効性を確認。<a href="https://t.co/t7pBrX9GhI">https://t.co/t7pBrX9GhI</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/10CkMOXvcj">pic.twitter.com/10CkMOXvcj</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1342827445993394177?ref_src=twsrc%5Etfw">December 26, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

**宝くじ仮説** (**lottery ticket hypothesis**)[1,2]は，ニューラルネットワークの訓練は宝くじのようなものだと主張しています．この仮説は[1]で

> ランダムに初期化された密なフィードフォワードネットワークは，分離して訓練すると同程度の学習ステップ数で元のネットワークに匹敵するテスト精度に達するサブネットワーク（「当たりくじ」）を含んでいる（拙訳）

と説明されており，そのためにネットワークの**刈り込み** (**pruning**)が可能だとされています．では，学習は当たりくじを引くために常に大規模なネットワークから始め，当選発表（訓練と検証）後にハズレくじ（不必要なサブネットワーク）を刈り込むべきなのでしょうか？本論文は，その必要はないと答えています．著者らは，訓練中はモデルサイズを固定した状態で，接続（重み）の削除・生成を反復的に行うことで，スパースなニューラルネットワークを訓練する方法を紹介しています．提案された訓練方法は，「宝くじで不正をする (rig the lottery)」ことから，**RigL**と名付けられています．RigLのアルゴリズムは以下の図にまとめられています．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/f9144acf-6941-8e06-d4d3-6d945c4cda24.png)

RigLは，様々なネットワークやデータセット（ImageNetにおけるResNet-50/MobileNet，WikiText-103におけるGRUなど）において，刈り込みよりも少ないFLOPとパラメータ数で，より高い精度を達成します．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/e83b17be-fcc3-8bf4-6f93-1c6735f8ff69.png)

## PIFuHD: Multi-Level Pixel-Aligned Implicit Function for High-Resolution 3D Human Digitization
- 著者: Shunsuke Saito, Tomas Simon, Jason Saragih, Hanbyul Joo
- URL: https://arxiv.org/abs/2004.00452
- 公開: April 2020
- 採録: CVPR 2020

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">PIFuHD [Saito+, 2020, CVPR]<br>人の全身画像から陰関数表現で3次元復元を行うPIFuを、HD画像でより高精度な推定ができるように改良した。入力には推定した正面と背後の法線マップを追加し、メモリ効率改善のためネットワークは2種類の解像度を扱う階層構造をとる。<a href="https://t.co/1ZpQDewR7r">https://t.co/1ZpQDewR7r</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/qdwDVtdv8y">pic.twitter.com/qdwDVtdv8y</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1298088802863288320?ref_src=twsrc%5Etfw">August 25, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

**PIFuHD**は，1枚の画像から人体の3次元形状を復元するディープラーニング手法である**PIFu** (**Pixel-aligned Implicit Function**) [4]のアップデート版です．この論文を選んだのは，純粋に楽しいからです．驚くべき結果が得られるだけでなく（下の画像を参照），著者が[Colabのデモ](https://colab.research.google.com/drive/11z58bl3meSzo6kFqkahMa35G5jmh2Wgt)を提供しているため，自分の画像ですぐに試すことができます．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/252d6fa4-3144-74b7-0435-1eabd4ee5911.png)

多くの人がこのデモを試し，その結果を[#pifuhd](https://twitter.com/search?q=%23pifuhd)にアップロードしています．私のお気に入りは，サカナクションの曲に合わせてG7のリーダーたちが踊っている動画です．

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">もしG7の方々に 新宝島 を踊らせたら <a href="https://twitter.com/hashtag/%E3%82%B5%E3%82%AB%E3%83%8A%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3?src=hash&amp;ref_src=twsrc%5Etfw">#サカナクション</a> <a href="https://twitter.com/hashtag/%E6%96%B0%E5%AE%9D%E5%B3%B6?src=hash&amp;ref_src=twsrc%5Etfw">#新宝島</a> <a href="https://twitter.com/hashtag/pifuhd?src=hash&amp;ref_src=twsrc%5Etfw">#pifuhd</a> <a href="https://t.co/TTn75rwlqw">pic.twitter.com/TTn75rwlqw</a></p>&mdash; もうせ (@motulo) <a href="https://twitter.com/motulo/status/1277914023116320770?ref_src=twsrc%5Etfw">June 30, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

技術的な詳細については，[著者によるプレゼンテーション動画](https://www.youtube.com/embed/uEDqCxvF5yc)がおすすめです．

## Jukebox: A Generative Model for Music
- 著者: Prafulla Dhariwal, Heewoo Jun, Christine Payne, Jong Wook Kim, Alec Radford, Ilya Sutskever
- URL: https://arxiv.org/abs/2005.00341
- 公開: May 2020

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Jukebox [Dhariwal+, 2020]<br>DilatedConvの階層VQ-VAEとSparse Transformerの事前分布により、多様なジャンルの音楽の数分間に渡る波形を直接生成することに成功した。歌手や歌詞で条件付けることもでき、自然に発声される。数十億パラメータの複数のモデルを120万曲で訓練。<a href="https://t.co/eTeCg2bOnv">https://t.co/eTeCg2bOnv</a> <a href="https://t.co/uGKxIpBWJd">pic.twitter.com/uGKxIpBWJd</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1256032318050856960?ref_src=twsrc%5Etfw">May 1, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

リアルな画像を生成することはもはや驚くべきことではありませんが，リアルな音楽を生成することは，その非常に長い依存関係のために依然として難しい課題です．具体的には，CD品質（44kHz）の4分間の曲には，高度に抽象的な情報（c.f.，イントロ，Aメロ，サビ）を持つ1000万個以上のタイムスタンプが含まれています．OpenAIは勇敢にも，生の音声波形を様々なジャンルで生成することに取り組み，本論文で提案されている**Jukebox**は，実際に印象的な音楽を生み出すことに成功しました．

[こちら](https://jukebox.openai.com)に，チェリーピックされていない7,131個のサンプルがあります．これらは特定のジャンルやアーティストで条件付けられており，中には歌詞でも条件付けられているものがあります．例えば，[このサンプル](https://jukebox.openai.com/?song=787730629)はStevie Wonderの「I Just Call To Say I Love You」の続きです．10秒後からは新しい曲のように聞こえますが，歌い手と曲のスタイルを維持できています．

この魔法の裏側には何があるのでしょうか？**VQ-VAE-2** [5]に触発されて，著者らは階層的なVQ-VAEを使って長距離の依存関係を処理しています．事前分布（生成器）については，64×64サイズの画像と生の音声波形の生成に成功した効率的なTransformerである**Sparse Transformer** [6]を使用しています．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/947f0af7-9e8f-3f22-b8ae-bfe3150f3c1c.png)

[オフィシャルブログ](https://openai.com/blog/jukebox/)より引用．

論文の付録も読み応えがあります．下の図は，Jukeboxで学習した（アーティスト，ジャンル）の埋め込みのt-SNEプロットです．ELOがThe Beatlesに似ているというのは納得できます😉．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/b5240980-25c2-4f1b-3582-84d63b71d62c.png)

## Language Models are Few-Shot Learners
- 著者: Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel M. Ziegler, Jeffrey Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, Dario Amodei
- URL: https://arxiv.org/abs/2005.14165
- 公開: May 2020
- 採録: NeurIPS 2020 (Best Paper)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">LMs are Few-Shot Learners [Brown+, 2020]<br>GPT-2を1750億パラメータに拡張したGPT-3を3000億トークンで事前学習させた。fine-tuningをせずに入力文にタスクの説明や具体例を入れるin-context学習という方法で、翻訳から四則演算まで様々なタスクに汎化できる。<a href="https://t.co/Qriqd9Thiq">https://t.co/Qriqd9Thiq</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/eRnlQbq5UT">pic.twitter.com/eRnlQbq5UT</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1290665516764291073?ref_src=twsrc%5Etfw">August 4, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

**GPT**[6,7]の最新バージョンである**GPT-3**は，1750億ものパラメータ（[Turing-NLG](https://www.microsoft.com/en-us/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft/)の10倍！）を持ち，3000億トークンからなるデータで訓練される事前学習済み言語モデルです．著者らは，GPTをスケールアップすることで，fine-tuningなしのfew-shot learningの性能が大幅に向上することを発見し，これを**in-context learning**と呼んでいます．次の図は，in-context learningと従来のfine-tuningを比較したものです．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/901ae191-5731-9e4d-f6cb-905b10a70af5.png)

一言でいうと，彼らのin-contextなfew-shot learningでは，モデルはタスクの説明文といくつかの具体例およびプロンプトを含む入力を推論時に初めて見て，その場で答えを予測します．追加の訓練やfine-tuningはありません．GPT-3は，翻訳，テキスト生成，要約，質問応答，さらには算術など，さまざまなタスクに対応することができます．場合によっては，fine-tuningされた従来モデルを上回ることもあります．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/bc591cf2-e0c3-b3a9-414c-2aac120f9dc4.png)

さらに驚くべきことに，GPT-3は英語をJSXコードに翻訳することができると報告されています．量的変化が質的変化に転移する，とはこのことですね．

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">This is mind blowing.<br><br>With GPT-3, I built a layout generator where you just describe any layout you want, and it generates the JSX code for you.<br><br>W H A T <a href="https://t.co/w8JkrZO4lk">pic.twitter.com/w8JkrZO4lk</a></p>&mdash; Sharif Shameem (@sharifshameem) <a href="https://twitter.com/sharifshameem/status/1282676454690451457?ref_src=twsrc%5Etfw">July 13, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</br>

OpenAIでは，学習済み重みの代わりにGPT-3モデルをAPIとして公開しています．利用したい方は，ベータ版の[waitlist](https://beta.openai.com/)に参加してください．


## Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning
- 著者: Jean-Bastien Grill, Florian Strub, Florent Altché, Corentin Tallec, Pierre H. Richemond, Elena Buchatskaya, Carl Doersch, Bernardo Avila Pires, Zhaohan Daniel Guo, Mohammad Gheshlaghi Azar, Bilal Piot, Koray Kavukcuoglu, Rémi Munos, Michal Valko
- URL: https://arxiv.org/abs/2006.07733
- 公開: June 2020
- 採録: NeurIPS 2020

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Bootstrap Your Own Latent [Grill+, 2020]<br>onlineとその重みのEMAをとったtargetの2つのネットワークを用意。異なる拡張を施した画像をそれぞれに入力し、targetの出力をonlineに予測させるという自己教師学習BYOLを提案。負例を使わず様々なタスクでSOTA。<a href="https://t.co/oYduYPifKw">https://t.co/oYduYPifKw</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/StHxVCo97f">pic.twitter.com/StHxVCo97f</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1275786767996612610?ref_src=twsrc%5Etfw">June 24, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

負例からの情報を活用する自己教師学習アルゴリズムの一種である**対照学習**は，2020年で最もホットな研究トピックの1つでした．**MoCo**，**SimCLR**，**InfoMin**など多くの手法がImageNetの精度を競いました[8-10]．これらの手法は，同じ画像の異なるデータ拡張結果の表現間の距離が小さく，異なる画像間の距離が大きくなるべきだという前提に基づいています．

これに対して，提案されている**Bootstrap Your Own Latent** (**BYOL**)は，負のペアを全く使用せずにすべての対照学習手法の性能を上回り，自己教師学習と教師あり学習のギャップを埋めました．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/bf6b08bf-41d2-3526-1c44-b758e812089c.png)

下の図に示すように，BYOLは，オンラインネットワーク($\theta$)とターゲットネットワーク($\xi$)の2つのネットワークを使用しており，ターゲットネットワークは，単にオンラインネットワークの指数移動平均です．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/260d086c-c8da-4a9f-7440-be4a1fe701e2.png)

入力画像$x$は，2つの異なるデータ拡張 ($t$と$t'$)によって$v$と$v'$に変換され，オンラインネットワークとターゲットネットワークにそれぞれ供給される．BYOLは，オンラインネットワークによる予測($q_{\theta}(z_{\theta})$) とターゲットネットワークによる出力($\mathrm{sg}(z'_{\xi})$)の間のL2距離を最小化するように訓練されます（ここで，$\mathrm{sg}$ は勾配の停止を意味します）．これが，BYOLが潜在変数のブートストラップを行う方法です．

BYOLのもう一つの利点は，対照学習のベースラインと比較して，バッチサイズの選択やデータ拡張の選び方に対して頑健なことです．また，論文の中では，学習テクニックについての議論もあります．興味のある方は，ぜひチェックしてみてください．

## Implicit Neural Representations with Periodic Activation Functions
- 著者: Vincent Sitzmann, Julien N. P. Martel, Alexander W. Bergman, David B. Lindell, Gordon Wetzstein
- URL: https://arxiv.org/abs/2006.09661
- 公開: June 2020
- 採録: NeurIPS 2020

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Sinusoidal Representation Networks [Sitzmann+, 2020]<br>陰的表現の獲得に向けて活性化関数に正弦関数を用いたSIRENを提案。高次の微分情報を失わないため、ReLUなどの従来手法よりも画像や音声などの自然信号を学習するのに適していることを実験的に確認した。<a href="https://t.co/dggPCbvHlH">https://t.co/dggPCbvHlH</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/YPJUm2wFwP">pic.twitter.com/YPJUm2wFwP</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1308410181580185603?ref_src=twsrc%5Etfw">September 22, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

科学における様々な問題は，**implicit neural representations** (**INR**)に帰着します．例えば，INRは，画像，音声信号，3次元形状をモデル化することができ，また境界値問題を解くことができます．しかし，一般的なReLU-MLPネットワークは，ReLUの2階微分がいたるところゼロであることから，信号やその微分の細かい部分をうまく表現することができません．tanhやsoftplusのような他の活性化関数は高階微分を表現することができますが，それらもまた，細かい部分を表現することができません．

そこで著者らは，周期的で$n$回微分可能な活性化関数としてsinを利用したニューラルネットワークを提案しました（**sinusoidal representation networks**の頭文字をとって**SIREN**）．sin関数の利点は，下図によく現れています．これは目的の画像にフィットさせたINRを比較したもので，他の活性化とは異なり，SIRENはでGaussianとLaplacianも含めて学習できていることがわかります．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/2bc912bb-183c-050c-eac4-41f84c808b68.png)

SIRENのこの特性は，3D形状をモデリングする際に特に有効なようです．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/2a4dd726-45cb-b9bd-0eec-c8b7398b9add.png)

このような一見単純な解決策がこれまでに登場しなかったのはなぜなのか，疑問に思う方もいるかも知れません．周期的な活性化関数は10年以上前から研究されていたそうですが，本論文が2020年においても新しいものであることには2つの要因があると思います．第一に，INRに周期的な活性化関数を適用する方法はあまり研究されていなかったことです．第二に，SIRENは初期化にちょっとしたテクニックをを必要とすることです．ネットワークを通して活性値の分布を維持するために，SIRENの初期の重みは慎重に設計された一様分布からサンプルしなければなりません．

[プロジェクトページ](https://vsitzmann.github.io/siren/)に音声，微分方程式，プレゼンテーションビデオなどのサンプルがあります．

## Graph Structure of Neural Networks
- 著者: Jiaxuan You, Jure Leskovec, Kaiming He, Saining Xie
- URL: https://arxiv.org/abs/2007.06559
- 公開: July 2020
- 採録: ICML 2020

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Graph Structure of NNs [You+, 2020, ICML]<br>MLPやCNNを「関係グラフ」で表現すると、その性能はグラフのクラスタ係数と平均経路長で特徴づけることができ、複数タスクに共通して性能が高いNN構造を与える領域を発見した。その構造はマカクの神経回路に類似する。<a href="https://t.co/2tAzwdeGTK">https://t.co/2tAzwdeGTK</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/4mvkifJe52">pic.twitter.com/4mvkifJe52</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1292825338385293316?ref_src=twsrc%5Etfw">August 10, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

この刺激的な研究は，グラフMLの研究者とコンピュータビジョンの研究者の共同研究によって行われました．

予測性能の高いニューラルネットワークには何か共通点があるのでしょうか？この疑問に答えるために，本論文ではグラフ理論の観点からニューラルネットワークを分析します．まず，著者らは，**関係グラフ** (**relational graph**) (a,b)と呼ばれるニューラルネットワークの新しい表現方法を定義します．次に，関係グラフの空間を体系的に探索するためのグラフ生成器を設計します．この関係グラフにより，ニューラルネットワークは**平均経路長**と**クラスタ係数**という2つのグラフ統計量で特徴づけられるようになります(c)．最後に，生成されたニューラルネットワークの予測性能と，対応する関係グラフのグラフ統計量との関係についての分析を行います(d)．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/caa95437-c34f-3cee-da83-a9e1c1d807ef.png)

主な発見には次のようなものがあります．
- 関係グラフの空間には，予測性能を有意に向上させるスイートスポットが存在する．
- ニューラルネットワークの予測性能は，その関係グラフのクラスタリング係数と平均パス長のなめらかな関数で近似できる．
- 最も性能がよいニューラルネットワークのグラフ統計量はマカクザルと類似している．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/bb844d98-5634-99db-97f8-b5c249077661.png)

## Towards Faster and Stabilized GAN Training for High-fidelity Few-shot Image Synthesis
- 著者: Bingchen Liu, Yizhe Zhu, Kunpeng Song, Ahmed Elgammal
- URL: https://arxiv.org/abs/2101.04775
- 公開: September 2020
- 採録: ICLR 2021

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Faster GAN Training for Few-shot Image Synthesis [Anonymous, 2020]<br>skip-layer excitationとautoencoder型の識別器を採用することで、100枚程度のデータ・GPU1枚・数時間の訓練で高解像度の画像生成に成功した。StyleGANのような特徴のdisentangleも可能。<a href="https://t.co/nFxOtFq9bU">https://t.co/nFxOtFq9bU</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/KupguLBgku">pic.twitter.com/KupguLBgku</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1331963754620231682?ref_src=twsrc%5Etfw">November 26, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

StyleGAN2は素晴らしい研究成果ですが，一方で膨大なデータと計算量を必要とするという問題があります[11]．実際，FFHQの1024×1024サイズの顔画像を生成するための学習に，StyleGAN2は8台のTesla V100 GPUと7万枚の画像を使用し，全学習に9日間を要しました．これは，研究を再現したい小規模な研究室や企業にとってはほとんど実現不可能なことです．また，この制約はGANの実応用の可能性を狭めています．

この限界は明らかであり，StyleGAN2の発表から6ヶ月後に，同じ著者らは**StyleGAN2-ADA**（**StyleGAN2 with adaptive discriminator augmentation**）[12]を発表しました．これにより，StyleGAN2は数千枚の訓練画像で元と同等の品質の画像を生成できるようになりました．

本論文の著者らは，さらに先を行きました．この論文では，skip-layer excitationモジュールとオートエンコーダー型の識別器を採用し，1台のRTX-2080 GPUと数百枚の画像で数時間訓練するだけでFFHQの画像を生成する方法（通称**Lightweight GAN**）を提案しています．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/be4516b3-bf03-83ea-6e43-2ea96f2a8ce0.png)

そして幸いなことに，[Phil Wang](https://github.com/lucidrains)氏がGitHubで[Lightweight GANの美しく使いやすい実装](https://github.com/lucidrains/lightweight-gan)を公開しました．そのおかげで，Colaboratoryや任意のGPUを使って好きな画像を生成できるようになりました．「GANの民主化」ですね!

私も実際に，200枚の寿司の画像を使ってLightweight GANを訓練してみました．訓練後は，以下のようにかなりリアルな寿司画像が生成されました．生成された画像は「[This Sushi Does Not Exist](https://thissushidoesnotexist.com/)」でも見ることができます．あなたはどんなGANを作りたいですか？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/f565e36b-ba34-4a10-fe76-ff49a94b78dc.png)

詳しくは，元論文や[前回の記事](https://qiita.com/shionhonda/items/f94630ed09980362947c)を参照してください．

## An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
- 著者: Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, Neil Houlsby
- URL: https://arxiv.org/abs/2010.11929
- 公開: October 2020
- 採録: ICLR 2021

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">An Image is Worth 16x16 Words [Dosovitskiy+, 2020]<br>パッチに分割した画像の埋め込みを入力に取るVision Transformer（632Mパラメータ）は、ImageNetより大きなJFT-300Mで事前学習させると汎化した。CNNベースのBiTよりも少ない訓練時間で画像分類のSOTA達成。<a href="https://t.co/5OpJf4z188">https://t.co/5OpJf4z188</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/e7QBEkPVLb">pic.twitter.com/e7QBEkPVLb</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1345305332726185984?ref_src=twsrc%5Etfw">January 2, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

昨年は，Transformerを画像タスクに適用する試みが多く見られました．Cordonnierらは，self-attentionと畳み込み層の等価性について研究しました[13]．Chenらは，GPTを用いて自己回帰的に画像を生成しました[14]．Carionらは，Transformerを物体検出に応用しました[15]．このような研究を踏まえると，Transformerベースの事前学習モデルで画像分類をすることは自然な流れと言えるでしょう．

上記のような研究に触発されて，Google Researchのチームが**Vision Transformer** (**ViT**)を訓練し，**Big Transfer** (**BiT**)や**Noisy Student**などのCNNのベースラインを超えて新記録を達成しました．"A picture is worth a thousand words"（百聞は一見にしかず）ということで，下の図でViTの概要を見てみましょう．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/91198764-281b-a5e3-2502-56242c015a50.png)

タイトルが暗示している通り，画像は16x16サイズの小さなパッチに分割され，通常のTransformerでトークンが埋め込まれてエンコーダーに渡されるのと同じように，位置エンコーディングとともにネットワークに入力されます．モデル全体は，分類の損失が最小になるように訓練されます（したがって，教師あり学習です）．

著者らの報告によると，ViTは帰納バイアスが小さいため，「中規模」のImageNetで学習した場合には汎化がうまくいきませんが，300倍大きいJFT-300Mというデータセットで学習した場合にはCNNのベースラインを性能で上回ります．それにもかかわらず，ViTはBiTやNoisy Studentよりも大幅に短い計算時間で訓練できます．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/085ff812-e5e3-c511-9bc8-30e012ff7819.png)

巨大なTransformerを用いた画像分類で教師あり事前学習が有効であることがわかったので，今年は半教師バージョンが登場するのではないでしょうか．


## Pre-training without Natural Images
- 著者: Hirokatsu Kataoka, Kazushige Okayasu, Asato Matsumoto, Eisuke Yamagata, Ryosuke Yamada, Nakamasa Inoue, Akio Nakamura, Yutaka Satoh
- URL: https://openaccess.thecvf.com/content/ACCV2020/html/Kataoka_Pre-training_without_Natural_Images_ACCV_2020_paper.html
- 公開: November 2020
- 採録: ACCV 2020

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Pre-training without Natural Images [Kataoka+, 2020, ACCV]<br>アルゴリズムに従って自動生成できるフラクタル画像のデータセットであるFractalDB-1k/10kを作成し、ImageNetと同様の事前学習を行った。ダウンロード不要で倫理や権利関係の問題を回避できる。<a href="https://t.co/sxz9A0IozI">https://t.co/sxz9A0IozI</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/m9HnFQ3n3W">pic.twitter.com/m9HnFQ3n3W</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1344304031036887040?ref_src=twsrc%5Etfw">December 30, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

これまでの研究で，大規模なデータセットを用いた事前学習が精度向上の鍵であることが明らかにされてきました．しかし，このようなデータセットでは，ラベルの間違い，著作権の侵害，プライバシーの侵害，非倫理的なバイアスなどの問題が発生することがしばしばあります．そこで，本論文では，人工画像を用いた事前学習が可能であることを示しました．

具体的には，著者らはあるアルゴリズムで**Fractal Database**（**FractalDB**）を用意し，それを用いてResNet-50の事前学習を行いました．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/b9d0fda4-5883-e09f-20d7-70d2af80cb11.png)

FractalDBを用いて事前学習したモデルは，ImageNet-1kを用いて事前学習したモデルを上回ることはできなかったものの，有望な結果が得られました．上に挙げたような問題点を考慮すると，FractalDBはこれからの事前学習におけるひとつの選択肢になるでしょう．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144878/ab9b696a-a32a-d265-72c5-38e56f166a16.png)

なお，本研究は，個人的にも関わりのある日本の有志研究グループである[cvpaper.challenge](http://xpaperchallenge.org/cv/)から生まれたものであり，所属組織に依らない新しい研究のあり方を提示している点も興味深いです．

# おわりに
ここには載せきれませんでしたが，他にも面白い論文が多々ありました．おすすめの論文がありましたら，気軽にコメントをいただければ幸いです．

また，現行ブログの方では，英語ですが

- [NeurIPS 2020 個人的ハイライト](https://hippocampus-garden.com/neurips_2020/)
- [Transformer派生研究のサーベイ](https://hippocampus-garden.com/xformers/)
- [二重降下現象の再現実験](https://hippocampus-garden.com/double_descent/)

などの記事をほそぼそと書いています．ご興味のある方は，ぜひこちらも覗いてみてください．

# 参考文献
[1] Jonathan Frankle, Michael Carbin. "[The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks](https://arxiv.org/abs/1803.03635)". *ICLR*. 2019.
[2] Madison May. "[Comparing Rewinding and Fine-tuning in Neural Network Pruning](https://arxiv.org/abs/2003.02389)". *ICLR*. 2020. 
[3] Shunsuke Saito, Zeng Huang, Ryota Natsume, Shigeo Morishima, Angjoo Kanazawa, Hao Li. "[PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization](https://arxiv.org/abs/1905.05172)". *ICCV*. 2019.
[4] Ali Razavi, Aaron van den Oord, Oriol Vinyals. "[Generating Diverse High-Fidelity Images with VQ-VAE-2](https://arxiv.org/abs/1906.00446)". *NeurIPS*. 2019.
[5] Rewon Child, Scott Gray, Alec Radford, Ilya Sutskever. "[Generating Long Sequences with Sparse Transformers](https://arxiv.org/abs/1904.10509)". 2019.
[6] Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever. "[Improving Language Understanding by Generative Pre-Training](https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf)". 2018.
[7] Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever. "[Language Models are Unsupervised Multitask Learners](http://www.persagen.com/files/misc/radford2019language.pdf)". 2019.
[8] Kaiming He, Haoqi Fan, Yuxin Wu, Saining Xie, Ross Girshick. "[Momentum Contrast for Unsupervised Visual Representation Learning](https://arxiv.org/abs/1911.05722)". *CVPR*. 2020.
[9] Ting Chen, Simon Kornblith, Mohammad Norouzi, Geoffrey Hinton. "[A Simple Framework for Contrastive Learning of Visual Representations](https://arxiv.org/abs/2002.05709)". *ICML*. 2020.
[10] Yonglong Tian, Chen Sun, Ben Poole, Dilip Krishnan, Cordelia Schmid, Phillip Isola. "[What Makes for Good Views for Contrastive Learning?](https://arxiv.org/abs/2005.10243)". *NeurIPS*. 2020.
[11] Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen, Timo Aila. "[Analyzing and Improving the Image Quality of StyleGAN](https://arxiv.org/abs/1912.04958)". *CVPR*. 2020.
[12] Tero Karras, Miika Aittala, Janne Hellsten, Samuli Laine, Jaakko Lehtinen, Timo Aila. "[Training Generative Adversarial Networks with Limited Data](https://arxiv.org/abs/2006.06676)". *NeurIPS*. 2020.
[13] Jean-Baptiste Cordonnier, Andreas Loukas, Martin Jaggi. "[On the Relationship between Self-Attention and Convolutional Layers](https://arxiv.org/abs/1911.03584)". *ICLR*. 2020.
[14] Mark Chen, Alec Radford, Rewon Child, Jeff Wu, Heewoo Jun, Prafulla Dhariwal, David Luan,
Ilya Sutskever. "[Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/)". *ICML* 2020.
[15] Alexander Kolesnikov, Lucas Beyer, Xiaohua Zhai, Joan Puigcerver, Jessica Yung, Sylvain Gelly, Neil Houlsby. "[Big Transfer (BiT): General Visual Representation Learning](https://arxiv.org/abs/1912.11370)". *ECCV*. 2020.
[16] Qizhe Xie, Minh-Thang Luong, Eduard Hovy, Quoc V. Le. "[Self-training with Noisy Student improves ImageNet classification](https://arxiv.org/abs/1911.04252)". *CVPR*. 2020.
[17] Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, Sergey Zagoruyko. "[End-to-End Object Detection with Transformers](https://arxiv.org/abs/2005.12872)".*ECCV*. 2020.