Machine learning 为什么乙状结肠会使梯度全部为正或负

Machine learning 为什么乙状结肠会使梯度全部为正或负,machine-learning,Machine Learning,在cs231n课程中,当我阅读关于激活函数的注释时,我遇到了一个关于sigmoid函数的问题。以下是屏幕截图: 在我看来,既然梯度dw=x.T dout,虽然现在x.T都是正的,但是在矩阵乘法之后,为什么dw都是正的还是负的呢?唯一的可能性是,dout都是正的或负的,但为什么呢 有人能帮我吗?如果你读的是确切的句子,它的全部内容是(略加解释): 如果进入神经元的数据总是正的,那么反向传播期间权重上的梯度要么全部为正,要么全部为负(取决于整个表达式f的梯度) 假设f=w^Tx+b。然后,相对于权

在cs231n课程中,当我阅读关于激活函数的注释时,我遇到了一个关于sigmoid函数的问题。以下是屏幕截图:

在我看来,既然梯度
dw=x.T dout
,虽然现在
x.T
都是正的,但是在矩阵乘法之后,为什么
dw
都是正的还是负的呢?唯一的可能性是,
dout
都是正的或负的,但为什么呢


有人能帮我吗?

如果你读的是确切的句子,它的全部内容是(略加解释):

如果进入神经元的数据总是正的,那么反向传播期间权重上的梯度要么全部为正,要么全部为负(取决于整个表达式f的梯度)

假设
f=w^Tx+b
。然后,相对于权重的梯度为
\nabla_w L=(dL/df)(df/dw)
。由于dL/df是一个标量,所以它要么是正的,要么是负的(或者是零,但这不太可能)。另一方面
df/dw=x
。所以很明显,如果
x
都是正的或都是负的,那么
df/dw
也都是正的或都是负的。但这意味着
\nabla_w L
也必须全部为正或全部为负,因为
dL/df
不能以不同方式更改
df/dw
的各个元素的符号。因此梯度的符号是均匀的。

你的意思是有一个前提,即f是标量吗?然后df/dw=x^T,dL/dw=dL/df*df/dw=dL/df*x^T,因为所有x^T>0,所以dL/dw要么是正的,要么是负的,因为dL/df是标量。但如果f不是标量,也就是说,X是nxd,W是dxc,那么dL/dW=X^T$\cdot$dL/df,即使X^T都是正的,dL/df同时包含正的和负的,那么dL/dW可能同时包含正的和负的。