神经网络中的常用激活函数

文章目录

  • 神经网络中的常用激活函数
    • 1.Sigmoid函数
    • 2.Relu(修正线性单元)
    • 3.Tanh

​ 在神经网络中,每个神经元需要将加权求和后的值作为激活函数的输入值,然后输出作为下一个神经元的输出。激活函数使得神经网络可以应用到非线性的模型中。本文将介绍几种常用的激活函数。

1.Sigmoid函数

公式如下:
f(x)=11+e−xf(x)=\frac{1}{1+e^{-x}} f(x)=1+e−x1​
函数图像:

Sigmoid的输出范围在0-1之间,当神经网络进行反向传播时,函数的输出接近0或者1,梯度接近于0。梯度接近为0时,将导致神经元权重更新变慢,或者不再更新,这种现象叫做梯度消失。函数本身不是以0为中心,函数的所有输出值都大于0,会导致zigzag现象

2.Relu(修正线性单元)

公式如下:
f(x)=max(0,x)f(x)=max(0,x) f(x)=max(0,x)
示意图:


当x<0时,函数的输出值为y=0,当x≥0时,函数的输出值为y=x。当x≥0时,Relu函数可以使得网络快速收敛,但是当输入小于0的时候,也会存在梯度消失的现象。其比较适合用于隐藏的神经元。

3.Tanh

公式如下:
f(x)=ex−e−xex+e−xf(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}} f(x)=ex+e−xex−e−x​
示意图:

Tanh解决了zigzag的问题,但是也同样无法避免梯度消失

绘图代码:

# !/usr/bin/env python
# -*- coding: utf-8 -*-
###########################################
# 来自panda
###########################################import matplotlib.pyplot as plt
import numpy as npdef sigmoid(x):# 直接返回sigmoid函数return 1. / (1. + np.exp(-x))def relu(x):if x < 0:return 0else:return xdef tanh(x):return (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))def plot_sigmoid():x = np.arange(-10, 10, 0.1)y = sigmoid(x)plt.plot(x, y)ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.spines['bottom'].set_position(('data', 0))ax.spines['left'].set_position(('data', 0))ax.xaxis.set_ticks_position('bottom')plt.title('Sigmoid')plt.grid()plt.show()def plot_relu():x = np.arange(-10, 10, 0.1)y=[]for i in x:y.append(relu(i))plt.plot(x, y)ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')# 把下面的和左面的线设置成(0,0)ax.spines['bottom'].set_position(('data', 0))ax.spines['left'].set_position(('data', 0))ax.xaxis.set_ticks_position('bottom')#    plt.axis('off')plt.title('Relu')plt.grid()plt.show()def plot_tanh():x=np.arange(-10,10,0.2)y=tanh(x)plt.plot(x, y)ax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')# 把下面的和左面的线设置成(0,0)ax.spines['bottom'].set_position(('data', 0))ax.spines['left'].set_position(('data', 0))ax.xaxis.set_ticks_position('bottom')#    plt.axis('off')plt.title('Tanh')plt.grid()plt.show()if __name__ == '__main__':plot_sigmoid()plot_relu()plot_tanh()

神经网络中激活函数对比相关推荐

  1. 激活函数设计vhdl_浅谈神经网络中激活函数的设计

    激活函数是神经网络中非线性的来源,因为如果去掉这些函数,那么整个网络就只剩下线性运算,线性运算的复合还是线性运算的,最终的效果只相当于单层的线性模型. 那么,常见的激活函数有哪些呢?或者说,激活函数的 ...

  2. 神经网络中激活函数的真正意义?

    神经网络中激活函数的真正意义?一个激活函数需要具有哪些必要的属性?还有哪些属性是好的属性但不必要的? (1)非线性:即导数不是常数.这个条件是多层神经网络的基础,保证多层网络不退化成单层线性网络.这也 ...

  3. 【机器学习算法面试题】四.深度神经网络中激活函数有哪些?

    欢迎订阅本专栏:<机器学习算法面试题> 订阅地址:https://blog.csdn.net/m0_38068876/category_11810806.html [机器学习算法面试题]一 ...

  4. 【干货】通俗理解神经网络中激活函数作用

    推荐阅读时间8min~13min 主要内容:通俗理解激活函数,主要来自我在学习会的slides,讲解了激活函数的非线性能力和组合特征的作用 下面我分别对激活函数的两个作用进行解释. 1 加入非线性因素 ...

  5. 深度学习:神经网络中的激活函数

    http://blog.csdn.net/pipisorry/article/details/71157037 激活函数 神经网络神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数, ...

  6. 【深度学习技术】卷积神经网络常用激活函数总结

    本文记录了神经网络中激活函数的学习过程,欢迎学习交流. 神经网络中如果不加入激活函数,其一定程度可以看成线性表达,最后的表达能力不好,如果加入一些非线性的激活函数,整个网络中就引入了非线性部分,增加了 ...

  7. 神经网络中常用的激活函数

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html 版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激 ...

  8. 【深度学习】——神经网络中常用的激活函数:sigmoid、Relu、Tanh函数

    激活函数   实际中的很多事情并不能简单的用线性关系的组合来描述.在神经网络中,如果没有激活函数,那么就相当于很多线性分类器的组合,当我们要求解的关系中存在非线性关系时,无论多么复杂的网络都会产生欠拟 ...

  9. 从sigmoid到GELU——神经网络中的激活函数

    目录 一.激活函数及其作用 二.激活函数的分类 1.sigmoid 2.tanh激活函数 3.RELU函数--Rectified Linear Unit--整流线性单元 4.Leaky ReLU 5. ...

最新文章

  1. python模块之collections模块
  2. 上传镜像文件到服务器,通过把docker镜像保存为文件载入到别的服务器
  3. 知识中台,驱动产业智能化升级
  4. CSS position 笔记+实验
  5. 阿里云高级技术专家:面向5G的云网一体及云原生应用实践
  6. log4j.dtd_Eclipse log4j.xml –无法将log4j.dtd验证为XML定义
  7. 限制UITextView输入字数(兼容iOS7)
  8. 项目需求讨论--可能是用InputFilter来做的最好的金额限制
  9. 广告投放管理平台 oython源码_【直播】全新腾讯广告投放管理平台如何帮助广告主乘风破浪?...
  10. token是什么意思
  11. MainMenu.xib
  12. 输入FILCO蓝牙键盘的PIN
  13. Python 识别录音并转为文字
  14. Hadoop_GJF_MBY
  15. Mysql数据库和数据表的创建和信息更改的常用指令
  16. GIS开发之二维地下管线综合管理系统(Arcgis)第四节 使用arcgis api for js 加载天地图
  17. Android TV机顶盒开发简单介绍
  18. Mas短信开发增值服务平台建设
  19. div绘制各种三角形
  20. Damien Rice 的歌

热门文章

  1. Session for PHP
  2. 虎嗅:小米盒子的重生之路
  3. 出海商家涌向东南亚,先行一步的跨境MCN是引流捷径吗?
  4. IOS 老项目升级报错
  5. input选择视频或图片本地预览问题
  6. [Python]悬浮播放单词软件
  7. 有关数据安全相关认证有哪些?
  8. 现金+股票再平衡策略的测试 - 针对恒指
  9. L1-7 装睡 (10 分)
  10. SVG画扇形,可以改变数量、扇形角度、扇形方向