「遺忘」在神經網路中的重要性
在經典的人工神經網路解釋中,隱藏層中的所有神經元最初都是被啟用的,為了完成某一特定任務,有必要關閉其中的一些神經元,即有必要「遺忘」所有不必要資訊。本文提出了具有主動遺忘機制的模型——主動遺忘機器(active forgetting machine,AFM)。該模型包含特殊的神經網路,可以通過禁用多餘神經元暫時遺忘不必要的資訊,然後啟用其他神經元組,以學習和解決某些任務。
引言
人的大腦中有多種遺忘形式,這是一個正常、可適應且必要的學習過程。其中一個有趣的活躍形式是通過將某一瞬間不必要的資訊轉移到無意識記憶中,幫助我們把注意力集中在一些特別的任務上。德國心理學家 Hermann Ebbinghaus 是第一個通過實驗研究記憶的人。他在早期的實驗中遇見了一個問題,就是無法證明某些東西已經完全被遺忘了。因為遺忘的資訊仍然會影響人類行為,而且會在未來被喚醒。因此,遺忘被這樣定義——在某一特定時刻無法從記憶中獲得資訊,而這些資訊在早期的記憶中是易於獲取的。
後續的記憶實驗是在靜水椎實螺上進行的,它們的神經細胞非常大,其中的神經都可以被識別出來,對應的功能也有相應的描述。靜水椎實螺依賴某一個神經細胞,沒有它就無法學習新技能。一旦這個細胞被破壞,椎實螺就會失去學習能力,但之前學習到的行為不會被遺忘。本研究提出的模型將這項功能遷移到 人工神經網路 當中,並定義了具有主動遺忘機制的架構,因此該模型被命名為主動遺忘機器(AFM)。AFM 包含特殊的神經網路,可以通過禁用多餘神經元暫時遺忘不必要的資訊,然後啟用其他神經元組,以學習和解決某些任務。
主動遺忘機制
在經典的 人工神經網路 解釋中,隱藏層中的所有神經元最初都是被啟用的,為了完成某一特定任務,有必要關閉其中的一些神經元,即有必要「遺忘」所有不必要資訊。在 人工神經網路 中,啟用是指神經元在評估中參與正向傳播,在訓練中參與反向傳播。
雖然多工處理能力可以實現在多個問題間相互切換,但它在解決單個問題上也很有用。幾乎任何任務都可以分解成幾個子任務,分解深度隨著基礎任務的複雜度而增加。在多級環境中實現一個目標也是個問題。當引入主動遺忘機制時,該模型可以通過將任務分解成簡單的步驟,併為每個子任務訓練獨立的神經元組合,從而簡化目標。這個技巧增加了模型選擇正確步驟的能力。
基於變分演算法 E 的 AFM 模型
主動遺忘機器模型由遺忘網路 V、關聯控制器 C 和遺忘演算法 E 組成,可以利用它找到最優且最小的必需神經元組 F。在這個模型中,訓練 C 以啟用正確神經元F,V 專注於特殊任務 M。遺忘網路 V 利用遺忘層,這些遺忘層可在二元掩碼上(前向或反向)應用多層神經元。
關聯控制器 C 是一個具有輸出層大小的神經網路,擁有與 V 遺忘層相同數量的神經元,其中 C 被訓練成每次接收任務 M 的任意樣本時發出由演算法 E 定義的掩碼 Ft
基於進化演算法 E 的 AFM 模型
例如,如果要解決的問題涉及兩個不同的任務 A 和 B,那麼達成目標的步驟也會改變。為了解決這兩個問題,模型應該明確定義各組神經元,Fa 是對任務 A 的行為表現反饋。定義好 Fa 後,模型會訓練一個完全不同的神經元組 Fb,以完成任務 B。一旦兩組神經元被定義,根據具體情況,模型可以切換策略,以啟用不同的神經元組。
假設
人們普遍認為,人工智慧系統還無法處理深層結構的任務。但這個假設論證瞭解決這一問題的另一種觀點。人們可以利用主動遺忘系統來解決深層結構任務。如果主動遺忘系統被引入人工智慧系統,可做出如下假設:
-
遺忘是普遍的層級架構
-
計劃無用悖論
假設 1:主動神經遺忘過程的層級引發 agent 對環境層級過程的處理。神經元組 Fh 分配到任務中,神經元子組 Fhh 被分配到子任務中,其中 h 是環境的任務層級。
為了解決任務分層問題,現有的 AI 架構將任務分為不同層級。在時間抽象上,模型會被分為兩個或兩個以上的層段,但無法清晰地定義各個層級。同樣也不可能確定某個特定任務最終屬於哪一個層級。
有了 AFM,就可在神經元空間進行操作。神經元被各個任務所定義,雖然模型學習新的任務,但從眾多神經元中被選擇的神經元可以解決更高階的問題,這使向新任務的遷移學習變得更迅速,因為神經元已經在相同環境中訓練用於更普遍的任務中了。
假設 2:如果只基於經驗,系統可以在每種情境下選擇正確的行動,那計劃就無關緊要了。
在經典概念中,計劃是指在面臨即將來臨的活動過程中採取最優的行動。如果環境分層深度最小,那為了實現目標而設定完美的計劃無疑是可行的。但如果分級深度不確定,那預測動作的序列會變長而且代價高昂。
Atari 2600 的遊戲 MONTEZUMA'S REVENGE 就是論證這些假設的例子。本研究利用自然語言指導的強化學習,在自然語言指引下提出用自然語言指令進行任務隱式分解。如果每一組指令都作為一個獨立任務呈現,那很可能就從自然語言空間遷移到神經元空間了。接著當從子任務遷移到子任務時,某些神經元會被啟用,這會使 agent 在每一個子任務中都有有益的行動。如果定性訓練架構,那每個子任務就無需進行計劃。agent 能夠僅基於經驗直接執行操作,以完成下一目標。所以也不需要計劃需要完成的子任務順序,因為一旦系統在一個子任務中完成了目標,就意味著它已經正確地傳遞到下一個子任務當中了,子任務的正確性和主目標是相關的。
也不能說計劃一無是處。強化學習計劃作為明確的活動也被認為是子任務之一。在某些情況下,如在其他任務中,agent 可以完成計劃。計劃機制被用來設定目標,而且可以定性地確定需要啟用的神經元組來解決問題。將克服遺忘和視覺強化學習與想象目標相結合,可以幫助模型設定一些目標,更正確地啟用必要的神經元組。相比計劃策略,這種方法節省了資源,因為所有必要動作的資訊都儲存在神經元當中。
論文:Catastrophic Importance of Catastrophic Forgetting
論文連結:https://arxiv.org/pdf/1808.07049.pdf
原文連結:https://medium.com/@AIerusalem/catastrophic-importance-of-catastrophic-forgetting-c1c2a245a662
ofollow,noindex" target="_blank">入門 神經網路 遺忘門
相關資料
Artificial Intelligence
在學術研究領域,人工智慧通常指能夠感知周圍環境並採取行動以實現最優的可能結果的智慧體(intelligent agent)
來源: Russell, S., & Norvig, P. (2003). Artificial Intelligence: A Modern Approach.
Neural Network
(人工)神經網路是一種起源於 20 世紀 50 年代的監督式機器學習模型,那時候研究者構想了「感知器(perceptron)」的想法。這一領域的研究者通常被稱為「聯結主義者(Connectionist)」,因為這種模型模擬了人腦的功能。神經網路模型通常是通過反向傳播演算法應用梯度下降訓練的。目前神經網路有兩大主要型別,它們都是前饋神經網路:卷積神經網路(CNN)和迴圈神經網路(RNN),其中 RNN 又包含長短期記憶(LSTM)、門控迴圈單元(GRU)等等。深度學習是一種主要應用於神經網路幫助其取得更好結果的技術。儘管神經網路主要用於監督學習,但也有一些為無監督學習設計的變體,比如自動編碼器和生成對抗網路(GAN)。
來源:機器之心
neurons
(人工)神經元是一個類比於生物神經元的數學計算模型,是神經網路的基本組成單元。 對於生物神經網路,每個神經元與其他神經元相連,當它“興奮”時會向相連的神經元傳送化學物質,從而改變這些神經元的電位;神經元的“興奮”由其電位決定,當它的電位超過一個“閾值”(threshold)便會被啟用,亦即“興奮”。 目前最常見的神經元模型是基於1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神經元模型”。 在這個模型中,神經元通過帶權重的連線接處理來自n個其他神經元的輸入訊號,其總輸入值將與神經元的閾值進行比較,最後通過“啟用函式”(activation function)產生神經元的輸出。
來源: Overview of Artificial Neural Networks and its Applications. (2018). medium.com.
Reinforcement learning
強化學習是一種試錯方法,其目標是讓軟體智慧體在特定環境中能夠採取回報最大化的行為。強化學習在馬爾可夫決策過程環境中主要使用的技術是動態規劃(Dynamic Programming)。流行的強化學習方法包括自適應動態規劃(ADP)、時間差分(TD)學習、狀態-動作-回報-狀態-動作(SARSA)演算法、Q 學習、深度強化學習(DQN);其應用包括下棋類遊戲、機器人控制和工作排程等。
來源:機器之心
Transfer learning
遷移學習是一種機器學習方法,就是把為任務 A 開發的模型作為初始點,重新使用在為任務 B 開發模型的過程中。遷移學習是通過從已學習的相關任務中轉移知識來改進學習的新任務,雖然大多數機器學習演算法都是為了解決單個任務而設計的,但是促進遷移學習的演算法的開發是機器學習社群持續關注的話題。 遷移學習對人類來說很常見,例如,我們可能會發現學習識別蘋果可能有助於識別梨,或者學習彈奏電子琴可能有助於學習鋼琴。
來源:機器之心Pan, S. J., & Yang, Q. (2010). A survey on transfer learning. IEEE Transactions on Knowledge and Data Engineering, 22(10), 1345–1359.

機器之心編輯