似乎激活和传递功能之间存在一些混淆。来自Wikipedia ANN:
似乎传递函数计算网络,而激活函数则是神经元的输出。但在Matlab documentation of an activation function我引用:
satlin(N,FP)是一种神经转移功能。传递函数计算a 图层的净输入输出。
那么谁是对的?你可以互换使用术语激活功能或传递功能吗?
答案 0 :(得分:12)
经过一些研究后,我在"Survey of Neural Transfer Functions", from Duch and Jankowski (1999)找到了:
transfer_function = activation function + output function
IMO这个术语现在有意义,因为我们需要有一个值(信号强度)来验证神经元是否会被激活,然后计算它的输出。整个过程的作用是将信号从一层传输到另一层。
两个函数决定了神经元处理信号的方式。该 激活功能确定神经元接收的总信号。激活函数的值通常是标量和 参数是向量。确定神经元的第二个功能 信号处理是输出函数 o(I),以标量运算 激活和返回标量值。通常是挤压 function用于将输出值保持在指定的范围内。 这两个函数一起确定神经元的值 传出信号。激活和输出的组成 函数称为传递函数 o(I(x))。
答案 1 :(得分:10)
我也引用wikipedia:“通常每个节点的总和都是加权的,总和通过称为激活函数或传递函数的非线性函数传递。
至少在机器学习中,我所知道的所有专业人员都可以互换使用它们(更频繁地使用“激活功能”,而我认为“传递功能”更常用于信号处理)。如果有更严格的定义,则通常不会知道/接受,因此任何使用它们作为两个不同术语的人都必须更清楚。
答案 2 :(得分:2)
传递函数来自名称转换,用于转换目的。另一方面,如果输出满足某个阈值并且输出零或一,则激活功能检查输出。非线性传递函数的一些示例是softmax和sigmoid。
例如,假设我们有连续的输入信号x(t)。该输入信号通过传递函数y(t)
转换为输出信号H(s)
。
Y(s) = H(s)X(s)
如上所示,传递函数H(s)
通过转换将输入X(s)
的状态更改为新的输出状态Y(s)
。
仔细观察H(s)表明它可以代表神经网络中的权重。因此,H(s)X(s)
只是输入信号及其权重的乘积。然后将给定层中的这些输入 - 权重对中的几个相加以形成另一层的输入。这意味着对神经网络的任何层的输入只是其输入和权重的传递函数,即线性变换,因为输入现在由权重变换。但在现实世界中,问题本质上是非线性的。因此,为了使输入数据非线性,我们使用称为激活函数的非线性映射。激活功能是决定特定神经特征存在的决策功能。它映射在0和1之间,其中零表示该特征不存在,而一个表示该特征存在。不幸的是,重量中发生的微小变化不能反映在激活值中,因为它只能采用0或1.因此,非线性曲面必须是连续的并且在此范围之间是可微分的。
在输出激活之前,您确实首先计算sigmoid,因为它是连续的和差分的,然后将其用作激活函数的输入,该函数检查sigmoid的输出是否高于其激活阈值。神经网络必须能够从-infinity到+正无限输入任何输入,但它应该能够将其映射到范围在{0,1}
之间或在{-1,1}
之间的输出 - 在某些情况下 - 需要激活功能。
答案 3 :(得分:1)
我也是机器学习领域的新手。据我所知......
转移功能: 传递函数计算净重,因此您需要修改在传递函数之前需要完成的代码或计算。您可以根据自己的任务使用各种传输功能。
激活功能:用于计算阈值,即当您的网络提供输出时。如果您的计算结果大于阈值,它将显示输出,否则不显示。
希望这有帮助。
答案 4 :(得分:0)
我认为该图表是正确的,但在术语上并不准确。
传递函数包括图中的激活和传递函数。图中所谓的传递函数通常称为净输入函数。净输入功能仅增加输入的权重并计算净输入,净输入通常等于输入的总和乘以给定的权重。激活函数(可以是sigmoid,step等函数)应用于净输入以生成输出。