ついに判明した!原因はあいつだった!
3つの要点
✔️ Style Transfer研究で不可解な問題の原因判明
✔️ Residual Connectionが原因
✔️ エントロピーの小さば特徴量マップがStyle Transferでは上手くいかない
Rethinking and Improving the Robustness of Image Style Transfer
written by Pei Wang, Yijun Li, Nuno Vasconcelos
(Submitted on 8 Apr 2021)
Comments: Accepted by CVPR2021 (Oral)
Subjects: Computer Vision and Pattern Recognition (cs.CV); Image and Video Processing (eess.IV)
code:
背景
Style Transferとは、スタイル画像のスタイルを異なるコンテンツ画像にマッピングすることでスタイルが変化した画像を生成することを言います(図1)。Deep learningが登場以来この分野はかなり注目されてきました。
今回の研究の経緯となる背景部分を説明します。Style Transferの研究において、事前学習されたVGGが効果的であることが知られています。さらにより良いStyle Transferを考えると、簡単な話でVGGよりも精度の良いモデルを使えばさらに良くなるのではないかと考えると思います。そこでResnetやInceptionNet、DenseNetが使用されました。しかしここでおかしなことが起きます。想定では精度向上が起きると思いきや、なんと大幅な精度低下が起きるのです。この時点では原因がわからず、さまざまな仮説を基に研究がされていきます。
図1. Style transferサンプル図
この時に有力だった説が、
ResnetやInceptionNet、DenseNetよりも事前学習されたVGGの特徴がロバスト性が高いのではないかという説でした。そこで敵対的学習によって、ロバスト性を向上させれば、Resnetだってスタイル転送が良くなるのではないかという研究が出て来ました。結果的には上手くいきました。ここでわかったのはロバスト性がStyle transferにおいて重要であることです。
しかしこの説も次の研究で再び謎に満ちていきます。それが、
ランダムな重みのVGGでもスタイル転送が良いという研究です。
これにより学習やデータによるロバスト性ではなく、モデル自体の構造に何かした原因があるのではないかという考えになります。実際今回の研究で原因がモデルの構造にあることが判明しました。しかしこの当時は構造の何がどんな理由でStyle Transferの良し悪しを決めているかはわかりませんでした。
Style Transferの概念
Style Transferの概念的な知識を説明していきます。結局はコンテンツ画像の外形を保ちながら、スタイルを変換すれば良いので、「コンテンツも大切にしつつ、スタイルも反映させるちょうど良い点(最小化)を探すような最適化問題」として解けばよいのです。2015年に初めて提案したGatysらが提案した時の最適化問題は以下の式でした。$\vec{p}$を入力のコンテンツ画像、$\vec{a}$が入力のスタイル画像、$\vec{x}$が生成される画像
pそれぞれ入力のコンテンツ画像とスタイル画像とし、x⃗ を生成される画像とすると、この
Content reconstruction
CNNは、ネットワークのより高いレイヤーが画像のより高次のコンテンツをとらえていると考えられています。コンテンツ損失では、コンテンツ画像$\vec{p}$と生成画像$\vec{x}$から特定の特徴マップを抜き出してその平均二乗誤差を損失とします。$F^l_{i_j}$は生成画像l層における特徴マップの位置i,jのアクティベーション、$P^l_{i_j}$はコンテンツ画像のアクティベーション
Style reconstruction
画像のスタイルは、各レイヤー内の個々のフィルタ出力の相関で表現されます。相関を取れば良いので2つの特徴マップ間で内積を取るグラム行列にて与えられます。
そして、生成画像の特徴マップのグラム行列の結果とスタイル元画像のグラム行列の差分を取り平均二乗誤差を求めます。
結果
ここで、事前に学習させたモデルとランダムな重みで初期化したネットワークの両方の結果を示します。接頭辞「r-」と「p-」は、モデルがランダムに初期化されたものかImageNet上で事前に学習されたものかをそれぞれ示します。VGGモデルとResNetモデルには、VGG19とResNet-50を使用しています。
style transferの結果
b~eは、r-VGG、p-VGG、r-ResNet、p-ResNetネットワークによる例を示しています。ネットワーク・アーキテクチャによって性能が大きく異なることがわかります。p-VGGと比較して、p-ResNetははるかにカラーパターンの転送に失敗しています。さらにランダムモデル「r-」ではさらに明らかで、r-ResNetはスタイル転送に失敗しています。
次に2つのアーキテクチャの性能が大きく異なる理由を調べるために、
- Residual Connectionの使用
- サイズが1×1、3×3、7×7の間で変化する畳込み
- 深さを可変に変更
- バッチ正規化
- レイヤーあたりのチャンネル数変更
- 固定ストライド2とMaxpoolingの比較
多くのネットワーク構造についてアブレーション研究を行います。(各種結果は論文補足をご確認ください)
Residual Connectionの使用
今回は主題でもあった「なぜResnetがstyle transferで精度が低下するのか」において最も重要な結果が得られたResidual Connectionの使用について結果を示していきます。
Residual Connectionを削除または追加した後の、いくつかのアーキテクチャによる結果を比較して、この主張の証拠を示しています。すべてのResidual Connectionを削除して「NoResNet」を構築しています。r-NoResNetは、r-ResNetよりはr-VGGに近い性能を示しているようにも見えます。しかしかなり微妙です。次に、NoResNetをVGGに近づけるための他のいくつかの修正の効果を検討しました。
- 7×7畳み込みをVGGの3×3畳み込みに置き換え
- ボトルネックモジュールをResidual ConnectionのないResNet-34のbasic blockモジュールに置き換え
- VGGと同様に、特徴マップのサイズを小さくするために各ステージ間にMaxpoolingろ追加
このようにして得られたアーキテクチャを「pseudo-VGG」と呼びます。gに示すように、これらの修正により、スタイル転送の性能はr-VGGに近づきました。しかし、Residual Connectionの削除が決め手だとこの時点で著者たちは考えたそうですが、私は画像を見てもどっちも同じように失敗しているように感じました。
しかし、pseudo-VGGにResidual Connectionを再び導入して、「pseudo-ResVGG」を作成した。結果hを見ると明らかにResidual Connectionが今までの貢献を破壊しているように感じます。実際pseudo-ResVGGは、最も最悪の結果をもたらしています。すなわち、ResNetは、Residual Connectionが起因して、性能が悪いことが判明しました。
Residual Connectionがなぜ好ましくないのか
なぜResidual Connectionがスタイル化にとって好ましくないのか。この場合、styleの最適化は、オリジナルのスタイルと合成されたスタイルに対するネットワークのグラムマトリックス$G^l$のみに基づいています。なので、特徴マップに支配的と言えます。なのでネットワークの活性化とそのグラムマトリックスの統計を視覚化することから始めます。図は10枚のスタイル画像に対するr-モデルの各ネットワークの最終層の活性化とグラム行列の最大値$max_{i_k}$,$F^l_{i_k}$と$max_{i_j}$,$G^l_{i_j}$の平均値と正規化エントロピーを示したものです。図を見ると、活性化値とグラム値は似たような挙動を示しています。いずれの場合も、Residual Connectionを持つアーキテクチャ(ResNetとpseudo-ResVGG)では、層の深さに応じて最大値が増加し、エントロピーが徐々に減少します。これは、ショートカットを持たないネットワーク(NoResNetとpseudo-VGG)とは異なり、活性化は減少する傾向にあり、エントロピーはほぼ一定ではるかに高い値を示します。pseudo-ResVGGなどのいくつかのケースでは、Residual Connectionの導入により、深層の最大エントロピーが大きくなり、ゼロに近いエントロピーとなります。すなわち、単一の特徴チャネルで決定的な相関パターンに支配される活性化となります。
エントロピーが小さいという結果は、スタイル変換の精度が低いことを示す説明とも一致します。style最適化における唯一の変数が活性化$F^l(x)$であり、スタイルイメージ$F^l(x^s_0)$のものとできる限り類似したグラム行列を持つことになります。なので$x^s_0$から得られた Gram 行列が「ピーキー」(エントロピーが低い)な場合、最適化は、$x^∗$から得られた行列に等しいピークを作ることになります。すんわち、Gram 行列の残りのエントリはほとんど意味がなくなります。
提案手法
ここまでくればどういった提案手法が考えられるかわかると思います。Softmax系を使用して特徴表現を滑らかにして、エントロピーを大きくすれば原因を改善できるため、Style transferも精度が上がるのではないかと考えられます。
そこで著者たちはStylization With Activation Smoothing(SWAG)を提案しています。実際の式等は論文を参照してください。実際に活性化に平滑化を加えているというシンプルな提案です。
SWAGの結果
上記のグラフ$ResNet^∗$が実際に適応した結果ですが、特に深い層で最大値が抑えられ、エントロピーが増加していることがわかります。またStyle transferの結果です。
ResNetにも関わらずかなりの精度で転送できていることがわかります。いずれの場合も、SWAG適応モデルは、より高度なスタイルパターンが伝達されるという意味で、スタイル化された画像の質が大幅に向上しています。r-ResNet∗の結果はr-VGGの結果に近づき、p-ResNet∗はp-VGGを上回っているとも思えます。次にこれを定量的に評価します。なお、活性化を平滑化してエントロピーを減少させる方法には、温度を変えたソフトマックスやnested softmax、さらには小さな定数(<0.1)を乗じる方法などがありますが、実験ではこれらの方法が有効であることが判明しましたが、今回著者らは最も単純なソフトマックスを選択したのには、ハイパーパラメータを必要とせず、単純なためだと思われます。ここでもハイパーパラメータのせいで向上したのではないかというところにも配慮しての考えだと思います。
次にユーザー調査の結果を示します。
ユーザー評価においてもSWAG適応モデルが圧倒的な評価を受けています。今まで優位であったVGGと比較しても圧倒的であることがわかります。
まとめ
今までの謎に包まれていたstyle transferでのVGGの優位理由がついに判明しました。そもそもこの問題を知ったきっかけの1つにこの記事(敵対的サンプルは”バグ”ではなく意味のある”特徴”)の論文内で示されたあるグラフで再熱したといった感じです。そのグラフが下図になります。このグラフは非ロバスト性な特徴をResnetやInceptionNet、DenseNetは転送しやすいことを示しています。すなわち、ResnetなどがStyle Transferにおいて上手くいかない(人間の視覚で違和感を感じる)のは非ロバストな特徴を転送しやいのではないかということです。
adversarial examplesの研究分野でしたが、この知見がStyle Transferでの研究とも一致したため2019年ごろにStyle Transfer分野でも話題になりました。
このような研究結果を見ると、本当に他分野にもアンテナを張って、かつ細かくいろんな論文をリサーチする研究者の強さを目の当たりにしました。
この記事に関するカテゴリー