知識蒸餾 - 最小化KL散度與最小化交叉熵是完全等價的

知識蒸餾 - 最小化KL散度與最小化交叉熵是完全等價的

flyfish

KL散度與交叉熵的數學關系

對于兩個概率分布 PPP(真實分布)和 QQQ(模型預測分布),KL散度的定義是:
DKL(P∥Q)=∑xP(x)log?(P(x)Q(x)) D_{KL}(P \| Q) = \sum_{x} P(x) \log\left( \frac{P(x)}{Q(x)} \right) DKL?(PQ)=x?P(x)log(Q(x)P(x)?)

通過簡單拆分,可以寫成:
DKL(P∥Q)=∑xP(x)log?P(x)?∑xP(x)log?Q(x) D_{KL}(P \| Q) = \sum_{x} P(x) \log P(x) - \sum_{x} P(x) \log Q(x) DKL?(PQ)=x?P(x)logP(x)?x?P(x)logQ(x)

其中:
第一項 ?∑xP(x)log?P(x)-\sum_{x} P(x) \log P(x)?x?P(x)logP(x) 是真實分布 PPP熵(Entropy),記為 H(P)H(P)H(P)
第二項 ?∑xP(x)log?Q(x)-\sum_{x} P(x) \log Q(x)?x?P(x)logQ(x)PPPQQQ交叉熵(Cross-Entropy),記為 H(P,Q)H(P, Q)H(P,Q)

因此,KL散度與交叉熵的關系可以表示為:
DKL(P∥Q)=H(P,Q)?H(P) D_{KL}(P \| Q) = H(P, Q) - H(P) DKL?(PQ)=H(P,Q)?H(P)

真實分布 PPP 的熵 H(P)H(P)H(P) 是固定不變的常數(甚至為0)

1. 真實分布 PPP 是“確定性的one-hot分布”,與模型無關

在分類任務中,“真實分布 PPP”本質上是樣本真實標簽的數學表達,它由數據本身的標簽決定,與模型的預測(QQQ)無關。

例如:

  • 對于“判斷一張圖片是貓/狗/鳥”的3類任務,若某樣本的真實標簽是“貓”,則 PPP 被定義為 [1,0,0][1, 0, 0][1,0,0](one-hot向量,只有“貓”對應的位置為1,其余為0);
  • 若另一樣本的真實標簽是“狗”,則 PPP 被定義為 [0,1,0][0, 1, 0][0,1,0]

這種“one-hot分布”的核心特點是:確定性——每個樣本的真實類別是唯一且固定的,因此 PPP 的形式完全由樣本標簽決定,不會隨模型參數、訓練過程變化。

2. one-hot分布的熵必然為0,且不隨樣本變化

根據信息熵的定義:
H(P)=?∑xP(x)log?P(x) H(P) = -\sum_{x} P(x) \log P(x) H(P)=?x?P(x)logP(x)

對于one-hot分布,可以逐點計算求和項:

  • 對于真實類別對應的 xxxP(x)=1P(x) = 1P(x)=1,而 log?1=0\log 1 = 0log1=0,因此該項為 1?log?1=01 \cdot \log 1 = 01?log1=0
  • 對于非真實類別對應的 xxxP(x)=0P(x) = 0P(x)=0,而 0?log?00 \cdot \log 00?log0 在信息熵中被定義為0(因為“不可能發生的事件”對熵沒有貢獻);

因此,整個求和結果為 ∑xP(x)log?P(x)=0\sum_{x} P(x) \log P(x) = 0x?P(x)logP(x)=0,代入熵的公式得:
H(P)=?0=0 H(P) = -0 = 0 H(P)=?0=0

3. 為什么“固定不變”?

因為:

  • 每個樣本的真實標簽是確定的(例如“這張圖一定是貓”),因此其對應的one-hot分布 PPP 是固定的;
  • 所有樣本的真實分布 PPP 的熵 H(P)H(P)H(P) 都為0(如上述計算),且這個值不依賴于模型的預測分布 QQQ(模型怎么預測都不會改變樣本的真實標簽)。

因此,在整個訓練過程中,真實分布 PPP 的熵 H(P)H(P)H(P) 始終是0(或固定的常數),不會隨模型參數變化而改變。

真實分布 PPP 由樣本的真實標簽唯一確定(one-hot形式),其熵計算結果恒為0,且與模型無關,是固定不變的常數

因此:優化交叉熵 ≡ 優化KL散度

在上述場景中(真實分布 PPP 固定,且 H(P)H(P)H(P) 為常數),KL散度的表達式簡化為:
DKL(P∥Q)=H(P,Q)?常數 D_{KL}(P \| Q) = H(P, Q) - 常數 DKL?(PQ)=H(P,Q)?常數

這意味著:最小化KL散度 DKL(P∥Q)D_{KL}(P \| Q)DKL?(PQ) 與最小化交叉熵 H(P,Q)H(P, Q)H(P,Q) 是完全等價的(因為常數不影響優化方向)。

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

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

相關文章

設計心得——網絡包的處理

一、介紹 在程序的開發中,網絡開發是一個重要的應用場景。畢竟這些年IT行業之所以火,主要還是互聯網(移動互聯網)帶來的。網絡開發,有各種平臺、框架以及系統和庫提供的API,如果說網絡開發是一個特別復雜和…

sqli-labs通關筆記-第30關GET字符注入(WAF繞過 雙引號閉合 手工注入+腳本注入兩種方法)

目錄 一、源碼分析 1、index.php代碼審計 2、login.php代碼審計 3、java_implimentation函數 4、whitelist函數 5、SQL安全性分析 二、滲透實戰 1、進入靶場 2、WAF探測 (1)觸發WAF (2)繞過WAF 3、手工注入 &#xf…

【openlayers框架學習】九:openlayers中的交互類(select和draw)

文章目錄openlayers進階28 openlayers中的事件29 openlayers中select交互類的使用30 openlayers中select常見的配置選項31 openlayers中繪制交互類(Draw)openlayers進階 28 openlayers中的事件 常用進行事件交互的對象:map\view\source29 o…

Java企業級應用性能優化實戰

在企業級Java應用開發中,性能優化是確保系統穩定運行的關鍵因素。本文將從多個維度深入分析Java應用性能瓶頸,并提供實戰優化方案。 ?? 性能優化核心領域 1. 對象操作性能優化 在企業應用中,對象拷貝是一個高頻操作,特別是在分層架構中的DO、DTO、VO轉換。選擇合適的拷…

LLM Prompt與開源模型資源(3)如何寫一個好的 Prompt

學習材料:https://www.hiascend.com/developer/courses/detail/1935520434893606913 (3.5)學習時長: 預計 60 分鐘學習目的: 了解提示工程的定義與作用熟悉提示工程的關鍵技術相關概念掌握基于昇騰適配的大模型提示工程…

日志管理工具 ——ELK Stack

一、ELK Stack 概述1.1 核心組件ELK Stack(現更名為 Elastic Stack)是一套開源的日志收集、存儲、分析和可視化平臺,由三個核心組件構成:Elasticsearch:分布式搜索引擎,負責日志數據的存儲、索引和快速查詢…

SpringAI:AI工程應用框架新選擇

Spring AI 是一個用于 AI 工程的應用框架 Spring AI 是一個用于 AI 工程的應用框架。其目標是將可移植性和模塊化設計等 Spring 生態系統設計原則應用于 AI 領域,并推廣使用 POJO 作為應用程序的構建塊到 AI 領域。 Spring AI 的核心是解決 AI 集成的基本挑戰:將企業數據和…

Kettle 開源ETL數據遷移工具從入門到實戰

ETL(Extract, Transform, Load)工具是用于數據抽取、轉換和加載的軟件工具,用于支持數據倉庫和數據集成過程。Kettle作為傳統的ETL工具是純 java 開發的開源的 ETL工具,用于數據庫間的數據遷移 。可以在 Linux、windows、unix 中運…

Maven中的bom和父依賴

maven最全避坑指南寫完后,發現自己對于bom和父pom的理解還是不夠深入,特此轉載DeepSeek的回答,和大家一起學習了。 在 Maven 的依賴管理中,父 POM (Parent POM) 和 BOM (Bill of Materials) 都是用于實現集中化管理和控制的核心機…

Python 操作 Word 文檔:主流庫對比與選擇指南

在辦公自動化、報告生成、數據處理等領域,利用 Python 程序化地創建、讀取或修改 Microsoft Word 文檔 (.docx 格式) 是一項非常實用的技能。Python 生態中有多個優秀的庫可以完成這項任務,但它們各有側重和優缺點。選擇哪一個“最好用”,關鍵…

怎么修改論文格式呢?提供一份論文格式模板

注!!!本文內容是作者自己整理的一份模板,僅供參考,各位如何修改,還需要看學校的要求。 一、參考文獻 1、有一定數量的近幾年參考文獻、不宜過多中文文獻 英文期刊模板 [1] Taesoo K, Sooyoung K, Kyunghan L, et al. Special issue on 6G and satellite communication…

MVC 發布

MVC 發布 引言 MVC(Model-View-Controller)模式是一種廣泛應用于軟件開發的架構模式。它將應用程序分為三個主要部分:模型(Model)、視圖(View)和控制器(Controller)。這種模式不僅提高了代碼的可維護性和可擴展性,而且使得開發者可以更加專注于各個組件的開發。本文…

arkui 動畫曲線

參考文檔 https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-curve#curvesinterpolatingspring10 可視化工具網站 https://easingwizard.com/ https://www.desmos.com/calculator/k01p40v0ct?langzh-CN 基本介紹 import { curves } from kit.A…

大語言模型(LLM)技術架構與工程實踐:從原理到部署

在自然語言處理領域,大語言模型(LLM)已成為顛覆性技術。從 GPT 系列到 LLaMA、ChatGLM,這些參數規模動輒百億甚至萬億的模型,不僅實現了流暢的自然語言交互,更在代碼生成、邏輯推理等復雜任務中展現出驚人能力。本文將從技術底層拆解 LLM 的核心架構,分析訓練與推理的關…

python后端之DRF框架(上篇)

一、DRF框架介紹 1、web應用開發模式 1.1、前后端不分離1.2、前后端分離2、RESTful介紹 RESTful是目前最流行的API設計風格 , REST 指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是 RESTful。 1、每一個URI代表1種資源; 2、客…

信創數據庫-DM(達夢)數據庫安裝教程

官方安裝文檔在這:安裝前準備 | 達夢技術文檔 本文也是基于這個來寫的,微調了一下。 1,下載安裝包 體驗版直接到官方下載即可:產品下載 | 達夢在線服務平臺 如果是有需要商業版等,需要聯系客服申請。 安裝包要選擇CPU…

docker常用命令集(6)

接前一篇文章:docker常用命令集(5) 本文內容參考: Docker login/logout 命令 | 菜鳥教程 Docker命令_docker login-CSDN博客 特此致謝! 9. docker login 簡介 docker login命令用于登錄到docker注冊表&#xff08…

[LINUX操作系統]shell腳本之循環

1.編寫腳本for1.sh,使用for循環創建20賬戶,賬戶名前綴由用戶從鍵盤輸入,賬戶初始密碼由用戶輸入,例如:test1、test2、test3......[rootmaster ~]# vim for1.sh #!/bin/bashread -p "請輸入賬戶名稱前綴:" prefixread -p…

空間設計:不是餐廳的裝飾游戲

餐廳空間設計,是通過布局規劃與環境營造,將功能需求、品牌調性與顧客體驗融合的系統性工程 —— 它不僅決定顧客「坐得舒不舒服」,更影響「愿不愿意再來」「會不會主動分享」的消費決策。體驗感知的第一觸點:顧客進門 3 秒內&…

XSS-DOM 2

目錄 1 DOMPurify 1.1 漏洞源碼 1.2 加載框架 ?編輯 setTimeout 1.3 ok? 1.4 window和document 1.5 Overwrite(document.x) 1.5.1 打印cookie 1.6 Overwrite2(document.x.y) 1.6.1 form表單 1.7 toString…