🎄 你明白什么是激活函数吗?
- 激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线
- 假如需要将下图中的三角形和圆形分开,我们无法用一条直线来解决这个问题

- 该问题是线性不可分的,所以多感知器也不能解决这个问题。接下来,就让我们看看激活函数能不能解决
- 在每一层叠加完后,我们为输出与输入之间加上一个激活函数,这样就引入了非线性因素,这样也许就能将这个线性不可分的问题解决
- 最后也许就是这个样子:

🍵 为什么不加激活函数多层全连接的输出一直是直线?
全连接的核心操作就是矩阵向量乘积
`y=Wx`
本质就是由一个特征空间线性变换到另一个特征空间。目标空间的任一维——也就是隐层的一个 cell——都认为会受到源空间的每一维的影响。不考虑严谨,可以说,目标向量是源向量的加权和
🥑 道理我都懂,可是梯度下降在神经网络里是怎么工作的?
- 每一个机器学习模型都有一个损失函数,学习的目的,就是将损失函数最小化。损失函数y是一个关于待求参数x的函数,即:
- 然而,并非所有函数都能一下子就找到最小值。
- 所以,需要使用梯度下降法
- 梯度下降法的过程(损失函数以下面这个一元函数
为例):
- 随机初始化待求参数x的初始值,比如

- 计算当前x处的导数(梯度), 假设为:
- 令新的x的值为:
( 是一个很小值,名字叫步长,是我们自己设置的一个值。)
- 重复2、3直到x到达函数取得最小值时 的
附近(为什么是附近?因为x想精确的等于
比较困难,所以我们一般设置一个终止条件,x离
非常近时,此时的函数值跟函数最小值已经非常接近了,所以可以停止了)
- 以上是梯度下降法求解最小值点的过程,需要注意,为了表述方便,我使用的是最小值,其实上面求的是极小值(对于凹函数来说它们是等价的)
🥝 就一个二次函数有啥意思啊,试试其他函数!
- cos(x)

- exp(x)

- log(x)
