🎄 你明白什么是激活函数吗?

  • 激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线
  • 假如需要将下图中的三角形和圆形分开,我们无法用一条直线来解决这个问题
  • 1.jpg
  • 该问题是线性不可分的,所以多感知器也不能解决这个问题。接下来,就让我们看看激活函数能不能解决
  • 在每一层叠加完后,我们为输出与输入之间加上一个激活函数,这样就引入了非线性因素,这样也许就能将这个线性不可分的问题解决
  • 最后也许就是这个样子:
  • 2.jpg

**

🍵 为什么不加激活函数多层全连接的输出一直是直线?

  • 全连接的核心操作就是矩阵向量乘积

    1. `y=Wx`
  • 本质就是由一个特征空间线性变换到另一个特征空间。目标空间的任一维——也就是隐层的一个 cell——都认为会受到源空间的每一维的影响。不考虑严谨,可以说,目标向量是源向量的加权和

🥑 道理我都懂,可是梯度下降在神经网络里是怎么工作的?

  • 每一个机器学习模型都有一个损失函数,学习的目的,就是将损失函数最小化。损失函数y是一个关于待求参数x的函数,即:⛄第二周啦 - 图3
  • 然而,并非所有函数都能一下子就找到最小值。
  • 所以,需要使用梯度下降法
  • 梯度下降法的过程(损失函数以下面这个一元函数 ⛄第二周啦 - 图4 为例):
  1. 随机初始化待求参数x的初始值,比如 ⛄第二周啦 - 图51.jpg
  2. 计算当前x处的导数(梯度), 假设为: ⛄第二周啦 - 图7
  3. 令新的x的值为: ⛄第二周啦 - 图8

( ⛄第二周啦 - 图9 是一个很小值,名字叫步长,是我们自己设置的一个值。)

  1. 重复2、3直到x到达函数取得最小值时 的⛄第二周啦 - 图10 附近(为什么是附近?因为x想精确的等于⛄第二周啦 - 图11比较困难,所以我们一般设置一个终止条件,x离⛄第二周啦 - 图12非常近时,此时的函数值跟函数最小值已经非常接近了,所以可以停止了)
  2. 以上是梯度下降法求解最小值点的过程,需要注意,为了表述方便,我使用的是最小值,其实上面求的是极小值(对于凹函数来说它们是等价的)

    🥝 就一个二次函数有啥意思啊,试试其他函数!

  • cos(x)

cos.png

  • exp(x)

exp.png

  • log(x)

log.png