導航:首頁 > 網路問題 > 什麼叫自編碼網路

什麼叫自編碼網路

發布時間:2022-09-07 20:14:26

㈠ 自動編碼器的作用

自編碼器的一個典型應用是特徵降維,和PCA的作用一樣,但是比PCA的性能更強。可以想這樣一個場景:我們要訓練一個CNN模型,這個模型最終可以識別貓、狗、船等,那麼我們需要給它喂入大量的貓狗等圖像,假如這些圖像都是高清的,即數據維度很大,那麼CNN訓練的時間就會變長。這時候需要將圖片壓縮一下,我們當然可以考慮使用圖像壓縮演算法,這里只是舉一個例子,如果某些數據集不是圖片,如何壓縮呢?答案可以使用自編碼器,自編碼器可以將高維的數據特徵用一個低維的特徵來表示,自編碼器的作用是通過編碼器只學習其典型特徵(維度降低了),該特徵通過解碼器可以大致復原原來的數據即可。這樣再將這個學習到的低維特徵輸入到相應的神經網路中,可以大大減少訓練的時間。

在實際應用中,我們訓練好自動編碼器後,一般只使用其編碼器部分,從而獲得低維的數據。再將這個數據輸入到其它分類模型中進行訓練。

㈡ 智能船舶自編碼運算的場景

自然場景。
1、分級和分類標准主要根據智能船舶自編碼運算、應用自然場景及智能化功能對所涉及的相關系統設備進行分類。
2、自編碼神經網路是一種無監督學習演算法,它使用了反向傳播演算法。

㈢ 深度學習有人了解嗎,可以介紹一下嗎

深度學習是學習樣本數據的內在規律和表示層次,這些學習過程中獲得的信息對諸如文字,圖像和聲音等數據的解釋有很大的幫助。它的最終目標是讓機器能夠像人一樣具有分析學習能力,能夠識別文字、圖像和聲音等數據。 深度學習是一個復雜的機器學習演算法,在語音和圖像識別方面取得的效果,遠遠超過先前相關技術,
主要涉及三類方法: [2]
(1)基於卷積運算的神經網路系統,即卷積神經網路(CNN)。 [2]
(2)基於多層神經元的自編碼神經網路,包括自編碼( Auto encoder)以及近年來受到廣泛關注的稀疏編碼兩類( Sparse Coding)。 [2]
(3)以多層自編碼神經網路的方式進行預訓練,進而結合鑒別信息進一步優化神經網路權值的深度置信網路(DBN)。
區別於傳統的淺層學習,深度學習的不同在於: [4]
(1)強調了模型結構的深度,通常有5層、6層,甚至10多層的隱層節點; [4]
(2)明確了特徵學習的重要性。也就是說,通過逐層特徵變換,將樣本在原空間的特徵表示變換到一個新特徵空間,從而使分類或預測更容易。與人工規則構造特徵的方法相比,利用大數據來學習特徵,更能夠刻畫數據豐富的內在信息。
典型的深度學習模型有卷積神經網路( convolutional neural network)、DBN和堆棧自編碼網路(stacked auto-encoder network)模型等

㈣ 解析Variational AutoEncoder(VAE)

數月前聽在做推薦系統的同事提了一下VAE這個模型,因為以前沒用過,出於好奇便稍微研究了一下.雖然從深度學習的角度去看並不復雜,但是發現從貝葉斯概率的視角去理解並不是那麼顯然。
鑒於這是備受推崇的兩大深度生成模型之一,想必會有可取之處。加之從我個人的思維習慣和直覺來看,這東西十分頗有深意,於是早就想來說道說道這個東西,然後因為前段時間一直一回家就提不起勁什麼的,在拖了這么久之後總算有了這篇文章.

在說VAE之前,先來看一下它的前身AutoEncoder(AE).
AE是非常知名的自編碼器,它通過自監督的訓練方式,能夠從原始特徵獲得一個潛在的特徵編碼,實現了自動化的特徵工程,並且達到了降維和泛化的目的。
它的網路結構很簡單,有編碼和解碼兩個部分組成:

容易看出,之所以是自監督就是因為網路的target即是input本身,因此不需要額外的標簽工作,雖然它由編碼器和解碼器兩個部分組成,但是,顯然從自編碼器這個名字就可以看出,AE的重點在於編碼,即得到這個隱藏層的向量,作為input的潛在特徵,這是常見的一種embedding的一種方式。而解碼的結果,基於訓練目標,如果損失足夠小的話,將會與input相同,從這一點上看解碼的值沒有任何實際意義,除了通過增加誤差來補充平滑一些初始的零值或有些許用處。因為,從輸入到輸出的整個過程,都是基於已有的訓練數據的映射,盡管隱藏層的維度通常比輸入層小很多,但隱藏層的概率分布依然只取決於訓練數據的分布,這就導致隱藏狀態空間的分布並不是連續的,於是如果我們隨機生成隱藏層的狀態,那麼它經過解碼將很可能不再具備輸入特徵的特點,因此想通過解碼器來生成數據就有點強模型所難了。

正是因為以上的這些原因,有大佬就對AE的隱藏層做了些改動,得到了VAE。

VAE將經過神經網路編碼後的隱藏層假設為一個標準的高斯分布,然後再從這個分布中采樣一個特徵,再用這個特徵進行解碼,期望得到與原始輸入相同的結果,損失和AE幾乎一樣,只是增加編碼推斷分布與標准高斯分布的KL散度的正則項,顯然增加這個正則項的目的就是防止模型退化成普通的AE,因為網路訓練時為了盡量減小重構誤差,必然使得方差逐漸被降到0,這樣便不再會有隨機采樣雜訊,也就變成了普通的AE。

沒錯,我們先拋開變分,它就是這么簡單的一個假設... 仔細想一下,就會覺得妙不可言。

它妙就妙在它為每個輸入 , 生成了一個潛在概率分布 ,然後再從分布中進行隨機采樣,從而得到了連續完整的潛在空間,解決了AE中無法用於生成的問題。
《論語》有言:「舉一隅,不以三隅反,則不復也。」 ,給我的啟發就是看事物應該不能只看錶面,而應該了解其本質規律,從而可以靈活遷移到很多類似場景。聰明人學習當舉一反三,那麼聰明的神經網路,自然也不能只會懟訓練數據。如果我們把原始輸入 看作是一個表面特徵,而其潛在特徵便是表面經過抽象之後的類特徵,它將比表面特徵更具備區分事物的能力,而VAE直接基於擬合了基於已知的潛在概率分布,可以說是進一步的掌握了事物的本質。
就拿一個人的某個行為來說,我們不能單純看行為本身,因為這個行為往往代表了他的綜合特性,他從出生開始,因為遺傳,後天教育和環境,決定了他在面對某種情形的情況下,高概率會產生這個行為,也就是說掌握了概率分布,就掌控了一切。

讀了上面的內容之後,你應該對VAE模型有了一個較為直觀和感性的認知,但是可能會疑惑所謂的變分到底在哪裡
放心,變分並沒有被作者吃掉,接下來,我們就從變分推斷的角度,對VAE進行一個理性的推導。有了上面的基礎,再讀下面的內容時就會輕松愉快很多。

變分自編碼器(VAE) 的想法和名字的由來便是變分推斷了,那麼什麼是變分推斷呢?
變分推斷是MCMC搞不定場景的一種替代演算法,它考慮一個貝葉斯推斷問題,給定觀測變數 和潛變數 , 其聯合概率分布為 , 目標是計算後驗分布 .然後我們可以假設一個變分分布 來自分布族 ,通過最小化KL散度來近似後驗分布 :

這么一來,就成功的將一個貝葉斯推斷問題轉化為了一個優化問題~

有了變分推斷的認知,我們再回過頭去看一下VAE模型的整體框架,VAE就是將AE的編碼和解碼過程轉化為了一個貝葉斯概率模型:
我們的訓練數據即為觀測變數 , 假設它由不能直接觀測到的潛變數 生成, 於是,生成觀測變數過程便是似然分布: ,也就是解碼器,因而編碼器自然就是後驗分布: .
根據貝葉斯公式,建立先驗、後驗和似然的關系:

接下來,基於上面變分推斷的思想,我們假設變分分布 , 通過最小化KL散度來近似後驗分布 ,於是,最佳的 便是:

因為訓練數據 是確定的,因此 是一個常數,於是上面的優化問題等價於:

此時,優觀察一下優化方程的形式...已經是我們前面所說的VAE的損失函數了~~
顯然,跟我們希望解碼准確的目標是一致的。要解碼的准,則 應該盡可能的小,編碼特徵 的分布 同 盡可能的接近,此時恰好 和 都盡可能的小,與損失的優化的目標也一致。

正如前面所提到的AE潛變數的局限性,我們希望VAE的潛變數分布 應該能滿足海量的輸入數據 並且相互獨立,基於中心極限定理,以及為了方便采樣,我們有理由直接假設 是一個標準的高斯分布 .

我們先來看一下編碼部分,我們希望擬合一個分布 盡可能接近 , 關鍵就在於基於輸入 計算 和 , 直接算有點困難,於是就使用兩個神經網路 和 來無腦擬合 和 。

值得一提的是,很多地方實際使用的 、 兩部分神經網路並不是獨立的,而是有一部分交集,即他們都先通過一個 映射到一個中間層 , 然後分別對 計算 和 . 這樣錯的好處的話一方面是可以減少參數數量,另外這樣算應該會導致擬合的效果差一些,算是防止過擬合吧。

解碼,即從潛變數 生成數據 的過程,在於最大化似然 ,那這應該是個什麼分布呢?通常我們假設它是一個 伯努利分布 或是 高斯分布
我勒個去,憑什麼是這兩個分布... 這個比較無解..只能伯努利分布十分簡單,熟悉的人也多,高斯分布呢又太接近大自然了...關鍵用起來又方便....

知道了分布類型,那計算 最小值其實只要把分布公式帶進去算就可以了..

然後,將編碼和解碼部分組合到一起,就形成了完整的VAE網路。

訓練的時候似乎出了點問題。從編碼得到的分布 隨機采樣 的這個過程沒法求導,沒法進行誤差反向傳播....

都推到這了你跟我說沒法訓練??? 差點噴出一口老血...

好在這里可以使用一個叫做 重參數(reparametrisation trick) 的技巧:

真是妙呀,這樣一來將采樣變成了一個數值變換,整個過程便可導了~~~

這樣,訓練好模型之後,我們可以直接將解碼部分拿出來,通過標准高斯分布隨機采樣源源不斷的生成數據了。

下面僅代表我個人的一些直覺和思考,姑且一看,或代表了一種發展的方向。
VAE中使用神經網路來擬合高斯分布的想法獨樹一幟,對很多任務能帶來啟發。神經網路在特徵化訓練數據的過程無異於海量數據的管中窺豹,但是想要讓模型超脫於豹,而像人一樣產生對相似的貓、老虎...之類的概念,VAE的這種思想頗有一些意味。

㈤ 網路編碼是什麼

network coding
傳統的通信網路傳送數據的方式是存儲轉發,即除了數據的發送節點和接收節點以外的節點只負責路由,而不對數據內容做任何處理,中間節點扮演著轉發器的角色。長期以來,人們普遍認為在中間節點上對傳輸的數據進行加工不會有任何收益,然而R Ahlswede等人[1]於2000年提出的網路編碼理論徹底推翻了這種傳統觀點。 網路編碼是一種融合了路由和編碼的信息交換技術,它的核心思想是在網路中的各個節點上對各條信道上收到的信息進行線性或者非線性的處理,然後轉發給下游節點,中間節點扮演著編碼器或信號處理器的角色。根據圖論中的最大流-最小割定理[2],數據的發送方和接收方通信的最大速率不能超過雙方之間的最大流值(或最小割值),如果採用傳統多播路由的方法,一般不能達到該上界。R Ahlswede等人以蝴蝶網路的研究為例,指出通過網路編碼,可以達到多播路由傳輸的最大流界,提高了信息的傳輸效率,從而奠定了網路編碼在現代網路通信研究領域的重要地位。

㈥ 變分自編碼 為什麼要使用kl三幅

autoencoders作為一種非常直觀的無監督的學習方法是很受歡迎的,最簡單的情況是三層的神經網路,第一層是數據輸入,第二層的節點數一般少於輸入層,並且第三層與輸入層類似,層與層之間互相全連接,這種網路被稱作自動編碼器,因為該網路將輸入「編碼」成一個隱藏代碼,然後從隱藏表示中「解碼」出來。通過簡單的測量重構誤差和反傳網路參數能夠很好的訓練該類網路。

㈦ 一文搞懂變分自編碼器(VAE, CVAE)

變分自編碼器與對抗生成網路類似,均是為了解決數據生成問題而生的 。在自編碼器結構中,通常需要一個輸入數據,而且所生成的數據與輸入數據是相同的。但是通常希望生成的數據具有一定程度的不同,這需要輸入隨機向量並且模型能夠學習生成圖像的風格化特點,因此在後續研究中以隨機化向量作為輸入生成特定樣本的對抗生成網路結構便產生了。變分自編碼器同樣的以特定分布的隨機樣本作為輸入,並且可以生成相應的圖像,從此方面來看其與對抗生成網路目標是相似的。但是變分自編碼器不需要判別器,而是使用編碼器來估計特定分布。總體結構來看與自編碼器結構類似,但是中間傳遞向量為特定分布的隨機向量, 這里需要特別區分:編碼器、解碼器、生成器和判別器

先假設一個隱變數Z的分布,構建一個從Z到目標數據X的模型,即構建 ,使得學出來的目標數據與真實數據的概率分布相近

VAE的結構圖如下:

VAE對每一個樣本 匹配一個高斯分布,隱變數 就是從高斯分布中采樣得到的。對 個樣本來說,每個樣本的高斯分布假設為 ,問題就在於如何擬合這些分布。VAE構建兩個神經網路來進行擬合均值與方差。即 ,擬合 的原因是這樣無需加激活函數

此外,VAE讓每個高斯分布盡可能地趨於標准高斯分布 。這擬合過程中的誤差損失則是採用KL散度作為計算,下面做詳細推導:

VAE與同為生成模型的GMM(高斯混合模型)也有很相似,實際上VAE可看成是GMM的一個 distributed representation 的版本。GMM是有限個高斯分布的隱變數 的混合,而VAE可看成是無窮個隱變數 的混合, VAE中的 可以是高斯也可以是非高斯的

原始樣本數據 的概率分布:

假設 服從標准高斯分布,先驗分布 是高斯的,即 。 是兩個函數, 分別是 對應的高斯分布的均值和方差,則 就是在積分域上所有高斯分布的累加:

由於 是已知的, 未知,所以求解問題實際上就是求 這兩個函數。最開始的目標是求解 ,且希望 越大越好,這等價於求解關於 最大對數似然:

而 可變換為:

到這里我們發現,第二項 其實就是 和 的KL散度,即 ,因為KL散度是大於等於0的,所以上式進一步可寫成:

這樣就找到了一個下界(lower bound),也就是式子的右項,即:

原式也可表示成:

為了讓 越大,目的就是要最大化它的這個下界

回顧 :

顯然,最大化 就是等價於最小化 和最大化 。

第一項,最小化KL散度 :前面已假設了 是服從標准高斯分布的,且 是服從高斯分布 ,於是代入計算可得:

對上式中的積分進一步求解, 實際就是概率密度 ,而概率密度函數的積分就是1,所以積分第一項等於 ;而又因為高斯分布的二階矩就是 ,正好對應積分第二項。又根據方差的定義可知 ,所以積分第三項為-1

最終化簡得到的結果如下:

第二項,最大化期望 。也就是表明在給定 (編碼器輸出)的情況下 (解碼器輸出)的值盡可能高

重參數技巧

最後模型在實現的時候,有一個重參數技巧,就是想從高斯分布 中采樣 時,其實是相當於從 中采樣一個 ,然後再來計算 。這么做的原因是,采樣這個操作是不可導的,而采樣的結果是可導的,這樣做個參數變換, 這個就可以參與梯度下降,模型就可以訓練了

在條件變分自編碼器(CVAE)中,模型的輸出就不是 了,而是對應於輸入 的任務相關數據 ,不過套路和VAE是一樣的,這次的最大似然估計變成了 ,即::

則 ELBO(Empirical Lower Bound) 為 ,進一步:

網路結構包含三個部分:

㈧ tensorflow中有自動編碼器網路么

自編碼器是利用神經網路提取出圖像中的高階特徵,同時可以利用高階特徵重構自己
如果向原圖中添加雜訊,則可以通過高階特徵的提取,對原始圖像進行去噪!

閱讀全文

與什麼叫自編碼網路相關的資料

熱點內容
網路共享中心沒有網卡 瀏覽:527
電腦無法檢測到網路代理 瀏覽:1376
筆記本電腦一天會用多少流量 瀏覽:593
蘋果電腦整機轉移新機 瀏覽:1380
突然無法連接工作網路 瀏覽:1075
聯通網路怎麼設置才好 瀏覽:1230
小區網路電腦怎麼連接路由器 瀏覽:1052
p1108列印機網路共享 瀏覽:1215
怎麼調節台式電腦護眼 瀏覽:715
深圳天虹蘋果電腦 瀏覽:950
網路總是異常斷開 瀏覽:617
中級配置台式電腦 瀏覽:1010
中國網路安全的戰士 瀏覽:637
同志網站在哪裡 瀏覽:1420
版觀看完整完結免費手機在線 瀏覽:1464
怎樣切換默認數據網路設置 瀏覽:1113
肯德基無線網無法訪問網路 瀏覽:1290
光纖貓怎麼連接不上網路 瀏覽:1494
神武3手游網路連接 瀏覽:969
局網列印機網路共享 瀏覽:1005