神经网络 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)
相关推荐
算法-大模型备案 多米1 分钟前
算法备案算法安全自评估报告模板(精简完善版)
大数据·网络·人工智能·算法·文心一言
Frostnova丶3 分钟前
LeetCode 238 & 2906.构造乘积数组与乘积矩阵
算法·leetcode·矩阵
阳火锅4 分钟前
鳌虾 AoCode:重新定义 AI 编程助手的下一代可视化工具
前端·人工智能·架构
用户446594547874 分钟前
OpenClaw 源码解析:架构设计与扩展开发
人工智能
leeshuqing7 分钟前
《Python程序设计(AI辅助学习版)》已经出版
人工智能·python·学习
张槊哲7 分钟前
拆解大语言模型(LLM)的底层推演、架构演进与工业落地
算法
沐曦股份MetaX8 分钟前
沐曦芯生 开源共创 | 沐曦股份北京AI研究院揭幕,共建开源生态高地
人工智能·开源
@大吉10 分钟前
AI笔记第二节:RNN 循环神经网络
人工智能·笔记·rnn
Less^_^11 分钟前
深入理解 AI 开发核心概念:Prompt、Agent、MCP、Skill 与 Tools
人工智能·microsoft·prompt
行走的大头12 分钟前
论文写作全流程工具推荐:从降AI率到数据分析,
人工智能·chatgpt·数据分析·aigc·ai写作