DataWhale十一月组队学习“水很深的深度学习”打卡Task03

ps:学习资料的Github地址:水很深的深度学习
DataWhale地址: 水很深的深度学习
bilibili视频:水很深的深度学习

1 神经元模型

在这里插入图片描述
M-P模型,其中 x 0 = − 1 x_{0}=-1 x0=1作为偏置。 在M-P模型中,神经元接受其他n个神经元的输入信号(0或1),这些输入信号经过权重加权并求和,将求和结果与阈值(threshold) θ 比较,然后经过激活函数处理,得到神经元的输出。
y = f ( ∑ i = 1 n ω i j x i − θ ) y=f\left(\sum_{i=1}^{n} \omega_{i j} x_{i}-\theta\right) y=f(i=1nωijxiθ)
M-P 模型可以表示多种逻辑运算,如取反运算、逻辑或、逻辑与。
取反运算:当 w = − 2 , θ = − 1 w = -2, θ = -1 w=2θ=1时,可实现输入0输出1,输入1输出0.

2 感知器

2.1 单层感知器

1958 年,罗森布拉特( Roseblatt )提出了感知器,与 M-P 模型需要人为确定参数不同,感知器能够通过训练自动确定参数。训练方式为有监督学习,即需要设定训练样本和期望输出,然后调整实际输出和期望输出之差的方式(误差修正学习)。
w i ← w i + α ( r − y ) x θ ← θ − α ( r − y ) \begin{aligned} w_{i} & \leftarrow w_{i}+\alpha(r-y) x \\ \theta & \leftarrow \theta-\alpha(r-y) \end{aligned} wiθwi+α(ry)xθα(ry)
其中, α \alpha α 是学习率, r r r y y y 分别是期望输出和实际输出。

感知器权重调整的基本思路:

  • 实际输出 y 与期望输出 r 相等时,w 和 θ 不变
  • 实际输出 y 与期望输出 r 不相等时,调整 w 和 θ 的值

w i ← w i + α ( r − y ) x θ ← θ − α ( r − y ) \begin{aligned} w_{i} & \leftarrow w_{i}+\alpha(r-y) x \\ \theta & \leftarrow \theta-\alpha(r-y) \end{aligned} wiθwi+α(ry)xθα(ry)

2.2 多层感知器

单层感知器只能解决线性可分问题,而不能解决线性不可分问题,例如异或问题;为了解决线性不可分问题,我们需要使用多层感知器。下图出自:《机器学习》周志华著。
图源周志华西瓜书
多层感知器指的是由多层结构的感知器递阶组成的输入值向前传播的网络,也被称为前馈网络或正向传播网络。

以三层结构的多层感知器为例,它由输入层、中间层及输出层组成

  • 与M-P模型相同,中间层的感知器通过权重与输入层的各单元相连接,通过阈值函数计算中间层各单元的输出值
  • 中间层与输出层之间同样是通过权重相连接
    在这里插入图片描述

3 BP算法

多层感知器的训练使用误差反向传播算法(Error Back Propagation),即BP算法。BP算法就是通过比较实际输出和期望输出得到误差信号,把误差信号从输出层逐层向前传播得到各层的误差信号,再通过调整各层的连接权重以减小误差。权重的调整主要使用梯度下降法。

3.1 激活函数

  • M-P 模型中使用阶跃函数作为激活函数,只能输出 0或 1,不连续所以 不可导
  • 为了使误差能够传播,鲁梅尔哈特等人提出使用可导函数Sigmoid作为激活函数
  • sigmoid的特点是能映射到 [ 0 , 1 ] [0,1] [0,1],缺点是(1)产生梯度消失和梯度爆炸,(2)non zero-centered(3) e − u e^{-u} eu难计算
  • 在这里插入图片描述
    其他常见的激活函数:ReLU (Rectified Linear Unit,修正线性单元)和tanh(解决sigmoid问题2)等

ReLU解决问题1 ,计算速度快,收敛速度也快其余两个,缺点: 不收敛与[0,1],Dead ReLu Problem
在这里插入图片描述

4 优化问题

难点

  • 参数过多,影响训练
  • 非凸优化问题:即存在局部最优而非全局最优解,影响迭代
  • 梯度消失问题,下层参数比较难调
  • 参数解释起来比较困难

需求

  • 计算资源要大
  • 数据要多
  • 算法效率要好:即收敛快
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐