一個AI,所有任務超越人類:DeepMind提出「歸一化」多工學習法

ofollow,noindex" target="_blank">機器之心 翻譯
參與 劉曉坤 張倩
一個AI,所有任務超越人類:DeepMind提出「歸一化」多工學習法
多工學習使得單個智慧體可以學習解決許多不同的問題,是人工智慧研究中的長期目標。最近,該領域取得了許多重大進展,DQN 等智慧體可以使用相同的演算法玩不同的遊戲,包括「Breakout」和「Pong」遊戲。這些演算法用於訓練單個專家智慧體完成每項任務。隨著人工智慧研究深入到更多複雜的現實世界領域,構建單個通用智慧體(與多專家智慧體相反)來學習完成多個任務將變得至關重要。然而,截至目前,這一任務依然是一個重大挑戰。
難點之一在於,強化學習智慧體用來判斷成功的獎勵等級往往有所不同,導致他們將注意力集中在獎勵更高的任務上。例如,在 Atari 遊戲乒乓球(Pong)中,智慧體每一步接收的獎勵可能是-1、0 或+1,但玩吃豆人(Ms. Pac-Man)遊戲的智慧體可以在單個步驟中獲得數百或數千分。即使個體獎勵的大小可以比較,但隨著智慧體不斷進化,獎勵的頻率可能會隨著時間發生變化。這意味著智慧體更傾向於得分高的任務,導致其在某些任務上的表現越來越好,但在其他任務中卻越來越差。
為了解決此類問題,DeepMind 開發了 PopArt,這一技術可以調整每個遊戲中分值的大小,使得智慧體認為每個遊戲都有同等的學習價值,無論每個特定遊戲中可以得到的獎勵有多大。開發人員將 PopArt 歸一化應用到一個擁有當前最佳效能的強化學習智慧體中,得到一個可以玩 57 種 Atari 電子遊戲的單個智慧體,該智慧體在所有遊戲中的表現超過人類中等水平。
從廣義上來說,深度學習依賴於神經網路權重更新,其輸出不斷逼近理想目標輸出。神經網路用於深度強化學習中時也是如此。PopArt 通過估計這些目標的平均值和分佈來工作(例如遊戲中的分數)。在被用於更新網路權重前,PopArt 利用這些統計資料歸一化目標。利用歸一化的目標使得學習更加穩定,並且對規模和變化更加魯棒。為了得到準確的估計(如預期未來分數),網路的輸出可以通過反轉歸一化過程縮放到真實目標範圍。如果結果理想,資料的每次更新都將改變所有未歸一化的輸出,包括那些已經很好的輸出。開發人員通過反向更新網路來避免這類情況的發生,只要更新統計資料,這種做法就可以進行。這意味著我們既可以獲得大規模更新的好處,又能保持以前學習到的輸出不變。正是出於這些原因,該方法被命名為 PopArt:它在執行中既能精確地保持輸出,又能自適應地重新縮放目標。
PopArt 作為修剪獎勵的替代方案
傳統上,研究者通過在強化學習演算法中使用獎勵修剪來克服變化獎勵範圍的問題。這種修剪方法將大的獎勵和小的獎勵分別轉換為 1 和-1,粗略地歸一化期望獎勵。儘管這使得學習過程變得更加容易,它也改變了智慧體的目標。例如,在吃豆人(Ms. Pac-Man)遊戲中,智慧體的目標是收集小球,收集一顆獎勵 10 分,而吃掉幽靈則獎勵 200 到 1600 分,如果使用獎勵修剪,則在吃掉小球和吃掉幽靈之間將不會有明顯的區別,導致智慧體最終只吃小球,不會再想辦法捕捉幽靈,如下所示:
https://videos.files.wordpress.com/1nYybrEH/clipped_pacman_dvd.mp4
當移除獎勵修剪方案,並使用 PopArt 的適應性歸一化來穩定學習過程時,它出現了非常不同的行為,智慧體開始主動捕捉幽靈,並得到更高的分數,如下所示:
https://videos.files.wordpress.com/0XtMJ12x/pacman_dvd.mp4
利用 PopArt 進行多工深度強化學習
DeepMind 將 PopArt 應用到重要性加權 Actor-Learner 架構(IMPALA)上,這是 DeepMind 最流行的深度強化學習智慧體之一。在實驗中,與沒有使用 PopArt 的基線智慧體相比,PopArt 顯著提升了智慧體的效能。在結合修剪獎勵和未修剪獎勵的條件下,PopArt 智慧體在遊戲中的中位數分數超越了人類玩家的中位數分數。這遠遠高於結合修剪獎勵的基線智慧體,而未結合修剪獎勵的基線智慧體完全無法達到有意義的效能,因為它無法有效地處理遊戲中獎勵規模的大範圍變化。
57 個 Atari 遊戲上的中位數標準化效能。每一條線對應單個智慧體使用同一個神經網路在所有遊戲中得到的中位數效能。實線代表使用了獎勵修剪的智慧體。虛線代表未使用獎勵修剪的智慧體。
這是首次使用單個智慧體在這種多工環境中實現超越人類的表現,表明 PopArt 可以為這樣的開放性研究問題提供線索,即如何在沒有手動修剪或縮放獎勵的情況下平衡不同的目標函式。PopArt 實現在學習的同時自動適應歸一化的能力在應用 AI 到更加複雜的多模態領域時可能是很重要的,其中智慧體必須學會權衡多個不同的具備變化獎勵的目標函式。
論文:Multi-task Deep Reinforcement Learning with PopArt
論文連結:https://arxiv.org/abs/1809.04474
摘要:強化學習社群在設計能夠在特定任務上超越人類表現的演算法方面取得了很大進展。這些演算法大多用於訓練單項任務,每項新任務都需要訓練一個全新的智慧體。這意味著學習演算法是通用的,但每個解決方案並不通用;每個智慧體只能解決它所訓練的一項任務。在這項工作中,我們研究了學習掌握多個而不是一個序列決策任務的問題。多工學習中的一個普遍問題是,如何在競爭單個學習系統的有限資源的多個任務需求之間找到平衡。許多學習演算法可能會被一系列任務中的某些待解決任務分散注意力。這樣的任務對於學習過程似乎更為突出,例如由於任務內獎勵的密度或大小的原因。這導致演算法以犧牲通用性為代價關注那些更突出的任務。我們建議自動調整每個任務對智慧體更新的貢獻,以便所有任務對學習動態產生類似的影響。這讓智慧體在學習玩 57 種不同的 Atari 遊戲時表現出了當前最佳效能。令人興奮的是,我們的方法僅學會一個訓練有素的策略(只有一套權重),卻超過了人類的中等表現。據我們所知,這是單個智慧體首次超越此多工域的人類級別效能。同樣的方法還在 3D強化學習平臺 DeepMind Lab 的 30 項任務中實現了當前最佳效能。
原文連結:https://deepmind.com/blog/preserving-outputs-precisely-while-adaptively-rescaling-targets/
理論 Deepmind 強化學習 智慧體
相關資料
Neural Network
(人工)神經網路是一種起源於 20 世紀 50 年代的監督式機器學習模型,那時候研究者構想了「感知器(perceptron)」的想法。這一領域的研究者通常被稱為「聯結主義者(Connectionist)」,因為這種模型模擬了人腦的功能。神經網路模型通常是通過反向傳播演算法應用梯度下降訓練的。目前神經網路有兩大主要型別,它們都是前饋神經網路:卷積神經網路(CNN)和迴圈神經網路(RNN),其中 RNN 又包含長短期記憶(LSTM)、門控迴圈單元(GRU)等等。深度學習是一種主要應用於神經網路幫助其取得更好結果的技術。儘管神經網路主要用於監督學習,但也有一些為無監督學習設計的變體,比如自動編碼器和生成對抗網路(GAN)。
來源:機器之心
Deep reinforcement learning
強化學習(Reinforcement Learning)是主體(agent)通過與周圍環境的互動來進行學習。強化學習主體(RL agent)每採取一次動作(action)就會得到一個相應的數值獎勵(numerical reward),這個獎勵表示此次動作的好壞。通過與環境的互動,綜合考慮過去的經驗(exploitation)和未知的探索(exploration),強化學習主體通過試錯的方式(trial and error)學會如何採取下一步的動作,而無需人類顯性地告訴它該採取哪個動作。強化學習主體的目標是學習通過執行一系列的動作來最大化累積的獎勵(accumulated reward)。 一般來說,真實世界中的強化學習問題包括巨大的狀態空間(state spaces)和動作空間(action spaces),傳統的強化學習方法會受限於維數災難(curse of dimensionality)。藉助於深度學習中的神經網路,強化學習主體可以直接從原始輸入資料(如遊戲影象)中提取和學習特徵知識,然後根據提取出的特徵資訊再利用傳統的強化學習演算法(如TD Learning,SARSA,Q-Learnin)學習控制策略(如遊戲策略),而無需人工提取或啟發式學習特徵。這種結合了深度學習的強化學習方法稱為深度強化學習。
來源: Scholarpedia
Objective function
目標函式f(x)就是用設計變數來表示的所追求的目標形式,所以目標函式就是設計變數的函式,是一個標量。從工程意義講,目標函式是系統的效能標準,比如,一個結構的最輕重量、最低造價、最合理形式;一件產品的最短生產時間、最小能量消耗;一個實驗的最佳配方等等,建立目標函式的過程就是尋找設計變數與目標的關係的過程,目標函式和設計變數的關係可用曲線、曲面或超曲面表示。
來源: 百度百科
Reinforcement learning
強化學習是一種試錯方法,其目標是讓軟體智慧體在特定環境中能夠採取回報最大化的行為。強化學習在馬爾可夫決策過程環境中主要使用的技術是動態規劃(Dynamic Programming)。流行的強化學習方法包括自適應動態規劃(ADP)、時間差分(TD)學習、狀態-動作-回報-狀態-動作(SARSA)演算法、Q 學習、深度強化學習(DQN);其應用包括下棋類遊戲、機器人控制和工作排程等。
來源:機器之心
Weight
線性模型中特徵的係數,或深度網路中的邊。訓練線性模型的目標是確定每個特徵的理想權重。如果權重為 0,則相應的特徵對模型來說沒有任何貢獻。
來源:Google AI Glossary
Deep learning
深度學習(deep learning)是機器學習的分支,是一種試圖使用包含複雜結構或由多重非線性變換構成的多個處理層對資料進行高層抽象的演算法。 深度學習是機器學習中一種基於對資料進行表徵學習的演算法,至今已有數種深度學習框架,如卷積神經網路和深度置信網路和遞迴神經網路等已被應用在計算機視覺、語音識別、自然語言處理、音訊識別與生物資訊學等領域並獲取了極好的效果。
來源: LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. nature, 521(7553), 436.
Multi-task learning

機器之心編輯