從0開始學習計算機視覺--Day05--優化

除了得到最小的W之外,如何節省這個探索最優W的過程,也是很重要的一點。假如把這個過程比作從山上的頂點開始下山,把圖中必定游玩的經典比作最優權重,那么節省的過程,就是找到下山的最短路徑的過程。而在下山的過程中,我們通常會根據腳傳來的感覺去判斷地面凹凸不平的情況,從而選擇地勢更矮的部分去下山,我們所走的每一步都是往更低的方向走,且由于每次我們都是選擇往最矮的方向走,可以節省很多不必要的力氣。

像這種一步一步去判斷當前最優的方法,就是我們常說的梯度下降法,而每次選擇更低的方向就好比我們在每個x點上,將前后的值作差,并令這個步長接近于0,求得的斜率就是我們每一步要選擇的梯度。不過與一維函數不同的是,由于輸入的x可能是向量的形式,所以求得的梯度一般都是由偏導數組成的向量,也就能看到在當前向量下的各個方向的最優斜率,從而讓模型明確該如何優化。

一般在計算機中,用有限差分法從傳統的意義上,通過逼近極限來計算梯度,如下圖:

對于每一步的梯度,對計算方向上的數據加0.0001,然后計算改變前后的損失值差除以0.0001來作為這個偏導數。但這個方法相當于要對向量的每一項都進行計算,如果我們在實際應用時,用到的卷積網絡很大,向量W可能不只有10個類別,那么要一步步去迭代計算每一項會讓我們的函數計算變得非常的緩慢。我們一般采用的方式是直接對梯度的公式進行微分運算,這就相當于我們只需要計算一個公式表達式,剩下的直接帶入值即可。不過這并不是說有限差分法不好,用它來計算可以保證結果的準確性(因為其是從定義出發),所以我們會用它來進行調試,在模型訓練前選取一些數據分別用微分法和有限差分法計算去對比,從而確認代碼的方向無誤,我們把前者叫解析梯度,后者叫做數值梯度。

所以在實際使用中,步驟通常是先隨機分配權重,去計算當前的損失值、梯度以及梯度相反的方向(從梯度計算公式出發,x是向量時,方向導數是梯度和向量的點積,公式里是取夾角的cos值,也就能知道夾角為0度時其取最大值1,所以梯度的方向是增加函數值的方向),從而確定要怎么更新權重,再重復這一步驟知道損失為0。但在計算梯度時的步長是我們人為設定的(又叫學習率),是每經過多少就要更新權重。為了謹慎,我想很多人都會習慣性往小的參數設置,但并不是說設置一個很小的步長,就一定能獲得最優解,因為這很可能會因為步長過小,導致在很小的一段數據里,模型被后續大的梯度誤導以為已經求得了最優的權重,類似于在山上到達了一個較小的山谷,但由于四周看不到更矮的地方,就以為自己到了山腳。

不過如果數據集比較大,盡管我們用了很好的優化算法和函數表達,由于梯度下降是計算梯度和,那么每次梯度下降,其實都是相當于做了N次計算,而損失和也需要做N次運算,會使計算過程變得非常緩慢,所以一般我們會取數據集的一小部分取計算梯度來估算整個數據集的梯度,這叫做隨機梯度下降,所取得數據集叫minibatch,一般是2的n次冪。

不過在現在的普遍處理中,我們在進行線性分類時,一般都會先進行特征處理,即先對圖片的像素做處理,提取出某類特征的數字作為輸入,而不是直接把像素轉換為向量輸入進去。因為線性分類的本質是可以看做在平面圖中用直線作為決策邊界去劃分不同類別,但如果圖片的兩個類別在平面圖中是以圓的形式存在,直線是無法區分的,而轉換成特征的形式其實就是把他們變成在平面圖上按照類直線排列的形式,這樣有助于模型區分。

學習來自于斯坦福教程:Stanford University CS231n: Deep Learning for Computer Vision

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

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

相關文章

OpenCV計算機視覺實戰(14)——直方圖均衡化

OpenCV計算機視覺實戰(14)——直方圖均衡化 0. 前言1. CLAHE 自適應均衡1.1 應用場景1.2 實現過程 2. 直方圖反向投影2.1 應用場景2.2 實現過程 3. 基于顏色的目標追蹤小結系列鏈接 0. 前言 在圖像處理與計算機視覺領域,直方圖技術是最直觀且…

基于uniapp的老年皮膚健康管理微信小程序平臺(源碼+論文+部署+安裝+售后)

感興趣的可以先收藏起來,還有大家在畢設選題,項目以及論文編寫等相關問題都可以給我留言咨詢,我會一一回復,希望幫助更多的人。 系統背景 近年來,我國人口老齡化進程不斷加快,據國家統計局數據顯示&#…

MySQL(106)如何設計分片鍵?

設計分片鍵(Sharding Key)是數據庫分片的核心,它決定了將數據分配到不同分片的方式。一個好的分片鍵應該能夠均衡地分布數據,避免熱點問題,提高查詢性能。下面將詳細介紹如何設計分片鍵,并結合代碼進行說明…

汽車一鍵啟動升級手機控車

汽車一鍵啟動升級手機控車實現手機遠程啟動,不改變原車任何功能且全部免接線。升級后原車遙控器能在有效范圍內啟動車輛。移動管家手機控車一鍵啟動系統用手機遠程控制,完美兼容原車遙控器。支持長安、別克、寶馬、奧迪等眾多系列車型,市場99…

【開源項目】「安卓原生3D開源渲染引擎」:Sceneform?EQR

「安卓原生3D開源渲染引擎」:Sceneform?EQR 渲染引擎 “那一夜凌晨3點,第一次提交 PR 的手在抖……”——我深刻體會這種忐忑與激動。 倉庫地址:(https://github.com/eqgis/Sceneform-EQR)。 一、前言:開源對我意味著什么 DIY 的…

建造者模式 - Flutter中的樂高大師,優雅組裝復雜UI組件!

痛點場景:復雜的對話框配置 假設你需要創建一個多功能對話框: CustomDialog(title: 警告,content: 確定要刪除嗎?,titleStyle: TextStyle(fontSize: 20, color: Colors.red),contentStyle: TextStyle(fontSize: 16),backgroundColor: Color…

基于Java+Spring Boot的大學校園生活信息平臺

源碼編號:S559 源碼名稱:基于Spring Boot的大學校園生活信息平臺 用戶類型:雙角色,用戶、管理員 數據庫表數量:17 張表 主要技術:Java、Vue、ElementUl 、SpringBoot、Maven 運行環境:Wind…

C# .NET Framework 中的高效 MQTT 消息傳遞

介紹: 在當今互聯互通的世界里,設備之間高效可靠的通信至關重要。MQTT(消息隊列遙測傳輸)就是為此而設計的輕量級消息傳遞協議。本文將探討 MQTT 是什么、它的優勢以及如何在 .NET 框架中設置和實現它。最后,您將對 M…

nn.Embedding 和 word2vec 的區別

理解它們的關鍵在于??區分概念層級和職責??。 可以將它們類比為: ??word2vec:?? 一個??專門制作高質量詞向量模型的“工廠”??。??nn.Embedding:?? 一個??可存儲、查找并訓練詞向量的“智能儲物柜”??(作為…

華為云Flexus+DeepSeek征文|??華為云ModelArts Studio大模型 + WPS:AI智能PPT生成解決方案?

引言:告別繁瑣PPT制作,AI賦能高效辦公 ?? 在商業匯報、學術研究、產品發布等場景中,制作專業PPT往往需要耗費大量時間進行內容整理、邏輯梳理和視覺美化。??華為云ModelArts Studio大模型??與??WPS??深度結合,推出AI-P…

【連接redis超時】

報錯 客戶端輸出緩沖區超限 Client … scheduled to be closed ASAP for overcoming of output buffer limits 表示這些客戶端(通過 psubscribe 命令進行發布訂閱操作)的輸出緩沖區超過了 Redis 配置的限制,Redis 會關閉這些客戶端連接來避免…

PHP「Not enough Memory」實戰排錯筆記

目錄 PHP「Not enough Memory」實戰排錯筆記 1. 背景 2. 快速定位 3. 為什么 5 MB 的圖片能耗盡 128 MB? 3.1 粗略估算公式(GD) 4. 實際峰值監控 5. 解決過程 6. 最佳實踐與防御措施 7. 總結 PHP「Not enough Memory」實戰排錯筆記 —…

Java垃圾回收機制和三色標記算法

一、對象內存回收 對于對象回收,需要先判斷垃圾對象,然后收集垃圾。 收集垃圾采用垃圾收集算法和垃圾收集器。 判斷垃圾對象,通常采用可達性分析算法。 引用計數法 每個對象設置一個引用計數器。每被引用一次,計數器就加1&am…

基于python網絡數據挖掘的二手房推薦系統

基于網絡數據挖掘的二手房推薦系統設計與實現 【摘要】 隨著互聯網技術在房地產行業的深入應用,線上房源信息呈爆炸式增長,給購房者帶來了信息過載的挑戰。為了提升二手房篩選的效率與精準度,本文設計并實現了一個基于網絡數據挖掘的二手房推…

Java + 阿里云 Gmsse 實現 SSL 國密通信

前言 解決接口或頁面僅密信瀏覽器(或 360 國密瀏覽器)能訪問的問題 測試頁面 測試網站-中國銀行:https://ebssec.boc.cn/boc15/help.html 使用其他瀏覽器(google,edge等)打開 使用密信瀏覽器打開 解決…

國產數據庫分類總結

文章目錄 一、華為系數據庫1. 華為 GaussDB 二、阿里系數據庫1. 阿里云 OceanBase2. PolarDB(阿里云自研) 三、騰訊系數據庫1. TDSQL(騰訊云)2. TBase(PostgreSQL增強版) 四、傳統國產數據庫1. 達夢數據庫&…

解密閉包:函數如何記住外部變量

🧠 什么是閉包? 閉包是一個函數對象,它不僅記住它的代碼邏輯,還記住了定義它時的自由變量(即非全局也非局部,但被內部函數引用的變量)。即使外部函數已經執行完畢,這些自由變量的值…

I2C協議詳解及STM32 HAL庫硬件I2C卡死問題分析

一、I2C協議詳解 1. I2C協議概述 Inter-Integrated Circuit (I2C) 是由 Philips 半導體(現 NXP 半導體)于 1980 年代設計的一種同步串行通信總線協議。該協議采用半雙工通信模式,支持多主從架構,專為短距離、低速率的芯片間通信…

HTTP協議-后端接收請求

起因就是不知道post這個請求體中這些格式有什么區別,后端又怎么去接收這些不同格式的內容 Get請求 get請求是比較簡單的一類 正常的直接用參數接收(不寫的話名字要匹配)或者RequestParam都可以接收,用對象綁定也可以 resultful…

HTML5 實現的圣誕主題網站源碼,使用了 HTML5 和 CSS3 技術,界面美觀、節日氛圍濃厚。

以下是一個 HTML5 實現的圣誕主題網站源碼,使用了 HTML5 和 CSS3 技術,界面美觀、節日氛圍濃厚。它包括: 圣誕樹動畫 🎄雪花飄落特效 ??圣誕祝福語 🎁響應式布局,適配移動端 你可以將代碼保存為 index.…