关于word2vec中多分类(Softmax)和二分类(Sigmoid)模型的交叉熵损失函数等价的思考

文章讨论了在深度学习的自然语言处理中,多分类Softmax和二分类Sigmoid模型的交叉熵损失函数虽然形式不同,但它们在反向传播过程中产生的梯度相同,导致训练过程等价。作者通过比较两种模型的反向传播机制来解释这一现象。
摘要由CSDN通过智能技术生成

        《深度学习进阶:自然语言处理》P143,word2vec的改进章节中说,对多分类和二分类模型的交叉熵损失函数是等价的。为什么?

        个人理解,其实这里作者说的等价并不是两个交叉熵损失函数的值是等价的:

L = -\sum_{k}t_{k}\cdot lny_{k}(多分类Softmax)

L = -(t\cdot lny + (1-t)\cdot ln(1-y))(二分类Sigmoid)

        而是说两个损失函数的反向传播\frac{\partial L}{\partial x}是等价的。只要两个模型的反向传播相同,那么对于相同的输入神经元,每次学习(更新参数)的梯度相同,两个模型的训练过程即是完全相同的,因此两模型等价。

        由第一章神经网络背景知识我们可以知道,Softmax方法中的反向传播\frac{\partial L}{\partial x} = y_{k} - t_{k}(详见本书第一章及《深度学习入门:基于 Python 的理论与实现》的附录 A)。而对于二分类模型:

\frac{\partial L}{\partial x} = \frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial x}

\frac{\partial L}{\partial y} = -\frac{t}{y} + \frac{1 - t}{1 - y}\frac{\partial y}{\partial x} = \frac{\partial }{\partial x} (\frac{1}{1 + e^{-x}}) = \frac{e^{-x}}{(1 + e^{-x})^{2}} = y\cdot (1 - y)

因此\frac{\partial L}{\partial x} = (-\frac{t}{y} + \frac{1 - t}{1 - y}) \cdot y \cdot (1 - y) = y - t

        可见,二分类模型对于每个选定的神经元x,其反向传播与多分类模型是相同的,因此可以说两个模型是等价的。

        第一次发随笔记录一个很简单的问题,望多指教。

        

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值