Sigmoid、Tanh、ReLU、Leaky_ReLU、SiLU、Mish函数python实现
Sigmoid、Tanh、ReLU、Leaky_ReLU、SiLU、Mish函数
import numpy as np
import matplotlib.pyplot as pltdef Sigmoid(x):y = 1/(1+np.exp(-x))y = np.sum(y)print(y)# 画图xx = np.arange(-10, 10, 0.1)yy = 1/(1+np.exp(-xx))dy = 1/(1+np.exp(-xx))*(1-1/(1+np.exp(-xx)))plt.plot(xx, yy, label="Sigmoid")plt.plot(xx, dy, label="Sigmoid'")plt.xlabel("x")plt.ylabel("y")plt.legend()plt.show()def Tanh(x):y = (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))y = np.sum(y)print(y)# 画图xx = np.arange(-10, 10, 0.1)yy = (np.exp(xx)-np.exp(-xx))/(np.exp(xx)+np.exp(-xx))dy = 1-((np.exp(xx)-np.exp(-xx))/(np.exp(xx)+np.exp(-xx)))**2plt.plot(xx, yy, label="Tanh")plt.plot(xx, dy, label="Tanh'")plt.xlabel("x")plt.ylabel("y")plt.legend()plt.show()def ReLU(x):y = np.sum(x[x>0])print(y)# 画图xx = np.arange(-10, 10, 0.1)yy = np.where(xx>0, xx, 0)dy = np.where(xx>0, 1, 0)plt.plot(xx, yy, label="ReLU")plt.plot(xx, dy, label="ReLU'")plt.xlabel("x")plt.ylabel("y")plt.legend()plt.show()def Leaky_ReLU(x):y = np.where(x>0, x, 0.01*x)y = np.sum(y)print(y)# 画图xx = np.arange(-10, 10, 0.1)yy = np.where(xx>0, xx, 0.01*xx)dy = np.where(xx>0, 1, 0.01)plt.plot(xx, yy, label="Leaky_ReLU")plt.plot(xx, dy, label="Leaky_ReLU'")plt.xlabel("x")plt.ylabel("y")plt.legend()plt.show()def SiLU(x):y = x*(1/(1+np.exp(-x)))y = np.sum(y)# 画图xx = np.arange(-10,10,0.1)yy = xx*(1/(1+np.exp(-xx)))dy = 1/(1+np.exp(-xx))*(1+xx*(1-1/(1+np.exp(-xx))))plt.plot(xx, yy, label="SiLU")plt.plot(xx, dy, label="SiLU'")plt.xlabel("x")plt.ylabel("y")plt.legend()plt.show()# ReLU 对比 ReLU_y = np.where(xx>0, xx, 0)plt.plot(xx, yy, label="SiLU")plt.plot(xx, ReLU_y, label="ReLU")plt.xlabel("x")plt.ylabel("y")plt.legend()plt.show()# Sigmoid 对比 SiLU导数和Sigmoid激活函数Sigmoid_dy = 1/(1+np.exp(-xx))plt.plot(xx, dy, label="SiLU'")plt.plot(xx, Sigmoid_dy, label="Sigmoid'")plt.xlabel("x")plt.ylabel("y")plt.legend()plt.show()def tanh(x):return (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))def softplus(x):return np.log(1+np.exp(x))def Mish(x):y = x*tanh(softplus(x))y = np.sum(y)print(y)# 画图xx = np.arange(-10, 10, 0.1)yy = xx*tanh(softplus(xx))Omega = 4*(xx+1)+4*np.exp(2*xx)+np.exp(3*xx)+(4*xx+6)*np.exp(xx)Delta = 2*np.exp(xx)+np.exp(2*xx)+2dy = (np.exp(xx)*Omega)/Delta**2plt.plot(xx, yy, label="Mish")plt.xlabel("x")plt.ylabel("y")plt.legend()plt.show()plt.plot(xx, dy, label="Mish'")plt.xlabel("x")plt.ylabel("y")plt.legend()plt.show()if __name__ == "__main__":x = np.random.randn(10)print(x)Sigmoid(x)Tanh(x)ReLU(x)Leaky_ReLU(x)SiLU(x)Mish(x)
Sigmoid、Tanh、ReLU、Leaky_ReLU、SiLU、Mish函数python实现相关推荐
- 三种激活函数——Sigmoid,Tanh, ReLU以及卷积感受野的计算
1. 三种激活函数--Sigmoid, Tanh, ReLU 1.1 Sigmoid 1.1.1 公式 S ( x ) = 1 1 + e − x S(x) = \frac{1}{1 + e^{-x} ...
- 【卷积神经网络】12、激活函数 | Tanh / Sigmoid / ReLU / Leaky ReLU / ELU / SiLU / Mish
文章目录 一.Tanh 二.Sigmoid 三.ReLU 四.Leaky ReLU 五.ELU 六.SiLU 七.Mish 本文主要介绍卷积神经网络中常用的激活函数及其各自的优缺点 最简单的激活函数被 ...
- 【Pytorch神经网络理论篇】 07 激活函数+Sigmoid+tanh+ReLU+Swish+Mish+GELU
①激活函数:主要通过加入非线性因素,你不线性模型表达能力不足的缺陷,因为神经网络中的数学基础是处处可微分的函数,故要求激活函数也应该保证数据的输入与输出是可微分. ②激活函数可以分为饱和激活函数与不饱 ...
- 激活函数--Sigmoid,tanh,RELU,RELU6,Mish,Leaky ReLU等
激活函数 目前自己使用比较多的激活函数RELU, RELU6; LeakyReLU; SELU; Mish :激活函数看:计算量:准确率: 大多数激活函数pytorch里有已经包装好了: Non-li ...
- 激活函数总结sigmoid,tanh,relu,Leaky ReLU,RRelu,ELU,PRelu,SELU,swish
本文总结深度学习的损失函数及其优缺点. 激活函数是深度学习模型的重要成分,目的是将线性输入转换为非线性.常见的激活函数有sigmoid,tanh,ReLU等 1.sigmoid Sigmoid 非线性 ...
- 常见激活函数持续更新)sigmoid Tanh Relu Leaky-ReLU RReLU
激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线. sigmoid 公式: 函数图像: Sigmoid函数也叫 Logistic 函数,用于隐层神经元输出,取值范 ...
- 常用的激活函数汇总-Sigmoid, tanh, relu, elu
激活函数(又叫激励函数,后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力,神经网络的每层都会有一个激活函数.那他到底是什么,有什么作用?都有哪些常见的激活函数呢? 深度学习的基本原理就是基于人 ...
- 【深度学习】激活函数:原理+常见激活函数(Sigmoid\Tanh\ReLU\Leaky ReLU\Softmax)
首先需要知道为什么要引入激活函数:激活函数是用来加入非线性因素的,因为线性模型的表达能力不够.引入非线性激活函数,可使深层神经网络的表达能力更加强大. 在深度学习中,线性模型只需要简单的全连接层就能实 ...
- 深度学习- 激活函数总结(Sigmoid, Tanh, Relu, leaky Relu, PReLU, Maxout, ELU, Softmax,交叉熵函数)
激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题 激活函数通常有以下性质 – 非线性 – 可微性 – 单调性 –
最新文章
- 阿里云能耗宝新品发布
- 读写分离的适用场景(转载)
- Angular 5.0 学习2:Angular 5.0 开发环境的搭建和新建第一个ng5项目
- 哔哩哔哩n倍速播放视频
- 【使用注意】多线程导致解码混乱的情况
- C++ 多线程 atomic
- 【Python-3.5】matplotlib做简单折线图
- Python--正则表达式
- sqlserver大批量数据插入 BULK INSERT
- 下载主题jar包并导入到idea
- 深蓝超级计算机象棋人机大战,象棋人机大战绝唱:超级计算机“浪潮天梭”vs“象棋第一人”许银川的巅峰之战...
- 基于PostgreSQL+Geoserver+OpenLayers的Webgis台风路径地图服务发布
- Windows下Perl环境安装和使用
- SitePoint Podcast#37:社交媒体:坏事与丑陋
- paip 刮刮卡砸金蛋抽奖概率算法跟核心流程
- Havok物理引擎与Unity3D的结合
- 申宝市场放量了10%还是很强势
- Cesium 视锥体绘制,并动态更新朝向
- Unity如何驱动打印机打印
- python -----提取出一个数的个位、十位、百位、千位