《深度学习进阶:自然语言处理》P143,word2vec的改进章节中说,对多分类和二分类模型的交叉熵损失函数是等价的。为什么?
个人理解,其实这里作者说的等价并不是两个交叉熵损失函数的值是等价的:
(多分类Softmax)
(二分类Sigmoid)
而是说两个损失函数的反向传播是等价的。只要两个模型的反向传播相同,那么对于相同的输入神经元,每次学习(更新参数)的梯度相同,两个模型的训练过程即是完全相同的,因此两模型等价。
由第一章神经网络背景知识我们可以知道,Softmax方法中的反向传播(详见本书第一章及《深度学习入门:基于 Python 的理论与实现》的附录 A)。而对于二分类模型:
而,
因此
可见,二分类模型对于每个选定的神经元x,其反向传播与多分类模型是相同的,因此可以说两个模型是等价的。
第一次发随笔记录一个很简单的问题,望多指教。