例如,AFAIK,CNN 中的池化层是不可微的,但它可以使用,因为它不是学习的。它总是真实的吗?
如果不学习,可以在神经网络中使用不可微层吗?
人工智能
神经网络
机器学习
反向传播
梯度下降
汇集
2021-11-03 23:20:30
1个回答
不可能通过具有不可微函数的层反向传播梯度。然而,池化层函数是可微的*,而且通常微不足道。
例如:
如果平均池化层有输入和输出, 每个输出是 4 个输入的平均值(如果池化层重叠,它会变得有点复杂,但你只需在它们重叠的地方添加东西)。
最大池化层有对于最大 z,和对于所有其他人。
池化层通常没有可学习的参数,但如果您知道函数在其输出处的梯度,则可以使用链式法则正确地将梯度分配给其输入。这基本上就是反向传播的全部内容,即应用于神经网络功能的链式法则。
要更直接地回答您的问题:
如果不学习,可以在神经网络中使用不可微层吗?
不。
有一个例外:如果这一层直接出现在输入之后,那么由于它没有要学习的参数,而且你通常不关心输入数据的梯度,所以你可以在那里有一个不可微的函数。但是,这与以某种不可微分的方式转换输入数据并使用转换后的数据训练 NN 相同。
* 从技术上讲,最大函数的梯度存在一些不连续性(其中任何两个输入相等)。然而,这在实践中不是问题,因为梯度在接近这些值时表现良好。何时可以安全地执行此操作可能是另一个问题的主题。
其它你可能感兴趣的问题