神经网络 03(参数初始化)

一、参数初始化

对于某一个神经元来说,需要初始化的参数有两类:一类是权重W,还有一类是偏置b,偏置b初始化为0即可。而权重W的初始化比较重要,我们着重来介绍常见的初始化方式。

(1)随机初始化

随机初始化从均值为 0,标准差是 1 的高斯分布(也叫正态分布)中取样,使用一些很小的值对参数 W 进行初始化。

(2)标准初始化

权重参数初始化从区间均匀随机取值。即在(-1/√d,1/√d)均匀分布中生成当前神经元的权重,其中 d 为每个神经元的输入数量。

(3)Xavier 初始化(在 tf.keras 中 默认 使用)

该方法的基本思想是各层的激活值和梯度的方差在传播过程中保持一致,也叫做 Glorot 初始化。在tf.keras中实现的方法有两种:

① 正态化的 Xavier 初始化

Glorot 正态分布初始化器,也称为 Xavier 正态分布初始化器。它从以 0 为中心,标准差为 stddev = sqrt(2 / (fan_in + fan_out)) 的正态分布中抽取样本, 其中 fan_in 是输入神经元的个数, fan_out 是输出的神经元个数。

python 复制代码
# 导入工具包
import tensorflow as tf
# 进行实例化
initializer = tf.keras.initializers.glorot_normal()
# 采样得到权重值
values = initializer(shape=(9, 1))
# 打印结果
print(values)

②标准化的 Xavier 初始化

Glorot 均匀分布初始化器,也称为 Xavier 均匀分布初始化器。它从 -limit,limit 中的均匀分布中抽取样本, 其中 limit 是 sqrt(6 / (fan_in + fan_out)), 其中 fan_in 是输入神经元的个数, fan_out 是输出的神经元个数。

python 复制代码
# 导入工具包
import tensorflow as tf
# 进行实例化
initializer = tf.keras.initializers.glorot_uniform()
# 采样得到权重值
values = initializer(shape=(9, 1))
# 打印结果
print(values)

(4)He 初始化

he初始化,也称为Kaiming初始化,出自大神何恺明之手,它的基本思想是正向传播时,激活值的方差保持不变;反向传播时,关于状态值的梯度的方差保持不变。在tf.keras中也有两种:

① 正态化的 He 初始化

He 正态分布初始化是以 0 为中心,标准差为 stddev = sqrt(2 / fan_in) 的截断正态分布中抽取样本, 其中 fan_in 是输入神经元的个数,在tf.keras中的实现方法为:

python 复制代码
# 导入工具包
import tensorflow as tf
# 进行实例化
initializer = tf.keras.initializers.he_normal()
# 采样得到权重值
values = initializer(shape=(9, 1))
# 打印结果
print(values)

② 标准化的 He 初始化

He 均匀方差缩放初始化器。它从 [-limit,limit] 中的均匀分布中抽取样本, 其中 limitsqrt(6 / fan_in), 其中 fan_in 输入神经元的个数。实现为:

python 复制代码
# 导入工具包
import tensorflow as tf
# 进行实例化
initializer = tf.keras.initializers.he_uniform()
# 采样得到权重值
values = initializer(shape=(9, 1))
# 打印结果
print(values)
相关推荐
Java小白笔记3 分钟前
Windows系统免软件命令激活
java·网络·人工智能·windows·ai·ai编程
王志来137944730083 分钟前
从分散到集成:工控服务器机箱采购如何实现“一站式”破局
运维·服务器·人工智能·python
万岳科技系统开发4 分钟前
AI数字人直播系统搭建从需求分析到正式上线全流程解析
人工智能·需求分析
小O的算法实验室9 分钟前
IEEE TCDS,基于改进双神经网络三维未知环境多机器人协同区域覆盖搜索
人工智能·神经网络·机器人
无凭14 分钟前
DeepSeek Harness 为什么需要 Cordis:从 Everything is Plugin 开始看
人工智能·架构
炮哥聊AI14 分钟前
会调工具的 Agent 只值一半:真正的业务智能体,得会"记仇"
人工智能·agent
字节跳动数据库17 分钟前
火山 PostgreSQL Serverless × 飞书妙搭:把 AI 装进数据库,一句话唤醒数据智能
数据库·人工智能·后端
智购科技自动贩卖机18 分钟前
自动售货机硬件主控方案选型实战:单片机、树莓派、ESP32怎么选?
人工智能·单片机·嵌入式硬件·物联网·网络协议·yolo·架构
用户19172912708319 分钟前
企业 Agent 运行时护栏:独立安全层四道防线设计与落地
人工智能
beiju21 分钟前
从 Meta AI Mac 版看 Agent 产品:桌面端真正解决的是交付上下文
人工智能