Topic: Invertible Image Rescaling
Editor:
Resources:
Label: Invertible NN, Image Rescaling, ECCV
大意
可逆神經網路(Invertible Neural Networks)是指可以從輸出結果反推到原來的輸入的神經網路, 而且中間每一層都可以從最後一層反推. 要討論可逆的最主要原因是信息無損. 簡單的理解就譬如輸入20×20的圖像, 壓縮成5×5的低解析度照片. 如果可以從低解析照片完美復原到原始圖像則是信息無損. 在生成領域已經有很多有名的可逆神經網路譬如NICE, Glow等. 今年ECCV 2020 Oral paper就是用可逆的概念去做到Invertible Image Rescaling. 為傳統super-resolution方法提供一種新思路, 也證明有很好的成果.
可逆神經網路 Invertible Neural Networks
甚麼是可逆的神經網路? 簡單的可以這樣解釋, 當我們訓練CNN或其他的神經網路進行各項任務, 會得到輸入到輸出的映射關係.譬如輸入圖像經過訓練後會輸出label或down-scaling的圖像. 但這過程不一定可逆, 不一定可以從輸出結果反推到原來的輸入. 如果這過程是可逆而且一對一, 則稱為可逆神經網路. 為什麼要討論可逆的最主要原因是信息無損. 簡單的理解就譬如輸入20×20的圖像, 壓縮成5×5的低解析度照片. 我們不一定可以從5×5還原成20×20的高解析度原圖. 這過程就是信息流失. 這也是這一篇paper 利用Invertible Neural Networks 解決的難題.
NICE, Glow及可逆殘差網路 Invertible Residual Networks(i-ResNet)
其實Invertible Neural Networks也不算是新的架構, 原則來講就是要符合雙向的映射都是有效可計算的以及映射可以計算Jacobian matrix. 像是2014年的NICE(Non-linear Independent Components Estimation), 以及2018年OpenAI的Glow. 解法大概就是Jacobian matrix加上一些變化, 譬如加上Additive Coupling讓過程變可逆且每一層逆轉換計算容易. 這類模型具有精準的hyperparameter所以可以實現比GAN相等或甚至更好的生成模型, 例如OpenAI網頁上基於Glow的人像生成結果. 另外一個優點就是如果神經網路是可逆的代表中間每一層都可以從最後一層反推, 這就代表不需要儲存中間結果可以大量節省記憶體. 2018年的Invertible Residual Networks則採用不同的approach將ResNet視為ODE(常微分方程式)並用數值計算的Euler discretization, 只要改變ResNet的normalization就可以達到可逆的效果, 也無須限制固定為杜或網路架構, 只需要滿足Lipschitz constant <1就可以有很好的結果.
可逆圖像縮放Invertible Image Rescaling(IRN)
如前面的例子提到, 要復原降尺度的低分辨率圖像(LR: low resolution image)到原始圖像(HR: high resolution image)一直是computer vision很重要的研究分支, 也一直有很多super-resolution方法被發展出來. 在這篇ECCV 2020 Oral paper裡作者用不同的角度去approach這個難題, 而且理論上如果是可逆的神經網路就可以直接完美復原得到原始圖像. 通常在圖像down-scaling的過程中損失的是高頻的訊號, 所以在IRN中作者首先採用了小波轉換(wavelet transform)將原始圖像分解為xL(low-frequency)及xH(high-frequency)兩部分, 並通過IRN引入另一個latent variable將xH轉換成另一個分布xH’, 以符合低頻訊號xL及高頻訊號xH能互相獨立, 並且xH’能符合簡單的高斯分布. 總結來說, 就是要將LR復原到HR原始圖像時, 我們已經知道被丟失的高頻部分符合高斯分布, 所以只要重新從分布採樣就好. 這樣就可以達到可逆的圖像縮放.