深度學習-數值穩定性和模型初始化

到目前為止,我們實現的每個模型都是根據某個預先制定的分布來初始化模型的參數,有人會認為初始化方案時理所當然的,忽略了如何做出這些選擇的細節,甚至有人可能會覺得,初始化方案的選擇并不是特別重要,實際上,初始化方案的選擇在神經網絡學習中起著舉足輕重的作用,保持數值穩定性至關重要。此外,這些初始化方案的選擇可以與非線性激活函數的選擇有趣的結合在一起。我們選擇哪個函數以及如何初始化參數可以決定優化算法收斂的速度有多快,糟糕的選擇可能會導致我們在訓練時遇到梯度爆炸或者梯度消失,本節將更詳細的探討這些主題,討論一些有用的啟發方式方法。這些啟發方式在整個深度學習中都很有用。

4.8.1 梯度小時和梯度爆炸

考慮一個具有L層,輸入x和輸出o的深層網絡。每一層l由變換f1定義,該變換的參數為權重W(l),隱藏變量是h(l) 令h(0) =x。我們的網絡可以表示為

h(l) = Flh(l-1), 因此 o = FL .... Fl(x)

換而言之,該剃度是L-1 個矩陣M(L) ... M(l + 1) 與梯度向量v(l)的乘積。因此,我們容易受到數值下溢問題的影響,當將過多的概率在一起相承時,這種問題經常會出現。在處理概率時,一個常見的技巧是切換到對數空間,即將數值表示的壓力從尾數轉移到指數。遺憾的是,這會使上面的問題更為嚴重,矩陣M可能是各種各樣的特征值,可能很小,也可能很大,而他們的乘積可能非常大,也可能非常小。

不穩定梯度帶來的風險不僅在于數值表示,也威脅到優化算法的穩定性。我們可能面臨一些問題,要么是梯度爆炸問題,參數更新過大,破壞了模型的穩定收斂,要么是梯度消失問題,參數更新過小,在每次更新時幾乎不會移動。導致模型無法學習。

1 梯度消失

曾經sigmoid 函數很流行,因為它類似于閾值函數,由于早期的人工神經網絡受到生物神經網絡的啟發,神經元要餓完全激活,要么完全不激活的想法很吸引力。然而,卻是導致梯度消失的一個常見原因,我們仔細看著sigmoid函數為什么導致梯度消失

%matplotlib inline

import torch

from d2l import torch as d2l

x = torch.arange(-8.0, 8.0, 0.1, requires_grad = True);

y = torch.sigmoid(x)

y.backward(torch.ones_like(x))

d2l.plot(x.detach().numpy(),[y.detach().numpy(),x.grad.numpy()],legend=['sigmoid','gradient'],figsize=(4.5,2.5))

正如上圖曲線所示sigmoid函數輸入很大或者很小梯度就會消失此外反向傳播通過許多除非恰好sigmoid函數輸入接近位置否則整個乘積梯度可能會消失網絡很多層時候除非我們很小心否則某一層可能會切斷梯度事實這個問題曾經困擾深度網絡訓練因此更穩定RelU系列函數已經成為從業者默認選擇(雖然從神經科學的角度看起來不會太合理)

  1. 梯度爆炸

梯度消失相反梯度爆炸可能同樣令人煩惱為了更好說明這一點我們生成100高斯隨機矩陣將他們某個初始矩陣相乘對于我們選擇尺寸矩陣乘積發生了爆炸當這種情況深度網絡初始化所導致我們沒有機會梯度下降優化收斂

M = torch.normal(0, 1, size = (4,4))

printf('一個矩陣\n');

for i in range(100)

M = torch.mm(M, torch.normal(0, 1, size(4, 4)));

3 打破對成型

神經網絡設計中另一個問題參數固有對稱性假設我們有一個簡單多層感知有一個隱藏兩個隱藏單元在這種情況下我們可以第一層權重進行排列并且同樣輸出層權重進行重排列可以獲得相同函數第一個隱藏單元第二個隱藏單元沒有什么區別換句話說每一層隱藏單元之間具有排列對稱性

4.8.2 參數初始化

解決上述問題一種方法進行參數初始化優化期間適當正則化也可以進一步提高穩定性

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

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

相關文章

SFINAE(Substitution Failure Is Not An Error)

C 中的 SFINAE(替換失敗并非錯誤) SFINAE(Substitution Failure Is Not An Error)是 C 模板元編程的核心機制之一,允許在編譯時根據類型特性選擇不同的模板實現。以下通過代碼示例和底層原理,逐步解析 SFI…

【Python筆記 04】輸入函數、轉義字符

一、Input 輸入函數 prompt是提示,會在控制臺顯示,用作提示函數。 name input("請輸入您的姓名:") print (name)提示你輸入任意信息: 輸入input test后回車,他輸出input test 二、常用的轉義字符 只講…

什么是量子計算?它能做什么?

拋一枚硬幣。要么正面朝上,要么反面朝上,對吧?當然,那是在我們看到硬幣落地的結果之后。但當硬幣還在空中旋轉時,它既不是正面也不是反面,而是正面和反面都有一定的可能性。 這個灰色地帶就是量子計算的簡…

入門 Go 語言

本專欄的 Go 語言學習參考了B站UP 軟件工藝師的視頻 本節需要: Go 語言環境VSCode 安裝環境 下載 Go 環境,并安裝下載 VSCode,安裝。在 VSCode 中安裝 Go 擴展: 接下來就可以編寫 Go 語言了 第一條 Go Go 語言是一種編譯型…

Oracle EBS R12.2 漢化

一、前言 在使用oracle ebs時,使用中文會更好的理解整個ebs流程,以下介紹oracle r12中文補丁的方式 如果你的系統除了支持英語外,還支持其他語言,比如中文,那你在下載補丁的時候除了下載Generic Platform版本外&#…

參考文獻新國標GB/T 7714-2025的 biblatex 實現

參考文獻新國標GB/T 7714-2025的biblatex實現 新版 GB/T 7714 目前正在修訂和征求意見(https://std.samr.gov.cn/gb/search/gbDetailed?id14CA9D282EB75AC8E06397BE0A0AEA2E)。 根據已經呈現的草案,初步實現了biblatex樣式(詳見biblatex-gb…

Discuz!與DeepSeek的深度融合:打造智能網址導航新標桿

引言 在數字化信息爆炸的時代,網址導航網站作為用戶獲取優質資源、高效瀏覽互聯網的重要入口,其信息篩選能力、用戶體驗和商業化潛力成為了決定其競爭力的核心要素。Discuz!作為國內應用廣泛的社區論壇系統,以其強大的功能擴展性和用戶管理能…

Linux424 chage密碼信息 gpasswd 附屬組

https://chat.deepseek.com/a/chat/s/e55a5e85-de97-450d-a19e-2c48f6669234

【低配置電腦預訓練minimind的實踐】

低配置電腦預訓練minimind的實踐 概要 minimind是一個輕量級的LLM大語言模型,項目的初衷是拉低LLM的學習門檻,讓每個人都能從理解每一行代碼開始, 從零開始親手訓練一個極小的語言模型。對于很多初學者而言,電腦配置僅能夠滿足日…

docker部署Ollama并簡單調用模型

Ollama簡介 Ollama 是一個開源的大型語言模型(LLM)平臺,旨在讓用戶能夠輕松地在本地運行、管理和與大型語言模型進行交互。 Ollama 提供了一個簡單的方式來加載和使用各種預訓練的語言模型,支持文本生成、翻譯、代碼編寫、問答等…

Redis安裝及入門應用

應用資料:https://download.csdn.net/download/ly1h1/90685065 1.獲取文件,并在該文件下執行cmd 2.輸入redis-server-lucifer.exe redis.windows.conf,即可運行redis 3.安裝redis客戶端軟件 4.安裝后運行客戶端軟件,輸入鏈接地址…

《重塑AI應用架構》系列: Serverless與MCP融合創新,構建AI應用全新智能中樞

在人工智能飛速發展的今天,數據孤島和工具碎片化問題一直是阻礙AI應用高效發展的兩大難題。由于缺乏統一的標準,AI應用難以無縫地獲取和充分利用數據價值。 為了解決這些問題,2024年AI領域提出了MCP(Model Context Protocol模型上…

從入門到精通【MySQL】視圖與用戶權限管理

文章目錄 📕1. 視圖??1.1 視圖的基本概念??1.2 試圖的基本操作🔖1.2.1 創建視圖🔖1.2.2 使用視圖🔖1.2.3 修改數據🔖1.2.4 刪除視圖 ??1.3 視圖的優點 📕2. 用戶與權限管理??2.1 用戶🔖…

輸入捕獲模式測頻率

前提工作: PA6、PA0通過跳線相連,PA6測試PA0的輸出頻率 本來只有下列函數,改變占空比 但是我們需要測試頻率,需要動態改變頻率。 void PWM_SetCompare1(uint16_t Compare) {TIM_SetCompare1(TIM2, Compare); //設置CCR1的值 }…

通付盾入選蘇州市網絡和數據安全免費體驗目錄,引領企業安全能力躍升

近日,蘇州市網絡安全主管部門正式發布《蘇州市網絡和數據安全免費體驗產品和服務目錄》,通付盾憑借其在數據安全、區塊鏈、AI領域的創新實踐和前沿技術實力,成功入選該目錄。 作為蘇州市網絡安全技術支撐單位,通付盾將通過 “免費…

AI日報 - 2025年04月25日

🌟 今日概覽(60秒速覽) ▎🤖 AGI突破 | OpenAI o3模型展現行動能力,英國發布RepliBench評估AI自主復制風險,DeepMind CEO擔憂AGI協調挑戰。 模型能力向行動和自主性演進,安全與協調成為焦點。 ▎💼 商業動向…

DeepSeek開源引爆AI Agent革命:應用生態迎來“安卓時刻”

開源低成本:AI應用開發進入“全民時代” 2025年初,中國AI領域迎來里程碑事件——DeepSeek開源模型的橫空出世,迅速在全球開發者社區掀起熱潮。其R1和V3模型以超低API成本(僅為GPT-4o的2%-10%)和本地化部署能力&#x…

CDGP|大模型賦能數據治理:實踐案例與深度剖析

隨著大數據技術的飛速發展,數據規模呈爆炸式增長,數據來源也日趨多樣化。在這個背景下,大模型,即具有數十億甚至上百億參數的深度學習模型,逐漸成為數據處理和分析的重要工具。大模型具備處理多任務、理解復雜語言模式…

Ubuntu 一站式部署 RabbitMQ 4 并“徹底”遷移數據目錄的終極實踐

1 安裝前準備 sudo apt update -y sudo apt install -y curl gnupg apt-transport-https lsb-release jq若計劃將數據放到新磁盤(如 /dev/nvme0n1p1): sudo mkfs.xfs /dev/nvme0n1p1 sudo mkdir /data echo /dev/nvme0n1p1 /data xfs defau…

5.2.3 WPF 中 XAML 文件 Converter 使用介紹

Converter(轉換器)在 WPF 數據綁定中扮演著重要角色,用于在源數據和目標屬性之間進行值轉換 舉例來說:我想用一個bool量來控制一個背景,為true時,顯示紅色;為false時背景用默認顏色。因此 Backg…