人工智能面试总结(3)—— 激活函数

人工智能面试总结(3)—— 激活函数

该面总结了春招/秋招各厂高频面试八股,除开围绕简历扣项目细节,公司最喜欢问的还是这些经典算法中涉及的知识点。

人工智能面试-题目指路

(3)激活函数

说说激活函数作用?

激活函数是神经网络中的一个关键组件,它将输入信号的加权和进行非线性变换,输出给下一层。激活函数的作用是引入非线性性质,使得神经网络能够拟合更加复杂的非线性模式。激活函数的另一个重要作用是将输出范围限制在一个固定的范围内,避免信号的过度放大或缩小,从而导致梯度消失或爆炸的问题。

说说激活函数为什么需要非线性函数?

神经网络的线性组合不具有拟合非线性函数的能力,因此需要引入非线性激活函数来提高网络的拟合能力。如果使用线性激活函数,多个线性层组合后仍然是一个线性变换,无法拟合复杂的非线性关系。因此,使用非线性激活函数可以使得神经网络具有更强的拟合能力。

说说你知道的激活函数以及各自特点、适用场景?

  • Sigmoid函数:将实数映射到(0,1)的区间内,具有平滑性和可导性,在二分类问题中有广泛应用。但是,在输入的绝对值较大或较小时,梯度接近于0,容易导致梯度消失问题,也容易造成输出的饱和现象。
  • Tanh函数:将实数映射到(-1,1)的区间内,具有平滑性和可导性,在分类问题中常用作Sigmoid函数的替代品。但是,也存在梯度消失和饱和现象的问题。
  • ReLU函数:在输入大于0时,输出等于输入,而在输入小于等于0时,输出为0,具有非线性和可导性,能够有效地缓解梯度消失的问题,并且在训练过程中运算速度较快。但是,在输入为负数时,输出为0,称为“ReLU死亡”,影响了神经元的稳定性。
  • Leaky ReLU函数:在ReLU的基础上,将输入为负数时的输出由0改为一个小的斜率,能够有效地解决ReLU死亡的问题,同时也缓解了梯度消失的问题。
  • ELU函数:在输入小于等于0时,输出为一个较小的值而不是0,能够有效地避免ReLU死亡的问题,同时还能够缓解梯度消失的问题。

说说ReLU6?

ReLU6是对ReLU的一个改进,将ReLU的上限从0改为了6。这样可以防止ReLU的输出无限增长,避免过拟合的问题。

说说ELU指数线性单元特点?

ELU指数线性单元也是一种激活函数,具有如下特点:

  • 可以将输出设置为负值,有利于减少偏差;
  • 对于负数的输出有一个较小的斜率,能够更好地抑制“死亡神经元”问题;
  • 计算速度比ReLU和Leaky ReLU略慢。

说说Sigmoid的缺点,以及如何解决?

Sigmoid函数存在以下缺点:

  • 输出不是以0为中心的,可能导致收敛速度变慢;
  • 容易出现梯度消失问题,导致训练过程不稳定;
  • 计算代价较高。

为了解决这些问题,可以采用其他激活函数,例如ReLU、Leaky ReLU和ELU等。

说说ReLU在零点可导吗,如何进行反向传播?

ReLU在零点不可导,因为导数在零点处为0。在反向传播时,可以将零点处的导数定义为0或1,两种方式均可。实际上,由于ReLU在实际应用中的效果很好,这种不可导的问题通常不会对模型的性能产生影响。

说说Softmax溢出怎么处理?

当计算Softmax函数的指数函数指数很大时,会出现溢出现象,即计算结果超出计算机可表示的范围。为了避免这种情况的出现,通常采用以下两种方法:

  • 对每个数值减去一个常数c,这个常数可以是输入值的最大值,这样能够确保每个数值在负数范围内,避免指数爆炸。
  • 使用一种称为"LogSumExp trick"的技巧。该技巧可以通过计算每个输入值与最大值的差的指数和的对数,然后将其与最大值相加得到Softmax函数的值。

说说激活函数有哪些性质?

  • 可导性:神经网络中的大多数优化算法都需要激活函数是可导的。
  • 单调性:激活函数是单调的,即输入值越大,输出值越大或越小。
  • 非线性:激活函数需要是非线性的,因为如果激活函数是线性的,多层神经网络的输出就是输入的线性组合,无法处理非线性模式。
  • 输出范围:激活函数的输出范围必须与网络的任务相匹配。
  • 平滑性:激活函数的平滑性可以减小噪声对网络的影响。

说说如何选择激活函数?

  • 模型的任务类型
  • 模型的架构
  • 梯度消失问题
  • 训练效率
  • 可解释性

一般来说,ReLU是一种通用的激活函数,对于多数任务都可以使用。对于回归问题,可以使用tanh或sigmoid函数。对于分类问题,可以使用softmax函数。如果需要解决梯度消失问题,可以使用ELU激活函数。

说说ReLU函数的特点?

  • ReLU函数是一种非线性激活函数。
  • 在输入大于零时,输出等于输入,否则输出为零。
  • ReLU函数可以缓解梯度消失的问题,而且计算速度快。
  • ReLU函数不是在整个输入范围内都可导,但在大部分范围内都可导
  • ReLU函数常常在深度学习模型中使用,是一种常见的激活函数。

说说什么时候用线性激活函数?

线性激活函数的输出与输入成正比例关系,通常用于回归问题或输出层中,因为它可以直接输出实数值而不需要进行转换。如果任务需要网络输出和输入的线性相关性,例如预测房价等回归问题,可以使用线性激活函数。

说说怎么理解ReLU负半区间也是非线性激活函数?

ReLU(Rectified Linear Unit)是一种非线性激活函数,它在正半区间是线性函数,在负半区间是零,可以解决梯度消失问题,同时加快训练速度。虽然在负半区间的导数为零,但在实际应用中,这并不会导致网络无法更新。因为只要有一个神经元在负半区间的输出发生变化,它的导数就会变成正数,反向传播时就可以进行梯度更新

说说Softmax函数如何应用于多分类?

Softmax函数是一种常用的激活函数,主要用于多分类问题。它将一个K维的实数向量归一化为一个概率分布,可以将神经网络的输出转化为各个类别的概率分布,从而进行多分类任务。通过 Softmax 函数,网络输出的每个分量都被映射到 [ 0 , 1 ] [0,1] [0,1] 的区间内,同时满足所有分量之和为 1 1 1,即为一个概率分布。最终,预测的类别是具有最大概率的那个类别。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值