機器學習-06(Optimization-自動調整學習率)

臨界點其實不一定是在訓練神經網絡過程中遇到的最大阻礙。

隨著對參數的不斷更新,Loss值會不斷下降,直至幾乎沒有變化,不再下降。當參數更新到臨界點時,意味著gradient非常小,所以要認定參數是否到達臨界點應當確認gradient值是否很小。當Loss不再下降時,且gradient沒有很小,則說明此時參數并未到達臨界點。

訓練停滯\neq小的梯度

Loss幾乎不再變化,但gradient卻還在變化,可以發生了鋸齒現象。

梯度下降法的鋸齒現象是指在優化過程中參數更新呈現來回震蕩的趨勢,導致迭代路徑形成類似鋸齒的形狀。這種現象通常發生在目標函數具有高頻振蕩特性或學習率設置過高時,參數更新可能超過最優解并反復震蕩。 ?

學習率也可以理解為步長,如果太大會產生震蕩的效果,但是如果太小則很難靠近真正的Loss值最小的點。?

學習率應當為每一個參數量身定做。

如果在某一個方向上變化十分平坦(坡度很小),則我們希望學習率可以變大一些,如果在某一個方向上非常陡峭(坡度很大),我們希望學習率可以變小一些。

原先的式子:

可以自動調整學習率的式子:

i表示第i個參數(某一個參數),t代表的是參數的迭代次數,\eta是學習率。

Root Mean Square

當在一條坡度較小的曲線上時,算出的均方根較小所以學習率(紅框)就大,步伐大;反之在一條坡度較大的曲線上時,算出的出的均方根較小所以學習率(紅框)就小,步伐小。

以上所考慮的是同一個參數,其梯度的大小(變化率)是固定差不多的值。

RMSProp

但是實際上,情況會十分復雜,就算是同一個參數、同一個方向,也想要學習率可以動態調整。

第一步,與均方根的方法相同。第二步?,均方根中每一個gradient都有同等的重要性,但在RMSProp中,可以自己調整現在的這個gradient的權重。

學習率調整機制(Learning Rate Scheduling)

為防止出現大幅波動的情況,引入學習率調整機制。

此時的\eta與時間有關。

Learning Rate Decay

隨著時間的不斷進行,隨著參數不斷的更新,\eta讓其越來越小,因為一開始距離終點很遠,隨著參數的不斷更新,距離終點你越來越近,所以把學習率減小,讓參數的更新慢下來。

Warm Up?

Warm Up的思想是讓\eta先變大再變小。

總結

Momentum和\sigma都是考慮到過去所以的gradient,它們會不會相互抵消呢,其實他們在使用過去所有gradient的方式不同。Momentum是直接將所有的gradient通通加起來,所有它有考慮方向,也有考慮gradient的正負號。但是均方根就不考慮gradient方向了,它只考慮的是gradient的大小。所有它們不會互相抵消掉。

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

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

相關文章

Uniapp中的uni.scss

uni.scss為uni-app新建項目自帶工程文件,使用的預處理器為sass/scss,由此可見,uni-app官方推薦的是scss。 uni.scss特點 無需引入,uni-app在編譯時,會自動引入此文件在此中定義的scss變量,可以全局使用&…

PreparedStatement 實現分頁查詢詳解

PreparedStatement 實現分頁查詢詳解 在 JDBC 中使用 PreparedStatement 實現分頁查詢是高效安全的方式,可以避免 SQL 注入并提升性能。下面我將詳細說明實現步驟和原理。 📐 分頁查詢核心參數參數名說明計算公式pageNum當前頁碼(從1開始&…

ClamAV 和 FreshClam:Linux 服務器上的開源殺毒解決方案

ClamAV 和 FreshClam:Linux 服務器上的開源殺毒解決方案 1. 概述 ClamAV 是一款開源的防病毒引擎,專為 Linux 服務器設計,用于檢測惡意軟件、病毒、木馬和其他安全威脅。它廣泛應用于郵件服務器、文件存儲系統和 Web 服務器,提供高效的病毒掃描功能。 主要特點: 免費開…

PySpark中python環境打包和JAR包依賴

在 PySpark 中打包 Python 環境并調度到集群是處理依賴一致性的關鍵步驟。以下是完整的解決方案,包含環境打包、分發和配置方法: 一、環境打包方法 使用 Conda 打包環境 # 創建 Conda 環境 conda create -n pyspark_env python3.8 conda activate pyspar…

和鯨社區深度學習基礎訓練營2025年關卡2(1)純numpy

擬分3種實現方法:1.純numpy2.sklearn中的MLPClassifier3.pytorch題目: 在 MNIST 數據集上訓練 MLP 模型并比較不同的激活函數和優化算法任務描述:使用 MNIST 數據集中的前 20,000 個樣本訓練一個多層感知機 (MLP) 模型。你需要比較三種不同的…

Sequential Thinking:AI深度思考的新范式及其與CoT、ReAct的對比分析

引言:AI深度思考的演進與Sequential Thinking的崛起在人工智能技術快速發展的今天,AI模型的思考能力正經歷著從簡單應答到深度推理的革命性轉變。這一演進過程不僅反映了技術本身的進步,更體現了人類對機器智能認知邊界的持續探索。早期的大語…

云原生詳解:構建現代化應用的未來

引言 在數字化轉型的浪潮中,"云原生"已成為技術領域最熱門的話題之一。從初創公司到全球500強企業,都在積極探索云原生技術以提升業務敏捷性和創新能力。本文將全面解析云原生的概念、核心技術、優勢以及實踐路徑,幫助您深入理解這一改變IT格局的技術范式。 什么…

SSE事件流簡單示例

文章目錄1、推送-SseEmitter2、接收-EventSourceListenerSSE(Server-Sent Events,服務器推送事件)是一種基于HTTP的服務器向客戶端實時推送數據的技術標準。1、推送-SseEmitter SseEmitter用于實現服務器向客戶端單向、長連接的實時數據推送…

Elasticsearch RESTful API入門:基礎搜索與查詢DSL

Elasticsearch RESTful API入門:基礎搜索與查詢DSL 本文為Elasticsearch初學者詳細解析RESTful API的核心操作與查詢DSL語法,包含大量實戰示例及最佳實踐。 一、Elasticsearch與RESTful API簡介 Elasticsearch(ES)作為分布式搜索…

(六)復習(OutBox Message)

文章目錄 項目地址一、OutBox Message1.1 OutBox表配置1. OutBoxMessage類2. OutboxMessage表配置3. 給每個模塊生成outboxmessage表1.2 發布OutBox Message1. 修改Intercepotor2. 配置Quartz3. 創建Quatz方法發布領域事件4. 創建Quatz定時任務5. 注冊Quatz服務和配置6. 流程梳…

STM32-ADC內部溫度

在通道16無引腳(測量溫度不準確)跟ADC代碼差不多;不需要使能引腳時鐘;將內部溫度測量打開/*** brief 啟用或禁用溫度傳感器和內部參考電壓功能* param NewState: 新的功能狀態,取值為ENABLE或DISABLE* retval 無* no…

「Linux命令基礎」文本模式系統關閉與重啟

關機重啟基本命令 直接拔掉計算機電源可能損壞內部元件;Linux系統通過命令關閉計算機則是安全流程,讓所有程序有機會保存數據、釋放資源。 關機命令:shutdown Linux系統提供了多種用于關閉或重啟系統的命令,其中 shutdown 是最常用的一種,它可以安全地通知用戶系統即將…

射頻信號(大寬高比)時頻圖目標檢測anchors配置

一、大寬高比目標YOLO檢測參數設置 這是yolov7的一個label的txt文件: 1 0.500 0.201 1.000 0.091 2 0.500 0.402 1.000 0.150 3 0.500 0.604 1.000 0.093 0 0.500 0.804 1.000 0.217 對應的樣本: 長寬比分別是:1/0.09110.98, 1/0.1506.67…

OpenStack 鑒權服務介紹.md

引言 OpenStack是一個開源的云計算管理平臺,其中的Keystone組件承擔了身份認證和授權的關鍵任務。Keystone的主要功能包括管理用戶及其權限、維護OpenStack Services的Endpoint,以及實現認證(Authentication)和鑒權(Au…

Linux_3:進程間通信

IPC1.什么是IPC?Inter Process Communication2.進程間通信常用的幾種方式1,管道通信:有名管道,無名管道2,信號- 系統開銷小3,消息隊列-內核的鏈表4,信號量-計數器5,共享內存6&#x…

【Springboot】Bean解釋

在 Spring Boot 中,Bean 就像是你餐廳里的一名員工。比如,你有一名服務員(Service)、一名廚師(Chef)和一名收銀員(Cashier)。這些員工都是餐廳正常運轉所必需的,他們各自…

axios的post請求,數據為什么要用qs處理?什么時候不用?

為什么使用 qs 處理 POST 數據axios 的 POST 請求默認將 JavaScript 對象序列化為 JSON 格式(Content-Type: application/json)。但某些后端接口(尤其是傳統表單提交)要求數據以 application/x-www-form-urlencoded 格式傳輸&…

【unitrix】 4.21 類型級二進制數基本結構體(types.rs)

一、源碼 這段代碼定義了一個類型級數值系統的 Rust 實現,主要用于在編譯時表示和操作各種數值類型。 use crate::sealed::Sealed; use crate::number::{NonZero, TypedInt, Unsigned, Primitive}; // // 特殊浮點值枚舉 ///// 特殊浮點值(NaN/∞&#x…

UI前端與數字孿生結合實踐案例:智慧零售的庫存管理優化系統

hello寶子們...我們是艾斯視覺擅長ui設計和前端數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩!一、引言:數字孿生重構零售庫存的 “人 - 貨 - 場” 協同在零售行業利潤率持續承壓的背景…

【Freertos實戰】零基礎制作基于stm32的物聯網溫濕度檢測(教程非常簡易)持續更新中.........

本次記錄采用Freertos的第二個DIY作品,基于Onenet的物聯網溫濕度檢測系統,此次代碼依然是全部開源。通過網盤分享的文件:物聯網溫濕度檢測.rar 鏈接: https://pan.baidu.com/s/1uj9UURVtGE6ZB6OsL2W8lw?pwdqm2e 提取碼: qm2e 大家也可以看看…