您的位置:首頁>正文

揭秘自編碼器,一種捕捉資料最重要特徵的神經網路(視頻+代碼)

大資料文摘字幕組作品

編譯:Jenny、analeighgui、龍牧雪

YouTube網紅小哥Siraj Raval系列視頻又和大家見面啦!今天要講的是自編碼器Autoencoder。

時長8分鐘

有中文字幕

點擊觀看

視頻載入中...

首先, 自編碼器是一個神經網路。

如果我們得到的資料是正確標注的, 不論是圖像或音訊或文本, 我們就很幸運了。 深度學習在有標注資料集上非常有效。 這是因為總有一個函數代表了變數之間的關係。

比如如果我們的輸入資料是一堆數位, 還有定義了輸入資料是偶數或者奇數的標籤, 那麼代表這兩列數位關係的函數就很簡單:如果輸入資料能被2整除, 則這個數是偶數, 不然就是奇數。

所有資料類型(視頻或文本)均可用數位表示。 因此總是有一個函數能映射關係。 只不過比我們剛剛討論過的函數更複雜一點。

所以我們現在可以跟電腦說話, 真是太不可思議了。

-OK Google, do you love me?

-Ha ha ha ha, No.

(文摘菌:這段絕對不容錯過!1'30''左右, 一定要去原視頻聽聽穀歌諷刺的笑聲, 是個女高音)

語音辨識就是深度學習應用在標記資料集的結果。 如果一個開發團隊想要創建語音辨識引擎, 他們會使用以其轉錄本為標籤的音訊剪輯資料集。 音訊的每一個位元組可以被分解成一系列數位,

文字記錄也可以。 一些運算組合將輸入轉換成標籤, 這個組合就是函數。

神經網路可以通過反復的優化過程(也就是訓練的過程)來慢慢逼近這個函數, 簡而言之就是每次反覆運算都最小化錯誤值。 因此給定一個新的音訊剪輯, 它可以容易地預測到它的轉錄本會是什麼樣。

深度學習本質上是在完成從a到b的映射。 更準確地說, 它在完成通用函數逼近。

意思是有足夠資料的話, 神經網路可以逼近任何函數。

輸入一個貸款申請, 輸出客戶會償還的可能性;輸入電子郵件, 輸出它是垃圾郵件或非垃圾郵件的概率……

深度學習不僅僅能用來找到未知的函數, 還能找到我們是如何發現一個已知函數的。

所有神經網路都是複合函數, 也就是函數套函數。 網路上的層數越多, 其嵌套函數也越多。 對於一個三層網路來說, 我們要用第一個權重矩陣乘以輸入, 對它應用一個啟動函數, 再重複這個過程。

這次我們使用輸出作為我們新的輸入。 輸入時間, 等待, 啟動, 結果是我們的輸出。

這可以表示為複合函數, 因為我們用第一個函數的輸出作為下一個函數的輸入。

不過, 假設我們的目標不是找到一個標籤Y, 而是重建原始輸入X呢?

如果我們的輸入是由幾個數位組成的陣列, 在應用一系列運算之後, 我們的網路應該以完全相同的數位輸出這些相同的輸入。 我們將第一部分, 可以將壓縮輸入成更少比特數的網路的, 稱為編碼器。 我們可以將第二部分, 建立視覺圖像的, 稱為解碼器。

我們為什麼要關心這個呢?我們不關心輸出, 因為輸出只是複製了輸入, 我們關心的是隱藏層。 如果一個網路能夠重建輸入, 那麼隱藏層必須包含足夠資訊給輸出。 如果隱藏層比輸入層和輸出層小, 那麼它代表的是低密度的相同資訊, 是從學習中得到的輸入資料的集中代表。

也有別的更好的辦法來壓縮資料,不過自編碼器在某些領域還是很有用的,例如降維。它也可以被用在分類問題上。如果自編碼器能正確地構建示例,這個示例很可能和用於訓練的類別屬於同一類。另外一個用途是異常檢測。我們用正常例進行訓練,這樣可以很容易發現異常。如果我們訓練它檢測訓練集中的異常,它只會發現那些已經見過的異常,而通常情況下異常值是比較少的。

好啦!更多有關自編碼器的分類和代碼的內容,可以自行看視頻和通過文末的連結下載代碼喔。以下是視頻的重點總結:

神經網路可以緩慢地逼近各種函數,它可以通過訓練(反覆運算優化過程)從而映射輸入為輸出。如果我們把輸出設置為輸入,就可以稱這個神經網路為自編碼器。自編碼器有很多類型,包括最近出現的變分自編碼器(VAE)。

最後附上一個視頻裡有關語音助手的笑話:

貝佐斯:Alexa,買點Whole Food的吃的做晚餐。

Alexa:好的,正在買Whole Food。

(指語音助手誤會這位元CEO的意思讓亞馬遜直接收購Whole Food)

原視頻作者:Siraj Raval,大資料文摘經授權譯製

原視頻連結:

https://www.youtube.com/watch?v=H1AllrJ-_30

代碼下載:

https://github.com/llSourcell/autoencoder_explained

是從學習中得到的輸入資料的集中代表。

也有別的更好的辦法來壓縮資料,不過自編碼器在某些領域還是很有用的,例如降維。它也可以被用在分類問題上。如果自編碼器能正確地構建示例,這個示例很可能和用於訓練的類別屬於同一類。另外一個用途是異常檢測。我們用正常例進行訓練,這樣可以很容易發現異常。如果我們訓練它檢測訓練集中的異常,它只會發現那些已經見過的異常,而通常情況下異常值是比較少的。

好啦!更多有關自編碼器的分類和代碼的內容,可以自行看視頻和通過文末的連結下載代碼喔。以下是視頻的重點總結:

神經網路可以緩慢地逼近各種函數,它可以通過訓練(反覆運算優化過程)從而映射輸入為輸出。如果我們把輸出設置為輸入,就可以稱這個神經網路為自編碼器。自編碼器有很多類型,包括最近出現的變分自編碼器(VAE)。

最後附上一個視頻裡有關語音助手的笑話:

貝佐斯:Alexa,買點Whole Food的吃的做晚餐。

Alexa:好的,正在買Whole Food。

(指語音助手誤會這位元CEO的意思讓亞馬遜直接收購Whole Food)

原視頻作者:Siraj Raval,大資料文摘經授權譯製

原視頻連結:

https://www.youtube.com/watch?v=H1AllrJ-_30

代碼下載:

https://github.com/llSourcell/autoencoder_explained

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示