• 知識提煉

    編輯
    本詞條由“匿名用戶” 建檔。

    知識提煉

    編輯

    機器學習中,知識提煉是將知識從一個大模型轉移到一個小模型的過程。雖然大型模型(如非常深的神經網絡或許多模型的集合體)比小型模型有更高的知識容量,但這種容量可能沒有被充分利用。即使一個模型的知識容量利用得很少,評估它的計算成本也是一樣高的。知識提煉將知識從一個大的模型轉移到一個較小的模型,而不損失其有效性。由于小模型的評估成本較低,它們可以被部署在功能較弱的硬件上(如移動設備)。知識提煉已經成功地用于機器學習的一些應用,如物體檢測聲學模型和自然語言處理。最近,它也被引入到適用于非網格數據的圖神經網絡中。

    蒸餾的概念

    編輯

    將知識從一個大的模型轉移到一個小的模型,需要以某種方式教給后者而不損失有效性。如果兩個模型都是在相同的數據上訓練的,那么在與大模型相同的計算資源和相同的數據下,小模型可能沒有足夠的能力學習一個簡明的知識表示。然而,關于簡明知識表征的一些信息被編碼在分配給其輸出的偽可能性中:當一個模型正確預測一個類別時,它給對應于該類別的輸出變量分配一個大值,給其他輸出變量分配小值。一個記錄的輸出值的分布提供了關于大模型如何代表知識的信息。因此,通過在數據上只訓練大模型,利用其學習簡明知識表征的更好能力,然后將這些知識提煉到較小的模型中,通過訓練它來學習大模型的軟輸出,就可以實現經濟部署有效模型的目標。模型壓縮是一種將多個模型的知識壓縮到單一神經網絡中的方法,于2006年被引入。壓縮是通過在由性能較高的集合體標記的大量偽數據上訓練一個較小的模型來實現的,通過優化使壓縮后的模型的對數值與集合體的對數值相匹配。知識提煉是這種方法的概括,由GeoffreyHinton等人在2015年的一篇預印本中介紹,該預印本提出了這個概念并展示了在圖像分類任務中取得的一些結果。

    知識提煉的表述

    編輯

    給定一個大型模型作為向量變量的函數為一個特定的分類任務進行訓練,通常網絡的最后一層是一個softmax,其形式為是一個被稱為溫度的參數,對于標準的softmax來說,通常被設置為1。到偽概率,而更高的溫度值具有在輸出類別中產生更柔和的偽概率分布的效果。

    神經網絡

    知識蒸餾包括在稱為轉移集的數據集(不同于用于訓練大模型的數據集)上訓練一個較小的網絡,稱為蒸餾模型,使用交叉熵作為蒸餾模型的輸出之間的損失函數大模型在同一記錄上產生的輸出(如果大模型是一個集合體,則是單個輸出的平均值),使用高值的softmax溫度在這種情況下,高溫會增加輸出的熵,因此與硬目標相比,為蒸餾模型提供了更多的學習信息,同時減少了不同記錄之間的梯度方差,因此可以提高學習率。如果轉移集有地面實況,可以通過在損失中加入蒸餾模型輸出之間的交叉熵來加強這一過程(計算方法為{displaystyleE(mathbf{x}|t)=-t{2}sum_{i}{hat{y}}_{i}(mathbf{x}|t)log

    內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/175718/

    (1)
    詞條目錄
    1. 知識提煉
    2. 蒸餾的概念
    3. 知識提煉的表述

    輕觸這里

    關閉目錄

    目錄
    91麻精品国产91久久久久