深度學習中的一些名詞

向前傳播 forward pass

在機器學習中,輸入的feature, 通過預測模型,輸出預測值,此過程稱之為向前傳播;

向后傳播 backward pass

為了將預測與真實值的產值減小,需要根據差值,更新模型中的參數,此過程稱之為向后傳播;

評分函數 Score function

  • 原始圖像數據到類別分值的映射;
  • 也就是向前傳播時,使用的模型函數;

損失函數 Loss function/代價函數Cost function/目標函數Objective

  • 用來量化預測分類標簽的得分與真實標簽之間一致性的.
  • 也就是衡量,我們對結果的不滿意度;
  • 評分函數輸出結果與真實結果之間差異越大,損失函數輸出越大;
  • 損失函數的具體形式多種多樣;
  • 損失函數基于向前傳播和向后傳播之間,起到承上啟下的作用;
    • 承上:接收模型的預測值;
    • 啟下:計算預測值與真實值的差值,為反向傳播提供輸入數據;

線性分類器?Linear Classification

  • 通過對原始數據進行處理,得到一個分類的分值;
  • 例如,最簡單的線性分類
  • 其中,W表示權重(Weights),b表示偏差(bias vector)
  • 參數Wb是可控制改變的。我們的目標就是通過設置這些參數,使得計算出來的分類分值情況和訓練集中圖像數據的真實類別標簽相符。
  • 一個實際的例子:

????????

  • 上述函數的一個二維抽象:

????????

  • 以紅色的汽車分類器為例,紅線表示空間中汽車分類分數為0的點的集合,紅色的箭頭表示分值上升的方向。
  • 所有紅線右邊的點的分數值均為正,且線性升高。紅線左邊的點分值為負,且線性降低。
  • 從上面可以看到,W的每一行都是一個分類類別的分類器。
  • 對于這些數字的幾何解釋是:如果改變其中一行的數字,會看見分類器在空間中對應的直線開始向著不同方向旋轉。
  • 而偏差b,則允許分類器對應的直線平移。
  • 需要注意的是,如果沒有偏差,無論權重如何,在xi=0時分類分值始終為0。這樣所有分類器的線都不得不穿過原點。

多類支持向量機損失 Multiclass Support Vector Machine Loss

  • 常用的一種損失函數
  • 其核心思想是,在正確分類上的得分始終比不正確分類上的得分高出一個邊界值Δ, 也就是value_right - value_wrong >= Δ;
  • 例如,第i個數據中包含圖像xi的像素和代表正確類別的標簽yi, 分值簡寫為s。針對第j個類別的得分就是第j個元素:sj=f(xi,W)j。其SVM損失函數如下:? ? ? ? ? ? ? ? ??
  • 實際例子:假設有3個分類,并且得到了分值s=[13,?7,11]。其中第一個類別是正確類別,即yi=0。同時假設Δ是10;
    • 第一部分,為0, 第二部分,為8;
    • 雖然正確分類分值13>不正確分類11, 但還是比Δ(10)小,分差只有2, 所以損失值為8;
    • 因為不滿足>=Δ, 所以此時開始計算損失值;
    • 如果沒有這些情況,損失值為0;(因為預測正確的,一定是最高分)
  • 具象化:
    • ? ?
    • 多類SVM“想要”正確類別的分類分數比其他不正確分類類別的分數要高,而且至少高出delta的邊界值。
    • 如果其他分類分數進入了紅色的區域,甚至更高,那么就開始計算損失。
  • Δ的說明:
    • 超參數Δ和λ看起來是兩個不同的超參數,但實際上他們一起控制同一個權衡:即損失函數中的數據損失和正則化損失之間的權衡。
    • 不同分類分值之間的邊界的具體值(比如Δ=1或Δ=100)從某些角度來看是沒意義的,因為權重自己就可以控制差異變大和縮小
    • 真正的權衡是我們允許權重能夠變大到何種程度(通過正則化強度λ來控制)。

????????

折葉損失(hinge loss)

  • max(0,?)函數

平方折葉損失SVM--L2-SVM

  • 它使用的是max(0,?)2,將更強烈(平方地而不是線性地)地懲罰過界的邊界值;

正則化(Regularization)

  • 為了解決損失函數的模糊性問題;
  • 所謂的模糊性問題,指的是如果W能夠正確分類所有數據,即對于每個數據,損失值都是0,囊二這個W的任意>1的倍數,也同樣滿足;
  • 正則化懲罰(regularization penalty), R(w);
    • 最常用的正則化懲罰是L2范式:
  • 有了regularization penalty之后, 完整的SVM損失函數可以表示為:
    • 展開后:
    • N是訓練集的數據量。
    • 現在正則化懲罰添加到了損失函數里面,并用超參數λ來計算其權重。
    • 其中最好的性質就是對大數值權重進行懲罰,可以提升其泛化能力,因為這就意味著沒有哪個維度能夠獨自對于整體分值有過大的影響。
  • 實際例子:
    • 假設輸入向量x=[1,1,1,1],兩個權重向量w1=[1,0,0,0],w2=[0.25,0.25,0.25,0.25]。
    • 根據公式,權重1的L2 penalty是1, 權重2的L2 penalty是0.25;
    • 因此,根據L2懲罰來看,w2更好,因為它的正則化損失更小。
    • 從直觀上來看,這是因為w2的權重值更小且更分散。既然L2懲罰傾向于更小更分散的權重向量,這就會鼓勵分類器最終將所有維度上的特征都用起來,而不是強烈依賴其中少數幾個維度。
    • 最后,因為正則化懲罰的存在,不可能在所有的例子中得到0的損失值,這是因為只有當W=0的特殊情況下,才能得到損失值為0。
    • 這一效果將會提升分類器的泛化能力,并避免過擬合

超參數(hyperparameter)

  • 超參數則是在算法運行之前手動設置的參數,用于控制模型的行為和性能
  • 這些超參數的選擇會影響到模型的訓練速度、收斂性、容量和泛化能力等方面。
  • 例如,學習率、迭代次數、正則化參數、隱藏層的神經元數量等都是常見的超參數。
    • learning rate;
    • momentum;
    • number of layers
    • hiddden nodes;
    • regularization parameters?
    • initial weights
    • 等等
  • 超參數的選擇通常是一個試錯的過程,需要根據經驗和領域知識進行調整。

過擬合

  • 過擬合是指訓練誤差和測試誤差之間的差距太大。
  • 換句換說,就是模型復雜度高于實際問題,模型在訓練集上表現很好,但在測試集上卻表現很差。
  • 模型對訓練集"死記硬背"(記住了不適用于測試集的訓練集性質或特點),沒有理解數據背后的規律,泛化能力差。

Softmax分類器

  • 它的損失函數與SVM的損失函數不同。
  • 在Softmax分類器中,函數映射f(xi;W)=Wxi保持不變,但將這些評分值視為每個分類的未歸一化的對數概率,并且將折葉損失(hinge loss)替換為交叉熵損失cross-entropy loss)
  • SVM和softmax的區別:

  • SVM的最終的損失值是1.58,Softmax的最終的損失值是0.452,但要注意這兩個數值沒有可比性。只在給定同樣數據,在同樣的分類器的損失值計算中,它們才有意義。
  • Softmax分類器為每個分類提供了“可能性”;
    • SVM的計算是無標定的,而且難以針對所有分類的評分值給出直觀解釋。
    • Softmax分類器則不同,它允許我們計算出對于所有分類標簽的可能性。
    • 例如:
      • 針對給出的圖像,SVM分類器可能給你的是一個[12.5, 0.6, -23.0]對應分類“貓”,“狗”,“船”。
      • 而softmax分類器可以計算出這三個標簽的”可能性“是[0.9, 0.09, 0.01],這就讓你能看出對于不同分類準確性的把握。
      • 可能性是一個相對的值,因為可能性分布的集中或離散程度是由正則化參數λ直接決定的

最優化 Optimization

  • ?最優化是尋找能使得損失函數值最小化的參數W的過程
  • 損失函數可以量化某個具體權重集W的質量。而最優化的目標就是找到能夠最小化損失函數值的W?;
  • 最優化的一般方式:
    • 一個差勁的初始方案:隨機搜索;
      • 核心思路,迭代優化:對一個權重矩陣集W取優,使其損失值稍微減少。那么問題的難度就大大降低了。換句話說,我們的方法從一個隨機的W開始,然后對其迭代取優,每次都讓它的損失值變得更小一點。
    • 隨機本地搜索
      • 第一個策略可以看做是每走一步都嘗試幾個隨機方向,如果某個方向是向山下的,就向該方向走一步。這次我們從一個隨機W開始,然后生成一個隨機的擾動δW?,只有當W+δW的損失值變低,我們才會更新。
      • 這個比策略一好,但是依然過于浪費計算資源。
    • 跟隨梯度
      • 前兩個策略中,我們是嘗試在權重空間中找到一個方向,沿著該方向能降低損失函數的損失值。其實不需要隨機尋找方向,因為可以直接計算出最好的方向;
      • 這個方向就是損失函數的梯度(gradient);

learning rate

  • 梯度指明了函數在哪個方向是變化率最大的,但是沒有指明在這個方向上應該走多遠;
  • 選擇步長(也叫作學習率)將會是神經網絡訓練中最重要(也是最頭痛)的超參數設定之一

梯度下降法

  • 梯度下降使用整個訓練數據集來計算梯度,因此它有時也被稱為批量梯度下降;
  • 在大規模的應用中(比如ILSVRC挑戰賽),訓練數據可以達到百萬級量級。如果像這樣計算整個訓練集,來獲得僅僅一個參數的更新就太浪費了。

隨機梯度下降法

  • 如果使用梯度下降法(批量梯度下降法),那么每次迭代過程中都要對 n個樣本進行求梯度,所以開銷非常大,隨機梯度下降的思想就是隨機采樣一個樣本 J(xi)來更新參數,那么計算開銷就從 O(n)下降到 O(1) 。

小批量梯度下降法

  • 隨機梯度下降雖然提高了計算效率,降低了計算開銷,但是由于每次迭代只隨機選擇一個樣本,因此隨機性比較大,所以下降過程中非常曲折;

???????????????????????

  • 所以,樣本的隨機性會帶來很多噪聲,我們可以選取一定數目的樣本組成一個小批量樣本,然后用這個小批量更新梯度,這樣不僅可以減少計算成本,還可以提高算法穩定性。

?

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

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

相關文章

鴻蒙系統(HarmonyOS)應用開發之手勢鎖屏密碼鎖(PatternLock)

項目概述 基于鴻蒙(OpenHarmony)平臺開發的手勢密碼鎖應用,旨在為用戶提供安全、便捷且具有良好交互體驗的身份驗證方式。通過手勢圖案輸入,用戶可以輕松設置和驗證密碼,提升設備的安全性和個性化體驗。 功能特點 手…

vue文本插值

好的,我們來詳細講解 Vue 中最基礎的數據展示方式:文本插值和在其內部使用的 JavaScript 表達式。 1. 文本插值 (Text Interpolation) 知識點: 文本插值是 Vue 中最基本的數據綁定形式。它使用“Mustache”語法(雙大括號 {{ }})…

Python:線性代數,向量內積諧音記憶。

目錄1 先說結論2 解釋3 歡迎糾錯4 論文寫作/Python 學習智能體------以下關于 Markdown 編輯器新的改變功能快捷鍵合理的創建標題,有助于目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個適合你的列表創建一個表格設定內容居中、居左、…

小程序導航設置更多內容的實現方法

在小程序中實現導航欄設置更多內容,可以通過以下幾種方式實現: 1. 使用原生導航欄自定義按鈕 javascript // app.json 或頁面.json中配置 {"navigationBarTitleText": "首頁","navigationBarTextStyle": "black&q…

SpringBoot 解決配置文件有黃色波浪線

在application.properties配置文件中有黃色波浪線,是警告!! 原因:編碼格式不一致!! 解決:Settings| Editor | File Encodings | 選擇UTF-8

在 Vue 3 中全局使用 Suspense 組件

Suspense 是 Vue 3 引入的一個內置組件,不需要引用可以直接用。用于處理異步依賴的等待狀態。雖然 Suspense 主要用于異步組件,但你也可以全局地使用它來管理整個應用的加載狀態。 全局 Suspense 的基本用法 1. 在根組件中使用 Suspense // main.js 或…

筆記/計算機網絡

Content 計算機網絡部分核心概念十大網絡協議一覽 計算機網絡部分核心概念 1. 什么是計算機網絡?它最基本的功能是什么? 計算機網絡是指通過某種傳輸介質將多臺獨立的計算機或設備連接起來,實現數據交換和資源共享的系統。其最基本的功能是數…

時頻圖數據集更正程序,去除坐標軸白邊及調整對應的標簽值

當數據集是時頻圖時可能有一個尷尬的問題,就是數據集制作好后,發現有白邊。 其實這也不影響訓練模型,可能對模型訓練效果的影響也是微乎其微的,于是大多數情況我會選擇直接用整張圖片訓練模型。但是,有的情況下&#x…

mv重命名報錯:bash:未預期的符號 ‘(‘附近有語法錯誤

文章目錄 一、報錯背景二、解決方法2.1、方法一:文件名加引號2.2、方法二:特殊字符前加\進行轉義 一、報錯背景 在linux上對一文件執行重命名時報錯。原因是該文件名包含空格與括號。 文件名如下: aa (1).txt執行命令及報錯如下…

Unity-MMORPG內容筆記-其三

繼續之前的內容: 戰斗系統 無需多言,整個項目中最復雜的部分,也是代碼量最大的部分。 屬性系統 首先我們要定義一系列屬性,畢竟所謂的戰斗就是不斷地扣血對吧。 屬性系統是戰斗系統的核心模塊,負責管理角色的所有…

Linux入門篇學習——Linux 幫助手冊

目錄 一、Linux 幫助手冊 1.怎么打開幫助手冊 2.安裝依賴 3.使用手冊查看命令 一、Linux 幫助手冊 1.怎么打開幫助手冊 打開 ubuntu ,輸入 man 命令打開幫助手冊,直接在控制臺輸入 man 就可以了, man 手冊一共有 9 頁&#xff0c…

2025年后端主流框架對比和競爭格局及趨勢發展

2025年的后端開發呈現出云原生主導、性能革命、AI深度融合的技術格局,主流框架在細分領域持續分化,新興技術快速滲透關鍵場景。以下是基于行業實踐與技術演進的深度解析: 一、主流框架競爭態勢與核心能力 1. Java生態:企業級市場的…

bRPC簡介

bRPC基礎介紹。 什么是RPC? 互聯網上的機器大都通過TCP/IP協議相互訪問,但TCP/IP只是往遠端發送了一段二進制數據,為了建立服務還有很多問題需要抽象: 數據以什么格式傳輸?不同機器間,網絡間可能是不同的字節序&am…

力扣網C語言編程題:在數組中查找目標值位置之二分查找法

一. 簡介 上一篇文章對力扣網上"有序數組中查找目標值范圍"題目進行了普通的解法。文章如下: 力扣網C語言編程題:在數組中查找目標值位置之暴力解法-CSDN博客 本文使用二分查找法進行實現,因為二分查找法符合題目要求&#xff0…

前端查詢條件加密傳輸方案(SM2加解密)

一、需求背景 控臺項目甲方進行安全測試,測試報告其中一條:敏感信息明文傳輸 1 敏感信息明文傳輸 中危 查詢接口傳輸手機號、銀行卡號等敏感信息時未加密/脫敏處理。 二、解決方案 討論出的方案是通過前端查詢條件加密,后端對加密的…

【Python】Flask網頁

Flask第三方庫安裝命令:pip install flask代碼:from flask import Flask app Flask(__name__)app.route("/") def hello():return "Hello world!"if __name__ "__main__":app.run()其中的"Hello world!"可以改…

數字資產革命中的信任之錨:RWA法律架構的隱形密碼

首席數據官高鵬團隊律師創作,AI輔助 在數字經濟的浪潮中,資產的邊界正在被重新定義。當一塊地產、一筆應收賬款、甚至一份碳配額被轉化為鏈上的數字代幣時,技術的光芒固然耀眼,但真正決定其生命力的,是背后隱匿的“信…

mobaxterm終端sqlplus亂碼問題解決

背景。使用mobaxterm終端連接linux。在查詢數據庫表注釋時發現**?**中文亂碼。影響對表的分析。完成以下三個編碼設置再打開sqlplus查詢含中文的數據就正常了 總結。需要查看sqlplus的編碼是什么 SELECT parameter, value FROM nls_database_parameters WHERE pa…

一個簡單的分布式追蹤系統

1. 準備工作 導入必要的庫 import contextvars import time from typing import Any, Optional, Dict, List, Union from dataclasses import dataclass, field2. 定義上下文變量 # 定義兩個上下文變量,存儲當前 Span 和 Trace _current_span: contextvars.Conte…

【Qt】事件處理、事件分發器、事件過濾器

事件處理 一. 事件事件處理鼠標事件處理按鍵事件處理定時器事件處理窗口事件處理 二. 事件分發器三. 事件過濾器 雖然 Qt 是跨平臺的 C 開發框架,Qt 的很多能力其實是操作系統提供的,只不過 Qt 封裝了系統 API,程序是運行在操作系統上的&…