GAN Dissection: Visualizing and Understanding Generative Adversarial Networks 該論文介紹了一個可視化和理解生成網(wǎng)絡(luò)學(xué)得結(jié)構(gòu)的框架脉让,通過定義一些可解釋的單元并通過干涉這些單元來探究生成網(wǎng)絡(luò)中的因果關(guān)系。
GANpaint工具
本文還提供了一個非常有意思的demo,只要鼠標(biāo)劃過购笆,GAN 就可以立即在你指定的地方畫出云彩淮悼、草地喻杈、門和樹等景物晦款,并直接改變構(gòu)圖以保持圖像的「合理性」剧罩。
可以去demo地址
選中「draw」功能和特定的對象矾飞,如tree一膨,就能在圖中隨意用畫筆涂抹,GAN會在涂抹區(qū)域自動生成樹木洒沦。選中「remove」功能和特定的對象豹绪,如grass,GAN會在涂抹區(qū)域自動刪除草地申眼。讀者可以自己嘗試一下瞒津。
GAN paint app 的工作原理是直接激活或者去激活深度網(wǎng)絡(luò)中的神經(jīng)元組,這些神經(jīng)元被訓(xùn)練用來生成圖像豺型。左邊每個按鈕(如 door仲智、brick 等)都對應(yīng)20個神經(jīng)元。該app表明姻氨,通過學(xué)習(xí)繪畫钓辆,GAN網(wǎng)絡(luò)還能學(xué)習(xí)樹、門還有屋頂?shù)葘ο箅群浮Mㄟ^直接切換神經(jīng)元前联,你可以觀察該網(wǎng)絡(luò)建模的視覺世界的結(jié)構(gòu)。
下面來看看這篇論文娶眷。
Abstract
生成對抗網(wǎng)絡(luò)(GAN)近期在很多現(xiàn)實世界任務(wù)中取得了巨大成就似嗤,很多 GAN 的變體都在樣本質(zhì)量和訓(xùn)練穩(wěn)定性上獲得了很大的進(jìn)展。然而届宠,對GAN的可視化和理解仍然是缺乏探究的課題烁落。AN 網(wǎng)絡(luò)是如何表征視覺世界的乘粒?導(dǎo)致GAN輸出結(jié)果失真的原因是什么?架構(gòu)選擇如何影響GAN學(xué)習(xí)伤塌?回答這些問題能夠幫助我們發(fā)展新的理論洞察和更好的模型灯萍。
在 MIT CSAIL 主導(dǎo)的這項工作中,研究者展示了在單元每聪、對象和場景級別上可視化和理解GAN的框架旦棉。研究者首先通過基于分割的網(wǎng)絡(luò)剖析方法(network dissection method)識別出一組和對象概念很相關(guān)的可解釋單元。然后通過評估人類干預(yù)(控制輸出中的對象)的能力來量化可解釋單元的因果效應(yīng)药薯。最后绑洛,通過將發(fā)現(xiàn)的對象概念嵌入到新圖像中來測試這些單元和周圍事物之間的語境關(guān)系。研究者展示了通過該框架實現(xiàn)的多種實際應(yīng)用童本,從對比不同層真屯、模型和數(shù)據(jù)集的內(nèi)部表征,到通過定位和移除導(dǎo)致失真的單元來改善GAN巾陕,從而實現(xiàn)交互式地控制場景中的對象讨跟。
大體思路
先看下網(wǎng)絡(luò)結(jié)構(gòu):
作者的目的是為了探究在生成器的生成過程中Object(e.g tree)是如何被encode的。
z是從低緯空間中采樣的一個latent vector
x是生成器生成的圖像
r是生成器中某一個層的輸出鄙煤。
r=h(z) 并且 x=f(r)=f(h(z))=G(z)
既然r包含了生成圖像x的所有信息,那么r中就包含了可以推理并且生成出c類(e.g tree)的信息茶袒。
之前的問題就變成了這些信息是如何被encode到r中的梯刚。
作者試圖理解r是否以某種方式明確地表示c,其中可以將位置P處的r分解為兩個分量
在位置P處是否生成Object c主要取決于
作者將feature map的每一個channel定義為一個nuit U表示所有感興趣(與Object c相關(guān))的unit的集合薪寓,
主要通過以下兩種方式來探究r的結(jié)構(gòu):
- Dissection: 通過計算每個class與獨立的unit之間的一致性來驗證在r中是否有c的顯示表示。
- Intervention:通過激活/抑制unit來驗證units的因果集和units與Object class之間的因果關(guān)系向叉。
CHARACTERIZING UNITS BY DISSECTION
首先關(guān)注表示中的各個獨立單元锥腻,是unit u的feature map中一個通道,大小為hxw母谎。
之前的分類網(wǎng)絡(luò)發(fā)現(xiàn)瘦黑,當(dāng)對unit進(jìn)行上采樣和閾值處理時,許多單元和分類任務(wù)相似奇唤。收到這個啟發(fā)幸斥,作者選擇了一個概念世界(universe of concepts)c∈,我們?yōu)槊總€類都有一個語義分割Sc(x)咬扇。之后用下面的公式計算unit的thresholded map與class的segmentation map的IoU
之后將
之后就可以根據(jù)IoU的大小得到concept 與unit的關(guān)聯(lián)度经窖,并用和unit最相關(guān)的concept標(biāo)記unit坡垫。
這里concept和unit有點繞,我個人的理解是將concept理解為一個類(e.g tree)画侣,就是將該unit標(biāo)記為tree冰悠。
當(dāng)我們發(fā)現(xiàn)某個類與一些units很匹配,那么之后就要問到底是哪個unit來觸發(fā)該類的生成了棉钧。
MEASURING CAUSAL RELATIONSHIPS USING INTERVENTION
為了回答上面的問題屿脐,作者通過抑制/激活r的中部分unit來驗證是否生成c。
通過設(shè)置 = 0來抑制這些units宪卿,設(shè)置
=k來激活的诵。k是一個常量,且每個class不同佑钾。
如果
作者定義生成class c時units的作用average causal effect(ACE)
因為obj的生成依賴的是多個units的集合休溶,所以我們需要找到使ACE最大的units set代赁。
Finding sets of units with high ACE
因為U有太多的子集,使用貪心算法是不現(xiàn)實的兽掰。于是定義了一個∈
其中每個維度
表示對unit u的干預(yù)程度芭碍。
并用L2loss來約束