【深度学习】Switch激活函数的代码实现和可视化

激活函数通常为非线性函数,可以增强神经网络的表示能力和学习能力。

今天要讲的是swish函数,它是一种自门控式函数,定义为:

其中为logistics函数,为可学习的参数或一个固定的超参数,可以看似一个软性的门控机制,当接近1时,门控处于“开”的状态,激活函数的输入接近x本身;当接近0时,门的状态为“关”的状态,激活函数的输出近似与0。

下面给出switsh函数的代码实现:

import matplotlib.pyplot as plt
X=paddle.linspace(-5, 5,50)
c1=0
c2=0.5
c3=1
c4=100
y1=X*(1/(1+paddle.exp(-c1*X)))
y2=X*(1/(1+paddle.exp(-c2*X)))
y3=X*(1/(1+paddle.exp(-c3*X)))
y4=X*(1/(1+paddle.exp(-c4*X)))
plt.figure()
plt.plot(X,y1,'-',color='r',label='c1=0')
plt.plot(X,y2,'--',color='g',label='c2=0.5')
plt.plot(X,y3,':',color='b',label='c3=1')
plt.plot(X,y4,'4',color='k',label='c4=100')
#设置x的刻度间隔
new_ticks = np.linspace(-4,4,8)
plt.xticks=(new_ticks)
plt.yticks=(new_ticks)
plt.xlim((-4,4))
plt.ylim((-4,4))
ax = plt.gca() 
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.spines['left'].set_position(('data',0))
ax.spines['bottom'].set_position(('data',0))
plt.legend(loc='lower right', fontsize='large')
plt.savefig('fw-logistic-swish.pdf')
plt.show()

运行结果如下:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值