文档章节

【AI实战】快速掌握TensorFlow(三):激励函数

雪饼
 雪饼
发布于 2018/08/30 23:40
字数 1467
阅读 1154
收藏 6

到现在我们已经了解了TensorFlow的特点和基本操作(见文章:快速掌握TensorFlow(一)),以及TensorFlow计算图、会话的操作(见文章:快速掌握TensorFlow(二)),接下来我们将继续学习掌握TensorFlow。

本文主要是学习掌握TensorFlow的激励函数

1、什么是激励函数
激励函数是所有神经网络算法的必备神器,通过加入激励函数可实现张量计算的非线性化,从而提升神经网络模型的泛化能力。
直接构建神经网络的输入与输出是一个线性关系,如下图
 
通过在神经网络中加入非线性激励函数后,神经网络具有非线性处理的能力,能够实现对非线性数据的处理,如下图
 
通俗地讲,激励函数的作用就是将多个线性输入转换为非线性的关系。如果不使用激励函数,神经网络的每层都只是做线性变换,即使是多层输入叠加后也还是线性变换。通过使用激励函数引入非线性因素后,使神经网络的表示能力更强了。

常用的激励函数主要有:ReLU、ReLU6、sigmoid、tanh、softsign、ELU等。
如果想要更加详细地了解激励函数,请见文章:深度学习中常用的激励函数

2、怎样使用激励函数
在TensorFlow中使用激励函数非常方便,激励函数位于神经网络库中(tensorflow.nn),下面介绍使用方法。
(0)创建一个会话,调用默认计算图

import tensorflow as tf
sess = tf.Session()

(1)ReLU函数
ReLU(Rectifier linear unit,整流线性单元)是神经网络中最常用的激励函数,函数如下:
 
在TensorFlow中的调用方法如下:

df=tf.nn.relu([-5., 0., 5., 10.])
print(sess.run(df))

输出结果为:
[0.    0.    5.    10.]

(2)ReLU6函数
引入ReLU6主要是为了抵消ReLU函数的线性增长部分,在ReLU的基础上再加上min,函数如下:
 
在TensorFlow中的调用方法如下:

df=tf.nn.relu6([-5., 0., 5., 10.])
print(sess.run(df))

输出结果为:
[0.    0.    5.    6.]

(3)Leaky ReLU函数
引入Leaky ReLU主要是为了避免梯度消失,当神经元处于非激活状态时,允许一个非0的梯度存在,这样不会出现梯度消失,收敛速度快。函数如下:
 
在TensorFlow中的调用方法如下:

df=tf.nn.leaky_relu([-3., 0., 5.])
print(sess.run(df))

输出结果为:
[-0.3    0.    5.]

(4)sigmoid函数
sigmoid函数是神经网络中最常用的激励函数,它也被称为逻辑函数,它在深度学习的训练过程中会导致梯度消失,因此在深度学习中不怎么使用。函数如下:

在TensorFlow中的调用方法如下:

df=tf.nn.sigmoid([-1., 0., 1.])
print(sess.run(df))

输出结果为:
[0.26894143    0.5    0.7310586]

(5)tanh函数
tanh函数即是双曲正切函数,tanh与sigmoid函数相似,但tanh的取值范围是0到1,sigmoid函数取值范围是-1到1。函数如下:
 
在TensorFlow中的调用方法如下:

df=tf.nn.tanh([-1., 0., 1.])
print(sess.run(df))

输出结果为:
[-0.76159418    0.    0.76159418]

(6)ELU函数
ELU在正值区间的值为x本身,而在负值区间,ELU在输入取较小值时具有软饱和的特性,提升了对噪声的鲁棒性,函数如下:
 
在TensorFlow中的调用方法如下:

df=tf.nn.elu([-1., 0., 1.])
print(sess.run(df))

输出结果为:
[-0.63212055    0.    1.]

(7)softsign函数
softsign函数是符号函数的连续估计,定义如下:
 
在TensorFlow中的调用方法如下:

df=tf.nn.softsign([-1., 0., 1.])
print(sess.run(df))

输出结果为:
[-0.5    0.    0.5]

(8)softplus函数
softplus是ReLU激励函数的平滑版,定义如下:
 
在TensorFlow中的调用方法如下:

df=tf.nn.softplus([-1., 0., 1.])
print(sess.run(df))

输出结果为:
[0.31326166    0.69314718    1.31326163]

至此,我们已经了解了激励函数的作用,以及常用的激励函数原理和在TensorFlow中调用的方法。

接下来的“快速掌握TensorFlow”系列文章,还会有更多讲解TensorFlow的精彩内容,敬请期待。

 

欢迎关注本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),获取更多信息

 

推荐相关阅读

© 著作权归作者所有

雪饼

雪饼

粉丝 408
博文 61
码字总数 134328
作品 0
广州
私信 提问
【AI实战】快速掌握TensorFlow(四):损失函数

在前面的文章中,我们已经学习了TensorFlow激励函数的操作使用方法(见文章:快速掌握TensorFlow(三)),今天我们将继续学习TensorFlow。 本文主要是学习掌握TensorFlow的损失函数。 一、什...

雪饼
2018/09/02
2.2K
0
【AI实战】快速掌握TensorFlow(二):计算图、会话

在前面的文章中,我们已经完成了AI基础环境的搭建(见文章:Ubuntu + Anaconda + TensorFlow + GPU + PyCharm搭建AI基础环境),以及初步了解了TensorFlow的特点和基本操作(见文章:快速掌握...

雪饼
2018/08/20
1K
1
【AI实战】快速掌握Tensorflow(一):基本操作

Tensorflow是Google开源的深度学习框架,来自于Google Brain研究项目,在Google第一代分布式机器学习框架DistBelief的基础上发展起来。Tensorflow于2015年11月在GitHub上开源,在2016年4月补...

雪饼
2018/08/18
2.2K
0
【AI实战】训练第一个AI模型:MNIST手写数字识别模型

在上篇文章中,我们已经把AI的基础环境搭建好了(见文章:Ubuntu + conda + tensorflow + GPU + pycharm搭建AI基础环境),接下来将基于tensorflow训练第一个AI模型:MNIST手写数字识别模型。...

雪饼
2018/08/11
3.6K
0
【AI实战】手把手教你训练自己的目标检测模型(SSD篇)

目标检测是AI的一项重要应用,通过目标检测模型能在图像中把人、动物、汽车、飞机等目标物体检测出来,甚至还能将物体的轮廓描绘出来,就像下面这张图,是不是很酷炫呢,嘿嘿 在动手训练自己...

雪饼
2018/08/14
10.8K
25

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 年迈渔夫遭黑帮袭抢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享Elvis Presley的单曲《White Christmas》: 《White Christmas》- Elvis Presley 手机党少年们想听歌,请使劲...

小小编辑
42分钟前
111
9
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
10
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部