shimopino / papers-challenge

Paper Reading List I have already read
30 stars 2 forks source link

Reusing Discriminators for Encoding Towards Unsupervised Image-to-Image Translation #26

Open shimopino opened 4 years ago

shimopino commented 4 years ago

論文へのリンク

[arXiv:2003.00273] Reusing Discriminators for Encoding Towards Unsupervised Image-to-Image Translation

著者・所属機関

Runfa Chen, Wenbing Huang, Binghui Huang, Fuchun Sun, Bin Fang

投稿日時(YYYY-MM-DD)

2020-02-29

1. どんなもの?

従来の画像変換タスクにおいて、入力画像を別ドメインに変換するためにEncoderを使用して低次元の潜在表現に変換していた。本論文では、DiscriminatorをEncoderとClassifierに分けることで、2つの処理を同時にこなすNICE-GANを提案した。

モデルを軽量化しながらも既存のモデルを超える性能を達成している。

image

2. 先行研究と比べてどこがすごいの?

CycleGANなどのモデルでは画像変換を以下の3つの計算で行っている。

  1. 入力された画像を低次元の潜在空間に圧縮
  2. 圧縮された特徴量からほかのドメインに変換した画像を生成
  3. 対象ドメインの実画像と区別できるか判定

DiscriminatorとEncoderは別々のネットワークとして定義されているが、DCGANの論文で提起されているように、Discriminatorはより入力された画像をより浅い層で圧縮した表現に変換する部分と、圧縮された表現から偽物か本物かをより深い層で判定している。

本論文ではこの特性を生かし、2つの特性を考慮したDiscriminatorを提案し、画像変換タスクで使用されるネットワークを従来のものよりも軽量化させることに成功した。

3. 技術や手法の"キモ"はどこにある?

3.1 ネットワーク構造

以下が今回提案しているNICE-GANの構造である。

image

DiscriminatorはEncoderとClassifierから構成されている。入力された画像をEncoderで圧縮した後に、それぞれ異なるサイズの受容野を有するサブネットワークに入力し、分類タスクを実行している。

Encoderの計算には、U-GAT-ITで提案された注意機構による特徴量マップの重み付けを利用している。元の論文と異なるのは、残差接続を導入したことと学習パラメータを導入しより柔軟に特徴量マップの重要度を調整できるようにした点である。

image

そのほかにAdaLIN、Spectral Normalization、Cycle-Concistency Lossを導入している。

3.2 学習方法

Encoder部分は、生成された画像が本物か偽物かを識別するDiscriminatorの一部でありながら、ドメイン変換を行うGenearatorでも使用するため、通常の学習プロセスを導入するとそれぞれの学習が混ざり、一貫性を保つことが難しくなってしまう。

そこでEncoderの学習をGeneraotorとは独立して行うことでこの課題を解決した。

流れとしては、まずは以下の敵対的損失関数に対して、損失を最大化させる場合にはE_yを学習させてE_xは固定のままにしておく。損失を最小化させる場合にはどちらのEncoder側も固定してまま学習を進める。

つまりGeneraotor側の入力を出力するEncoderは常に固定しておき、分類を行うDiscriminator側のEncoderを一緒に学習させていくことを意味します。

image

Generatorに関してはCycle LossとReconstruction Lossの計算を別途行います。

Cycle Loss

image

Reconstruction Loss

image

4. どうやって有効だと検証した?

複数のデータセットを使用して、いくつかのモデルと比較を行った。 ほとんどのデータセットで既存の手法を上回る性能を発揮している。特に犬と猫の変換は既存モデルを大きく上回っている。

image

またEncoderをDiscriminator1つにまとめた結果、既存のモデルよりも軽量であり計算速度も速いことがわかる。

image

Ablation Studyを見てみると、今回提案しているNICEの構造とAttentionの残差接続の効果が高いことがわかる。

image

Encoderの学習方法を以下の3種類で比較した。

  1. Discriminatorと一緒に学習(青)
  2. Generatorと一緒に学習(緑)
  3. DiscriminatorとGeneratorの両方で学習(赤)

image

5. 議論はあるか?

6. 次に読むべき論文はあるか?

論文情報・リンク

shimopino commented 4 years ago

https://github.com/alpc91/NICE-GAN-pytorch