2018 年 Anderson 等人提出了視覺語言導航(Vision-and-Language Navigation,VLN)任務和對應的基準數(shù)據(jù)集(Room-to-Room Dataset)。該任務旨在探究智能體是否能在仿真模擬環(huán)境中遵循自然語言指令,因此可以形式化的評估智能體是否具有跨模態(tài)的理解能力。先前的工作取得了長足的進步,然而少有工作專注于探究智能體是否充分學習了數(shù)據(jù)中的信息,或者說,智能體是一個好學生嗎?在計算機視覺領域,Hlynsson 等人試圖通過衡量數(shù)據(jù)效率來回答這個問題。具體而言,該工作將模型性能作為數(shù)據(jù)集大小的函數(shù),并衡量在不同規(guī)模數(shù)據(jù)集上模型的性能。在視覺語言導航領域,Huang 等人開發(fā)了基于神經(jīng)網(wǎng)絡的數(shù)據(jù)鑒別器(discriminator),可以過濾低質(zhì)量的指令路徑對以提升智能體的學習效率。而在本文中,我們試圖回答:能否在不更改模型結構和不修改數(shù)據(jù)的情況下進一步提升智能體?
我們監(jiān)控了智能體在導航過程中所犯的第一個錯誤,并在下圖中展示了不同錯誤的比率。我們發(fā)現(xiàn)當智能體導航失敗時,大約 50% 的錯誤是由代理錯誤地預測下一個室內(nèi)方向引起的。此類錯誤的比例隨著導航任務跨越更多房間而降低,但仍保持在一個較高水平。這些現(xiàn)象表明導航智能體受限于它在一個房間內(nèi)和兩個房間之間導航的能力。因此,我們認為傳統(tǒng)學習過程使得智能體不能充分地學習數(shù)據(jù)中的信息,采用類似范式進行訓練的導航智能體很可能被低估了。
02 Methods
智能體在這些簡單案例上的糟糕表現(xiàn)激勵我們借鑒課程學習的想法。課程學習是一類關注數(shù)據(jù)集中樣本難度的分布的訓練范式,由 Bengio 于 2009 年提出,主要思想是模仿人類學習的特點,讓模型先從容易的樣本開始學習,并逐漸進階到復雜的樣本和知識。本文借鑒了課程學習的理念,首創(chuàng)性地提出了基于課程的 VLN 訓練范式。
首先,我們?yōu)閷Ш饺蝿赵O計了合適的課程。從抽象角度看,課程被視為一系列訓練準則。每個訓練準則都與訓練樣本上的一組不同的權重相關聯(lián),或更普遍地,與訓練樣本分布的重新加權有關。要定義課程,首先需要定義樣本的難度。對于人類來說,很容易在很小的范圍內(nèi)找到特定物體或地點。在經(jīng)過簡單的探索后,人類就可以利用有關環(huán)境的知識來完成更艱巨的任務。因此,我們假設路徑 可以覆蓋的房間數(shù)量 主導了導航任務的難度級別。我們建議根據(jù) 對基準數(shù)據(jù)集R2R數(shù)據(jù)集進行重新劃分,劃分后的數(shù)據(jù)集如下表所示:
我們認為從簡單到困難的數(shù)據(jù)集劃分方式使得對智能體在這些子集上的學習與玩街機游戲非常相似,因此我們根據(jù)子集中樣本的難度將訓練集的各個子集命名為第一回合(Round 1)至第五回合(Round 5)。從平均路徑長度、平均指令長度和全景圖覆蓋率可以看出,我們劃分的數(shù)據(jù)子集呈現(xiàn)出明顯的階梯特征。這說明我們對數(shù)據(jù)集難度的劃分是合理的。新數(shù)據(jù)集被稱為為課程學習設計的R2R數(shù)據(jù)集(R2R for curriculum learning dataset,CLR2R dataset)。
有許多方法可以應用在 CLR2R 數(shù)據(jù)集上。如果我們將每個子集都視為一個課程,則 CLR2R 適用于自動課程學習。如果我們將整個數(shù)據(jù)集視為一個大課程,則每個回合中的樣本應被賦予相同的優(yōu)先級,因此可以使用自定進度的課程學習。在本文中,我們將重點放在后一種模式上。
由 Jiang 等人提出的自定進度課程學習(Self-Paced Curriculum Learning,SPCL)是一種“師生協(xié)作”學習方法,它在統(tǒng)一框架中考慮了訓練之前人類對于數(shù)據(jù)的先驗知識和訓練過程中智能體對數(shù)據(jù)的學習進度。具體而言,SPCL 的目標損失函數(shù)定義為
其中 表示參數(shù)化的導航智能體, 是反映樣本重要性的權重變量。 稱為控制學習方案的自定進度函數(shù), 是限制學習速度的超參數(shù)。 是編碼預定課程表(predetermined curriculum)信息的可行區(qū)域。本文將 CLR2R 數(shù)據(jù)集看作一個完整的課程。因此每個回合中的樣本應被賦予相同的課程等級。因此,在 CLR2R 數(shù)據(jù)集上只需 5 個標量就足以定義課程區(qū)域的參數(shù)向量。Jiang 等人討論了一些自定進度函數(shù)的具體形式,在本文中, 我們主要關注兩種較為簡單的自定進度函數(shù):二進制方案(binary scheme)和線性方案(linear scheme)。
容易發(fā)現(xiàn),公式(1)中的兩個參數(shù)是可以交替優(yōu)化的。具體而言,對于參數(shù) 的優(yōu)化是一個凸優(yōu)化問題,
在 和簡單自定進度函數(shù)的條件下具有封閉解。本質(zhì)上公式(2)是一個線性約束凸優(yōu)化問題。對于一般的課程區(qū)域 我們可以應用投影梯度下降法(Projected Gradient Descent,PGD)來獲得最優(yōu)權重 。
通常, 公式(1)中的優(yōu)化問題可以采用交替凸搜索算法(Alternative Convex Search,ACS)求解。原始算法的主要問題是在第 4 步,其中使用固定的最新權重向量 來學習最佳模型參數(shù) 。在基于神經(jīng)網(wǎng)絡的導航智能體的訓練中,由于梯度下降方法優(yōu)化的神經(jīng)網(wǎng)絡缺乏全局最優(yōu)保證以及計算復雜度問題,我們不可能計算的確切最優(yōu)值。因此本文建議無需計算確切的最小值,將原算法中的第 4 步替換為機器學習訓練范式中的多個梯度下降更新步驟。這樣做能使算法的速度加快,并且此時權重向量 實際上是通過考慮 “當前”學習進度而不是 “最終” 學習進度來更新的。
03 Experiments
3.1 Setup
在實驗中,我們采用了三種訓練范式
機器學習: 對訓練數(shù)據(jù)集進行一致采樣(Uniform Sampling),采樣得到的數(shù)據(jù)作為批數(shù)據(jù)(mini-batch)呈遞給模型進行學習。
樸素課程學習(Na?ve Curriculum Learning):對訓練集中的樣本從易到難進行排序,按照從易到難的順序?qū)颖境蔬f給模型進行學習。具體而言, 智能體首先在 CLR2R 數(shù)據(jù)集的 Round 1 子集上進行學習, 然后在 Round 1~2 子集上進行學習, 最終在集合 Round 1~5 (也就是 R2R 的訓練集) 上進行學習。
自定進度課程學習(Self-Paced Curriculum Learning):如前所述,為了應用 SPCL 算法,我們需要首先確定課程區(qū)域和自定進度函數(shù)。對于課程區(qū)域,我們假設 CLR2R 數(shù)據(jù)集中每個 Round 子集中的樣本都具有相同的難度,因此我們設置 Round 。對于自定進度的函數(shù),由于在導航任務中每個樣本對于的損失 是不受限的,因此我們選擇二進制方案和線性方案。
3.2 Results
主要結果:下表提供三個 SOTA 智能體在不同的訓練設置下在驗證集的上的實驗結果。實驗表明,采用自定進度課程學習訓練的智能體在已見和未見的驗證劃分上都可以達到最佳性能。
學習速率:整體而言,相比于傳統(tǒng)機器學習,采用自定進度課程學習訓練的智能體在迭代相同的次數(shù)之后可以獲得更優(yōu)的性能表現(xiàn)。相同精度的結果,采用自定進度課程學習所需要的循環(huán)次數(shù)大大減少。這說明自定進度課程學習不僅可以提升模型的性能,還可以優(yōu)化模型的訓練效率。
SPCL 超參數(shù)魯棒性:為了理解權重 初始化和步長 的選擇對自定進度課程學習的影響,我們對這兩個超參數(shù)進行網(wǎng)格搜索,結果如圖所示。下圖表明,自定進度課程學習對權重初始化和步長選擇并不敏感,在大多數(shù)情況下采用自定進度課程學習訓練的導航智能體在驗證集上的結果都要優(yōu)于機器學習基準。
損失地形:為了探究自定進度課程學習為何能夠提升導航智能體的性能,我們遵循計算機視覺分析批歸一化采用的方法,通過計算最大和最小損失之間的距離來研究智能體訓練期間的損失地形。結果如圖所示。一般而言,我們的實驗結果與理論結果一致,即課程學習可以有效地平滑優(yōu)化環(huán)境、改善損失地形。
遷移學習:使用課程學習訓練 的智能體既可以保持在 R2R 數(shù)據(jù)集上的導航性能,也能夠遷移到 RxR-en 數(shù)據(jù)集上完成更難的導航任務。
與預訓練方法結合:為了探究采用課程學習范式訓練的導航智能體是否也可以從預訓練方法中受益,我們將智能體與基于視覺語言 Transformer 的模型 VLN-BERT(Majumdar 等,2020)相結合。我們將束搜索大小限制為 5,并純粹使用 VLN-BERT 模型來評分和選擇路徑-指令對。在未見驗證劃分上的結果如圖所示。Beam search 和 VLN-BERT 都可以提高智能體的導航性能。通過基于課程的方法訓練的導航智能體獲得更多改進。
04 Conclusion
我們首先建議將有關訓練樣本的人類先驗知識整合到導航智能體的訓練過程中,首先提出采用課程學習對導航智能體進行訓練。
我們?yōu)橐曈X語言導航任務設計了第一個課程,并基于 Room-to-Room ( ) 數(shù)據(jù)集構建了可用于課程學習的第一個 VLN 數(shù)據(jù)集。
我們采用自定進度課程學習提出了一種導航智能體的訓練范式。這種訓練范式能在不增加模型復雜度的前提下提高智能體的訓練效率和性能。
我們驗證了課程學習的作用是平滑損失函數(shù) (smooth loss landscape),從而加速學習進度、使智能體收斂到更好的局部最優(yōu)點。
我們進一步的實驗表明,課程學習適用于遷移學習,并能與預訓練方法相結合。
責任編輯:haq
-
機器視覺
+關注
關注
163文章
4514瀏覽量
122319 -
導航
+關注
關注
7文章
547瀏覽量
43018
原文標題:NeurlPS2021 | 視覺語言導航的課程學習
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
FX2LP如何在不更改硬件的情況下對其進行重新編程?
LT3580在5V出入的情況下,如何修改匝數(shù)比和反饋電阻,輸出200V電壓?
在VDD1沒有供電的情況下,VDD2正常供電的情況下,AMC1200的輸出應該是什么狀態(tài)?
PCM4222如何通過PCMEN在不RST情況下控制PCM輸出控制?
在不犧牲尺寸的情況下提高脈搏血氧儀溶液的性能

在不影響性能或占用空間的情況下隔離您的CAN系統(tǒng)

為什么電容在低電壓情況下會發(fā)熱

評論