news 2026/6/9 23:17:45

神经网络和深度学习 第三周:浅层神经网络(三)初始化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
神经网络和深度学习 第三周:浅层神经网络(三)初始化

经过第二周的基础补充,本周内容的理解难度可以说有了很大的降低,主要是从逻辑回归扩展到浅层神经网络,讲解相关内容,我们按部就班梳理课程内容即可,当然,依旧会尽可能地创造一个较为丝滑的理解过程。

上一篇通过展开讲述激活函数的作用,并再次过了一遍浅层神经网络的传播过程,来说明浅层神经网络如何提高拟合能力,本篇则补上最后一块拼图,同时也是本周理论部分的最后一篇。

在这周的例子里,我们设置神经网络隐藏层的神经元为四个,输出层的神经元再综合四个神经元的输出结果计算最终的输出,那隐藏层神经元的数量增加后,又是如何发挥正向的作用呢?

我们知道每个神经元都有自己的参数,我们通过不断训练参数达到拟合效果,如何让每个神经元都真的对拟合起到帮助作用,就是本篇的内容:随机初始化

1. 什么是初始化

在训练神经网络之前,我们并不知道哪些参数(权重

和偏置

)是最好的,因此需要先给它们一个“起始值”,这个过程就叫做初始化。

这些初始值相当于我们在参数空间中的“出发点”,之后通过梯度下降不断调整,逐步逼近损失函数的最小值。

简单来说,就是赋初值。

2. 为什么要随机初始化

在逻辑回归中,我们并不强调初始化内容,这是因为整个网络只有一层线性组合与其相关的参数,我们的所有操作都是在更新这一组参数,因此,把这组参数初始化成什么样,并不算一个需要思考的地方,因为这组参数最终都会随着更新让损失达到最低点。

而现在,我们在隐藏层设置四个神经元,如果所有参数一开始都设为同一个值(例如全为 0),会出现一个非常严重的问题,我们看这样一个过程:

每个隐藏层神经元收到的输入一样;

计算得到的中间结果也完全一样;

反向传播时梯度也一样;

于是所有神经元更新后的参数依旧完全相同;

Pasted image 20251020100419

这样训练下去,即使我们设置了很多神经元,它们都在“做同样的事情”,模型就退化成只有一个神经元的效果。用专业术语来说,这叫对称性问题(Symmetry Problem)。

而解决办法就是在初始化时给每个神经元赋予一个不同的随机初始权重,打破对称性,让它们在训练过程中各自朝不同方向学习。

3.损失的凸与非凸问题

我们说逻辑回归不存在对称性问题,还有另外一个关键原因:它的损失函数是凸函数。

在第二周第四部分我们讲过,凸函数具有一个非常重要的特性:全局范围内只有一个最低点(全局最小值)。

这意味着:无论参数从哪里初始化, 只要我们沿着梯度下降方向不断更新参数,最终都会收敛到同一个最优点。

因此即使初始化相同,甚至初始化为 0,也不会导致模型陷入“学不动”或者“神经元行为完全一样”的问题,如下图所示:

Pasted image 20251020100135

但当我们从逻辑回归(单一线性变换)扩展为神经网络(包含隐藏层、激活函数、多个权重矩阵)时,经过无数函数的相乘,损失函数就不再是一个光滑的碗形函数,而变成了一个复杂的山地地形。

有无数个山峰(局部最大值)、山谷(局部最小值)、鞍点(既不是峰也不是谷)。

此时,损失函数不是凸函数,而是非凸的。

因此,我们才需要随机初始化不同的神经元,来不断探索损失函数的最小值。

4.举例类比随机初始化的作用

我们依旧用山坡来举例:

现在,我们派 4 个登山者去寻找一片山地的最低点(损失函数的最小值):

情况 结果

所有人从同一个山顶出发(全零初始化) 大家看到的坡度一样,朝同一个方向走,走的路径重叠,只等于一个人找路,效率极低。

每个人从不同位置出发(随机初始化) 各自看到的坡度不一样,探索方向不同,更可能有人找到更低的谷底(更优解)。

因此,随机初始化就是给每个神经元一个不同的出发点,让它们探索不同的优化空间。

5. 权重的随机初始化

在神经网络中,隐藏层的每个神经元都拥有属于自己的权重参数

和偏置

如果我们把所有权重都初始化为相同的值,就会造成一个严重的问题:对称性永远无法被打破,所有神经元的行为完全一样,网络就失去了“多神经元协作学习”的意义。

因此,我们需要为每一个权重赋予一个随机的初始值,这就叫做权重随机初始化。

它并不是让权重变得“乱七八糟”,而是把它们设定在一个很小且随机的范围内,例如:

(由标准正态分布随机生成的浮点数)

这样,就可以打破对称性,实现多个隐藏神经元探索多个不同方向的效果。

而对于权重的随机初始化,也有一些科学的初始化算法,我们遇到再说。

6. 偏置的初始化

与权重不同,偏置

一般不需要随机初始化,而是直接初始化为 0 或一个很小的常数。

这是因为偏置项不会造成之前提到的“对称性问题”,它作为一个常数,只是简单地把激活函数的输入整体向左或向右平移,不会影响神经元之间是否相同。

因此,在权重已经随机初始化实现了打乱效果后,我们便不会把过多的算法性能浪费在偏置上。

总结

这便是本周课程的最后一部分内容,相比第二周需要较多的基础补充,本周其实只是实现了从逻辑回归到浅层神经网络的扩展,了解了神经网络规模增加是如何帮助拟合的。

下一篇的内容便是本周的课后习题和代码实践,我们用实操来感受一下带隐藏层的神经网络相比逻辑回归带来的性能提升。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:20:17

机器人工程毕设 基于单片机的红外热视仪(源码+硬件+论文)

文章目录 0 前言1 主要功能2 硬件设计3 核心软件设计4 实现效果5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己…

作者头像 李华
网站建设 2026/6/10 14:12:14

Android多屏显示终极优化:SecondScreen完整配置实战指南

Android多屏显示终极优化:SecondScreen完整配置实战指南 【免费下载链接】SecondScreen Better screen mirroring for Android devices 项目地址: https://gitcode.com/gh_mirrors/se/SecondScreen SecondScreen是一款专为Android设备设计的显示优化神器&…

作者头像 李华
网站建设 2026/6/10 14:09:46

相机动画总结-相机直线运动动画、相机圆周运动动画

相机动画总结(.position 和 .lookAt()) 核心概念 相机动画主要通过控制相机对象的 .position 属性和 .lookAt() 方法来实现: 1. .lookAt() 方法 功能:设置相机观察的焦点,相当于调整相机镜头的指向参数:可以…

作者头像 李华
网站建设 2026/6/10 16:00:52

VibeVoice-1.5B终极指南:零基础打造专业级AI播客

想要用AI技术制作专业播客却不知从何入手?VibeVoice-1.5B为你提供了完美的解决方案。这款前沿的开源文本转语音模型能够生成长达90分钟的多说话人对话音频,彻底改变了传统语音合成的局限性。 【免费下载链接】VibeVoice-1.5B 项目地址: https://ai.gi…

作者头像 李华
网站建设 2026/6/10 11:18:22

推荐2025年好用的3个ai生成海报工具

2025年发展最快的ai工具当属ai生图,在这个大前提之前,ai生成海报成为了当前的一个发展方向,市面上也出现了许多ai生成海报的工具。这篇文章就为大家挑选了2025年好用的3个ai生成海报工具,每一个都有自己的特色。1、秒出设计秒出设…

作者头像 李华
网站建设 2026/6/10 8:21:28

LeetCode 3433.统计用户被提及情况:(大)模拟

【LetMeFly】3433.统计用户被提及情况:(大)模拟 力扣题目链接:https://leetcode.cn/problems/count-mentions-per-user/ 给你一个整数 numberOfUsers 表示用户总数,另有一个大小为 n x 3 的数组 events 。 每个 eve…

作者头像 李华