热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

深度学习的激励函数

1.sigmoid函数:S(x)1(1+exp(-x))导数为:S(x)*(1-S(x))。这个数值不会超过0.25.。通过sigmoid函数计算的函数值在0~

1.sigmoid函数:

S(x)=1/(1+exp(-x))

导数为:S(x)*(1-S(x))。这个数值不会超过0.25.。通过sigmoid函数计算的函数值在0~1之间,如果神经网络的层数很多,如果每一层的激励函数采用sigmoid函数,就会产生梯度弥散的问题。因为利用BP函数更新参数的时候,会乘以它的导数,所以会一直减小。并且在比较大或者比较小的时候,会产生饱和效应,导致神经元类似与死亡。

2.tanh函数

T(x) = (exp(x)-exp(-x))/(exp(x)+exp(-x))

导数:1-T(x)*T(x)

。tanh函数的值在-1~1之间。导数小于1.如果每一层用这个激励函数。会导致和sigmoid函数类似的情况。

3.elu函数


4.softplus函数

f(x)=ln(1+ex)

导数为:

f(x)=ex1+ex=11+ex。导数比较小

5.softsign函数


6.relu函数

f(x) = max(0, x)。这个函数经常用,可以解决梯度弥散问题,因为它的导师等于1或者就是0。

7. relu6函数

f(x) = max(0,6,x)。这个函数可以将激励函数的值数据位于0~6之间。

还有一些其他的函数变体,这里就不一一介绍。下面使用tensorflow画出的各种函数的图。


代码:

import tensorflow as tf;
import numpy as np;
import matplotlib.pyplot as plt;

x = np.linspace(-10,10,100)
y1 = tf.nn.sigmoid(x)
y2 = tf.nn.tanh(x)
y3 = tf.nn.elu(x)
y4 = tf.nn.softplus(x)
y5 = tf.nn.softsign(x)
y6 = tf.nn.relu(x)
y7 = tf.nn.relu6(x)

with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
ax1 = plt.subplot2grid((4,2), (0,0))
ax1.plot(x, sess.run(y1))
ax1.set_title('sigmoid')

ax2 = plt.subplot2grid((4,2), (0,1))
ax2.plot(x, sess.run(y2))
ax2.set_title('tanh')

ax3 = plt.subplot2grid((4,2), (1,0))
ax3.plot(x, sess.run(y3))
ax3.set_title('elu')

ax4 = plt.subplot2grid((4,2), (1,1))
ax4.plot(x, sess.run(y4))
ax4.set_title('softplus')

ax5 = plt.subplot2grid((4,2), (2,0))
ax5.plot(x, sess.run(y5))
ax5.set_title('softsign')

ax6 = plt.subplot2grid((4,2), (2,1))
ax6.plot(x, sess.run(y6))
ax6.set_title('relu')

ax7 = plt.subplot2grid((4,2), (3,0))
ax7.plot(x, sess.run(y7))
ax7.set_title('relu6')

plt.show()



推荐阅读
  • 卷积神经网络(CNN)基础理论与架构解析
    本文介绍了卷积神经网络(CNN)的基本概念、常见结构及其各层的功能。重点讨论了LeNet-5、AlexNet、ZFNet、VGGNet和ResNet等经典模型,并详细解释了输入层、卷积层、激活层、池化层和全连接层的工作原理及优化方法。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 吴恩达推出TensorFlow实践课程,Python基础即可入门,四个月掌握核心技能
    量子位报道,deeplearning.ai最新发布了TensorFlow实践课程,适合希望使用TensorFlow开发AI应用的学习者。该课程涵盖机器学习模型构建、图像识别、自然语言处理及时间序列预测等多个方面。 ... [详细]
  • 强人工智能时代,区块链的角色与前景
    随着强人工智能的崛起,区块链技术在新的技术生态中扮演着怎样的角色?本文探讨了区块链与强人工智能之间的互补关系及其在未来技术发展中的重要性。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 本文介绍了一种适用于小型创业公司的小规模每日数据备份及健康检查的自动化解决方案。通过简单的Shell脚本实现本地数据库的每日全量备份,并将备份文件上传至中心备份服务器。同时,编写了自动检测脚本来确保备份的完整性和及时性,一旦发现异常,会通过邮件和短信通知相关人员。 ... [详细]
  • 本文深入探讨了传输层的另一个重要协议——用户数据报协议(UDP)。在了解了TCP协议的基础上,我们将详细解析UDP的工作原理、应用场景及其优缺点,帮助读者全面理解为什么需要UDP。 ... [详细]
  • 中科院学位论文排版指南
    随着毕业季的到来,许多即将毕业的学生开始撰写学位论文。本文介绍了使用LaTeX排版学位论文的方法,特别是针对中国科学院大学研究生学位论文撰写规范指导意见的最新要求。LaTeX以其精确的控制和美观的排版效果成为许多学者的首选。 ... [详细]
  • 本文详细介绍了如何下载并安装 Python,包括选择合适的版本、执行安装程序以及设置环境变量的步骤。此外,还提供了测试安装是否成功的简单方法。 ... [详细]
author-avatar
杀你哥_52544
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有