@[TOC]第4章 前馈神经网络
4.2 数学表示
最简单的神经网络称作感知器。它是一个简单的线性模型:
其中,
W
W
W是权重矩阵,
b
b
b是偏置项。为了能超越线性函数,我们引进一个非线性的隐藏层,这样就能得到带有单一隐层的多层感知器(MLP1)。
g
g
g是作用于每个元素的非线性方程(也称作激活函数或非线性),
g
g
g在网络表示复杂函数的能力中,起了至关重要作用。没有
g
g
g的非线性,神经网络只能表示输入的线性变换。例如:
由线性变换产生的向量成为层,或者称完全连接的或仿射的。具有多个隐层的网络称深层网络。
与线性模型类似,神经网络的输出是一个
d
o
u
t
d_{out}
dout 维向量。
d
o
u
t
d_{out}
dout=1 时,网络的输出是一个标量 。这样的网络在关注输出值的情况下可以用于回归(或打分)问题;在关注输出值的符号时,可以用于二分类问题。满足
d
o
u
t
d_{out}
dout>k的网络可以用于k分类问题,这需要将每个维度与一个类别相关联,然后寻找具有最大值的维度。如果输出向量是正的并且各项和为1,则输出可以被解释为在各类别上的分布。
参数与输入一起决定了网络的输出,训练算法负责
设置参数的值,使得网络得到正确的预测结果。
4.4 常见的非线性函数
给定任务选取非线性函数是一个经验问题
- sigmoid :
p
(
x
)
=
1
/
(
1
+
e
−
x
)
p(x)=1/(1+e^{-x})
p(x)=1/(1+e−x)
一个S型的函数,它将每一个值 x x x变换到区间[0,1]中。 - tanh(双曲正切):
t
a
n
h
(
x
)
=
(
e
2
x
−
1
)
/
(
e
2
x
+
1
)
tanh(x)=(e^{2x}-1)/(e^{2x}+1)
tanh(x)=(e2x−1)/(e2x+1)
一个S型函数,它将每一个值 x x x变换到区间[0,1]中。 - hard tanh激活函数是tanh函数的近似
hardtanh(x)=-1,x<-1;
hardtanh(x)=1,x>1;
hardtanh(x)=x,x=other; - 修正线性单元ReLU