导航菜单

首页 >  文章 >  深度 | 從任務到可視化,如何理解LSTM網絡中的神經元

深度 | 從任務到可視化,如何理解LSTM網絡中的神經元

图片说明:深度 | 從任務到可視化,如何理解LSTM網絡中的神經元,。

作者:Tigran Galstyan等機器之心編譯參與:Nurhachu Null、蔣思源對人類而言,轉寫是一件相對容易並且可解釋的任務,所以它比較適合用來解釋神經網絡做瞭哪些事情,以及神經網絡所做的事情是否和人類在同樣的任務上做的事情有相似之處。因此,我們從轉寫任務開始進一步從可視化的角度解釋神經網絡中的單個神經元實際上都學到瞭什麼,以及它們到底是如何決策的。目錄:轉寫網絡結構分析神經元「t」是如何變成「」的?神經元 是如何學習的?可視化長短期記憶(LSTM)網絡中的單元(cell)總結評論轉寫(Transliteration)數十億互聯網用戶中,大約有一半在使用非拉丁文字母(non-Latin alphabets)表示的語言,例如俄語、阿拉伯語、中文、希臘語以及亞美尼亞語等。很多時候他們也會隨意地用拉丁文字母來寫這些語言。Привет: Privet, Privyet, Priwjet, … : kayf halk, keyf 7alek, … : Barev Dzez, Barew Dzez, …因此,用戶生成的內容中使用「拉丁化」或者「羅馬化」的格式內容越來越多,這些格式的內容難以解析、搜索,甚至識別。轉寫就是就是將這些內容自動地轉換成規范格式的任務。Aydpes aveli sirun e.: :什麼因素使得這個問題比較困難呢?如上所示,不同的語言使用者會用到不同的羅馬化方式。例如,v 或者 w 在亞美尼亞語中被寫為。多個字母可以被羅馬化成一個拉丁字母。例如 r 可以代表亞美尼亞語中的 或者 。一個單個字母可以被羅馬化成多個拉丁字母或者拉丁字母的組合。例如,ch 組合代表西裡爾字母中的ч或者亞美尼亞子母中的 ,但是 c 和 h 各自又代表其他的東西。英語單詞和跨語言的拉丁文標志,例如 URL,通常都以非拉丁文本的形式出現。例如,youtube.com 和 MSFT 中的字母不會被改變。人類很擅長解決這些模棱兩可的東西。我們曾經展示過 LSTM 也能夠學會解決所有的這些歧義性,至少在亞美尼亞語上。例如,我們的模型可以正確地將 es sirum em Deep Learning 轉寫為 Deep Learning,而不是 。網絡架構我們從維基百科上取瞭很多亞美尼亞文本,並使用概率規則(probabilistic rules)來得到羅馬化的文本。概率規則覆蓋瞭人們在亞美尼亞語中使用的大多數羅馬化規則。我們把拉丁字母編碼成瞭 one-hot 向量,然後使用字符級別的雙向 LSTM。在每一個時間步長上,網絡都會盡力去猜測原始亞美尼亞語句子中的下一個字符。有時候一個單獨的亞美尼亞字母會由多個拉丁文字母表示,所以在使用 LSTM 之前將羅馬化的文本和原始文本對齊是很有幫助的(否則,我們需要使用句子到句子的 LSTM,但是這種網絡非常難以訓)。幸好我們可以對齊,因為羅馬尼亞文本隻由我們自己生成的。例如,dzi 應該被轉寫成,其中 dz 與對應,i 與對應。因此我們在亞美尼亞文本中添加瞭一個占位符: 變成瞭 _,因此現在 z 可以被轉寫為 _。在轉寫完成之後我們隻需要將輸出字符串中的所有 _ 清除掉即可。我們的神經網絡包含兩個 LSTM(共有個 228 個單元),它會沿著拉丁文序列向前和向後遍覽。LSTM 的輸出在每個步驟都是相連的(連接層),然後一個具有 228 個神經元的緊密層(dense layer)用在隱藏層的頂部,然後再用一個使用 softmax 激活函數的緊密層(輸出層)來得到輸出概率。我們還將輸入層與隱藏層連在一起,這樣就有 300 個神經元瞭。這比我們之前的博客中描述的相同主題上使用的簡化版網絡更加簡潔(主要的區別就是我們沒有使用雙向 LSTM(biLSTM)的第二層)。分析神經元我們嘗試回答下面的兩個問題:網絡如何處理具有幾個可能的輸出結果的例子?(例如 r => vs 等等)特定的神經元都解決瞭什麼問題?「t」是如何變成「」的?首先,我們使用一個特定的字符作為輸入,另一個特定的字符作為輸出。例如,我們對「t」是如何變成「」比較感興趣(我們知道 t 可以變成 、 或者)。我們對每一個神經元的正確輸出是和不是的情況都繪制瞭直方圖。對大多數神經元來說,這個直方圖都是比較相似的,隻是有以下這兩種情況而已:這兩幅直方圖表明,通過觀察這個特定神經元的激活結果,我們就能夠以較高的準確率猜到 t 的輸出結果是不是。為瞭量化這兩幅直方圖的差別,我們使用瞭海寧格距離(Hellinger distance),即我們得到對神經元激活結果的最大值和最小值,並將它們之間劃分成 1000 分,然後應用海寧哥距離公式。我們計算瞭每一個神經元的海寧格距離,然後將最感興趣的那些以一幅圖展示瞭出來:神經元的顏色代表兩幅直方圖之間的距離(更深的顏色意味著更大的距離)。兩個神經元之間連線的線寬代表從更低層到更高層的連接貢獻,即均值。橙色和綠色的線分別代表正或負的信號。圖片頂部的神經元來自於輸出層,輸出層下面的神經元來自於隱藏層(頂部的 12 個神經元表示直方圖之間的距離)。隱藏層下面是連接層。連接層的神經元被分成兩部分:左半部分神經元是從輸入序列向輸出序列傳播的 LSTM,右半部分是從輸出向輸入傳播的 LSTM。我們根據直方圖的距離從每個 LSTM 中展示出瞭前十個神經元。在 t => 的情況中,很明顯隱藏層的前 12 個神經元都向 和( 在亞美尼亞語言也經常被羅馬化成 t)傳遞正信號,向 , 以及其他的字符傳遞負信號。我們也可以發現從右到左的輸出顏色更加深,這表明這些神經元「擁有更多關於是否要預測成的知識」,另一方面,這些神經元和隱藏層之間的連線顏色卻更加淺,這意味著他們對隱藏層中頂部的 12 個神經元激活程度的貢獻更大。這是非常自然的結果,因為當下一個符號是 s 的情況下,t 一般會變為,而且,僅僅從右向左的 LSTM 才能意識到下一個字符。我們對 LSTM 內部的神經元和門(gate)做一下類似的分析。分析結果在圖中底部的 6 行展示瞭出來。實際上,有趣的是最「置信的」神經元是那些所謂的單元輸入(cell input)。輸入單元和門都依賴於當前步驟的輸入和前一步的隱藏狀態(就像我們談論過的從右向左的 LSTM,這是下一個字符的隱藏狀態),因此它們都「意識」到瞭下一個 s,但是因為一些原因,單元輸入比其他部分更具置信度。在 s 應該被轉寫成_(占位符)的情況下,隨著 s 變成 _ ,尤其是在 ts => _的情況下,有用的信息更可能來自輸入到輸出的正向 LSTM。在下圖中可以看到這個情況:神經元 是如何學習的?在分析的第二部分我們闡釋瞭在有歧義的情況中,每個神經元是如何起到幫助作用的。我們使用瞭可以被轉寫為不止一種亞美尼亞字母的拉丁字符集。然後我們移除瞭在 5000 個樣本句子中出現次數少於 300 次的樣本結果,因為我們的距離因子(distance metric)在那些更少的樣本上不太奏效。然後我們在給定輸入-輸出對的情況下分析瞭每一個神經元例如,這是對從左到右的 LSTM 中輸出層編號為 #70 的神經元的分析。我們在之前的可視化中看到,它有助於決定 s 是否會被轉寫為_。下面是這個神經元判斷的排名前 4 的輸入-輸出對:所以這個神經元最有助於將 s 預測為_(這個我們早就知道瞭),但是它也有助於決定拉丁字母 h 是否要被轉寫為亞美尼亞字母或者占位符_(例如,亞美尼亞字母通常被羅馬化為 ch,因此 h 有時候會變成_)。當輸入是 h,輸出是_的時候,我們可視化瞭神經元激活程度直方圖之間的海寧格距離(Hellinger distances),結果發現,在 h=>_的情況下,編號為 #70 的神經元也屬於從左到右的 LSTM 中頂部十個神經元的一個。可視化 LSTM 單元受到論文可視化和理解循環網絡(Visualizing and Understanding Recurrent Networks,Andrej Karpathy、Justin Johnson 和 Fei-Fei Li)的啟發,我們嘗試尋找對後綴(羅馬化為 tyun)反應最強烈神經元。第一行是輸出序列的可視化。下面幾行展示瞭最有趣的神經元的激活程度:輸出到輸入反向 LSTM 中編號為 #6 的單元從輸入到輸出正向 LSTM 中編號為 #147 的單元隱藏層中的第 37 個神經元連接層中的第 78 個神經元我們可以看到,單元 #6 在 tyuns 上表現的很活躍,但是在序列中的其他部分則並不活躍。前向 LSTM 中的單元 #144 則有完全相反的表現,它對除瞭 tyuns 之外的一切都感興趣。我們知道,在亞美尼亞語種,tyuns 中的前綴 t 總應該變成,因此我們認為,如果一個神經元對 tyuns 感興趣,那麼它有可能會有助於決定拉丁文 t 是否應該別轉寫為 或者 。所以我們可視化瞭在輸入輸出對 t => 的情況下最重要的神經元。事實上,前向 LSTM 中的單元 #147 也是屬於 top 10 的。結語神經網絡的可解釋性仍然是機器學習中的一個挑戰。卷積神經網絡和長短期記憶對很多學習任務都表現良好,但是鮮有工具能夠理解這些系統的內部運作機制。轉寫是一個用來分析實際神經元作用的很好的問題。我們的實驗證明,即使在很簡單的例子中,也會有大量的神經元參與決策,但是能夠找到那些比其他神經元更具有作用的一個神經元子集。另一方面,根據上下文,大多數神經元都涉及到瞭多個決策過程。由於我們在訓練神經網絡時所用的損失函數並沒有強制讓神經元之間相互獨立並且可解釋,所以這是意料之中的。最近,為瞭得到更多的可解釋性,已經有人嘗試使用信息理論的正則化方法。在轉寫的任務中測試這些思想將會很有趣。原文地址:http://yerevann.github.io/2017/06/27/interpreting-neurons-in-an-LSTM-network/

 >  本文声明:

本文内容不代表无码刺激视频_日本av成人在线视频_AV无码手机在线观看--蜜桃圈APP视频立场,本站仅作整理、存档及学习之用,文章版权归属于原作者所有。

部分原创内容欢迎收藏、学习、交流、转载,但请保留文章出处及链接。

文章名称:深度 | 從任務到可視化,如何理解LSTM網絡中的神經元

文章地址:http://www.nLemedia.com/article/29.html
有关热门【深度 | 從任務到可視化,如何理解LSTM網絡中的神經元】的标签