Neural network 激活功能是如何工作的?

Neural network 激活功能是如何工作的?,neural-network,activation-function,Neural Network,Activation Function,对于激活函数在神经网络中是如何工作的,我仍然有点困惑,困惑的是不能用外行的术语解释它们。到目前为止,我已经: 隐藏层中的激活函数确定神经元是否打开,将值传递给下一层,还是关闭,不向下一层传递任何信息。这是通过将权重/偏差计算的结果输入一个函数(例如sigmoid)来实现的,该函数产生高开/通过值或低关/未通过值的输出 让我困惑的是: 接下来会发生什么?如果神经元打开,1神经元和下一层之间的连接器是否有自己的w&b值传递给下一层?2激活功能的输入是否传递到下一层?或者,sigmoid函数的输出是否

对于激活函数在神经网络中是如何工作的,我仍然有点困惑,困惑的是不能用外行的术语解释它们。到目前为止,我已经:

隐藏层中的激活函数确定神经元是否打开,将值传递给下一层,还是关闭,不向下一层传递任何信息。这是通过将权重/偏差计算的结果输入一个函数(例如sigmoid)来实现的,该函数产生高开/通过值或低关/未通过值的输出

让我困惑的是:

接下来会发生什么?如果神经元打开,1神经元和下一层之间的连接器是否有自己的w&b值传递给下一层?2激活功能的输入是否传递到下一层?或者,sigmoid函数的输出是否传递到下一层?我想答案是1


有人能帮我解决这方面的困惑吗?

首先,我认为你应该忘记开或关的概念,因为它实际上并不是通常的工作方式:这样的函数的结果不是必须是二进制的。存在阈值激活函数,但它们不是唯一的函数。sigmoid函数是一个从实数到集合]0,1[的函数。这个函数被应用,除非你添加一个阈值,否则你的神经元总是输出一些东西,即使它是小的或大的,也不是0或1。 以线性激活函数为例:您甚至可以在所有实数之间输出。因此,开/关的概念是不相关的

这种函数的目标是增加模型的复杂性,并使其非线性。如果你有一个没有这些函数的神经网络,输出将只是输入的线性加权和加上偏差,这通常不够复杂,无法解决问题。通常使用网络模拟异或门的例子,你不会这样做它没有激活功能。有了激活功能,你可以添加任何你想要的东西,比如tanh,sigmoid,ReLU

也就是说,答案是1和3

如果你在一个隐藏层中取一个随机神经元n,它的输入是一个由权重加权的值的和,以及一个由通常称为w0的权重加权的偏差,然后它在这个和上应用激活函数。想象前面神经元的加权值是0.5和0.2,你的加权偏差是0.1。然后应用一个函数,让我们来看看以乙状结肠为例,在0.5+0.2+0.1=0.8,这等于0.69

神经元的输出是函数的结果。下一层的每个神经元将对当前层的输出(包括我们神经元的输出)进行加权和。请注意,下一层的每个神经元在上一层和自身之间有自己的权重。然后,下一层的神经元将应用激活函数n不必与当前层相同,以生成自己的输出。因此,非正式地说,它将执行类似于activ_func…+…+0.69*weight_n+


这意味着,你可以说,每一层都将应用于前一层神经元值和加权偏差加权和上的激活函数的结果作为值。如果你能够在不窒息的情况下读取它,你可以递归地将此定义应用于每一层,当然输入除外。

请注意,ab也是如此列出具体的编码问题;关于机器学习理论和方法的非编码问题在这里是离题的,应该张贴在上。请参阅机器学习中的注释。我投票结束这个问题,因为它不是关于在中定义的编程,而是关于ML理论。我投票结束这个问题,因为它是不是关于编程。你有一个关于神经网络的概念性问题,最好在数学、统计学或机器学习的环境中提问。