百科问答小站 logo
百科问答小站 font logo



为什么softmax很少会出现[0.5,0.5]? 第1页

  

user avatar   wang-feng-98-82 网友的相关建议: 
      

因为训练的时候你没有跟网络说什么样的东西应该不确定。

你只给了确定的label,要么是[0,1]要么是[1,0],那网络就只会出接近这两个值的输出。

-----------------分界线------------------

当然这背后是有数学原理的,二分类的softmax其实等价于sigmoid,如果一直给one-hot的标签,在训练集几乎都能分正确的前提下,网络趋向于将feature的norm无限拉长,sigmoid越来越接近0-1的阶跃函数,几乎所有样本的输出就都在接近0和接近1的位置,中间态几乎没有。

注意这里引入了一个假设,即“训练集几乎都能分正确”。如果你的训练集拟合得不好,你会发现输出0.3、0.5之类的样本的机会会大大增加。

-----------------分界线------------------

怎么告诉网络不确定性呢?

有两种方式:一种是soft label,即你直接就给部分样本[0.5, 0.5]的label;一种是noise label,就是你觉得不确定的东西,一会给0的label,一会给1的label。

这两种方式都可以起作用,当然第一种效果更好一些,网络有比较明确的目标,第二种方式在batch training下其实也是有效的,只是看起来比较奇怪。




  

相关话题

  机器学习为生物学和医学研究带来了哪些改变?能解决哪些医学难题? 
  神经网络的万能逼近定理已经发展到什么地步了? 
  如何看待timm作者发布ResNet新基准:ResNet50提至80.4,这对后续研究会带来哪些影响? 
  老师给了一个神经网络的程序,他之前是跑通了的,但是我迭代几十次或者一百多次就报错。这个怎么解决? 
  2021年深度学习在哪些应用上有实质进展? 
  graph convolutional network有什么比较好的应用task? 
  ICML2020有哪些值得关注的工作? 
  如何用一句话证明自然语言处理很难? 
  迁移学习与fine-tuning有什么区别? 
  有哪些比较好的元学习(meta learning)领域的学习资源? 

前一个讨论
目前 AI 在疾病的诊断和治疗上,有哪些成功的应用?
下一个讨论
一位合格的博士生需要有哪些条件和素质?





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利