【pytorch12】什么是梯度

說明

  • 導數
  • 偏微分
  • 梯度

梯度:是一個向量,向量的每一個軸是每一個方向上的偏微分
梯度是有方向也有大小,梯度的方向代表函數在當前點的一個增長的方向,然后這個向量的長度代表了這個點增長的速率

在這里插入圖片描述
藍色代表比較小的值,紅色代表比較大的值,中間的箭頭比較長,方向是由一個極小值指向一個極大值,因此中間這部分梯度反應了函數的增長的方向,說明了從這個方向增長這個方向是最快的

如何搜索到一個極小值?

一般情況下我們搜索的是極小值,如果想要搜索極大值的話,可以把loss變成負號,就可以通過搜索一個極小值解來搜索極大值解

在這里插入圖片描述
所以這個函數的梯度是(2 θ 1 \theta_{1} θ1?,2 θ 2 \theta_{2} θ2?),再求(0,0)處的一個梯度情況,因此有時候會陷入到一個局部最小值的情況

在這里插入圖片描述
在這里插入圖片描述
紅色是最原始版本的梯度下降來搜索會卡在馬鞍的點上
在這里插入圖片描述
對于任何的一個點和另外的一個點,我們拉一條直線,這條直線中間的中點以及中點所對應的函數的值,例如定義為z1,z2且z1>z2,叫做凸函數,對于這種情況可以找到一個全局最優解

存在且不太常見的
在這里插入圖片描述
存在局部極大和局部極小,存在多個局部極小值

實際的例子:ResNet-56的平面
在這里插入圖片描述
對于函數的輸出可能有無數多個w參數,對于ResNet可以有上千萬個W的參數f=(w1,w2,…),把上千萬的自變量可視化到一個二維的平面,可能會陷入到無數多的局部極小值中,即使有全局最小值解,因此對于一個深層次的神經網絡,取搜索的時候可能找到一個表現不滿意的因為此時的解可能是一個局部極小值解,因此網絡的精度不會特別高,Resnet加了一個shortcut的模塊,在神經網絡的旁邊加了一條支路,發現神經網絡可以變得很深同時也可以優化的很好,可視化后會變成第二個平面

使用梯度來搜索最小值的情況下,除了會遇到局部最小值,還可能遇到鞍點
在這里插入圖片描述

優化器表現

  • 初始狀態
  • 學習率
  • 動量(即如何逃離局部極小值)

初始狀態

在這里插入圖片描述
對于初始狀態的不同,會影響找到的是全局解還是局部極小值這樣的情況,搜索的路徑也可能不一樣,因此大家再做深度學習的時候函數的全職一定要初始化,而且初始化的時候如果沒有把握就按照目前主流的初始化的方法
在這里插入圖片描述
上圖兩種初始化,左邊會到全局最小解,右邊會到局部極小值,不同的初始化狀態會得到不一樣的結果

學習率

在這里插入圖片描述

學習率設置為1的時候(比較大),步長會比較大,但實際上我們需要的情況是左邊藍色的點慢慢下降而不是左邊跳到右邊再跳到左邊,是因為學習率設置的過大,會一步跨的太長直接跨過了最小值,對于比較好的函數還可以慢慢震蕩到最小值,但是大部分現實情況是直接不收斂了,一開始要把learning rate設置的小一點,0.01或0.001這樣,如果發現收斂了可以試著大一點這樣會讓收斂的速度會快一點

學習率也會影響收斂的精度,例如到最小值附近learning rate還是很大會一直在附近震動永遠到不了最小值,只會得到一個近似比較好的情況,這種時候要慢慢減小learning rate

如何逃出局部最小值
在這里插入圖片描述

很有可能搜索到局部最小值就停止了,但是還有最小值,這時候可以添加一個動量,這個動量可以直觀的理解為慣性,也就是說在局部極小值左邊發現梯度呈現右下降的趨勢,在右邊發現梯度呈左下角的趨勢,如果在此時考慮一個慣性的話,在右邊的時候梯度會引導你回去到局部最小值,但是本來就是向右去降低梯度的,如果可以考慮到一個慣性的話,假設向右走是v1向量向左走是v2向量,把這兩個向量綜合一下就會得到一個朝向于偏向v2的方向

常見函數的梯度

在這里插入圖片描述
簡單感知機線性模型的求解
在這里插入圖片描述
二次模型的梯度
在這里插入圖片描述
指數求解梯度的方式
在這里插入圖片描述
線性感知機的輸出和真實label之間的均方差
在這里插入圖片描述

log函數求梯度
在這里插入圖片描述

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

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

相關文章

七月論文審稿GPT第5版:拿我司七月的早期paper-7方面review數據集微調LLama 3

前言 llama 3出來后,為了通過paper-review的數據集微調3,有以下各種方式 不用任何框架 工具 技術,直接微調原生的llama 3,畢竟也有8k長度了 效果不期望有多高,純作為baseline通過PI,把llama 3的8K長度擴展…

基于Linux的云端垃圾分類助手

項目簡介 本項目旨在開發一個基于嵌入式系統的智能垃圾分類裝置。該裝置能夠通過串口通信、語音播報、網絡通信等多種方式,實現垃圾的自動識別和分類投放。系統采用多線程設計,確保各功能模塊高效并行工作。 項目功能 垃圾分類識別 系統使用攝像頭拍攝…

解密tar文件解壓的Java實現技術

解密tar文件解壓的Java實現技術 大家好,我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿! 引言 在日常的軟件開發和系統管理中,經常會遇到需要解壓縮文件的…

代碼隨想三刷動態規劃篇5

代碼隨想三刷動態規劃篇5 377. 組合總和 Ⅳ題目代碼 57. 爬樓梯(第八期模擬筆試)題目代碼 322. 零錢兌換題目代碼 279. 完全平方數題目代碼 377. 組合總和 Ⅳ 題目 鏈接 代碼 class Solution {public int combinationSum4(int[] nums, int target) {…

SM2的簽名值byte數組與ASN.1互轉

ASN.1抽象語言標記(Abstract Syntax Notation One) ASN.1是一種 ISO/ITU-T 標準,描述了一種對數據進行表示、編碼、傳輸和解碼的數據格式,它提供了一整套正規的格式用于描述對象的結構。 一、該結構的應用場景 例如在做待簽名的數字信封時,數字信封使用ASN.1封裝,這個時…

MySQL-行級鎖(行鎖、間隙鎖、臨鍵鎖)

文章目錄 1、介紹2、查看意向鎖及行鎖的加鎖情況3、行鎖的演示3.1、普通的select語句,執行時,不會加鎖3.2、select * from stu where id 1 lock in share mode;3.3、共享鎖與共享鎖之間兼容。3.4、共享鎖與排他鎖之間互斥。3.5、排它鎖與排他鎖之間互斥3…

論文調研_Awesome-Binary-Similarity

0. 概述 對 Awesome-Binary-Similarity 中列出的論文進行調研,重點總結這些論文的研究動機與未來研究方向。 1. 調研內容 論文名稱發表時間發表期刊期刊等級研究單位BinaryAI: Binary Software Composition Analysis via Intelligent Binary Source Code Matching2024年ICSE…

每日一題---OJ題:分隔鏈表

片頭 嗨!小伙伴們,大家好!今天我們一起來看看這道題----分隔鏈表 emmmm,這道題,看描述應該不算太難,我們一起來畫一畫圖唄! 題目讀懂了,那么如何破解這道題呢? 思路&…

microApp vue3+vite+ts 子應用接入改造

公司做了一個平臺,使用的是microApp,需要把現有的一些系統作為子系統改造一下接入這個平臺,所以下面我說的都是子應用的改造,vue2的改造比較簡單,主要的vue3+vite+ts的改造。 參考官網 1、設置跨應用支持 vite默認開啟跨域支持,不需要額外配置。 2、注冊卸載函數 // …

nand flash spec

nand flash簡介 nand flash是一種非易失性存儲器。它具有高存儲密度、低成本和高耐用性的特點。 nand flash的特性是非易失性,即在電源關閉的情況下,數據仍然保留。 nand flash的存儲單元由浮動柵極晶體管組成,每個存儲單元可以存儲一位或多…

短視頻世界對我溫柔以待:成都柏煜文化傳媒有限公司

短視頻世界對我溫柔以待 在繁忙的都市生活中,每個人都在為生活奔波,為夢想努力。而在這個快節奏的時代里,短視頻如同一股清流,以其獨特的魅力,為我帶來了片刻的寧靜與溫柔。它像是一個無聲的朋友,在我疲憊…

(必看圖文)Hadoop集群安裝及MapReduce應用(手把手詳解版)

前言 隨著大數據時代的到來,處理和分析海量數據已成為企業和科研機構不可或缺的能力。Hadoop,作為開源的分布式計算平臺,因其強大的數據處理能力和良好的可擴展性,成為大數據處理領域的佼佼者。本圖文教程旨在幫助讀者理解Hadoop集…

Mysql面試合集

概念 是一個開源的關系型數據庫。 數據庫事務及其特性 事務:是一系列的數據庫操作,是數據庫應用的基本邏輯單位。 事務特性: (1)原子性:即不可分割性,事務要么全部被執行,要么就…

代碼隨想錄1數組

1 二分查找 Leetcode704 1 [l,r]區間 l 0, r nums.length-1; while(l<r) 因為lr有意義 2 [l,r)區間 l 0, r nums.length; while(l<r) Leetcode35 class Solution {public int searchInsert(int[] nums, int target) {int l0,rnums.length;while(l<r){int m l(…

使用設計模式來增強你的 SpringBoot 開發

SpringBoot 是一個出色的框架&#xff0c;可以快速構建強大而高效的應用程序。但你是否知道設計模式可以將 SpringBoot 開發提升到一個新的水平&#xff1f; ? 設計模式的重要性&#xff1a;了解設計模式如何促進代碼的可重用性、可維護性和整體應用程序健康。 ? SpringBoot…

在Spring Data JPA中使用@Query注解

目錄 前言示例簡單示例只查詢部分字段&#xff0c;映射到一個實體類中只查詢部分字段時&#xff0c;也可以使用List<Object[]>接收返回值再復雜一些 前言 在以往寫過幾篇spring data jpa相關的文章&#xff0c;分別是 Spring Data JPA 使用JpaSpecificationExecutor實現…

python 筆試面試八股(自用版~)

1 解釋型和編譯型語言的區別 解釋是翻譯一句執行一句&#xff0c;更靈活&#xff0c;eg&#xff1a;python; 解釋成機器能理解的指令&#xff0c;而不是二進制碼 編譯是整個源程序編譯成機器可以直接執行的二進制可運行的程序&#xff0c;再運行這個程序 比如c 2 簡述下 Pyth…

運維鍋總詳解RocketMQ

本文嘗試從Apache RocketMQ的簡介、主要組件及其作用、3種部署模式、Controller集群模式工作流程、最佳實踐等方面對其進行詳細分析。希望對您有所幫助&#xff01; 一、Apache RocketMQ 簡介 Apache RocketMQ 是一個開源的分布式消息中間件&#xff0c;由阿里巴巴集團開發并…

祝賀《華為戰略管理法:DSTE實戰體系》被《中國企業家》雜志評為企業家枕邊書50本之一(宏觀戰略類書籍)

祝賀《華為戰略管理法&#xff1a;DSTE實戰體系》被《中國企業家》雜志評為企業家枕邊書50本之一 2024年4月23日&#xff08;周二&#xff09;下午13:00&#xff0c;《中國企業家》雜志如期舉辦“每天都是讀書日”線下活動。 《中國企業家》雜志攜手商界大咖共同推選50本枕邊書…

Vue.js中的計算屬性

Vue.js中的計算屬性&#xff08;computed properties&#xff09;是用于聲明響應式依賴的屬性。它們會根據它們的依賴進行緩存&#xff0c;并且只有在相關依賴發生改變時才會重新求值。這使得它們非常適合用來處理復雜邏輯和數據處理。 基本用法 在Vue實例中&#xff0c;可以…