神经网络基本组成单元
感知器
感知器主要分为三个部分:参数、求和单元、激活函数
参数:权重(w)+偏置(b)
函数:
y
=
s
g
n
(
w
x
+
b
)
y=sgn(wx+b)
y=sgn(wx+b)
求和函数:
y
=
∑
i
=
1
n
(
w
i
x
i
+
b
)
y = \sum_{i=1}^n(w_ix_i+b)
y=i=1∑n(wixi+b)
激活函数:人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。
常用的激活函数
sigmoid函数
函数 | δ ( x ) = 1 1 + e − x \delta(x)=\frac{1}{1+e^{-x}} δ(x)=1+e−x1 |
取值范围 | (0,1) |
缺点 | ① 不会有梯度弥散(大于5或者小于-5)②不是关于原点对称 ③ 计算exp比较耗时 |
tanh 双曲正切函数
函数 | t a n h ( x ) = e x − e − x e x + e − x tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}} tanh(x)=ex+e−xex−e−x |
取值范围 | (-1、1) |
优点 | 解决了原点对称问题、比sigmoid函数快 |
缺点 | 梯度弥散问题 |
Relu函数 (Rectified linear unit)
函数 | r e L U ( x ) = m a x ( 0 , x ) reLU(x)=max(0, x) reLU(x)=max(0,x) |
取值范围 | (0、x) |
优点 | 解决了部分梯度弥散问题、收敛速度更快 |
缺点 | x为负时y一直为0,无法激活、不以0为对称中心 |
maxout函数
函数 | m a x o u t ( x ) = m a x ( w 1 T x + b 1 , w 2 T x + b 2 ) maxout(x)=max(w^T_1x+b_1, w^T_2x+b_2) maxout(x)=max(w1Tx+b1,w2Tx+b2) |
缺点 | 参数加倍,计算量大 |
softmax函数
函数 | σ ( x ) = e x i ∑ k = 1 n e x k \sigma(x)=\frac{e^{x_i}}{\sum_{k=1}^ne^{x_k}} σ(x)=∑k=1nexkexi |
特点 | out(0,1)所有结果累加和为1 |
神经元模型
两层神经网络模型
使用全连接,单向层级
设第1层(输入层)参数为
n
1
n_1
n1、第2层参数为
n
2
n_2
n2,…第k层(输出层)参数为
n
k
n_k
nk
w
=
n
1
n
2
+
n
2
n
3
+
.
.
.
=
∑
i
=
1
k
−
1
n
i
n
i
+
1
w=n_1n_2+n_2n_3+... =\sum_{i=1}^{k-1}n_in_{i+1}
w=n1n2+n2n3+...=i=1∑k−1nini+1
b
=
n
2
+
n
3
+
.
.
.
=
∑
i
=
2
k
n
i
b = n_2 +n_3+... =\sum_{i=2}^{k}n_i
b=n2+n3+...=i=2∑kni
(上图中w=3*4+4*2)
(上图b=4+2)
神经网络的分类
前馈神经网络:mlp(多层感知器)、CNN
循环神经网络:RNN、LSTM(长短期记忆网络)