Mean teacher are better role models-論文筆記

論文筆記

資料

1.代碼地址

2.論文地址

https://arxiv.org/pdf/1703.01780

3.數據集地址

CIFAR-10
https://www.cs.utoronto.ca/~kriz/cifar.html

論文摘要的翻譯

最近提出的Temporal Ensembling方法在幾個半監督學習基準中取得了最先進的結果。它維護每個訓練樣本的標簽預測的指數移動平均,并懲罰與該目標不一致的預測。然而,由于每個目標只改變一次,所以在學習數據量較大數據集時,Temporal Ensembling變得很笨拙。為了克服這個問題,我們提出了Mean Teacher,一種平均模型權重而不是標簽預測的方法。作為一個額外的好處,Means Teacher提高了測試的準確性,并允許使用比Temporal Ensembling更少的標簽進行訓練。在不改變網絡結構的情況下,Means Teacher在具有250個標簽的SVHN上獲得了4.35%的錯誤率,性能優于使用1000個標簽訓練的Temporal Ensembling。我們還表明,良好的網絡架構對性能至關重要。結合Mean Teacher和殘差網絡,我們將CIFAR-10上的4000個標簽從10.55%提高到6.28%,在ImageNet 2012上將10%的標簽從35.24%提高到9.11%。

1背景介紹

深度學習在圖像和語音識別等領域取得了巨大的成功。為了學習有用的抽象概念,深度學習模型需要大量的參數,從而使它們容易過度擬合(圖1a)。此外,手動將高質量的標簽添加到訓練數據通常是昂貴的。因此,需要使用正則化方法來有效地利用未標記數據來減少半監督學習中的過擬合。
在這里插入圖片描述
當感知稍有變化時,人類通常仍會認為它是同一個物體。相應地,分類模型應該偏愛為相似數據點提供一致輸出的函數。實現這一點的一種方法是向模型的輸入添加噪聲。為了使模型能夠學習更抽象的不變性,可以將噪聲添加到中間表示,這一見解激勵了許多正則化技術,例如Dropout。正則化模型不是最小化輸入空間零維數據點的分類成本,而是最小化每個數據點周圍的流形上的成本,從而將決策邊界推離標記的數據點(圖1b)。
在這里插入圖片描述
由于未標記樣本的分類代價是未定義的,因此噪聲正則化本身并不有助于半監督學習。為了克服這一點,Γ模型[21]評估了有和沒有噪聲的每個數據點,然后在兩個預測之間應用一致性成本。在這種情況下,該模型承擔了教師和學生的雙重角色。作為學生,它像以前一樣學習;作為教師,它產生目標,然后作為學生使用這些目標進行學習。由于模型本身會產生目標,它們很可能是錯誤的。
如果對生成的目標賦予太多權重,則不一致的代價大于錯誤分類的代價,實際上,該模型遭受了確認偏差(圖1c),這一危險可以通過提高目標的質量來減輕
在這里插入圖片描述
至少有兩種方法可以提高目標質量。一種方法是仔細選擇表示的擾動,而不是僅僅應用加性或乘性噪聲。另一種方法是仔細選擇教師模式,而不是勉強復制學生模式。與我們的研究同時進行的,Miyato等人。采取了第一種方法,并表明虛擬對抗性訓練可以產生令人印象深刻的結果。我們采取第二種方法,并將表明它也提供了顯著的好處。據我們了解,這兩種方法是兼容的,它們的結合可能會產生更好的結果。然而,對它們的綜合影響的分析超出了本文的范圍。
因此,我們的目標是在不進行額外培訓的情況下,從學生模型中形成更好的教師模型。作為第一步,考慮到模型的Softmax輸出通常不能在訓練數據之外提供準確的預測。這可以通過在推理時向模型添加噪聲來部分緩解,因此嘈雜的教師可以產生更準確的目標(圖1D)。這種方法被用在偽集協議中,并且最近被證明在半監督圖像分類上效果良好。Laine和Aila將該方法命名為 Π \Pi Π模型;我們將使用這個名稱和他們的版本作為我們實驗的基礎。
在這里插入圖片描述
Π \Pi Π模型可以通過Temporal Ensembling來進一步改進,它對每個訓練樣本保持指數移動平均預測。在每個訓練步驟中,基于新的預測來更新該小批量中的樣本的所有EMA預測。因此,每個實例的均線預測是由模型的當前版本和評估同一實例的早期版本的集合形成的。這種集合提高了預測的質量,并將它們用作教師預測來改善結果。然而,由于每個目標在每個時期只更新一次,因此學習到的信息以較慢的速度被納入訓練過程。數據集越大,更新的跨度就越長,在在線學習的情況下,根本不清楚如何使用時間整合。(每個歷元可以對所有目標進行一次以上的周期性評估,但保持評估跨度恒定將需要每個歷元進行O(N2)個評估,其中n是訓練實例的數量。)

2論文的創新點

  • 他會說有那幾點,你總結一下

3 論文方法的概述

  • 為了克服Temporal Ensembling方法的局限性,我們提出平均模型權重替代預測。由于教師模型是連續學生模型的平均值,我們將其稱為Mean Teacher方法。
    在這里插入圖片描述
    在訓練步驟上平均模型權重往往會產生比直接使用最終權重更精確的模型。我們可以在訓練中利用這一點來構建更好的目標。教師模型使用學生模型的EMA權重,而不是與學生模型共享權重。現在,它可以在每一步而不是每一輪訓練之后收集信息。此外,由于權重平均值改善了所有層的輸出,而不僅僅是頂部輸出,因此目標模型具有更好的中間表示。這些方面導致了Temporal Ensembling的兩個實際優勢:第一,更準確的目標標簽導致學生和教師模型之間更快的反饋循環,從而產生更好的測試準確性。其次,該方法適用于大型數據集和在線學習

更正式地,我們將一致性成本 J \text{J} J定義為學生模型的預測(權重 θ \theta θ和噪聲 η \eta η)和教師模型的預測(權重 θ ′ \theta^\prime θ和噪聲 η ′ \eta^\prime η)之間的預期距離。 J ( θ ) = E x , η ′ , η [ ∥ f ( x , θ ′ , η ′ ) ? f ( x , θ , η ) ∥ 2 ] J(\theta)=\mathbb{E}_{x,\eta',\eta}\left[\left\|f(x,\theta',\eta')-f(x,\theta,\eta)\right\|^2\right] J(θ)=Ex,η,η?[f(x,θ,η)?f(x,θ,η)2]
Π \Pi Π模型、Temporal Ensembling和Mean Teacher之間的區別在于教師預測是如何產生的。雖然 Π \Pi Π模型使用 θ ′ = θ \theta^ {\prime}= \theta θ=θ,并且時間集成使用連續預測的加權平均來近似 f ( x , θ ′ , η ′ ) f(x,\theta^ {\prime},\eta^ {\prime}) f(xθη),但我們在訓練步長 t t t θ t ′ θ^{\prime}_t θt?定義為連續 θ \theta θ權重的均方根: θ t ′ = α θ t ? 1 ′ + ( 1 ? α ) θ t \theta'_t=\alpha\theta'_{t-1}+(1-\alpha)\theta_t θt?=αθt?1?+(1?α)θt?其中 α \alpha α是平滑系數超參數。這三種算法之間的另一個區別是, Π \Pi Π模型將訓練應用于 θ ′ \theta^\prime θ,而時間集成和均值教師將其視為優化方面的常量。
我們可以通過隨機梯度下降在每個訓練步驟上采樣噪聲 η , η ′ \eta,\eta^{\prime} ηη來逼近一致性代價函數 J J J

4 論文實驗

Π \Pi Π模型作為我們的基線。然后,我們修改了基線模型,以使用加權平均一致性目標。該模型結構是一個13層卷積神經網絡(ConvNet),具有三種類型的噪聲:輸入圖像的隨機平移和水平翻轉、輸入層上的高斯噪聲和網絡內應用的丟棄噪聲。我們使用均方誤差作為一致性成本,并在前80輪訓練中中將其權重從0遞增到最終值。

4.1 在數據集SVHN和CIFAR-10與其他方法的比較

  • 數據集
    我們使用街景房屋編號(SVHN)和CIFAR-10基準進行了實驗。這兩個數據集都包含屬于十個不同類別的32x32像素RGB圖像。在SVHN中,每個示例都是門牌號的特寫,類表示圖像中心數字的標識。在CIFAR-10中,每個例子都是屬于一個類別的自然圖像,如馬、貓、汽車和飛機。SVHN包含73257個訓練樣本和26032個測試樣本。CIFAR-10由50000個訓練樣本和10000個測試樣本組成。

表1和表2將結果與最近最先進的方法進行了比較。比較中的所有方法都使用類似的13層ConvNet架構。Mean Teacher提高了Π模型和時間集成在半監督SVHN任務上的測試準確率。Mean Teacher也提高了CIFAR-10的成績,超過了我們的基線 Π \Pi Π模型。
在這里插入圖片描述

4.2 SVHN with extra unlabeled data

如上所述,我們提出的Mean Teacher能夠很好地適應大數據集和在線學習。另外,SVHN和CIFAR-10的實驗結果表明,該方法能夠有效地利用未標注的樣本。因此,我們想測試我們是否已經達到了我們方法的極限。除了原始訓練數據外,SVHN還包括531131個樣本的額外數據集。我們從原始訓練樣本中挑選了500個樣本作為我們的標注訓練樣本。我們使用主要訓練集的其余部分以及額外的訓練集作為未標記的示例。我們對Mean Teacher和我們的基線Π模型進行了實驗,并使用了0、100000或500000個額外的例子。表3顯示了結果。
在這里插入圖片描述

4.3訓練曲線分析

圖3中的培訓曲線幫助我們了解使用Mean Teacher的效果。正如預期的那樣,EMA加權模型(最下面一排的藍色和深灰色曲線)在初始階段之后比裸露的學生模型(橙色和淺灰色)給出了更準確的預測。
在這里插入圖片描述
使用EMA加權模型作為教師改善半監督環境下的結果。教師(藍色曲線)通過一致性成本改善學生(橙色),學生通過指數移動平均改善教師,這似乎是一個良性反饋循環。如果脫離了這個反饋周期,學習速度就會變慢,模型就會更早地開始過度適應(深灰色和淺灰色)。
當標簽稀缺時,刻薄的老師會提供幫助。當使用500個標簽時(中間一欄)意味著教師學習得更快,并在Π模式停止改進后繼續培訓。另一方面,在所有標簽的情況下(左欄),Mean Teacher和 Π Π Π模型的行為實際上是相同的。
平均而言,教師比 Π Π Π模型更有效地使用未標記的訓練數據,如中間一欄所示。另一方面,在增加500k未標記樣本的情況下(右欄), Π Π Π模型在更長的時間內保持改進。平均而言,教師的學習速度更快,最終會收斂到更好的結果,但龐大的數據量似乎抵消了 Π Π Π模型更糟糕的預測。

4.4 消融實驗(Ablation experiments)

為了評估模型各個方面的重要性,我們對具有250個標簽的SVHN進行了實驗,每次改變一個或幾個超參數,而保持其他參數不變

  • 消除噪音(圖4(A)和4(B))。
    在引言和圖1中,我們提出了一個假設,即Π模型通過在模型兩側添加噪聲來產生更好的預測。但是,在加入了卑鄙的老師之后,還需要噪音嗎?是。我們可以看到,無論是增加輸入還是丟棄,都是可以通過的性能所必需的。另一方面,當使用增強時,輸入噪聲不起作用。教師方面的輟學只比學生方面提供了微不足道的好處,至少在使用輸入增強時是這樣。
    在這里插入圖片描述
  • 對均線衰變和稠度重量的敏感性(圖4?和4(D))。
    均值教師算法的基本超參數是一致性代價權重和均方根平均衰減α。算法對它們的值有多敏感?我們可以看到,在每種情況下,好的值大約跨越一個數量級,超出這些范圍,性能會迅速下降。請注意,EMA Decayα=0使該模型成為Π模型的變體,盡管該模型的效率較低,因為梯度僅通過學生路徑傳播。還請注意,在評估運行中,我們在提升階段使用了均線衰減α=0.99,在其余訓練階段使用了α=0.999。我們選擇這一策略是因為學生在訓練初期進步很快,因此老師應該很快忘記舊的、不準確的、學生的重量。后來,學生的進步變慢了,老師受益于更長的記憶力。

在這里插入圖片描述
在這里插入圖片描述

  • 分離分類和一致性(圖4(E))。
    與教師預測的一致性不一定是分類任務的良好替代,特別是在培訓的早期。到目前為止,我們的模型通過對這兩個任務使用相同的輸出,將這兩個任務緊密地耦合在一起。將任務解耦將如何改變算法的性能?為了進行研究,我們將模型更改為具有兩個頂層并生成兩個輸出。然后,我們對其中一個輸出進行分類訓練,對另一個進行一致性訓練。我們還添加了輸出對數之間的均方誤差成本,然后改變該成本的權重,使我們能夠控制耦合的強度。看一下結果(使用分類輸出的EMA版本報告),我們可以看到強耦合版本執行得很好,而過于松散耦合版本則不好。另一方面,適度的脫鉤似乎有讓一致性提升變得多余的好處。
    在這里插入圖片描述
  • Changing from MSE to KL-divergence
    在Laine&Aila之后,我們使用均方誤差(MSE)作為一致性成本函數,但KL-散度似乎是更自然的選擇。哪一種效果更好?我們對從均方誤差(圖中的τ=0)到KL發散(τ=1)的成本函數族的實例進行了實驗,發現在這種設置下,均方誤差比其他成本函數執行得更好。

4.5 Mean Teacher with residual networks on CIFAR-10 and ImageNet

在上面的實驗中,我們使用了傳統的13層卷積結構(ConvNet),這使得與早期工作的比較更容易。為了探索模型結構的影響,我們使用12塊(26層)殘差網絡(ResNet)和Shake-Shake正則化在CIFAR-10上進行了實驗。如表4所示,網絡架構越好,結果越好。為了測試這些方法是否適用于更自然的圖像,我們在Imagenet 2012數據集[22]上使用10%的標簽進行了實驗。我們使用了50塊(152層)的ResNeXt架構[33],并且看到了相對于最先進水平的明顯改進。由于測試集不是公開可用的,我們使用驗證集測量結果。
在這里插入圖片描述

5 總結

Temporal Ensembling、Virtual Adversarial Training等一致性正則化方法在半監督學習中表現出了較強的優勢。在本文中,我們提出了均值教師,這是一種平均模型權重的方法,以形成一個目標生成教師模型。與時間整合不同的是,Means教師使用的是大型數據集和在線學習。實驗表明,該方法提高了訓練網絡的學習速度和分類精度。此外,它還可以很好地擴展到最先進的架構和大圖像尺寸。一致性正規化的成功取決于教師產生的目標的質量。如果目標可以改進,它們應該是。平均教師和虛擬對抗性訓練代表了利用這一原則的兩種方式。它們的結合可能會產生更好的目標。可能還有其他方法有待發現,以進一步改進目標和訓練的模型。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42179.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42179.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42179.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PCIe驅動開發(1)— 開發環境搭建

PCIe驅動開發(1)— 開發環境搭建 一、前言 二、Ubuntu安裝 參考: VMware下Ubuntu18.04虛擬機的安裝 三、QEMU安裝 下載網站: https://download.qemu.org 下載文件:qemu-4.1.0-rc5.tar.xz 使用如下命令解壓: tar …

opencv 設置超時時間

經常爬視頻數據&#xff0c;然后用opencv做成圖片 因此設置超時時間很重要 cap.set(cv2.CAP_PROP_FPS, timeout_ms) for idx, row in data.iterrows(): if idx < 400: continue try: # 打開視頻文件 timeout_ms 5000 cap cv2.VideoCapture(row[PLAY_URL]) cap.set(cv2.C…

Linux下使用libiw進行無線信號掃描的實例

打開電腦連接wifi是一件很平常的事情,但這些事情通常都是操作系統下的wifi管理程序替我們完成的,如何在程序中掃描wifi信號其實資料并不多,前面已經有兩篇文章介紹了如何使用ioctl()掃描wifi信號,但其實在Linux下有一個簡單的庫對這些ioctl()的操作進行了封裝,這個庫就是l…

深入追蹤:IPython 中 %tb 命令的異常追蹤棧使用指南

深入追蹤&#xff1a;IPython 中 %tb 命令的異常追蹤棧使用指南 在 IPython 的強大功能中&#xff0c;%tb 命令是一個調試工具&#xff0c;用于在出現異常時查看詳細的異常追蹤棧信息。這對于開發者來說是一個不可或缺的功能&#xff0c;因為它提供了對錯誤發生上下文的深入了…

Unity 中,常用的 UnityEngine.Events 中的幾個重要的事件處理函數

在 Unity 中&#xff0c;常用的 UnityEngine.Events 中的幾個重要的事件處理函數包括&#xff1a; UnityEvent UnityEvent 是 Unity 提供的一種事件系統&#xff0c;可以用來實現腳本與場景中的對象之間的互動。它可以用來定義和響應事件&#xff0c;如按鈕點擊、物體碰撞等。示…

GPT-5或重塑我們的工作與生活

引言 在人工智能發展的浪潮中&#xff0c;每一次技術的革新都如同潮水般涌來&#xff0c;帶來前所未有的機遇與挑戰。當新一代大語言模型GPT-5即將登場的消息傳來&#xff0c;我們不禁要問&#xff1a;它將如何重塑我們的工作和日常生活&#xff1f;又將開啟哪些嶄新的應用場景…

故障模式與影響分析(FMEA)的概念

故障模式與影響分析&#xff08;FMEA&#xff09;的概念 故障模式與影響分析&#xff08;Failure Mode and Effects Analysis&#xff0c;FMEA&#xff09;是一種系統性評估方法&#xff0c;用于識別產品設計或過程中可能發生的潛在故障模式&#xff0c;以及這些故障模式對系統…

制作爬取4399游戲名稱軟件

def 爬取4399(): #發送請求并且拿到源代碼 import requests 鏈接https://www.4399.com/ #網站鏈接 請求頭{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0} #構造請求頭用于爬取網站源代碼使用 網站源代碼…

MySQL遠程登錄

root是超級管理員&#xff0c;默認情況下&#xff0c;root不能作為遠程登錄的用戶名&#xff0c;遠程登錄前&#xff0c;需要將登錄的數據庫在本地登錄&#xff0c;修改權限&#xff0c;輸入&#xff1a; update user set host & where user root ; 回車鍵&#xff0c…

clickhouse高可用可拓展部署

clickhouse高可用&可拓展部署 1.部署架構 1.1高可用架構 1.2硬件資源 部署服務 節點名稱 節點ip 核數 內存 磁盤 zookeeper zk-01 / 4c 8G 100G zk-02 / 4c 8G 100G zk-03 / 4c 8G 100G clikehouse ck-01 / 32c 128G 2T ck-02 / 32c 128G 2T ck-03 / 32c 128G 2T ck-04 /…

[Qt] 控件的QSizePolicy屬性選項

在Qt中&#xff0c;QSizePolicy是一個非常重要的枚舉類&#xff0c;它定義了控件&#xff08;widgets&#xff09;在布局管理&#xff08;layout management&#xff09;中的大小調整策略。這些策略決定了當控件的父布局或窗口大小發生變化時&#xff0c;控件應該如何調整自身的…

java wait, notify, notifyAll三個方法

wait(), notify(), 和 notifyAll() 是 Java 中用于線程間通信和同步的方法&#xff0c;它們都是 Object 類中的方法&#xff0c;而非 Thread 類的方法。這些方法通常與 synchronized 關鍵字一起使用&#xff0c;用于實現線程之間的協作和互斥訪問共享資源。 關于生產者-消…

PsQuerySystemDllInfo逆向

typedef struct _SYSTEM_DLL_ENTRY {ULONG64 type;UNICODE_STRING FullName;PVOID ImageBase;PWCHAR BaseName;PWCHAR StaticUnicodeBuffer; }SYSTEM_DLL_ENTRY, * PSYSTEM_DLL_ENTRY; 返回值為上面的結構體指針 驗證 type: fullname inagebase: pwchar basename PWCHAR …

C# 工廠模式(Factory Pattern)

工廠模式用于創建對象而不將具體類的代碼與客戶端代碼混合在一起&#xff0c;從而使一個類的實例化延遲到其子類。 示例代碼&#xff1a; // 抽象產品 public interface IProduct { void Use(); } // 具體產品A public class ConcreteProductA : IProduct { pub…

Linux常用面試題

系統部分 1、在linux系統中&#xff0c;獲取命令幫助的方法有哪些&#xff1f; man &#xff08;查看手冊頁&#xff09; help&#xff08;查看內部命令&#xff09; --help&#xff08;查看外部命令&#xff09; 2、列舉find命令的用法&#xff1f;&#xff08…

QTableWidget表頭添加全選框

前言 QTableWidget表頭不能直接設置復選框&#xff0c;setCheckState不適用&#xff0c;所以直接使用設置圖片的方法最方便快捷&#xff0c;準備兩個圖片&#xff0c;分別為選中狀態和未選中狀態。 1.設置復選框列 設置第一列為復選框列&#xff0c;其他列正常顯示內容&…

大模型實戰:RAG的應用探索

自chatgpt卷過來&#xff0c;我們‘打開’了視野&#xff0c;發現‘什么都想要’成為了可能。但是隨著國內開源大模型的開放&#xff0c;越來越多人覺得通用LLM的價值很低&#xff08;可能是商業利益的驅使&#xff09;。大家對技術的追逐有變成了應用變現的需求。好吧&#xf…

日常的網絡雜記

網絡雜記 vlan 交換機配到一個vlan下面就可以互通&#xff0c;用來做物理上的網段隔離可以 ①access模式只能承載一個vlan的流量。如果兩個交換機上只有一個vlan&#xff0c;那么兩個交換機之間肯定能通信。 ②即使兩個交換機上有2個或2個以上的valn&#xff0c;但你把交換機…

Windows 11文件資源管理器選項卡的4個高級用法,肯定有你喜歡的

作為一個每天使用文件資源管理器來管理我的工作流程的人,選項卡幫助我為處于不同完成階段的工作創建了不同的文件夾。以下是我使用選項卡提高工作效率的最佳技巧。 打開和關閉選項卡 假設你的計算機上安裝了Windows 11的最新更新,請按Ctrl+E打開文件資源管理器。在我發現“…

WordPress的性能優化有哪些方法?

WordPress的性能優化方法主要包括以下幾個方面&#xff1a; 1. 使用緩存插件&#xff1a;緩存插件可以降低服務器負載&#xff0c;提高網站加載速度。常用的緩存插件有WP Rocket、WP Fastest Cache和Cache Enabler等。 2. 代碼壓縮和整合&#xff1a;通過壓縮JavaScript、CSS…