3071|8

533

帖子

3

TA的资源

纯净的硅(初级)

楼主
 

《人工智能实践教程》4、激活函数 [复制链接]

一、简介

激活函数是连接感知机和神经网络的桥梁,在上次学习的感知机章节中,使用的是阈值来触发是否激活,实际上这是将阶跃函数作为了激活函数。

也就是说,在激活函数的众多候选函数中,感知机选择了阶跃函数。如果感知机使用其他函数作为激活函数会怎么样呢?

实际上,如果将激活函数由阶跃函数换为其他函数,就进入了神经网络的世界。

下面来学习几种常用的激活函数。

 

二、Sigmoid函数

Sigmoid函数是神经网络中经常用到的激活函数,其表达式如下:

h(x) = \frac{1}{1+e^{-x}}

Sigmoid函数的图形如下:

 

三、Sigmoid函数和阶跃函数的比较

为了方便比较Sigmoid函数和阶跃函数,将两个函数画在同意个图中,如下:

比较Sigmoid函数和阶跃函数(虚线为阶跃函数),Sigmoid函数和阶跃函数的一个不同点是“平滑性”。
Sigmoid函数是一条平滑的曲线,输出随输入连续变化;阶跃函数以0为界,输出发生急剧性的变化。Sigmoid 函数的平滑性对神经网络的学习具有重要意义。
另一个不同点是,阶跃函数只能返回0或1,Sigmoid函数可以返回0.731、0.880等实数,这也是平滑性的一种体现。

也就是说,在感知机中,在神经元之间流动的是0或者1的二元信号,而在神经网络中流动的是连续的实数信号。

Sigmoid 函数和阶跃函数的一个共同点是形状相似。
实际上,两者均符合“当输入小时,输出接近0(或为0);随着输入增大,输出接近1(或为1)”。
也就是说,当输入信号为重要信息时,Sigmoid函数和阶跃函数都会输出较大的值;当输入信号为不重要的信息时,两者都输出较小的值。
另一个共同点是,不论输入信号大小,输出信号的值都在0~1之间。
阶跃函数和Sigmoid函数都是非线性函数,Sigmoid函数的图形是一条曲线,阶跃函数的图形是一条似阶梯的折线。

注意:神经网络的激活函数必须使用非线性函数。

 

四、ReLU函数

ReLU(Rectified Linear Unit)函数是近年来在神经网络中广为使用的激活函数。

其表达式为:

其图形为:

由此可见,ReLU也是一个非常简单的函数,不用再过多的介绍了。

 

最新回复

没想通为啥这样简单一下就可以构造后面的复杂网络并且输出还可以的结果。   详情 回复 发表于 2024-8-20 11:28
点赞 关注

回复
举报

5982

帖子

6

TA的资源

版主

沙发
 

很多函数应该都有表达式,这种算法还是比较不错的

 
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 

回复

1090

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 

Wit,是不是任何函数都可以作为激活函数呀,为什么非得非线性函数才可以做激活函数?

 
 
 

回复

1090

帖子

1

TA的资源

五彩晶圆(初级)

4
 

加入激活函数的目的,是使得该层神经元的输出映射到0~1,作用是增加了非线性的特性,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

从sigmoid函数或者ReLU能比较好理解

点评

解释的很好啊,就是为了能够让神经网络表示更多的非线性特性  详情 回复 发表于 2024-8-20 20:17
 
 
 

回复

1090

帖子

1

TA的资源

五彩晶圆(初级)

5
 

AI的回答:

激活函数的选择直接影响到神经网络的能力和性能。虽然理论上任何函数都可以作为激活函数,但实际上,常用的激活函数都是经过精心选择的,以满足特定的数学和计算性质。例如,SigmoidReLUMaxout等都是常用的激活函数,它们各自具有不同的优点和适用场景。

  • Sigmoid函数能够将输入映射到(0,1)的范围内,常用于将输出限制在特定范围内,如概率值。
  • ReLU函数(Rectified Linear Unit)则是一种简单的非线性函数,能够有效地加速随机梯度下降的收敛速度。
  • Maxout激活函数则是一种更加灵活的非线性函数,能够拟合任意的凸函数,具有强大的拟合能力。

选择合适的激活函数对于构建有效的神经网络至关重要。不同的激活函数适用于不同的任务和数据集。因此,虽然理论上任何函数都可以作为激活函数,但在实际应用中,选择合适的激活函数是构建高效神经网络的关键‌

点评

解释的挺好  详情 回复 发表于 2024-8-20 20:17
 
 
 

回复

7421

帖子

2

TA的资源

五彩晶圆(高级)

6
 

没想通为啥这样简单一下就可以构造后面的复杂网络并且输出还可以的结果。

点评

复杂的网络都是由简单的神经元组成的,我理解类似于我们可以用0和1可以表示任意复杂的数据。  详情 回复 发表于 2024-8-20 20:21
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

533

帖子

3

TA的资源

纯净的硅(初级)

7
 
hellokitty_bean 发表于 2024-8-18 15:21 加入激活函数的目的,是使得该层神经元的输出映射到0~1,作用是增加了非线性的特性,使得神经网络可以任意 ...

解释的很好啊,就是为了能够让神经网络表示更多的非线性特性

 
 
 

回复

533

帖子

3

TA的资源

纯净的硅(初级)

8
 
hellokitty_bean 发表于 2024-8-18 15:25 AI的回答: 激活函数的选择直接影响到神经网络的能力和性能。虽然理论上任何函数都可以作为激活函数,但 ...

解释的挺好

 
 
 

回复

533

帖子

3

TA的资源

纯净的硅(初级)

9
 
freebsder 发表于 2024-8-20 11:28 没想通为啥这样简单一下就可以构造后面的复杂网络并且输出还可以的结果。

复杂的网络都是由简单的神经元组成的,我理解类似于我们可以用0和1可以表示任意复杂的数据。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表