玖叶教程网

前端编程开发入门

激活函数:ReLU和Softmax(relu6激活函数)

如果您花了一些时间来实施深度学习模型,那么您很可能已经意识到任何给定的深度学习实验集之间的一些共同点。 这些主题之一是激活功能! 根据您要解决的问题,您将需要为神经网络的架构选择最合适的激活函数。 在本文末尾,您应该能够执行以下操作:

· 解释什么是外行术语激活函数,并描述它们在人工神经网络中的作用。

· 了解如何在Python中同时实现整流线性单位(ReLU)和Softmax激活函数。

激活函数:

从生物学的角度来看,激活功能是神经元中动作电位速率的抽象表示。 在深度学习和人工神经网络的世界中,激活功能可以看作是一组规则,这些规则确定给定一个输入或一组输入,神经元是否激活/"激发"。 通过一个实际的例子可以更好地理解这一点,因此让我们看一下最流行的激活功能之一; 整流线性单位(ReLU)。 具有ReLU激活功能的神经元接受任何实数值作为其输入,但是仅在这些输入大于0时才激活。ReLU激活功能的图形如下。

假设输入列表包含神经元中的所有输入。

就这么简单。 从我们所有的输入值中,我们仅在输入大于0时激活。您可能已经注意到ReLU函数类似于y = x,并且在技术上是相同的函数……..好吧,可以说。 ReLU是函数y = x的"正参数"。 最后,可以将上面的代码清理得更多一些,以提高可读性,所以让我们这样做。

瞧! 你有它。 您已经从头开始编写了第一个激活功能。

Softmax激活功能将未归一化的输入映射到一组指数化和归一化的概率中。 在机器学习的上下文中,当存在两个以上的结果类时,Softmax激活函数可用于多类分类问题中以概括逻辑回归。 让我们通过几个简单的步骤来看看如何在Python中实现此功能。

由于神经网络常见的一些问题-死神经元和爆炸值,我们需要对实现进行一些小的调整。为了减轻这些问题,我们可以简单地从幂运算之前从列表中的每个输出中减去输出列表中的最大值。其背后的收获是,当我们从所有输出中减去最大输出值时,我们剩下的输出列表中没有一个输出大于0。此属性的一个很酷的技巧是,当我们对0求幂时,得到1现在,当我们对负无穷大取幂时,我们得到一个基本上为0的数字。现在,您可以看到此属性如何有效地帮助我们将输出映射到0到1之间的归一化标度中。输出不会改变概率。我将留给您尝试不同的减法值,看看概率分布是否发生变化。因此,让我们用Python代码将它们组合在一起。

做完了! 如您所见,从每个值减去最大值后,您的概率并没有改变。

现在,您应该对什么是激活函数,它们如何适用于人工神经网络以及如何在Python中实现一些最常用的激活函数有很好的了解。 如果您走到了这一步,谢谢您抽出宝贵的时间阅读本文,希望您能学到新知识!

(本文翻译自Precious Chima的文章《Activation Functions: ReLU & Softmax》,参考:https://medium.com/@preshchima/activation-functions-relu-softmax-87145bf39288)

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言