深度學習 ---參數初始化以及損失函數

深度學習 —參數初始化以及損失函數


文章目錄

  • 深度學習 ---參數初始化以及損失函數
  • 一,參數初始化
    • 1.1 固定值初始化
      • 1.1.1 全0初始化
      • 1.1.2 全1初始化
      • 1.3 任意常數初始化
    • 1.2 隨機初始化


一,參數初始化

神經網絡的參數初始化是訓練深度學習模型的關鍵步驟之一。初始化參數(通常是權重和偏置)會對模型的訓練速度、收斂性以及最終的性能產生重要影響。

1.1 固定值初始化

固定值初始化是指在神經網絡訓練開始時,將所有權重或偏置初始化為一個特定的常數值。這種初始化方法雖然簡單,但在實際深度學習應用中通常并不推薦。

1.1.1 全0初始化

方面內容
方法將所有權重初始化為零。
缺點1. 對稱性破壞:每個神經元在每一層中都會執行相同的計算,模型無法學習。
2. 權重更新一致:在反向傳播時,所有神經元會收到相同的梯度,導致權重更新完全一致。
3. 降低表達能力:同一層的神經元會保持相同的功能,極大降低模型的表達能力。
應用場景通常不用來初始化權重,但可以用來初始化偏置。
對稱性問題- 現象:同一層的所有神經元具有完全相同的初始權重和偏置。
- 后果:在反向傳播時,所有神經元會收到相同的梯度,導致權重更新完全一致;無論訓練多久,同一層的神經元本質上會保持相同的功能(相當于“一個神經元”的多個副本),極大降低模型的表達能力。
import torch
import torch.nn as nndef test004():linear = nn.Linear(in_features=6, out_features=4)nn.init.zeros_(linear.weight)print(linear.weight)if __name__ == "__main__":test004()

1.1.2 全1初始化

全1初始化會導致網絡中每個神經元接收到相同的輸入信號,進而輸出相同的值,這就無法進行學習和收斂。所以全1初始化只是一個理論上的初始化方法,但在實際神經網絡的訓練中并不適用

import torch
import torch.nn as nndef test003():linear = nn.Linear(in_features=6, out_features=4)nn.init.ones_(linear.weight)print(linear.weight)if __name__ == "__main__":test003()

1.3 任意常數初始化

將所有參數初始化為某個非零的常數(如 0.1,-1 等)。雖然不同于全0和全1,但這種方法依然不能避免對稱性破壞的問題

import torch
import torch.nn as nndef test002():linear = nn.Linear(in_features=6, out_features=4)nn.init.constant_(linear.weight, 0.63)print(linear.weight)passif __name__ == "__main__":test002()

1.2 隨機初始化

方面內容
方法使用隨機數生成器為每個權重分配一個隨機值。通常從某個分布(如正態分布或均勻分布)中采樣。例如:
- 均勻分布:從 [?a,a][-a, a][?a,a] 中隨機采樣,其中 aaa 是一個小的常數。
- 正態分布:從均值為0、標準差為 σ\sigmaσ 的正態分布中采樣。
優點1. 打破對稱性:每個神經元的初始權重不同,避免了所有神經元執行相同計算的問題。
2. 加速收斂:隨機初始化可以避免梯度消失或梯度爆炸的問題,使訓練過程更加穩定。
3. 提高模型表達能力:不同的初始權重使得每個神經元能夠學習不同的特征,增強了模型的表達能力。
缺點1. 選擇合適的范圍:如果隨機初始化的范圍過大或過小,可能會導致訓練不穩定或收斂緩慢。例如,范圍過大可能導致梯度爆炸,范圍過小可能導致梯度消失。
2. 需要調整超參數:需要選擇合適的分布和范圍,這可能需要一些實驗和調優。
應用場景適用于大多數神經網絡的權重初始化,尤其是深層網絡。正態分布和均勻分布是最常用的初始化方法。
注意事項1. 小范圍初始化:通常選擇較小的隨機范圍,例如 [?0.01,0.01][-0.01, 0.01][?0.01,0.01] 或標準差為0.01的正態分布。
2. 根據網絡深度調整:對于較深的網絡,可能需要更小的初始化范圍,以避免梯度消失或爆炸。
3. 結合激活函數:不同的激活函數可能需要不同的初始化策略。例如,ReLU 激活函數通常需要使用 He 初始化(正態分布,標準差為 2/n\sqrt{2/n}2/n?),而 Sigmoid 或 Tanh 激活函數通常使用 Xavier 初始化(均勻分布或正態分布,范圍根據輸入和輸出維度調整)。
def test01():model =nn.Linear(8,1)print(model.weight)#均勻分步初始化nn.init.normal_(model.weight,mean=0,std=0.01)print(model.weight)#正態分布初始化# 均值為0,標準差為0.01nn.init.normal_(model.weight,mean=0,std=0.01)print(model.weight)
if __name__ == '__main__':test01()

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

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

相關文章

JS--M端事件

移動端(Mobile 端,簡稱 M 端)開發中,由于設備特性(觸摸屏、手勢操作等),需要處理一些與桌面端不同的事件。這些事件主要針對觸摸交互、手勢識別等場景 一、觸摸事件(Touch Events&am…

Linux網絡編程-tcp

tcp、udp對比:UDP1. 特點無連接:無需建立連接即可發送數據。不可靠:不保證數據順序或完整性。低延遲:適合實時性要求高的場景。2. 應用場景視頻/音頻流傳輸(如直播)。DNS 查詢、在線游戲。TCP1. 特點面向連…

記一次flink資源使用優化

一.現狀分析 現有任務的資源配置如下,根據ui監控中Garbage Collection可以發現,此任務頻繁的發生GC,且老年代GC時間較久二.整體memory使用分析如下Framework Heap(框架堆內存)用于Flink框架自身的堆內存(如…

Vue底層換成啥了?如何更新DOM的?

摘要:之前的vue是使用虛擬 DOM的,但是Vue 3.6 帶來了一個意義重大的更新: Vapor Mode 渲染模式。Vue 渲染策略的演進: Vue 1.x: 基于模板渲染策略,直接將模板轉換為DOM元素,并為每個DOM元素創建…

0722 數據結構順序表

Part 1.順序表的代碼一.順序表的內存申請head.h: typedef int datatype;typedef struct sqlist {//數據元素datatype data[MAXSIZE];//順序表長度int len;}*sqlist; //*sqlist的作用: //sqlist:struct Sqlist * sqlist create();head.c: sqlist create() {sqlist list (sqlist)…

為何在 Vue 的 v-model 指令中不能使用可選鏈(Optional Chaining)?

Vue 的 v-model 是實現組件與數據雙向綁定的核心指令之一,它本質上是一個語法糖,用于簡化對表單元素和組件 props 的同步更新。然而,在 Vue 3(以及 Vue 2 的某些模式下),開發者嘗試在 v-model 中使用 JavaS…

基于單片機智能藥盒/智能藥箱/定時吃藥系統

傳送門 👉👉👉👉其他作品題目速選一覽表 👉👉👉👉其他作品題目功能速覽 概述 本設計實現了一種基于單片機的智能藥盒,系統以微控制器(如STM32&#xff…

(25)python+playwright自動化處理單選和多選按鈕-中

1.簡介上一篇中講解和介紹的單選框有點多,而且由于時間的關系,決定今天講解和分享復選框的相關知識。2.什么是單選框、復選框?單選按鈕一般叫raido button,就像我們在電子版的單選答題過程一樣,單選只能點擊一次&#…

Nginx IP授權頁面實現步驟

目標:一、創建白名單文件sudo mkdir -p /usr/local/nginx/conf/whitelist sudo touch /usr/local/nginx/conf/whitelist/temporary.conf二、創建Python認證服務文件路徑:/opt/script/auth_server.pyimport os import time from flask import Flask, requ…

2025年7月中科院一區-向光生長優化算法Phototropic growth algorithm-附Matlab免費代碼

引言 本期介紹一種新的元啟發式算法——向光生長優化算法Phototropic growth algorithm,PGA。靈感來自植物細胞在陽光下的生長模式。于2025年7月最新發表在JCR 1區,中科院1區 SCI 期刊 Knowledge-Based Systems。 該算法將生物學啟發的確定性生長行為與…

poi-excel-添加水印

1、官網快速指南 https://poi.apache.org/components/spreadsheet/quick-guide.html 訪問如上地址可以查看到poi的相關操作方式: How to create a new workbookHow to create a sheetHow to create cellsHow to create date cellsWorking with different types of…

STM32 開發的鼠標:技術詳解與實現指南

概述基于STM32微控制器開發的鼠標是一種高度可定化的輸入設備解決方案,廣泛應用于工業控制、嵌入式系統、特殊人機交互等領域。相比傳統鼠標,STM32鼠標具有以下優勢:高度可定制性:可添加特殊功能按鍵、傳感器集成低功耗設計&#…

GoLang教程007:打印空心金字塔

4.6 案例一&#xff1a;打印金字塔編寫一個程序&#xff0c;可以接收一個整數&#xff0c;表示層數&#xff0c;打印出金字塔。1??第一步&#xff1a;打印一個矩形 package mainimport "fmt"func main() {// i表示層數for i : 1; i < 3; i {// j表示每層打印多少…

iOS開發 Swift 速記3:運算符與控制結構

初級代碼游戲的專欄介紹與文章目錄-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代碼都將會位于ctfc庫中。已經放入庫中我會指出在庫中的位置。 這些代碼大部分以Linux為目標但部分代碼是純C的&#xff0c;可以在任何平臺上使用。 源碼指引&#xff1a;github源…

ElasticSearch中需要注意的點,附官方文檔解讀

1.批量更新數量大小限制 https://www.elastic.co/guide/cn/elasticsearch/guide/current/bulk.html#_How_Big_Is_Too_Big 整個批量請求都需要由接收到請求的節點加載到內存中&#xff0c;因此該請求越大&#xff0c;其他請求所能獲得的內存就越少。批量請求的大小有一個最佳值…

Git GitHub精通:前端協作開發的“瑞士軍刀“!

前言&#xff1a;為什么你的代碼總是"失蹤"&#xff1f; "啊&#xff01;我的代碼呢&#xff1f;"——這可能是每個程序員都曾發出過的靈魂吶喊。還記得上周我熬夜寫的300行JavaScript&#xff0c;第二天醒來發現被自己手賤覆蓋了&#xff0c;那一刻我深刻…

第 30 場 藍橋·算法入門賽 題解

1. 零食爭議【算法賽】 簽到題&#xff1a;1-7奇數相加 #include <bits/stdc.h> using namespace std; int main() {// 請在此輸入您的代碼cout<<1357;return 0; } 2. 數字炸彈【算法賽】 把n個人看為前n-1和后n-1 &#xff0c; 方便找到是第幾段的第幾個數 #in…

閑庭信步使用圖像驗證平臺加速FPGA的開發:第二十四課——圖像直方圖均衡化的FPGA實現

&#xff08;本系列只需要modelsim即可完成數字圖像的處理&#xff0c;每個工程都搭建了全自動化的仿真環境&#xff0c;只需要雙擊top_tb.bat文件就可以完成整個的仿真&#xff0c;大大降低了初學者的門檻&#xff01;&#xff01;&#xff01;&#xff01;如需要該系列的工程…

LabVIEW 2025安裝包| 免費免激活版下載| 附圖文詳細安裝教程

[軟件名稱]&#xff1a;LabVIEW 2025 [軟件大小]&#xff1a;13 G [系統要求]&#xff1a;支持Win7及更高版本 [下載通道]:夸克網盤 [下載鏈接]: https://pan.quark.cn/s/7e9527cc06a3 &#xff08;建議用手機保存到網盤后&#xff0c;再用電腦下載&#xff09; 更多免費軟件&a…

如何實現泵站的無人值守:御控智慧水務平臺

在城鄉供水、農田灌溉、工業循環水等場景中&#xff0c;泵站作為核心動力設施&#xff0c;其運行效率直接影響水資源調配的穩定性。然而&#xff0c;傳統泵站管理長期面臨三大痛點&#xff1a;人力成本高昂&#xff1a;偏遠地區泵站需24小時值守&#xff0c;單站年均人力成本超…