什么" relu"代表tf.nn.relu?

时间:2017-04-19 19:15:30

标签: tensorflow tensor

在其API documentation中,它表示" Computes纠正线性"。

是Re(ctified)L(inear)......那么U是什么?

2 个答案:

答案 0 :(得分:25)

Re(ctified)L(inear)(U)nit

通常,神经网络中的一个层有一些输入,比如一个向量,并将其与权重矩阵相乘,从而再次出现在向量中。

结果中的每个值(通常是浮点数)都被视为输出。然而,现在神经网络中的大多数层都涉及非线性,因此可以说,附加功能会增加这些输出值的复杂性。很长一段时间,这些都是sigmoids和tanhs。

但最近人们使用的函数如果输入为负则导致0,如果输入为0或正则则使用输入本身。这个特定的附加功能(或更好的"激活功能")被称为relu。

答案 1 :(得分:7)

除了Friesel的回答之外,我还想补充一下Relu的两个重要特征。

1。这是不可区分的。

Relu的图:它很尖,不弯曲。

enter image description here

定义为f(x) = max(0,x) 因此它不可区分。

2。 ReLU的衍生物非常简单!比sigmoid更简单,即x(1-x)

The derivative of ReLU:
 1 if x > 0
 0 otherwise 

这是我们主要在隐藏层上使用的最简单的非线性函数。想想反向传播会有多容易!