基于無監(jiān)督的方式理解高維數(shù)據(jù)并將信息濃縮為有用的表示一直是深度學(xué)習(xí)領(lǐng)域研究的關(guān)鍵問題。其中一種方法是利用非耦合表示(disentangled representations)模型來捕捉場景中獨(dú)立變化的特征。如果能夠?qū)崿F(xiàn)對于各種獨(dú)立特征的描述,機(jī)器學(xué)習(xí)系統(tǒng)就可以用于真實環(huán)境中的導(dǎo)航,機(jī)器人或無人車?yán)眠@種方法可以將環(huán)境解構(gòu)成一系列元素,并利用通用的知識去理解先前未見過的場景。
雖然非監(jiān)督解耦方法已被廣泛應(yīng)用于好奇驅(qū)動的探索、抽象推理、視覺概念學(xué)習(xí)和域適應(yīng)的強(qiáng)化學(xué)習(xí)中,但最近進(jìn)展卻無法讓我們清晰了解不同方法的性能和方法的局限。為了深入探索這一問題,谷歌的研究人員在ICML2019上發(fā)表了一篇大規(guī)模深入研究非監(jiān)督非耦合表示的論文”Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations”,對近年來絕大多數(shù)的非監(jiān)督解耦表示方法進(jìn)行探索、利用2.5GPU年的算力在7個數(shù)據(jù)集上訓(xùn)練了12000多個模型。基于大規(guī)模的實驗結(jié)果,研究人員對這一領(lǐng)域的一些假設(shè)產(chǎn)生了質(zhì)疑,并為解耦學(xué)習(xí)的未來發(fā)展方向給出了建議。與此同時,研究人員還同時發(fā)布了研究中所使用的代碼和上萬個預(yù)訓(xùn)練模型,并封裝了disentanglement_lib供研究者進(jìn)行實驗復(fù)現(xiàn)和更深入的探索。
理解非耦合表示
為了更好地理解非耦合表示的本質(zhì),讓我一起來看看下面動圖中每個獨(dú)立變化的元素。下面的每一張圖代表了一個可以被編碼到矢量表示中的因子,它可以獨(dú)立控制圖像中每個語義元素的屬性。例如第一個可以控制地板的顏色,第二個則控制墻的顏色,最后一個則控制圖片的視角。
解耦表示的目標(biāo)在于建立起一個能夠獨(dú)立捕捉這些特征的模型,并將這些特征編碼到一個表示矢量中。下面的10個小圖展示了基于FactorVAE方法學(xué)習(xí)十維表示矢量的模型,圖中展示 了每一維對于圖像對應(yīng)信息的捕捉。從各個圖中可以看出模型成功地解耦了地板、墻面的顏色,但是左下角的兩個圖片可以看到物體的顏色和大小的表示卻依然相關(guān)沒有解耦。
大規(guī)模研究的發(fā)現(xiàn)
在直觀地理解了解耦表示之后,讓我們來看看科學(xué)家在研究中發(fā)現(xiàn)了什么。這一領(lǐng)域基于變分自編碼器提出了各種各樣的非監(jiān)督方法來學(xué)習(xí)非耦合表示,同時給出了許多不同的性能度量方法,但卻缺乏一個大規(guī)模的性能測評和對比研究。為此研究人員構(gòu)建了一個大規(guī)模、公平性、可復(fù)現(xiàn)的實驗基準(zhǔn),并系統(tǒng)的測試了六種不同的模型(BetaVAE, AnnealedVAE, FactorVAE, DIP-VAE I/II and Beta-TCVAE)和解耦性能度量方法(BetaVAE score, FactorVAE score, MIG, SAP, Modularity and DCI Disentanglement),在7個數(shù)據(jù)集上進(jìn)行了12800個模型的訓(xùn)練后,研究人員們有了顛覆過去的發(fā)現(xiàn):首先,是非監(jiān)督學(xué)習(xí)的方式。研究人員在大量的實驗后發(fā)現(xiàn)沒有可靠的證據(jù)表明模型可以通過無監(jiān)督的方式學(xué)習(xí)到有效的解耦表示,隨機(jī)種子和超參數(shù)對于結(jié)構(gòu)的影響甚至超過了模型的選擇。換句話說,即使你訓(xùn)練的大量模型中有部分是解耦的,但這些解耦表示在不基于基準(zhǔn)標(biāo)簽的情況下是無從確認(rèn)和識別的。此外好的超參數(shù)在不同的數(shù)據(jù)集上并不一致,這意味著沒有歸納偏置(inductive biases)是無法實現(xiàn)非監(jiān)督解耦學(xué)習(xí)的(需要把對數(shù)據(jù)集的假設(shè)考慮進(jìn)模型中)。對于實驗中評測的模型和數(shù)據(jù)集,研究人員表示無法驗證解耦對于downstream tasks任務(wù)有利的假設(shè)(這一假設(shè)認(rèn)為基于解耦表示可以利用更少的標(biāo)簽來進(jìn)行學(xué)習(xí))。下圖展示了研究中的一些發(fā)現(xiàn),可以看到隨機(jī)種子在運(yùn)行中的影響超過了模型的選擇(左)和正則化(右)的強(qiáng)度(更強(qiáng)的正則化并沒有帶來更多的解耦性能)。這意味著很差超參數(shù)作用下的好模型也許比很好超參數(shù)作用下的壞模型要好得多。
未來研究方向
基于這些全新的發(fā)現(xiàn)和研究結(jié)果,研究人員為解耦表示領(lǐng)域提出了四個可能的方向:1.在沒有歸納偏置的條件下給出非監(jiān)督解耦表示學(xué)習(xí)的理論結(jié)果是不可能的,未來的研究應(yīng)該更多地集中于歸納偏置的研究以及隱式和顯示監(jiān)督在學(xué)習(xí)中所扮演的角色;2.為橫跨多數(shù)據(jù)集的非監(jiān)督模型尋找一個有效的歸納偏置將會成為關(guān)鍵的開放問題;3.應(yīng)該強(qiáng)調(diào)解耦學(xué)習(xí)在各個特定領(lǐng)域所帶來的實際應(yīng)用價值,潛在的應(yīng)用方向包括機(jī)器人、抽象推理和公平性等;4.在各種多樣性數(shù)據(jù)集上的實驗應(yīng)該保證可重復(fù)性。
代碼和工具包
為了讓其他研究人員更好的復(fù)現(xiàn)結(jié)構(gòu),論文同時還發(fā)布了 disentanglement_lib工具包,其中包含了實驗所需的模型、度量、訓(xùn)練、預(yù)測以及可視化代碼工具。可以在命令行中用不到四行代碼就能復(fù)現(xiàn)是論文中所提到的模型,也可以方便地改造來驗證新的假設(shè)。最后 disentanglement_lib庫易于拓展和集成,易于創(chuàng)建新的模型,并用公平的可復(fù)現(xiàn)的比較進(jìn)行檢驗。由于復(fù)現(xiàn)所有的模型訓(xùn)練需要2.5GPU年的算力,所以研究人員同時開放了論文中提到的一萬多個預(yù)訓(xùn)練模型可以配合前述工具使用。如果想要使用這個工具可以在這里找到源碼:
https://github.com/google-research/disentanglement_lib
其中包含了以下內(nèi)容:模型:BetaVAE, FactorVAE, BetaTCVAE, DIP-VAE度量:BetaVAE score, FactorVAE score, Mutual Information Gap, SAP score, DCI, MCE數(shù)據(jù)集:dSprites, Color/Noisy/Scream-dSprites, SmallNORB, Cars3D, and Shapes3D預(yù)訓(xùn)練模型:10800 pretrained disentanglement models依賴包:TensorFlow, Scipy, Numpy, Scikit-Learn, TFHub and Gin
git clone https://github.com/google-research/disentanglement_lib.git #下載gitcd disentanglement_lib #轉(zhuǎn)到源碼目錄pip install .[tf_gpu] #安裝依賴文件dlib_tests #驗證安裝
隨后下載對應(yīng)的數(shù)據(jù)文件:
dlib_download_data#在.bashrc寫入路徑export DISENTANGLEMENT_LIB_DATA=
隨后就可以愉快地復(fù)現(xiàn)實驗了,其中?是0-12599間的模型序號:dlib_reproduce --model_num=>進(jìn)行評測:dlib_aggregate_results
相信這篇文章的研究結(jié)果和代碼工具將為接下來的研究提供更為明確的方向和便捷的途徑,促進(jìn)非耦合表示學(xué)習(xí)領(lǐng)域的發(fā)展。
-
谷歌
+關(guān)注
關(guān)注
27文章
6223瀏覽量
107562 -
gpu
+關(guān)注
關(guān)注
28文章
4912瀏覽量
130676 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1223瀏覽量
25281
原文標(biāo)題:耗時2.5GPU年訓(xùn)練12800個模型,谷歌研究人員揭示非耦合表示的奧秘
文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
名單公布!【書籍評測活動NO.43】 算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析
【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗】--全書概覽
【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗】--了解算力芯片GPU
請問如何在imx8mplus上部署和運(yùn)行YOLOv5訓(xùn)練的模型?
數(shù)據(jù)、算法和算力其實現(xiàn)載體是什么
在Ubuntu上使用Nvidia GPU訓(xùn)練模型
索尼發(fā)布新的方法,在ImageNet數(shù)據(jù)集上224秒內(nèi)成功訓(xùn)練了ResNet-50
GPU如何訓(xùn)練大批量模型?方法在這里
ICML 2019最佳論文新鮮出爐!
夯實算力基礎(chǔ) 賦能大模型創(chuàng)新發(fā)展

20個數(shù)據(jù)可以訓(xùn)練神經(jīng)網(wǎng)絡(luò)嗎
【一文看懂】大白話解釋“GPU與GPU算力”

PyTorch GPU 加速訓(xùn)練模型方法
搭建算力中心,從了解的GPU 特性開始

評論