激活函數Focal Loss 詳解?

  • Focal Loss 詳解?
  • 1. 背景?
  • Focal Loss 是由 Lin et al. (2017) 在論文 《Focal Loss for Dense Object Detection》 中提出的一種損失函數,主要用于解決 目標檢測(Object Detection) 中的 類別不平衡問題,特別是在 One-Stage 檢測器(如 RetinaNet)? 中表現優異。
  • 在目標檢測任務中,背景(負樣本)通常遠多于前景(正樣本),導致模型傾向于預測背景,從而影響檢測性能。傳統的交叉熵損失(Cross-Entropy Loss)對所有樣本一視同仁,無法有效處理這種不平衡問題。
  • 2. 傳統交叉熵損失的問題?
  • 標準的交叉熵損失(CE Loss)定義為:
  • CE(pt)=?log(pt)
  • 其中,pt 是模型預測的正類概率(對于正樣本 pt=p,對于負樣本 pt=1?p)。
  • 問題?:
  • 當 pt 很大時(即模型已經正確分類),損失仍然較大,導致訓練效率低。
  • 負樣本(背景)數量遠多于正樣本,導致模型被大量簡單負樣本主導,難以學習難樣本(Hard Examples)。
  • 3. Focal Loss 的改進?
  • Focal Loss 在交叉熵的基礎上引入了一個 調制因子(modulating factor) (1?pt)γ,用于降低易分類樣本的權重,使模型更關注難樣本。
  • 公式?:
  • Focal Loss(pt)=?αt(1?pt)γlog(pt)
  • 其中:
  • pt:模型預測的正類概率(對于正樣本 pt=p,對于負樣本 pt=1?p)。
  • γ(聚焦參數):控制調制因子的強度,通常取 γ∈[0,5]。
    • γ=0:退化為標準交叉熵損失。
    • γ>0:難樣本(pt 較小)的權重更大,易樣本(pt 較大)的權重更小。
  • αt(平衡因子):用于平衡正負樣本的權重,通常 αt 是一個可學習的參數或固定值(如 α=0.25 用于正樣本,α=0.75 用于負樣本)。
  • 4. Focal Loss 的作用?
  • 解決類別不平衡問題?
    • 通過 αt 調整正負樣本的權重,避免模型被大量背景樣本主導。
  • 關注難樣本(Hard Examples)?
    • 通過 (1?pt)γ 降低易分類樣本的權重,使模型更關注難以正確分類的樣本。
  • 5. Focal Loss 在目標檢測中的應用?
  • Focal Loss 最初由 RetinaNet? 提出,用于解決 One-Stage 檢測器(如 SSD、YOLO)中的類別不平衡問題。
  • RetinaNet 的改進點?:
  • 使用 Focal Loss? 替代標準的交叉熵損失。
  • 引入 FPN(Feature Pyramid Network) 和 Anchor Boxes? 提高檢測精度。
  • 6. 代碼實現(PyTorch 示例)?
  • python
  • import torchimport torch.nn as nnimport torch.nn.functional as Fclass FocalLoss(nn.Module): def __init__(self, alpha=0.25, gamma=2.0): super(FocalLoss, self).__init__() self.alpha = alpha self.gamma = gamma def forward(self, inputs, targets): # 計算交叉熵損失 ce_loss = F.cross_entropy(inputs, targets, reduction='none') # shape: [N] # 計算 pt = exp(-ce_loss) pt = torch.exp(-ce_loss) # 模型預測的概率 # 計算 Focal Loss focal_loss = self.alpha * (1 - pt) ** self.gamma * ce_loss return focal_loss.mean() # 返回平均損失
  • 使用示例?:
  • python
  • # 假設 inputs 是模型的 logits,targets 是真實標簽criterion = FocalLoss(alpha=0.25, gamma=2.0)loss = criterion(model_output, ground_truth_labels)
  • 7. Focal Loss 的變體?
  • RetinaNet Focal Loss?:適用于目標檢測中的正負樣本不平衡。
  • Dice Loss + Focal Loss?:結合 Dice Loss(用于分割任務)和 Focal Loss,提高小目標檢測效果。
  • Class-Balanced Focal Loss:動態調整 α 以適應不同類別的樣本數量。
  • 8. 總結?
  • 特性說明
  • 核心思想 降低易分類樣本的權重,增強難樣本的影響
  • 適用場景 類別不平衡問題(如目標檢測、長尾分類)
  • 關鍵參數 γ(聚焦參數)、α(平衡因子)
  • 改進效果 提高模型對難樣本的學習能力,提升檢測精度
  • Focal Loss 在 目標檢測(RetinaNet、FCOS) 和 醫學圖像分析(如腫瘤檢測)? 中有廣泛應用,是解決類別不平衡問題的有效方法之一。

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

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

相關文章

Python 鏈接各種中間件[Mysql\redis\mssql\tdengine]

文章目錄鏈接參數設置logger 日志redis 鏈接mysql 鏈接emqx 鏈接mssql 鏈接tdengine 鏈接采集OPCUA的點表的配置信息設備點表OPCUA 采集 數據程序數據采集邏輯鏈接參數 import randomtdengine_connection_params {username: root,password: taosdata,host: 127.0.0.1,port: 6…

C Primer Plus 第6版 編程練習——第11章(上)

本章共16題,分上中下三篇1.設計并測試一個函數,從輸入中獲取n個字符(包括空白、制表符、換行符),把結果存儲在一個數組里,它的地址被傳遞作為一個參數。int get_n_char(char arr[], int n) {int i 0;char ch;while (i…

Java開發崗面試記錄合集

一、Java 核心1. 基礎語法final關鍵字的作用修飾類:類不可被繼承(如String類),保證類的穩定性和安全性。修飾方法:方法不可被重寫(防止子類篡改父類核心邏輯,如工具類方法)。修飾變量…

Linux 系統時間設置(date 和 ntpdate)-linux028

date 命令:查看或設置系統時間1. 查看當前時間date示例輸出:Tue Mar 4 01:36:45 CST 20142. 設置時間(不設置日期)date -s 09:38:40設置后輸出:Tue Mar 4 09:38:40 CST 20143. 設置完整日期和時間(推薦格…

iOS上使用WebRTC推拉流的案例

一、庫集成 首先&#xff0c;確保在你的 Podfile 中添加依賴&#xff1a; pod GoogleWebRTC然后執行 pod install 安裝庫。 二、代碼示例 2.1、權限配置&#xff1a;在 Info.plist 中添加攝像頭、麥克風權限 <!-- 需要在 Info.plist 中添加以下權限 --> <key>NSCam…

API: return response as HTML table

想要把response table變成HTML的table&#xff0c;即想達到下面這種的話<table boarder"1" style"width:100%; boarder-collapse: collapse; text-align:left"><tr><th>Customer</th><th>Date</th><th>Debit Am…

OneNote 當前無法同步筆記。將繼續嘗試。 (錯誤代碼: 0xE00009C8 bb0ur)問題解決

之前因為同步錯誤&#xff0c;導致OneNote一個筆記本內容全部消失&#xff0c;筆記本內容如下圖同步狀態和錯誤如下&#xff1a;提醒錯誤為&#xff1a;OneNote 當前無法同步筆記。將繼續嘗試。 (錯誤代碼: 0xE00009C8 bb0ur)當時心態有點崩&#xff0c;也是查了好些資料&#…

OneCode3.0 Gallery 組件前后端映射機制:從注解配置到前端渲染的完整鏈路

一、注解體系與前端組件的映射基礎 ? OneCode Gallery 組件實現了 Java 注解與前端 UI 組件的深度綁定&#xff0c;通過GalleryAnnotation、GalleryItemAnnotation和GalleryViewAnnotation三個核心注解&#xff0c;構建了從后端配置到前端渲染的完整鏈路。這種映射機制的核心價…

規則分配腳本

需求&#xff1a; 1.根據用戶編寫的要報規則,去mysql庫里SysManage_Rule表獲取已經啟用的規則作為條件&#xff08;例如[{“field”: “關鍵詞”, “logic”: “AND”, “value”: “阿爾法”, “operator”: “”&#xff0c;, “assign_user”: “user222”}]&#xff09;條…

SEO實戰派白楊SEO:SEO中說的框計算、知心搜索(知識圖譜)是什么?有什么用處?

SEO里框計算是什么&#xff1f;有什么用處&#xff1f;SEO里框計劃算是百度2010年提出的&#xff0c;指當用戶搜索某些關鍵詞查詢時&#xff0c;搜索引擎在結果頁直接展示答案的技術&#xff08;如天氣、匯率等&#xff09;&#xff0c;用戶無需點擊網站即可獲取信息&#xff0…

軟件工程:軟件需求

簡介本篇博客記錄了我在軟件工程學習過程中關于軟件需求與面向對象基礎知識的學習體會和要點總結。博客共分為三個關卡內容&#xff1a;第1關圍繞“軟件需求”的定義、分類及分析過程展開&#xff0c;讓我清晰地理解了功能性需求、非功能性需求與約束條件的區別&#xff1b;第2…

MES系統是什么,有哪些特性?

MES系統是一套面向制造企業車間執行層的生產信息化管理系統。它能夠為操作人員和管理人員提供計劃的執行、跟蹤以及所有資源&#xff08;包括人、設備、物料、客戶需求等&#xff09;的當前狀態。通過MES系統可以對從訂單下達到產品完成的整個生產過程進行優化管理。當工廠發生…

Vue2下

六&#xff1a;vue-router &#xff08;重要&#xff09; &#xff08;一&#xff09;. 對路由的理解 1.什么是路由 路由&#xff08;Router&#xff09; 是管理頁面跳轉和 URL 與視圖映射關系的機制&#xff0c;核心作用是&#xff1a;根據不同的 URL 路徑&#xff0c;展示對…

在 Windows 上安裝設置 MongoDB及常見問題

介紹 MongoDB 是一個開源的 NoSQL 數據庫系統&#xff0c;它以一種靈活的類似 JSON 的格式&#xff08;稱為 BSON&#xff08;二進制 JSON&#xff09;&#xff09;存儲數據。它使用動態模式&#xff0c;這意味著與關系型數據庫不同&#xff0c;MongoDB 不需要在向數據庫添加數…

Effective C++ 條款01:視 C++ 為一個語言聯邦

Effective C 條款01&#xff1a;視 C 為一個語言聯邦核心思想&#xff1a;C 是由多個子語言組成的聯邦&#xff0c;每個子語言有自己的編程范式。理解這些子語言及其規則切換&#xff0c;是寫出高效 C 代碼的關鍵。 四個子語言及其規則&#xff1a; C 語言 基礎&#xff1a;過程…

云效CI/CD教程(PHP項目)

參考文檔 參考云效的官方文檔https://help.aliyun.com/zh/yunxiao/ 一、新建代碼庫 這是第一步&#xff0c;和碼云的差不多 二、配SSH密鑰 這個和碼云&#xff0c;github上類似&#xff0c;都需要&#xff0c;云效的SSH密鑰證書不是采用 RSA算法&#xff0c;而是采用了ED2…

單片機是怎么控制的

單片機作為電子系統的控制核心&#xff0c;通過接收外部信號、執行預設程序、驅動外部設備的方式實現控制功能&#xff0c;其控制過程涉及信號輸入、數據處理和指令輸出三個關鍵環節&#xff0c;每個環節的協同配合決定了整體控制效果。 信號輸入&#xff1a;獲取外部信息 單片…

deepseek本地部署,輕松實現編程自由

小伙伴們&#xff0c;大家好&#xff0c;今天我們來實現deepseek本地部署&#xff0c;輕松實現編程自由&#xff01;安裝ollama 安裝ollama 首先我們安裝ollama 打開ollama官網&#xff0c;下載安裝符合自己系統的版本。 找到要安裝的模型deepseek-r1開始-運行 輸入cmd出現…

基礎NLP | 常用工具

編輯器 PycharmVSCodeSpyderPython 自帶 ideVim 機器學習相關python框架 Pytorch 學術界寵兒&#xff0c;調試方便&#xff0c;目前的主流Tensorflow 大名鼎鼎&#xff0c;工程配套完善Keras 高級封裝&#xff0c;簡單好用&#xff0c;現已和Tensorflow合體Gensim 訓練詞向…

Unity3D + VR頭顯 × RTSP|RTMP播放器:構建沉浸式遠程診療系統的技術實踐

一、背景&#xff1a;遠程醫療邁入“沉浸式協同”的新階段 過去&#xff0c;遠程醫療主要依賴視頻會議系統&#xff0c;實現基礎的遠程問診、會診或術中指導。雖然初步解決了地域限制問題&#xff0c;但其單視角、平面化、缺乏沉浸感與交互性的特征&#xff0c;已無法滿足臨床…