莫烦pytorch学习笔记(三)——激励函数(Actibvation Function)

本文深入探讨激活函数在神经网络中的作用,解释为何需要将线性方程转换为非线性方程,以及如何通过ReLU、Sigmoid和Tanh等函数实现这一转变。同时,文章提供了在不同类型的神经网络中选择合适激活函数的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.非线性方程

我们为什么要使用激励函数?因为激励函数是为了解决我们日程生活中不能用线性方程所概括的问题。

什么是线性方程(linear function)?y随x变化而线性变化的方程叫线性方程。可知,非线性方程是y不随x变化线性变化的方程。

激励函数的作用就是为了让线性方程变成非线性方程,简而言之就是让直线变弯,“掰弯”线性方程。

2.激励函数

y=AF(Wx),其中AF指的就是激励函数,其实,这个激励函数只是另一个非线性的函数,比如relu,sigmoid,tanh。

将这些方程套在原来的结果上,强行把原来的线性结果扭曲了,使得输出的y也有了非线性的特征。

举个栗子,使用了relu函数,如果Wx的值为一,那y=1,如果Wx的值为-1,那y=0,此时不是线性关系。

你甚至可以创造自己的激励函数来处理自己的问题, 不过要确保的是这些激励函数必须是可以微分的, 因为在 backpropagation 误差反向传递的时候, 只有这些可微分的激励函数才能把误差传递回去

3.常用选择

选择激励函数的窍门:

1.当你的神经网络层只有两三层,对于隐藏层,使用任意的激励函数都可以,不会有很大的影响。

2.当你的神经网络层数较多的时候,使用激励函数不可随意选择,可能会涉及到梯度爆炸,梯度消失的问题。

具体的例子中,首选默认的激励函数:

1.在少量层结构中, 我们可以尝试很多种不同的激励函数。

2.在卷积神经网络 Convolutional neural networks 的卷积层中, 推荐的激励函数是 relu。

3.在循环神经网络中 recurrent neural networks, 推荐的是 tanh 或者是 relu。

注:具体选择,后面写到的时候会回头修改。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值