输出值在[-1, 1]之间
在RNN里面用得比较多
* tanh的求导推导过程
因为:z<0时,梯度是0,z>0时,梯度是1。因为在向后传播时候,因为梯度是1,所以对于搜索最优解,梯度计算时候非常方便,也不会被放大和缩小,很难出现梯度弥散和梯度爆炸的情况。所以在神经网络中优先使用此函数。
* relu在pytorch中的实现
pytorch中mse的求解方法:torch.norm().pow(2) # 要记得平方
* MSE求导
使用torch.autograd.grad()
使用mse.backward()
w.norm()是均方差的平方根
w.grad()是导数
w.grad().norm()是导数的均方差的平方根
2、Cross Entropy Loss:
1)输出的所有值的范围是0~1
2)所有概率之和等于1。(注:sigmoid函数,所有概率的和一般是不等于1的)
输出概率最大值的 索引。
3)会将原有值之间的差距拉大。
* softmax求导: