- 投稿日:2019-02-27T17:49:47+09:00
【論文読み】clcNet: Improving the Efficiency of Convolutional Neural Network using Channel Local Convolutions
読んだ論文
clcNet: Improving the Efficiency of Convolutional Neural Network using Channel Local Convolutions
CVPR 2018
概要
- Depthwise Convolution や grouped convolutionにより畳み込みが効率的かつ高速に
- これらは出力チャネルが入力チャネルのサブセットを利用して計算する、チャネルの局所的な畳み込み(CLC)の特別な場合とみなすこと考えた
- この定義により入力チャネルと出力チャネルの依存関係をチャンネル依存グラフ(CDG)によって表現
- grouped convolutionのCDGを変更することで新たなIGCというカーネルを作成
- ICGカーネルとGCカーネルを積み上げることにより通常の畳み込みに近似したモジュールを作成できる
- CDGを利用した分析によってIGCとGCの精度を保つためのメタパラメータを設定し、計算量を最小化することができる
- これらのclcblockを利用したclcNetを構築し、ImageNetによって既存モデルより高い計算効率とパラメータ数の減少を達成
背景
- 通常の畳み込み
- "すべてのチャネルが畳み込みの計算に関与している" →畳込みの計算はチャネル次元に対して常に大域的
- depth wise convolution & grouped convolution
- チャネルのサブセットを利用するような計算
- 出力された値はチャネルの一部のみに依存している →これを Channel Local Convolution (CLC) という概念として定義
CLCカーネルはカーネルのchannel dependency graph (CDG)によって特徴づけられる
CDGとはチャネルをノード、依存性をエッジとした有向2部グラフ出力チャネルから入力チャネルへの依存性を表す
CDGは通常の畳み込みと近似するようなCLCカーネルになるように依存性の構造を分析するために利用できる畳み込みの出力チャネルがすべての入力チャネルに依存する時、畳込みカーネルはfull channel receptive fields (FCRF)を達成するとする
仮説
FCRFはCLCカーネルを積み重ねることによって通常の畳み込みに近似させるために必要である
提案
CLC blockを提案
- 2つのCLCカーネルを持つDepth wise separable convolution
- grouped convolution(GC)
- GCとは少しことなるinteraced group convolution(IGC)CDGを分析することによってCLCカーネルのmeta-parameterを設定
interaced grouped convolution (IGC)
ExceptionやMobilenetなどのように空間方向とチャネル方向を分離して畳み込みを行うdepth separable convolutionによっても重みが効率的なモデルを学習できることが示されている
depth separable convolutionはpoint wise convolutionによってチャネル方向の畳み込みが行われており、さらに効率化をはかるのであれば、grouped convolutionを採用ことなどが考えれる
しかし初期の実験でdepth wise convolutionやpoint wise convolutionの代わりに単純なgrouped convolutionを利用すると分類精度が低下することがわかっている(おそらくShuffleNetでGrouped Convolution時にシャッフルしなかったときの精度低下の話を言っている?)
CDGを元に分析すると、grouped convolutionに変えたあとのモデルはFCRFが達成されていないことがわかる
この問題に対して対応するために提案されたのがinteraced grouped convolution(IGC)である
interaced grouped convolutionは以前のgrouped convolutionで複数のグループが組み合わさるように変更するものである
これによりグループの組み合わせによってはFCRFを達成するモデルが出てくる
IGCのmeta-parameterはグループの数を表す$g$であり、input channelの数を$M$とすると、IGCの1グループのチャネル数は$M/g$となる。
この1グループのチャネル数をchannel receptive fields size (CRF size)と呼ぶCLC blockはIGCとGCのグループ$g$を適切に設定することができればFCRFを達成することができる
次にCDGに関するNotationを記述する
- $M$: 入力チャネル数
- $L$: 中間チャネル数(IGCカーネルの出力)
- $N$: 出力チャネル数
- $g_1$: IGCのgroup parameter
- $g_2$: GCのgroup parameterそれぞれのCRFsizeは
- ICG: M / $g_1$
- CG: L / $g_2$CLC blockがFCRFを達成するためにはCGのCRFsizeがICGのグループ数以下になっている必要がある
よって以下の条件が成り立てばFCRFを達成することがわかる$$ g_1 g_2 \leq L$$
そして計算コスト最小化することを考慮すると以下の制約の元、計算量が最小になる$g_1$・$g_2$を
見つけることにより、計算量が最小でFCRFを満たすCLC blockを求めることができるただし$A$はカーネルのピクセル数を表す(3×3の場合はAは9)
評価
このConvolution Blockを元に構成したモデルをclcNetとしてimagenetのタスクを解かせる
MobileNetと比較すると25%の計算量減少,Top1Accの1%向上などモデルが効率的であることを示した
- 投稿日:2019-02-27T17:33:17+09:00
ディープラーニング∞本ノック作ったった
でぃーぷらーにんぐのフレームワークを使う特訓用の問題をつくってみました
https://github.com/yoyoyo-yo/DeepLearningMugenKnock
ディープラーニングの論文とかを理解するための特訓集です。自分の手で実装することを目標にしてます。
3年研究室にいて大事そうだなーということをまとめてます 主観入りまくりなので違うとかあればプルリクくださぁい
まだ作成途中なんだけど他の似たようなのが出たらやなので、とりあえず出しときます。
PyTorch, tensorflow, keras, chainerで作ってます。
問題として使うもチートシートとして使うもじゆう。
みなさんのプルリクどしどし待ってます。ばずってほしい
- 投稿日:2019-02-27T16:44:52+09:00
機械学習論文読みメモ_159
Low-Latency Video Semantic Segmentation
ビデオに対するlow latencyなsemantic segmentationを実現するネットワークを提案する。
このネットワークは2つの要素から成り立つ。
1つは時間方向の特徴伝搬モジュールで、CNNを拡張して実現する。
もう一つは動的なスケジューラ機能で、これは予測精度を予測する事で、
適切な予測精度を保つのに十分な計算リソースを動的に決定する。On the iterative refinement of densely connected representation levels for semantic segmentation
最新のsemantic segmentation手法ではCNNの受容体を大きくさせるために
ダウンサンプリングを行ったり、dilated convolutionを採用するなどしてきた。
しかしながら、どちらの手法がより性能向上に寄与しているのかは分かっていなかった。
本論では、その比較を通して新たなネットワークであるFully Convolutional DenseResNet (FC-DRN)
を提案する。
FC-DRNはResNetで構成されるdensely connectedなネットワークをバックボーンに持つ。
またその合間には受容体拡張を行う層は挟まれている。
この組み合わせにより、マルチスケール特徴表現とresidual構造によるgradient flowが
同時に実現できる。
このモデルに基づいて実験を行った所以下の事がわかった:
1.モデルをfrom scratchで学習させた場合、ダウンサンプリングがdilationの利用よりも高性能を実現できる。
2.finetuneで学習させる場合、dilationを利用する方が高性能を実現できる。
3.よりcoarceな特徴表現を利用する場合、後段のrefinementステップは多くは必要とならない。
4.ResNetは正則化機構として効果的である。How Does Batch Normalization Help Optimization? (No, It Is Not Abbout Internal Covariate Shift)
Batch Normalization (BN)は高速で頑健なDNN学習を実現するために汎用的に利用される。
しかし未だその効果の理由については完全に理解がされていない。
一般的に言われている説明は、層のパラメータ変化に影響され後段の特徴分布が
変化してしまうinternal covariance shiftの影響を低減できるため、というものである。
本論では、BNはそうしたinternal covariance shiftの低減への寄与が小さい事を示す。
代わりに、BNは最適化したい空間の構造を有意にスムーズにする事ができるからである事を示す。
このスムーズ性が、学習時のgradientを安定化させ、学習を高速化できる。
- 投稿日:2019-02-27T16:44:35+09:00
機械学習論文読みメモ_158
Interior Point Methods with Adversarial Networks
非凸かつ陽に定義されないような解領域で条件つけられる最適化問題を
解くための手法としてGANと内点法を組み合わせたIPMANを提案する。
提案手法はepsilon optimalな解を生成可能であり、解領域は実現可能解の
例をもとに学習される。
提案手法は内点法のようにバリア関数を導入し、GANにおけるdiscriminatorにその役割を
代替させ、一方のgeneratorが逐次的に解を改善させていく事になる。
またもし複数の全所最適解が存在する場合には、それらoptimal setを
通して分布が学習される。Self-Attention Generative Adversarial Networks
本論では、attention構造を利用して長期間の依存関係をモデリングする画像生成GANモデルを提案する。
従来のGANは低解像度の特徴空間においてその局所的情報のみを用いて高解像度の画像生成を試みてきた。
提案手法ではすべての特徴点からの情報を用いる。
さらにdiscriminatorは画像の離れた部分同士の一貫性についても確認するようにする。
また従来研究によりgeneratorに対する条件つけが性能向上のために重要である事がわかっている。
この事実に基づき、generatorに対してspectral normalizationを適用する事で学習挙動を改善する
事ができた。AutoAugment: Learning Augmentation Policies from Data
本論では、画像向けのdata augmentationについて考える。
本論で提案するAutoAugmentは探索的に改善されたdata augmentation policyを発見する。
この手法では、data augmentation policyの探索空間を定義し、
特定のpolicyにおける対象のデータセットに対する評価を直接的に行う。
この実装では、あるpolicyは複数のsub-policyから成り立つ。
それぞれのsub-policyは2つのoperationから成り立ち、
一つはtranslationやrotationといった画像処理関数で、もう一つはそれが適用されるかどうかをランダムで決める機構である。
AutoAugmentを利用する事で、ラベルなしサンプルを使わずに、それらを使うsemi-supervised手法と
同等の性能を発揮できる。
またAutoAugmentで学習されたpolicyは他のタスクにも汎用に性能向上が期待できる。
- 投稿日:2019-02-27T16:44:15+09:00
機械学習論文読みメモ_157
IGCV2: Interleaved Strucrured Sparse Convolutional Neural Networks
畳み込みカーネルの効率化を通した高効率なCNNを提案する。
構造化スパースカーネル、低ランクカーネル、低ランクカーネルの積を用いたカーネル表現に加えて、
構造化スパースカーネルの積は最近提案されてきているinterleaved group convolution (IGC)や
Xceptionのカーネルを理解するためのフレームワークとして注目されてきている。
本論ではIGCで構成するgroup convolutionは構造化スパースカーネルの積を用いて分解できる
事を利用する。
これにより、さらなるカーネルの余分を取り除く事が可能になる。Image Inpainting for Irregular Holes Using Partial Convolutions
従来のDNNベースのimage inpainting手法は欠損した画像に対して通常の畳み込みを適用してきた。
この際、欠損された部分は平均値などで置き換えた形で前処理がされた。
しかしながらこうした手法はblurやcolor discrepancyなどの問題を生んだ。
本論ではこの問題に対応する手法としてpartial convolutionを提案する。
この手法では、陽に欠損情報を利用して、欠損していない部分のみを利用した畳み込みを行う。
本論はさらに深い層における特徴空間に対応した欠損情報を得るための手法をあわせて提案する。Tempered Adversarial Networks
GANは現実的なサンプル生成のためのモデルとして優秀であるが、
その学習は困難である。
この困難さはGANを構成する2つのネットワークの間にある不均衡が
原因であると考えられる。
つまり、discriminatorはrealとfake双方のサンプルを用いて学習されるが、
generatorはfakeサンプルのみから学習される事である。
これは、real sampleが与えられた訓練データに制限される事に起因している。
本論ではこうした問題に対して、generatorにreal sampleに対してもコントロール
を与える事で解決する。
このコントロールを行うモジュールはlensの呼ぶ。
このlensモジュールの利用でreal samplesの特徴を少しずつ明らかにしていく形でdiscriminatorへ
提供し、これにより学習のバランスを取る。
lensの例としては、はじめにreal sampleへblurをかけるようにし、徐々にそれを取り除いていく
ような学習過程である。
提案するモジュールはまた、学習しているモデルの性能に合わせて自動的に調整がなされる。
- 投稿日:2019-02-27T16:43:58+09:00
機械学習論文読みメモ_156
CalibNet: Self-Supervised Extrinsic Calibration using 3D Spatial Transformer Networks
3D Lidarと2Dカメラは認識タスクにおいて組み合わせて用いられる事が一般的である。
しかしそのためにはintrinsic/extrinsicのキャリブレーションが必須である。
そしてこのキャリブレーションは多大なコストがかかるためスケーラビリティを落とす
原因となっている。
本論ではこの問題に対する手法として、self supervisedなDNNを用いた3D Lidarと2Dカメラ間の
rigid transformをリアルタイムに予測する手法を提案する。
この手法はキャリブレーションターゲットを用意する必要がなく低コストである。
DNNの学習時には、Lidar point cloud, 2D camera input, camera intrinsicのみを要求し
直接的なsupervisionは要求しない。
代わりにdense photometric errorとdense point cloud distance errorをself supervisionとして
最小化する事で学習を行う。Large Scale Distributed Neural Network Training Through Online Distillation
ensemblingとdistillationを組み合わせた手法はほとんどのbase modelに対して、性能の向上が期待できる。
しかしensemble手法はtest timeが増加してしまう問題、distillationは学習プロセスが複雑になる
問題がある。
本論では、新たなオンラインdistillation手法としてCodistillationを提案し、
これは従来のmulti-stageな学習プロセスやたくさんのパラメータチューニングを要求しない。
この手法を提案するにあたってまず、本論はCodistillationを行う事で
より高速な学習が可能になる事を主張する。
特に重要な事に、従来の分散stochastic gradient descent学習手法におけるworker数の増加が
性能向上にこれ以上寄与しない状況に対しても提案手法はさらなる性能向上が望める。
この手法は各ノードでの独立なモデル学習を行う従来のアンサンブル学習において、
さらにその損失関数へ他モデルの平均精度に対する乖離を最小化させるような制約を加える。
これによりさらなる学習ステップを追加する事なくdistillationを組み込む事が可能になる。Universal Planning Networks
複雑なvisuomotor controlタスクでは有用な特徴表現を獲得する事が
大事になってくる。
本論で提案するuniversal planning networks (UPN)はpolicyモデルに
微分可能なplannerを埋め込む。
このplannerは特徴空間上でgradient descentによる最適化を利用した
プランニングを行う。
こうした勾配ベースのプランニングモデル及び利用される特徴空間は
end to endで学習する事が可能である。
- 投稿日:2019-02-27T16:43:41+09:00
機械学習論文読みメモ_155
Semi-parametric Image Synthesis
semi-parametricなphotographic image synthesisをその画像のセマンティックな
レイアウト情報より出力させる手法を提案する。
提案手法はparametricとnon-parametricの強みを統合する。
そのnon-parametricな部分は学習データから得られる画像セグメントの
記憶を示す。
この記憶はテスト時にDNNが用いる素材として使われる。
DNNはそうした素材の重ね合わせの関係などを含めた自然なアラインメントを行う。Blazingly Fast Video Object Segmentation with Pixel-Wise Metric Learning
ユーザーからobject of interest情報が与えられた場合のvideo object segmentation手法を提案する。
本論では問題をpixel wiseのsegmentationタスクで考え、
同じインスタンスに属するpixelが近傍に集まるような空間へDNNを用いて入力を写像する。
このDNNは類似度関数を学習する際に用いられるtriplet lossを修正したものを用いて学習を行う。
画像の中でアノテーションされたピクセルはreferenceとして用いられ、その近傍点を分類するために
用いられる。
このアノテーションはセグメントマスクから単純なクリックアノテーションまでをサポートできる。Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics
多くのDNNはマルチタスクの目的関数を用いる事で性能向上を図っている。
本論では、そうしたマルチタスク学習は、タスク間の重み付けに強く依存
している事を示す。
そうした重み付けのチューニングは人手で行うには困難な作業である。
本論で提案するアプローチでは、各タスク毎に固有な不確かさが
ある事を考慮した重み付けを学習する。
この事で、各分類、回帰タスクが持つ異なったスケールの組み合わせを
同時に学習させる事を可能にする。