日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

深度学习: 参数初始化

發(fā)布時(shí)間:2023/12/15 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 深度学习: 参数初始化 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

深度學(xué)習(xí): 參數(shù)初始化

一、總結(jié)

一句話總結(jié):

1)、好的開始是成功的一半,為了讓你的模型跑贏在起跑線 ,請(qǐng)慎重對(duì)待參數(shù)初始化。
2)、tf的初始化器包括:tf.initializers.he_normal()、tf.initializers.truncated_normal()、tf.contrib.layers.xavier_initializer() 這三種。

1、全零初始化 (Zero Initialization)?

將網(wǎng)絡(luò)中 所有參數(shù) 初始化為 0 。如果所有的參數(shù)都是0,那么所有神經(jīng)元的輸出都將是相同的,那在back propagation的時(shí)候,gradient相同,weight update也相同。同一層內(nèi)所有神經(jīng)元的行為也是相同的。這顯然不可接受。

2、隨機(jī)初始化 (Random Initialization)?

a)、將參數(shù)值(通過(guò)高斯分布或均勻分布)隨機(jī)初始化為 接近0的 一個(gè)很小的隨機(jī)數(shù)(有正有負(fù)),從而使對(duì)稱失效。
b)、W = tf.Variable(np.random.randn(node_in, node_out)) * 0.001

二、深度學(xué)習(xí): 參數(shù)初始化

轉(zhuǎn)自或參考:深度學(xué)習(xí): 參數(shù)初始化
https://blog.csdn.net/JNingWei/article/details/78835390

Introduction

好的開始是成功的一半。
為了讓你的模型跑贏在起跑線 ε=ε=ε=( ̄▽ ̄) ,請(qǐng)慎重對(duì)待參數(shù)初始化。

Note

tf的初始化器包括:tf.initializers.he_normal()、tf.initializers.truncated_normal()、tf.contrib.layers.xavier_initializer() 這三種。
建議采用默認(rèn)配置。一般不會(huì)在這邊想trick,沒(méi)啥明顯增益。

API

TensorFlow中自帶關(guān)于參數(shù)初始化的API,具體使用見 tensorflow: variable初始化。

全零初始化 (Zero Initialization)

將網(wǎng)絡(luò)中 所有參數(shù) 初始化為 0 。

如果所有的參數(shù)都是0,那么所有神經(jīng)元的輸出都將是相同的,那在back propagation的時(shí)候,gradient相同,weight update也相同。同一層內(nèi)所有神經(jīng)元的行為也是相同的。

這顯然不可接受。

隨機(jī)初始化 (Random Initialization)

將參數(shù)值(通過(guò)高斯分布或均勻分布)隨機(jī)初始化為 接近0的 一個(gè)很小的隨機(jī)數(shù)(有正有負(fù)),從而使對(duì)稱失效。

W = tf.Variable(np.random.randn(node_in, node_out)) * 0.001

Note

node_innode_out表示 輸入神經(jīng)元個(gè)數(shù)輸出神經(jīng)元個(gè)數(shù)
其中,np.random.randn(node_in, node_out)輸出 服從標(biāo)準(zhǔn)正態(tài)分布node_in × node_out矩陣;
控制因子:0.001,保證參數(shù)期望接近0;
一旦隨機(jī)分布選擇不當(dāng),就會(huì)導(dǎo)致網(wǎng)絡(luò)優(yōu)化陷入困境。

Xavier初始化 (Xavier Initialization)

W = ( tf.Variable(np.random.randn(node_in, node_out)) / np.sqrt(node_in) ) * 0.001

Note

加上了 方差規(guī)范化/ np.sqrt(node_in),維持了 輸入、輸出數(shù)據(jù)分布方差一致性,從而更快地收斂。

He初始化 (He Initialization)

W = ( tf.Variable(np.random.randn(node_in, node_out)) / np.sqrt(node_in/2) ) * 0.001

Note

考慮到 非線性映射 (relu) 函數(shù) 的影響, 將 方差規(guī)范化分母 修改為 np.sqrt(node_in/2),能讓Relu網(wǎng)絡(luò)更快地收斂。

遷移學(xué)習(xí)初始化 (Pre-train Initialization)

預(yù)訓(xùn)練模型的參數(shù) 作為新任務(wù)上的初始化參數(shù)。

數(shù)據(jù)敏感初始化

根據(jù)自身任務(wù)數(shù)據(jù)集而特別定制的參數(shù)初始化方法。


[1] 聊一聊深度學(xué)習(xí)的weight initialization
[2] 深度學(xué)習(xí)之參數(shù)初始化策略

總結(jié)

以上是生活随笔為你收集整理的深度学习: 参数初始化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。