【问题标题】:Why do we use log probability in deep learning?为什么我们在深度学习中使用对数概率?
【发布时间】:2020-08-10 04:25:03
【问题描述】:

我在阅读论文“Sequence to Sequence Learning with Neural Networks”时产生了好奇。 事实上,不仅这篇论文,还有很多其他论文都使用对数概率,这是有原因的吗? 请检查所附照片。

【问题讨论】:

  • 随着 N 变大,N 概率的乘积趋于零。这可能意味着浮点下溢和精度损失。乘积的对数等于对数的总和,单个对数应为合理大小的负数,并且它们的总和应保持完整的精度

标签: math deep-learning nlp lstm


【解决方案1】:

两个原因 -

  1. 理论 - 两个独立事件 A 和 B 同时发生的概率由 P(A).P(B) 给出。如果我们使用 log,这很容易映射到总和,即 log(P(A)) + log(P(B))。因此更容易将神经元放电“事件”作为线性函数来处理。

  2. 实用 - 概率值在 [0, 1] 中。因此,将两个或更多这样的小数相乘很容易导致浮点精度算术中的下溢(例如,考虑乘以 0.0001*0.00001)。一个实用的解决方案是使用日志来消除下溢。

【讨论】:

    【解决方案2】:

    对于任何给定的问题,我们都需要优化参数的可能性。但是优化产品需要一次性获取所有数据,并且需要大量计算。

    我们知道求和更容易优化,因为求和的导数是导数的和。因此,将 log 转换为 sum 并加快计算速度。

    参考this

    【讨论】:

      猜你喜欢
      • 2018-02-16
      • 1970-01-01
      • 2018-06-25
      • 1970-01-01
      • 2018-11-05
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2021-05-05
      相关资源
      最近更新 更多