本篇文章小编给大家分享一下python人工智能tensorflow常用激活函数Activation Functions代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
常见的激活函数种类及其图像
1 sigmoid(logsig)函数
特点:sigmoid函数函数在不同的地方表达方式不同,常用的名称就是sigmoid和logsig,它能够把输入的连续实值变换为0和1之间的输出,如果输入是特别大的负数,则输出为0,如果输入是特别大的正数,则输出为1。
缺点:在深度神经网络中,容易导致梯度爆炸和梯度消失;幂函数运算较慢;不是0均值。
其计算公式为:
其图像如下所示。
2 tanh函数
特点:它能够把输入的连续实值变换为-1和1之间的输出,如果输入是特别大的负数,则输出为-1,如果输入是特别大的正数,则输出为1;解决了Sigmoid函数的不是0均值的问题。
缺点:梯度消失的问题和幂运算的问题仍然存在。
其计算公式为:
其图像如下所示。
3 relu函数
特点:解决了梯度消失的问题;计算速度非常快,只需要判断输入是否大于0;收敛速度远快于sigmoid和tanh两个函数。
缺点:不是0均值。
其计算公式为:
其图像如下所示
4 softplus函数
特点:softplus函数相当于平滑版的relu函数。
缺点:不是0均值。
其计算公式为:
其图像如下所示(与relu函数对比)。
tensorflow中损失函数的表达
1 sigmoid(logsig)函数
tf.nn.sigmoid(x, name=None)
2 tanh函数
tf.nn.tanh(x, name=None)
3 relu函数
tf.nn.relu(features, name=None) tf.nn.relu6(features, name=None) #relu6相对于普通relu更容易学习到稀疏特征。
4 softplus函数
tf.nn.softplus(features, name=None)