はじめに
本記事では私が2019年にツイートしたDeep Learning関連の論文紹介の中から、インプレッションが高かったものを月ごとに取り上げて振り返っていきます。本記事は後編(7月〜12月)になります。前編はこちらをご覧ください。
7月
### タイトル Jeff Donahue and Karen Simonyan (DeepMind), "**Large Scale Adversarial Representation Learning**," NeurIPS2019. ### 手法概要BiGANとBigGANの組み合わせによる表現学習手法。BiGANにおけるdiscriminatorでは潜在変数と画像の組が入力となるが、提案手法では潜在変数あるいは画像のみを受け取るdiscriminatorを追加することで性能を向上。SOTAの一つである画像の回転量予測による表現学習と比べImageNetの識別性能を5%以上改善 https://t.co/Yc5oPRirRa
— Kazuyuki Miyazawa (@kzykmyzw) July 8, 2019


8月
### タイトル Ziteng Gao, Limin Wang, and Gangshan Wu (Nanjing University), "**LIP: Local Importance-based Pooling**," ICCV2019. ### 手法概要従来のpoolingは特徴マップの局所的な重要性を考慮していないことを指摘し、これを陽に表現するLocal Importance-based Poolingを提案。入力特徴マップに対して各特徴の重要度を出力する層を挿入し、得られた重要度に従ってpoolingを行う。MSCOCOでの物体検出において定常的に1.4%以上の性能向上を達成 https://t.co/uT3I6O2vFP
— Kazuyuki Miyazawa (@kzykmyzw) August 14, 2019

9月
### タイトル Qi Qian, Lei Shang, Baigui Sun, Juhua Hu, Hao Li, and Rong Jin (Alibaba, University of Washington), "**SoftTriple Loss: Deep Metric Learning Without Triplet Sampling**," ICCV2019. ### 手法概要  距離学習では一般的にtripletサンプリングが必要となるが、これが不要なsoftmax lossであってもtriplet lossの特殊ケースとみなせることを示し、その拡張としてSoftTriplet lossを提案。最後のFC層における各クラスの中心が一つであるとすると、softmax lossから導出できるtriplet制約は入力サンプル、所属クラスの中心、および他クラスの中心との間で定義することができる。しかし、上図左のように各クラスで中心が一つしか存在しないという制約は実データにおけるクラス内のバリエーションを考えると非現実的であるため、これを拡張して複数中心の存在を仮定したSoftTriplet lossを提案。上図右のように、FC層から得られる特徴ベクトルの次元を各クラスに存在する中心の個数に応じて拡張したうえでsoftmaxを適用する。各クラスの中心の個数についてはあらかじめ決定することが困難であるため、最初に十分大きな個数を与え、距離が近い中心については統合していくことで最適な個数を求めるというアプロチーチをとっている。 ### 評価実験  CUB-2011、Cars196、SOPの3データセットにおいてInceptionをbackboneとしたfine-grainedクラス分類で性能を評価。上図はCUB-2011における結果である。左は特徴の埋め込み次元を64とした場合であるが、単純にsoftmaxを用いるだけでも従来手法よりも高い性能が得られており、さらに提案手法であるSoftTripleにより従来手法から10%近く性能が改善している。また、上図右は埋め込み次元を512まで大きくした場合の結果であるが、こちらでもSoftTripleが最も高い性能を示している。 ### 実装 著者によるものか不明であるが、いくつか実装が公開されている。距離学習におけるtripleロスの最小化は、各クラスのクラスタ中心が一つである場合のsoftmaxロスの最小化に等しいことを証明。さらにクラス内分布の多様性に対応するためクラスタ中心が複数存在する場合に拡張したSoftTripleロスを提案。tripletのサンプリングが不要で、クラスタ中心の数も自動的に決定 https://t.co/YJiVrpSAFr
— Kazuyuki Miyazawa (@kzykmyzw) September 13, 2019
10月
### タイトル Guohao Li, Matthias Müller, Guocheng Qian, Itzel C. Delgadillo, Abdulellah Abualshour, Ali Thabet, and Bernard Ghanem (KAUST), "**DeepGCNs: Making GCNs Go as Deep as CNNs**," ICCV2019[^1]. [^1]: 正確には本論文はICCVに採録された[論文](https://arxiv.org/abs/1904.03751)のextended version(ジャーナル査読中)である。 ### 手法概要勾配消失の問題があるため従来2〜4層程度であったGCNにCNNにおけるresidual/dense接続の概念を取り入れ、100層以上での学習を実現。3次元点群のセグメンテーションではPointNet等を上回る性能を達成し、PPIを使ったグラフノードの分類でもCluster-GCNをわずかに上回っている https://t.co/2yQyt9CPWy
— Kazuyuki Miyazawa (@kzykmyzw) October 17, 2019

CNN同様、GCN (Graph Convolutional Nets) においても層を増やしていくと勾配消失などの問題が発生するが、深いGCNをうまく学習させる方法はこれまで提案されておらず、GCNの総数は一般的に4層以下にとどまっていた。本論文では、CNNの総数を増やすことに大きく貢献したResNetにおけるresidual接続、およびResNetから層間の接続をさらに増やしたDenseNetにおけるdense接続をGCNに導入することで、GCNの総数を最大112層まで増やすことに成功している。また、総数を増やすとpoolingの反復によって空間方向の情報が失われるという問題への解決策の一つとしてCNNで使われているdilated convolutionについてもGCNへ導入している。
評価実験



- [lightaime/deep_gcns_torch] (https://github.com/lightaime/deep_gcns_torch)
- [lightaime/deep_gcns] (https://github.com/lightaime/deep_gcns)
11月
### タイトル Cihang Xie, Mingxing Tan, Boqing Gong, Jiang Wang, Alan Yuille, and Quoc V. Le (Google, Johns Hopkins University), "**Adversarial Examples Improve Image Recognition**," arXiv, 2019. ### 手法概要敵対的サンプルの学習で性能を向上させるAdvPropを提案。敵対的サンプルは通常と分布が異なるため、BNが共通だと適切に学習できない。そこで、学習時に通常サンプルと敵対的サンプルでBNを分離。モデルサイズが大きいほど効果も大きく、EfficientNet-B7をさらに大きくしたB8でImageNet 85.5%を達成 https://t.co/gcX18cehcT
— Kazuyuki Miyazawa (@kzykmyzw) November 25, 2019

12月
### タイトル Alexander Kirillov, Yuxin Wu, Kaiming He, Ross Girshick (FAIR), "**PointRend: Image Segmentation as Rendering**," arXiv, 2019. ### 手法概要  領域に応じてサンプリング密度を変えることで品質を落とさずに計算効率を上げるCGのレンダリングに倣い、インスタンス/セマンティックセグメンテーションにおいて物体境界の精度を向上させるPointRend (Point-based Rendering) を提案。従来手法では一般的に解像度を落とした特徴マップ上でセグメンテーションが行われるため、周波数の高い物体境界は正しく表現できない。これに対しPointRendでは、上図左に示すようにまず低い解像度の特徴マップで粗いセグメンテーションを行った後、必要な画素においてのみ高解像度な特徴マップを参照して再度推論を行う。これを繰り返すことで、演算量の増加を抑えつつ物体境界の精度を改善することができる。具体的にはadaptive subdivisionと呼ばれるCGにおける古典的手法を用いており、上図右に示すように最初に例えば4x4の特徴マップ上でセグメンテーションを行い、これを8x8に補間拡大したうえでconfidenceの低い点だけを選んで推論をやり直すことでわずかな点の再計算のみで解像度を向上させている。 ### 評価実験  ベースラインとしてMask R-CNNを利用し、COCOおよびCityscapesを用いてインスタンスセグメンテーションおよびセマンティックセグメンテーションの性能を評価。上図左の評価結果において、4x convがデフォルトのMask R-CNNであるが、PointRendの利用により性能が向上していることがわかる。上図右はPointRendの計算効率の高さを示したものであるが、例えば224x224の高解像度な推論を行う場合、PointRendは通常の一様サンプリングに比べて演算量を1/30以下に抑えることができる。CGにおけるレンダリング効率化の仕組みをセグメンテーションに応用。従来セグメンテーションに使われていた粗い特徴マップから適応的に点を選択し、その点についてのみ高解像度な特徴マップを参照して解像度を上げる。これを所望の解像度に達するまで繰り返すことで低演算量で物体境界の分離精度を改善 https://t.co/15Ck4XmUAT pic.twitter.com/gMmhzpuh4N
— Kazuyuki Miyazawa (@kzykmyzw) December 18, 2019

また、detectron2のissueにて、1ヶ月以内に公開するとのコメントが12月末に投稿されている。
おわりに
前編と合わせて2019年のDeep Learning系論文(ほぼCV)11本の論文を振り返りました。私がそういう論文を選んでいるというのもありますが、基本的にはトップカンファレンスの論文が多いですね。また、おかげ様で少しずつフォロワー数が増えているせいか、後半の方があぁやっぱこれだよね、みたいな論文が選ばれているように思います(気のせいかも)。というわけでどしどしフォローをよろしくお願いします〜。2019年の振り返りと言っておきながら2020年になってしまったわけですが、特に他に良い方法も思いつかないので今年も引き続きarXivチェックを続けていきます!が、もう少しがっつり細部まで読み込む論文の数を増やしたいですね。やはりさらっと流して終わりだと理解も記憶も不十分なので… 2020年は浅くと深くを意識的に使い分けて論文フォローをやっていきたいと思います。
おまけ
2019年のインプレッション1位はインプレッション26,286のこちらの論文でした!従来がせいぜい4層だったのを一気に100層以上ということでインパクト大きかったんですかね〜 ちなみに私はグラフなにもわからない
勾配消失の問題があるため従来2〜4層程度であったGCNにCNNにおけるresidual/dense接続の概念を取り入れ、100層以上での学習を実現。3次元点群のセグメンテーションではPointNet等を上回る性能を達成し、PPIを使ったグラフノードの分類でもCluster-GCNをわずかに上回っている https://t.co/2yQyt9CPWy
— Kazuyuki Miyazawa (@kzykmyzw) October 17, 2019