神经元
1943年,美国神经生理学家沃伦·麦卡洛克(Warren McCulloch)和数学家沃尔特 ·皮茨(Walter Pitts)首次提出了一种形式神经元模型,并命名为McCulloch-Pitts模型(M-P模型)。
基础结构
神经元接受其他n个神经元的输入信号(0或1),这些输入信号经过加权求和,将求和结果与阈值θ比较,然后经过激活函数处理,得到神经元的输出,即如公式所示:
y
j
=
f
(
∑
i
=
1
n
w
i
j
x
i
?
θ
)
y_j=f(\sum _{i=1}^nw_{ij}x_i-\theta)
yj?=f(i=1∑n?wij?xi??θ)
- 反运算:
w
=
?
2
,
θ
=
?
1
w=-2,\theta=-1
w=?2,θ=?1
- 逻辑或:
w
i
=
1
,
θ
=
0
w_i=1,\theta=0
wi?=1,θ=0
- 逻辑与:
w
i
=
1
,
θ
=
n
?
1
w_i=1,\theta=n-1
wi?=1,θ=n?1
网络结构
人工神经网络是由许多神经元组成的,具有并行分布结构的信息处理网络。
感知器
单层感知器
1958年,罗森布拉特( Roseblatt )提出了感知器,可以对神经元模型参数
w
,
θ
w,\theta
w,θ进行训练调整。
- 思路:
w
i
←
w
i
+
α
(
r
?
y
)
x
w_i\gets w_i +\alpha(r?y)x
wi?←wi?+α(r?y)x
θ
←
θ
?
α
(
r
?
y
)
\theta\gets \theta?\alpha(r?y)
θ←θ?α(r?y)
其中,
α
\alpha
α为学习率,r为预期输出,y为实际输出。 - 调参:
-
t
=
y
t=y
t=y时,不调整;
-
t
=
1
,
y
=
0
t=1,y=0
t=1,y=0时,减小
θ
\theta
θ,增大输入为1的
w
w
w,输入为0的
w
w
w不变;
-
t
=
0
,
y
=
1
t=0,y=1
t=0,y=1时,增大
θ
\theta
θ,减小输入为1的
w
w
w,输入为0的
w
w
w不变;
多层感知器
- 定义:多层感知器指由多层结构的感知器递阶组成的输入值向前传播的网络,也被称为前馈网络或正向传播网络。可以解决线性不可分问题。
- 训练:误差反向传播算法(BP算法)。
- 思路:通过比较实际输出和期望输出得到误差信号,把误差信号从输出层逐层向前传播得到各层的误差信号,再通过调整各层的连接权重以减小误差。
- 权重调整:梯度下降法
Δ
w
=
?
α
?
E
?
w
\Delta w=-\alpha \frac{\partial E}{\partial w}
Δw=?α?w?E?
- 激活函数:需要可导,如Sigmoid函数、ReLU函数、tanh函数等。
优化
- 参数过多,影响训练
- 非凸优化问题:即存在局部最优而非全局最优解,影响迭代
- 梯度消失问题,下层参数比较难调
- 参数解释起来比较困难
参考:Datawhale水很深的深度学习
|