制作网站什么制作软件,网站推广官方平台,dw修改wordpress主题,建设自动弹出qq对话框的网站文章目录 1. 神经网络结构2. 训练步骤3. 反向传播4. 为什么深#xff0c;而不是宽#xff08;模块化#xff09;5. 初始化参数能否全为0#xff1f; 1. 神经网络结构
输入层隐藏层#xff1a;用于特征转换输出层#xff1a;用于分类技巧#xff1a;将网络中的参数写成矩… 文章目录 1. 神经网络结构2. 训练步骤3. 反向传播4. 为什么深而不是宽模块化5. 初始化参数能否全为0 1. 神经网络结构
输入层隐藏层用于特征转换输出层用于分类技巧将网络中的参数写成矩阵形式利用GPU加速 2. 训练步骤
确定神经网络的结构
需要根据输入和输出的维度来确定结构最关键的部分。注考虑输入之间的内在关联所有的类class使用同一个模型进行分类。
评估函数
输出与正确结果的交叉熵。
选择最优函数
梯度下降法。 3. 反向传播
概念
反向传播是一种在做梯度下降时的微分方法。
方式
从后向前计算微分因为前面的微分需要后面的结果。
两个部分 梯度 ∇ f w ∂ l ∂ w ∂ z ∂ w ⋅ ∂ l ∂ z \nabla f_w \frac{\partial l}{\partial w} \frac{\partial z}{\partial w} \cdot \frac{\partial l}{\partial z} ∇fw∂w∂l∂w∂z⋅∂z∂l 正向传播 ∂ z ∂ w \frac{\partial z}{\partial w} ∂w∂z 即每一个神经元的输出。 反向传播 ∂ l ∂ z ∂ a ∂ z ⋅ ∂ l ∂ a σ ′ ( z ) [ w 3 ⋅ ∂ l ∂ z ′ w 4 ⋅ ∂ l ∂ z ′ ′ ] \frac{\partial l}{\partial z} \frac{\partial a}{\partial z} \cdot \frac{\partial l}{\partial a} \sigma(z) \left[ w_3 \cdot \frac{\partial l}{\partial z} w_4 \cdot \frac{\partial l}{\partial z} \right] ∂z∂l∂z∂a⋅∂a∂lσ′(z)[w3⋅∂z′∂lw4⋅∂z′′∂l]
将正向传播和反向传播的结果相乘得到L对w的偏微分。
与正向传播比较
反向传播需要更多的内存但效率更高。无需像正向传播那样每次计算微分时都要重新计算后续的结果减少了栈空间的使用。
全连接反馈网络
每一层的神经元输出全部进入下一层的输入。 4. 为什么深而不是宽模块化
更深的网络它的模型更加复杂但这种复杂性是模块化的。
核心
将复杂的问题分解为多个简单的问题。每一层的神经元处理相同级别的任务其输出作为更高层次任务的数据来源。
好处
每一层的输出都可以被深层的神经元重复利用避免像浅层网络那样每次都重新计算提高效率。深层的隐藏层能够更详细地提取特征提取后的特征能更好地进行分类且比人为指定的特征更接近最优解。每个基本分类器能够获得足够的训练示例相比于平铺网络较少的数据就能训练好。
注
深度/平铺网络的参数量是一样的复杂性指的是网络结构而不是参数数量。 5. 初始化参数能否全为0
同一层的神经元是同构的具有相同的输入和输出。如果初始参数设置为相同值无论正向还是反向传播它们的取值都会一样导致学习过程无法打破对称性最终训练结果会使同一层的参数都相同。因此应该在初始化时随机赋值以打破这种对称性。