TensorFlow激活函数大全

激活函数在神经网络中具有重要的作用,最主要的是给网络添加了更多的非线性。

1. ReLU函数

Relu函数的作用是求最大值,其公式为:

relu(x)=max(0,x)

在实数定义域内连续,但在0处不可微,但在实际应用中如果碰到0处求导的情况,默认直接让其导数等于0,这样就解决了0处不可导的问题。

ReLU用于激活函数的优点是计算导数简单,如果X大于0,导数为1,如果X小于0,导数为0。

tf.keras.activations.relu(x, alpha=0.0, max_value=None, threshold=0)

示例:

>>> foo = tf.constant([-10, -5, 0.0, 5, 10], dtype = tf.float32)
>>> tf.keras.activations.relu(foo).numpy()
array([ 0.,  0.,  0.,  5., 10.], dtype=float32)
>>> tf.keras.activations.relu(foo, alpha=0.5).numpy()
array([-5. , -2.5,  0. ,  5. , 10. ], dtype=float32)
>>> tf.keras.activations.relu(foo, max_value=5).numpy()
array([0., 0., 0., 5., 5.], dtype=float32)
>>> tf.keras.activations.relu(foo, threshold=5).numpy()
array([-0., -0.,  0.,  0., 10.], dtype=float32)

参数:

  • x:输入,张量或变量
  • alpha:浮点数,值小于阈值时的斜率
  • max_value:浮点数,饱和度阈值,函数可返回的最大值。也就是说输入大于该阈值时输出该值
  • threshold:浮点数,小于该的输入返回0

返回值:

返回与输入相同shape的张量


2. Sigmoid函数

Sigmoid函数表达式为:sigmoid(x) = {\tfrac{1}{1+e^{-x}}}

函数是S形曲线,在实数定义域内连续且可导,值域(0,1)。因为函数输出分布在0和1之间,所以输出可以被看作是概率。

当x<-5时,函数值接近于0;当x>5时,函数值接近于1。

Sigmoid函数也相当2个类别的Softmax函数。

tf.keras.activations.sigmoid(x)

示例:

>>> a = tf.constant([-20, -1.0, 0.0, 1.0, 20], dtype = tf.float32)
>>> b = tf.keras.activations.sigmoid(a)
>>> b.numpy()
array([2.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值