文章目录
一,什么是激活函数?为什么需要激活函数?
1,单个神经元网络模型
上图是一张比较简明的单个神经元网络模型,此模型
f
f
f前的计算公式:
z
=
∑
i
=
1
n
w
i
×
x
i
+
b
=
w
×
x
+
b
z=\sum_{i=1}^{n} {w_i×x_i+b}=w×x+b
z=i=1∑nwi×xi+b=w×x+b
这个模型是由防生学得来的,下面有一张单个神经元的图片
神经元 | 计算机模拟 |
---|---|
电信号(大小) | 数值(大小) |
树突和轴突(粗细) | W与b |
细胞体 | 激活函数 |
2,激活函数的来源
当所有出入信号经过W与b处理后,将所有的输入信号求和,最终进入细胞,然后在输出,而此时,只有细胞体的过程是未知的,激活函数就是模拟的细胞体的处理函数。
有了激活函数这个神经元的传播才算完整。
二,四种常用的激活函数与理解
1,Sigmod函数(非线性激活函数)
①数学公式:
s
i
g
m
o
i
d
(
x
)
=
1
1
+
e
−
x
sigmoid(x)=\frac {1} {1+e^{-x}}
sigmoid(x)=1+e−x1
②图像:
③tensorflow中对应的函数:
tf.nn.sigmoid(x,name=None)
④特点:
- 优点:将(-6,6)之间的输入数据压缩到0~1的输出里
- 饱和:x越趋近于正或负无穷大,y越趋近于1或0
- 缺点:在(-6,6)以外的数据会很大程度的失真
2,Tanh函数(非线性激活函数)
①数学公式:
t
a
n
h
(
x
)
=
2
s
i
g
m
o
i
d
(
2
x
)
−
1
tanh(x)=2sigmoid(2x)-1
tanh(x)=2sigmoid(2x)−1
②图像:
③tensorflow中对应的函数:
tf.nn.tanh(x,name=None)
④特点:
- 优点:值域为(-1,1),比sigmoid的值域更广
- 缺点:易于饱和,输入极限接近-3与3
3,ReLU函数
①数学公式:
R
e
L
U
(
x
)
=
m
a
x
(
0
,
x
)
ReLU(x)=max(0,x)
ReLU(x)=max(0,x)
②图像:
③tensorflow中对应的函数:
tf.nn.relu(features,name=None)
④特点:
- 优点:只处理正信号,函数运算简单
- 缺点:副信号被忽略
4,Swish函数
①数学公式:
s
w
i
s
h
(
x
)
=
x
×
s
i
g
m
o
i
d
(
β
x
)
swish(x)=x×sigmoid(\beta x)
swish(x)=x×sigmoid(βx)
β
\beta
β为
x
x
x的缩放参数
②图像:
③tensorflow中对应的函数:
tf.nn.swish()
④特点:
- 优点:比ReLUctant函数效果好
三,激活函数的学习感想
- 现在马上2020年了,我才学别人几年前的知识,每天进步一点点,加油
- 科学家和发明家们从大自然中获得的启示令me震撼,从一个神经元就能渐渐发展成一门如此有用的学科