2016 - 2024

感恩一路有你

softmax交叉熵损失函数 为什么交叉熵cross-entropy可以用于计算代价?

浏览量:1330 时间:2021-03-12 09:29:06 作者:admin

为什么交叉熵cross-entropy可以用于计算代价?

请问神经网络有多个输出的回归问题,损失函数如何定义比较合理?

在我看来,多重输出与损失函数的类型选择没有直接关系。一般来说,使用交叉熵是没有问题的,即使是最小均方误差也不会产生显著的影响。但是,最好添加范数的正则化因子(计算量较少)。但是,输出的大小是影响算法收敛性的关键因素,因为如果要对结果进行归一化也是非常耗时的。如果输出太多,例如超过1000个,可以尝试使用分层softmax。有关代码,请参阅word2vec。希望对大家有所帮助

标签平滑是机器学习中的一种模型正则化方法。在分类模型中,通常的过程是先提取特征,然后进行全连接层,将输出映射到分类大小,再进行softmax,将结果映射到0-1,然后用一个热标签计算交叉熵损失函数来训练模型。标签平滑基于两个原因:1。另外,使用一个热表达式会使模型逐渐逼近1,从而对预测结果表现出过度自信,这种自信会使模型过度拟合。

2. 在分类模型中,标签通常用一个热向量来表示,存在过度拟合的风险。由于训练集中的训练数据往往是有限的,不能真实地反映预测结果的真实分布。

特别是在翻译模型中,当预测单词时,通常没有唯一的答案,同一个句子可以对应多个翻译方案。但一个热点将消除这种可能性,使结果独特,并使正确答案和其他答案之间的距离尽可能长。我们希望为每种情况留下预测的可能性。

然后标签平滑是使一个热编码更软。方法也很简单。一方面,它减小了1的大小,另一方面,它使0的标记变大。计算公式如下:

即标签分布和相同先验分布的加权和。如果先验分布是均匀的,那么u(k)=1/k,k是分类数。这样,模型的预测结果将同时拟合一个热点的标签分布和先验分布,从而提高了模型的泛化能力,降低了过度拟合的风险。

Label smoothing是什么?有何作用?

这个问题比较普遍,因为网络的损耗函数是自己设计的。如果不指定,则有两种损失函数:均方误差和交叉熵。当然中误差是指输出和标签之间的差值的平方和的平均值,计算方法如下:

交叉熵是为防止网络在训练后期的延迟而提出的损失函数,计算方法如下:

softmax交叉熵损失函数 softmax损失函数求导 全连接层和softmax

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。