"relu"在tf.nn.relu中代表什么?
What does "relu" stand for in tf.nn.relu?
在其 API documentation 中显示 "Computes rectified linear"。
是Re(ctified) L(inear)...那U是什么?
Re(ctified) L(inear) (U)nit
通常神经网络中的一个层有一些输入,比如一个向量,然后将其乘以一个权重矩阵,结果即又是一个向量。
结果中的每个值(通常是浮点数)然后被视为输出。然而,如今神经网络中的大多数层都涉及非线性,因此您可能会说附加功能增加了这些输出值的复杂性。很长一段时间以来,这些都是 sigmoids 和 tanhs。
但最近人们使用一个函数,如果输入为负,则结果为 0,如果输入为 0 或正,则为输入本身。这个特定的附加功能(或更好的 "activation function")称为 relu。
在 Friesel 的回答之上,我想补充 Relu 的两个重要特征。
1。它不可微分。
Relu 的图表:它是尖的,而不是弯曲的。
定义为f(x) = max(0,x)
因此它不可微。
2。 ReLU的导数很简单!比 sigmoid 更简单,即 x(1-x)
.
The derivative of ReLU:
1 if x > 0
0 otherwise
这是我们主要在隐藏层上使用的最简单的非线性函数。想想反向传播会有多容易!
在其 API documentation 中显示 "Computes rectified linear"。
是Re(ctified) L(inear)...那U是什么?
Re(ctified) L(inear) (U)nit
通常神经网络中的一个层有一些输入,比如一个向量,然后将其乘以一个权重矩阵,结果即又是一个向量。
结果中的每个值(通常是浮点数)然后被视为输出。然而,如今神经网络中的大多数层都涉及非线性,因此您可能会说附加功能增加了这些输出值的复杂性。很长一段时间以来,这些都是 sigmoids 和 tanhs。
但最近人们使用一个函数,如果输入为负,则结果为 0,如果输入为 0 或正,则为输入本身。这个特定的附加功能(或更好的 "activation function")称为 relu。
在 Friesel 的回答之上,我想补充 Relu 的两个重要特征。
1。它不可微分。
Relu 的图表:它是尖的,而不是弯曲的。
定义为f(x) = max(0,x)
因此它不可微。
2。 ReLU的导数很简单!比 sigmoid 更简单,即 x(1-x)
.
The derivative of ReLU:
1 if x > 0
0 otherwise
这是我们主要在隐藏层上使用的最简单的非线性函数。想想反向传播会有多容易!