大家好, 我是Honglei需频,歡迎從今天我們一起開始學(xué)習(xí)斯坦福大學(xué)的深度生成模型課程俊柔,CS236 - Deep Generative Models睛蛛。
生成模型簡(jiǎn)介
復(fù)雜、非結(jié)構(gòu)化數(shù)據(jù)的挑戰(zhàn) (Challenge)
盡管目前人類通過深度學(xué)習(xí)技術(shù)文判,使機(jī)器已經(jīng)在很多任務(wù)上都擁有了非常優(yōu)異的表現(xiàn)过椎,比如圖像分類[1],語音識(shí)別[2]等等戏仓。 但在理解復(fù)雜的(complex)疚宇、非結(jié)構(gòu)化(unstructured)的數(shù)據(jù)方面亡鼠,機(jī)器學(xué)習(xí)仍然有很長一段路要走,比如理解音頻敷待,視頻间涵,文本內(nèi)容,以及它們各自是如何產(chǎn)生的榜揖,人類運(yùn)動(dòng)的控制等等勾哩。
因此举哟,理解這些復(fù)雜思劳、非結(jié)構(gòu)化數(shù)據(jù)產(chǎn)生的過程和內(nèi)容便成了讓機(jī)器擁有智能的關(guān)鍵。引用偉大的物理學(xué)家費(fèi)曼的一句話:”凡是我不能親自創(chuàng)造出來的炎滞,我就不是真正理解敢艰。“册赛。生成模型背后的思想也是來源于此钠导,”凡是我理解的東西,我就一定能夠制造或者生成它“森瘪。
計(jì)算機(jī)圖形學(xué)
按照上述邏輯逮栅,以圖像為例,我們來看看計(jì)算機(jī)是如何來生成他們的窗宇。利用3D Max建模軟件措伐,我們可以設(shè)計(jì)出非常逼真的3D場(chǎng)景,比如下圖的客廳設(shè)計(jì)军俊,計(jì)算機(jī)通過對(duì)物體的形狀侥加、紋理,燈光粪躬、材質(zhì)等進(jìn)行渲染來達(dá)到逼真的效果担败。
再比如《權(quán)力的游戲中》中的視覺特效,而這些要?dú)w功于計(jì)算機(jī)圖形學(xué)(Computer Graphics)方面的技術(shù)镰官。
計(jì)算機(jī)通過圖形函數(shù)接口(API)來創(chuàng)造并渲染出基本的形狀提前,并設(shè)定具體的屬性值,比如:一個(gè)邊長10厘米藍(lán)色的正方形等泳唠。復(fù)雜的形狀通過組合和更復(fù)雜的指定方式達(dá)到狈网,比如貝塞爾曲線等。
除了生成圖形外,計(jì)算機(jī)也可以反向這個(gè)過程拓哺,通過圖像識(shí)別來理解一張圖像中的物體害淤,而這部分則是機(jī)器學(xué)習(xí)在機(jī)器視覺領(lǐng)域的應(yīng)用[1]。
如剛才所說拓售,利用計(jì)算機(jī)圖形學(xué)生成圖像的能力來很大程度上依賴于我們的先驗(yàn)知識(shí)(Prior Knowledge)窥摄,比如物理引擎對(duì)物理規(guī)律的依賴,對(duì)材質(zhì)表示的方法等等础淤。
但是對(duì)于圖像生成任務(wù)而言崭放,我們不想對(duì)每一張圖像的生成都人為的指定每一個(gè)屬性,那樣太累人了鸽凶。相反币砂,我們希望讓計(jì)算機(jī)從大量的圖像數(shù)據(jù)中學(xué)習(xí)到其相似的特點(diǎn),比如臥室玻侥,都有床的結(jié)構(gòu)等等决摧。這樣我們就能減少對(duì)認(rèn)為指定先驗(yàn)知識(shí)的依賴。
統(tǒng)計(jì)生成模型
因此凑兰,在下圖中掌桩,我們從對(duì)數(shù)據(jù)依賴性中可以看出,利用計(jì)算機(jī)圖形學(xué)生成圖像需要很強(qiáng)的先驗(yàn)知識(shí)和指定姑食,而統(tǒng)計(jì)生成模型則不需要很強(qiáng)的先驗(yàn)波岛。
而本質(zhì)上,一個(gè)統(tǒng)計(jì)生成模型就是一個(gè)概率分布(probability distribution)音半。而學(xué)習(xí)圖像生成的過程就是學(xué)習(xí)出數(shù)據(jù)的分布p(x)的過程则拷。這樣,如果想要生成相似的臥室圖像曹鸠,我們只需從學(xué)習(xí)出的分布p(x)中煌茬,抽取一個(gè)樣本就可以了。而為了更好的學(xué)習(xí)出數(shù)據(jù)的分布彻桃,我們可能需要在模型學(xué)習(xí)過程中加入先驗(yàn)知識(shí)坛善,比如分布的形式是高斯分布還是泊松分布,訓(xùn)練的損失函數(shù)是最大似然叛薯,還是最大后驗(yàn)概率等浑吟。
判別模型和生成模型的關(guān)系
判別模型(Discriminative models)笙纤,通常被用于監(jiān)督學(xué)習(xí)的分類任務(wù)耗溜。其學(xué)習(xí)的目標(biāo)是給定輸入數(shù)據(jù),盡可能正確的對(duì)其進(jìn)行分類省容。
比如輸入一張圖像抖拴,判斷其是否是一張臥室照片。即 P(Y = 臥室 | X = 圖像)。
用統(tǒng)計(jì)的語言來表示即:通過學(xué)習(xí)條件分布阿宅,得到一個(gè)魯棒的決策邊界候衍。常見的判別模型有:邏輯斯蒂回歸(Logistic regression),卷積神經(jīng)網(wǎng)絡(luò)(Convolutional network)等洒放。
而生成模型的目標(biāo)則是:生成與特定類別數(shù)據(jù)盡可能相似的數(shù)據(jù)蛉鹿,比如貓咪的照片。
所以往湿,我們要學(xué)習(xí)出P(Y = 貓咪??, X )的聯(lián)合分布妖异,以便于從分布中進(jìn)行采樣。在判別模型中领追,我們既給出了Y = 貓咪他膳,又給出了X = 貓咪圖像。而在生成模型中绒窑,我們只給出了Y=貓咪棕孙,而并未給出X,這就需要從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)出所有可能X值對(duì)應(yīng)的概率密度些膨。
通過貝葉斯公式蟀俊,生成模型和判別模型可以聯(lián)系起來。只是判別模型無需對(duì)P(X)進(jìn)行學(xué)習(xí)订雾,因?yàn)閄總是通過輸入數(shù)據(jù)給出欧漱。這也是為什么判別模型不能很好的學(xué)習(xí)帶有部分缺失值的數(shù)據(jù),即使是深度學(xué)習(xí)模型葬燎。
另外误甚,通過貝葉斯公式,我們也可以得到條件生成模型(Conditional Generative Model)谱净,例如規(guī)定更具體的類別:生成”一個(gè)帶有黑色桌子和6張椅子“的圖片窑邦。
因此,通過貝葉斯公式壕探,我們可以看出判別模型只是一種非常簡(jiǎn)單的條件生成模型冈钦。其條件輸入為包含大量信息的圖片,條件輸出則為簡(jiǎn)單的類別標(biāo)簽李请。
生成模型應(yīng)用
生成模型產(chǎn)生了很多非常令人驚艷的應(yīng)用瞧筛。
人臉生成(Face Generation)
NVIDIA公司在ICLR 2018年發(fā)表的Style-Based GAN(基于風(fēng)格的生成式對(duì)抗網(wǎng)絡(luò))[3]可以生成難辨真假的人臉,圖片中所有都是模型生成的假臉导盅。
而且還可以指定特定的風(fēng)格(例如第一行圖片中的性別较幌,年齡,發(fā)長白翻,姿勢(shì)等)乍炉,來基于第二行最左邊的輸入绢片,產(chǎn)生第二行右邊四張轉(zhuǎn)換風(fēng)格(Style Transfer)之后的臉。
完整介紹視頻如下:
A Style-Based Generator Architecture for Generative Adversarial Networks - YouTube
語音和音樂合成(Speech & Music Synthesis)
生成模型還可以用于合成一段文字對(duì)應(yīng)的自然的語音(TTS, Text to Speech)岛琼,或者學(xué)習(xí)大量古典音樂而合成新的古典音樂[4]底循。例如Google DeepMind提出的WaveNet,效果令人驚嘆槐瑞!
視頻如下:
WaveNet by Google DeepMind | Two Minute Papers #93 - YouTube
將渣畫質(zhì)的圖片變成高清(Image Super Resolution)
例如將最左列的渣畫質(zhì)轉(zhuǎn)化成右列的超分辨率圖片生成熙涤,不同列為不同模型[5]。其本質(zhì)是學(xué)習(xí)P(高分辨率圖片|低分辨率圖片)的條件概率困檩。
提升音頻清晰度(Audio Super Resolution)
除了應(yīng)用于提升圖片清晰度灭袁,生成模型還可以顯著提升音頻的清晰度[6],尤其是有噪音和被壓縮的音頻窗看,效果也非常棒茸歧!
機(jī)器翻譯(Machine Translation)
另外,傳統(tǒng)的機(jī)器翻譯任務(wù)显沈,也可以看成是條件生成模型软瞎。比如將中文翻譯成英語可以看成是P(English text| Chinese text)的條件生成模型。
文本生成
另外拉讯,生成模型還可以產(chǎn)生基于給定文本提示的完整段落或文章
DeepFake(換臉涤浇、換表情)
前一段時(shí)間利用生成模型惡搞政要的DeepFake更是著實(shí)的火??了一把。其逼真程度引發(fā)了社會(huì)關(guān)于GAN的倫理道德討論魔慷。
視頻實(shí)時(shí)渲染轉(zhuǎn)換
生成模型還能實(shí)時(shí)的將視頻中特定的物體只锭,轉(zhuǎn)換成另一種風(fēng)格[7],比如下圖中你看到的利用CycleGAN院尔,作者將一匹馬轉(zhuǎn)換成了一匹斑馬蜻展,而且效果足以以假亂真。
增強(qiáng)學(xué)習(xí)
本質(zhì)上很多增強(qiáng)學(xué)習(xí)的任務(wù)邀摆,例如自動(dòng)駕駛等纵顾,也可以看成條件生成模型的任務(wù)。例如:用P(行為決策| 歷史觀察)表示的自動(dòng)駕駛?cè)蝿?wù)栋盹。
生成模型的學(xué)習(xí)路線和關(guān)鍵挑戰(zhàn)
為了表示和訓(xùn)練的生成模型施逾,我們有以下三方面的問題需要研究和解決:
首先是模型表示的問題:即如何表示大量隨機(jī)變量的聯(lián)合分布。例如如果將一張720x720像素的黑白圖像例获,表示成二值隨機(jī)變量的話汉额,則聯(lián)合分布的參數(shù)空間是 2^(720x720) = 2^518400 參數(shù)。這么龐大的參數(shù)榨汤,即使太陽系的每一個(gè)原子都表示一個(gè)參數(shù)都不夠蠕搜。因此,我們需要更緊致的模型參數(shù)表示件余。
第二個(gè)問題是:如何根據(jù)訓(xùn)練數(shù)據(jù)來學(xué)習(xí)出數(shù)據(jù)所隱含的分布讥脐?。一個(gè)更基礎(chǔ)的問題是啼器,怎樣比較來自數(shù)據(jù)的分布Pdata和不同模型表示的分布Pmodel旬渠,哪個(gè)Pmodel更好。
第三個(gè)問題涉及到理解生成過程端壳,我們?cè)趺床拍芊崔D(zhuǎn)生成的過程告丢,例如學(xué)習(xí)到模型生成過程中所采用的高層特征,以便我們做特征提取等损谦。
課程安排(Syllabus)
CS236的課程安排如下岖免,歡迎大家關(guān)注本系列后續(xù)更新:
參考文獻(xiàn)
[1]. Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In /Advances in neural information processing systems/ (pp. 1097-1105).
[2]. Hinton, G., Deng, L., Yu, D., Dahl, G. E., Mohamed, A. R., Jaitly, N., … & Kingsbury, B. (2012). Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. /IEEE Signal processing magazine/, /29/(6), 82-97.
[3]. Karras, T., Aila, T., Laine, S., & Lehtinen, J. (2017). Progressive growing of gans for improved quality, stability, and variation. /arXiv preprint arXiv:1710.10196/.
[4]. Oord, A. V. D., Dieleman, S., Zen, H., Simonyan, K., Vinyals, O., Graves, A., … & Kavukcuoglu, K. (2016). Wavenet: A generative model for raw audio. /arXiv preprint arXiv:1609.03499/.
[5]. Ledig, C., Theis, L., Huszár, F., Caballero, J., Cunningham, A., Acosta, A., … & Shi, W. (2017). Photo-realistic single image super-resolution using a generative adversarial network. In /Proceedings of the IEEE conference on computer vision and pattern recognition/ (pp. 4681-4690).
[6]. Kuleshov, V., Enam, S. Z., & Ermon, S. (2017). Audio super resolution using neural networks. /arXiv preprint arXiv:1708.00853/.
[7]. Zhu, J. Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired image-to-image translation using cycle-consistent adversarial networks. In /Proceedings of the IEEE international conference on computer vision/ (pp. 2223-2232).