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

# はじめに
2019年も終わりということで, 深層学習・機械学習分野の論文で年間ベスト的なものを選ぶ企画がいくつか出ています. 

- [Twitterで振り返る2019年のDeep Learning論文（前編） - Qiita](https://qiita.com/kzykmyzw/items/0316cef4a901e9430b8f)
- [2019年, 俺の読んだ論文50本全部解説(俺的ベスト3付き) - Qiita](https://qiita.com/wataoka/items/ae782defabc3706b5c93)
- [Top AI & Machine Learning Research Papers From 2019 | TOPBOTS](https://www.topbots.com/top-ml-research-papers-2019/)

私も便乗して, 2019年の論文からおもしろかったものを10本選んで振り返ってみたいと思います. 
お正月休みに読んでみてはいかがでしょうか:mouse::bamboo:

ちなみに, 私は大学院でAI創薬を研究している修士2年の学生です. 
普段は研究に必要な文献の他, TwitterやRedditで話題になった論文を読んでいます. 数えてはいませんが, 1年に100本程度は読んでいると思います. 
今回の10選も応用寄りではありますが, なるべく広い分野から選んだつもりです. 

# 論文10選（公開順）
普段から読んだ論文は簡単にまとめてTweetしているので, それを使って公開日順に振り返っていきます. 
対象はおおまかに「2019年に公開された論文」と「2019年に学会・雑誌で発表されたもの」とします. StyleGANなどは~~無意識のうちに~~「2018年っぽさが強い」ので候補から除きました. 
評価基準は厳密には言語化できませんが, 

- 新しい知見が得られたか
- 発想・問題意識の斬新さ
- 結果の強さ・応用可能性

といったところを意識しています. とはいえ, もちろん主観的です. 

## Invertible Residual Networks
- 著者: Jens Behrmann, Will Grathwohl, Ricky T. Q. Chen, David Duvenaud, Jörn-Henrik Jacobsen
- リンク: https://arxiv.org/abs/1811.00995
- 公開: 2018/11/2
- 採録: ICML 2019

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Invertible ResNet [Behrmann, 2019, ICML]<br>ResNetにスペクトル正規化を入れてLipschitz制約を課すことで, 逆変換を次元で分割せずに不動点反復で求められるFlowを提案した. 尤度計算ではJacobianのlog-detの部分をtraceで近似. 生成/識別のいずれでも高性能. <a href="https://t.co/bHByamVCdF">https://t.co/bHByamVCdF</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/evSO02diGz">pic.twitter.com/evSO02diGz</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1177571557301878785?ref_src=twsrc%5Etfw">September 27, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

「ResNetにスペクトル正規化を入れると不動点反復で逆像が求まる」→「Flowに使える」という理論に根ざした発想が, 個人的な評価ポイントです. また, log-detを求める部分でも様々な計算上のトリックを使っていて, 性能の高さと相まって質の高さを感じさせる論文でした. 
なお, その後, log-detの推定を不偏推定に改善した[Residual Flow](https://arxiv.org/abs/1906.02735)が同チームから発表され, NeurIPS 2019に採択されました. 

Flowベース生成モデルについては過去に[こちら](https://qiita.com/shionhonda/items/0fb7f91a150dff604cc5)でまとめているので, 興味のある方はご覧ください. 

## Unsupervised Inductive Graph-Level Representation Learning via Graph-Graph Proximity
- 著者: Yunsheng Bai, Hao Ding, Yang Qiao, Agustin Marinovic, Ken Gu, Ting Chen, Yizhou Sun, Wei Wang
- リンク: https://arxiv.org/abs/1904.01098
- 公開: 2019/4/1
- 採録: IJCAI 2019

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Unsupervised Graph-level Embedding [Bai+, 2019, IJCAI]<br>Graph Edit Distanceを反映するようにして教師なしでグラフ埋め込みを獲得する方法を提案. GINによるノード埋め込みをグラフレベルに変換するモデル(attentionとskip connectionを含む)を学習させる. <a href="https://t.co/n8RVeAir2Z">https://t.co/n8RVeAir2Z</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/IdOpYRqx3B">pic.twitter.com/IdOpYRqx3B</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1141708672352976896?ref_src=twsrc%5Etfw">June 20, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

グラフの教師なし表現学習方法を提案した論文です. いろいろなアーキテクチャ・学習方法が考えられますが, 本論文では[Graph Isomorphism Network](https://arxiv.org/abs/1810.00826)とGraph Edit Distanceを使っています. Figure 2が美しく, かつ直感的で好きなポイントです. 
グラフの表現学習といえば, 2019年は他にも[Pre-training GNNs](https://openreview.net/forum?id=HJlWWJSFDH)や[Deep Graph InfoMax](https://arxiv.org/abs/1809.10341)があったと記憶しています. 

## SinGAN: Learning a Generative Model from a Single Natural Image
- 著者: Tamar Rott Shaham, Tali Dekel, Tomer Michaeli
- リンク: https://arxiv.org/abs/1905.01164
- 公開: 2019/5/2
- 採録: ICCV 2019 (Best Paper Award)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">SinGAN [Shaham+, 2019, ICCV]<br>SinGANは階層的なGen/Disで1枚の画像から学習し, 同じような要素を持つ任意のサイズ・アスペクト比の画像を生成する. seedの入れ方を工夫することでpaint to image, 画像編集, harmonization, 超解像, 動画化など幅広い応用が可能. <a href="https://t.co/W3arMgt1uZ">https://t.co/W3arMgt1uZ</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/qvE6xBf0LG">pic.twitter.com/qvE6xBf0LG</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1200063004168970246?ref_src=twsrc%5Etfw">November 28, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

SinGANは1枚の画像から似た画像の生成や動画化, HarmonizationなどができるGANで, 応用上の価値が非常に高いと思いました. また, GANのモード崩壊が問われないような問題設定を考えていて, GANの使い方が巧みだと思いました. 
いろいろ遊んでみた結果を[こちら](https://qiita.com/shionhonda/items/5781d60322f089845db2)にまとめているので, 興味のある方はご覧ください. 

## Unified Language Model Pre-training for Natural Language Understanding and Generation
- 著者: Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xiaodong Liu, Yu Wang, Jianfeng Gao, Ming Zhou, Hsiao-Wuen Hon
- リンク: https://arxiv.org/abs/1905.03197
- 公開: 2019/5/8
- 採録: NeurIPS 2019

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Unified LM Pre-training [Dong+, 2019]<br>単/双方向, seq2seq LMを統一したUNILMを提案. Transformerでattention maskのかけ方を変えながら3言語モデルを同時に事前学習する. GLUEやSQuADでBERTと同等以上の結果を出したほか, 要約や質問文生成でSOTAを達成した. <a href="https://t.co/yMB35nRUKh">https://t.co/yMB35nRUKh</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/OsKEsKg0AD">pic.twitter.com/OsKEsKg0AD</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1130440983366103041?ref_src=twsrc%5Etfw">May 20, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

ELMo, BERT, GPT-2などの事前学習済み言語モデルが乱発し始めた頃に, いち早く言語モデルをまたいだ事前学習方法を提案・実践した論文です. GLUEのようなタスクと要約が同じモデルで実行できるのはそれだけでも便利ですし, それぞれの性能が個別の言語モデルで学習したものよりも高かったということなので, こちらも応用上の価値の高い論文だと思います. 
その後に登場した[T-5](https://arxiv.org/abs/1910.10683)もこのようなアイディアに基づいているのではないかと予想しています（論文をちゃんと読んだわけではないので, 間違っていたら教えてください）. 


## Putting An End to End-to-End: Gradient-Isolated Learning of Representations
- 著者: Sindy Löwe, Peter O'Connor, Bastiaan S. Veeling
- リンク: https://arxiv.org/abs/1905.11786
- 公開: 2019/5/28
- 採録: NeurIPS 2019 (Honorable Mention Outstanding New Directions Paper Award)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Greedy InfoMax [Löwe+, 2019, NeurIPS]<br>Contrastive Predictive Codingの相互情報量最大化(InfoNCE)でネットワークの各層を独立に訓練することで, 誤差逆伝播をしない自己教師表現学習を実現. メモリ効率が良く勾配消失が起きない. 画像と音声で性能を評価. <a href="https://t.co/sDCZw5JSbq">https://t.co/sDCZw5JSbq</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/unHFuYL7tS">pic.twitter.com/unHFuYL7tS</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1211880775907332099?ref_src=twsrc%5Etfw">December 31, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

洒落の利いたタイトルが目立ちますが, 現在までの系列の埋め込みと未来の潜在表現の間の相互情報量を**各層で**最大化するという方法で, **誤差逆伝播をせずに**学習ができるというすごい論文です. 
脳は全体での誤差逆伝播を行っていないこと, 高度にモジュール化されていて局所的に学習していることなどから着想を得ているそうで, "NeurIPS"らしい論文と言えますね. 

先程のDeep Graph InfoMax然り, 相互情報量最大化による表現学習が最近流行っている気がしますが, [こちらのスライド](https://www.slideshare.net/DeepLearningJP2016/dl-171350996)でまとめてありました. ありがたいです. 

## Generating Diverse High-Fidelity Images with VQ-VAE-2
- 著者: Ali Razavi, Aaron van den Oord, Oriol Vinyals
- リンク: https://arxiv.org/abs/1906.00446
- 公開: 2019/6/2
- 採録: NeurIPS 2019

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">VQ-VAE-2 [Razavi+, 2019]<br>潜在変数を階層的にしたVQ-VAEを訓練した後, 事前分布をPixelSNAILに学習させるという方法でBigGANに匹敵する高解像度画像の高速な生成を実現した. クラスラベルを利用した棄却サンプリングでImageNetでの多様性も確保. <a href="https://t.co/iplJy78S5J">https://t.co/iplJy78S5J</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/HStoJ2wsd4">pic.twitter.com/HStoJ2wsd4</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1187368715257552901?ref_src=twsrc%5Etfw">October 24, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

VQ-VAE-2は, 基本的には2017年にDeepMindのスター研究者チームから発表された[Vector Quantised-VAE](https://arxiv.org/abs/1711.00937)の改良版なのですが, VAEでBigGANに匹敵する生成画像の品質を実現したのはかなり印象的でした. 
潜在変数を離散的にしてノイズに強くするという発想はStyleGANにも通じているのではないでしょうか. 

VAEについては過去に[こちら](https://qiita.com/shionhonda/items/e2cf9fe93ae1034dd771)でまとめているので, 興味のある方はご覧ください. 

## Weight Agnostic Neural Networks
- 著者: Adam Gaier, David Ha
- リンク: https://arxiv.org/abs/1906.04358
- 公開: 2019/6/11
- 採録: NeurIPS 2019

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Weight Agnostic Neural Networks [Gaier+, 2019, NeurIPS]<br>重みを学習せずアーキテクチャの探索のみで強化学習タスクやMNIST分類がある程度解けることを示した. 重みを共有して, 単純な構造にノード挿入/ノード連結/活性化関数の変更の操作を加えていく. <a href="https://t.co/qxTnJWLoo5">https://t.co/qxTnJWLoo5</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/cFcVbWxmPr">pic.twitter.com/cFcVbWxmPr</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1191173450724823047?ref_src=twsrc%5Etfw">November 4, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

**NAS (Neural Architecture Search)** が流行っていたところに, 「重みを学習せずアーキテクチャの最適化のみでタスクを解く」という斬新な試みを実践してみせたのがWANNです. 実際, ニューラルネットの性能はアーキテクチャと重みの最適化という2つの要素から構成されているはずで, 従来のハイパーパラメータ探索ではこれらを混同して最適化してしまっていたので, 前者のみに注目した研究は重要だと思います. 
[公式ページ](https://weightagnostic.github.io/)に, 共有された重みの値を変えたときのエージェントの振る舞いの変化を観察できるデモがあるので, ぜひ遊んでみてください. 

こちらも元論文を読んでいないので恐縮ですが, ICLR 2019のBest Paper Awardに選ばれた[宝くじ仮説の論文](https://arxiv.org/abs/1803.03635)は関係が深そうです. 

## Emergent Tool Use From Multi-Agent Autocurricula
- 著者: Bowen Baker, Ingmar Kanitscheider, Todor Markov, Yi Wu, Glenn Powell, Bob McGrew, Igor Mordatch
- リンク: https://arxiv.org/abs/1909.07528
- 公開: 2019/9/17
- 採録: ICLR 2020

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Emergent Tool Use From Multi-Agent Autocurricula [Baker+, 2019]<br>最大3対3で道具を使うかくれんぼの環境を用意して自己対戦を繰り返したところ, 6種の戦略の創発が確認できた. モデルは見えない範囲をマスクしたAttention-LSTMで, 重みは各エージェント共通. <a href="https://t.co/WwIf49lTWN">https://t.co/WwIf49lTWN</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/QHJFR4JrcK">pic.twitter.com/QHJFR4JrcK</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1177232857351127040?ref_src=twsrc%5Etfw">September 26, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

こちらは, かくれんぼという（囲碁やポーカーよりも）視覚的にわかりやすく協調が必要なチーム対戦型ゲーム環境を用意して, そこでエージェントを自己対戦させたときの戦略の創発を観察するという論文です. 「エージェントが自ら戦略を学ぶ」というのがいかにも人工知能らしくて気に入っています. 

[公式ブログ](https://openai.com/blog/emergent-tool-use/)では, 動画を見るだけでもだいたい何をやってるのかがわかるようになっています. エージェントのデザインがかわいいところも良いですね. 

## NGBoost: Natural Gradient Boosting for Probabilistic Prediction
- 著者: Tony Duan, Anand Avati, Daisy Yi Ding, Sanjay Basu, Andrew Y. Ng, Alejandro Schuler
- リンク: https://arxiv.org/abs/1910.03225
- 公開: 2019/10/8
- 採録: 未定

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Natural Gradient Boost [Duan+, 2019]<br>回帰問題において目的変数の期待値だけでなく信頼区間の推定もできる勾配ブースティングを提案. 学習器, 確率分布, 損失関数を指定した上で, 自然勾配を使って複数の分布パラメータを予測する学習器を訓練していく. <a href="https://t.co/d4I4MBwAda">https://t.co/d4I4MBwAda</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/a72EjZLa3h">pic.twitter.com/a72EjZLa3h</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1184848154174210049?ref_src=twsrc%5Etfw">October 17, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

NGBoostは, Kaggleなどのデータ解析コンペで人気の勾配ブースティングで目的関数の分布をモデリングできるようにした論文です. 回帰問題で信頼区間が推定できるのは実用上かなり有用だと思います. 提案手法の新しい要素は勾配として**自然勾配**を利用することくらいなのですが, 難しそうな微分幾何の概念が実応用に直結している点が魅力的に感じました. 

本論文については, AI-SCHOLARにて[解説記事](https://ai-scholar.tech/treatise/ngboost-ai-345/)を書きました. 

## Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model
- 著者: Julian Schrittwieser, Ioannis Antonoglou, Thomas Hubert, Karen Simonyan, Laurent Sifre, Simon Schmitt, Arthur Guez, Edward Lockhart, Demis Hassabis, Thore Graepel, Timothy Lillicrap, David Silver
- リンク: https://arxiv.org/abs/1911.08265
- 公開: 2019/11/19
- 採録: Nature

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">MuZero [Schrittwieser+, 2019]<br>AlphaZeroのMCTSを実環境ではなくモデルベースのシミュレーションで行い, 碁などとAtariに適用した. それぞれAlphaZeroとR2D2超え. モデルμは観測値を状態に変換するh, 状態遷移を担うg, 状態価値を予測するfからなる. <a href="https://t.co/8AkiWyJSpU">https://t.co/8AkiWyJSpU</a><a href="https://twitter.com/hashtag/NowReading?src=hash&amp;ref_src=twsrc%5Etfw">#NowReading</a> <a href="https://t.co/PqWcrUK5wi">pic.twitter.com/PqWcrUK5wi</a></p>&mdash; Shion Honda (@shion_honda) <a href="https://twitter.com/shion_honda/status/1200670568481058817?ref_src=twsrc%5Etfw">November 30, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

囲碁でプロ棋士に勝利したことで有名な, DeepMindによるAlphaGoシリーズの続編です. 今度はルールを自ら学習しながら囲碁・チェス・将棋でAlphaZeroに勝利しました. さらに, AlphaGoシリーズでは対応できなかった視覚的に複雑なゲーム「Atari 2600」で従来の最強モデルであるR2D2を超えるスコアを達成しました. この成功は, AlphaGoシリーズの手法に環境のダイナミクスを予測させるモデルベース強化学習を取り入れることで実現しました. このように, 各タスクでの性能が上がり, しかも解けるタスクが増えるというのは, 聞くだけでもワクワクしてしまう話ですね. 

本論文については, AI-SCHOLARにて[解説記事](https://ai-scholar.tech/treatise/muzero-ai-355/)を書きました. 

# おまけ: おもしろそうだけど読みきれなかった論文
ここまでで触れられなかったものの, 紹介記事を読んで興味を持った論文を備忘録として挙げておきます. 

- Adversarial Examples Are Not Bugs, They Are Features (NeurIPS 2019)
- Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches (RecSys 2019 Best Paper Award)
- EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks (ICML 2019)

# おわりに
改めて1年を振り返ってみて, 目覚ましい進歩があったことが再確認できました. しかし, きっとこれは氷山の一角で, 他にも私の知らない素晴らしい研究が無数にあるはずです. それでも, 1年前と比べて自分の視野が広がったのは素直に嬉しいです. 

また, こうやって選んでみると, おもしろいと感じる論文はNeurIPS採択であることが多いことがわかりますね. チケットの争奪戦が熾烈なようですが, いつか参加してみたいものです. 

来年はタブレット端末を買って賢く文献管理をしつつ, 実装により力を入れていきたいと思います.