【问题标题】:is any method to approximate the softmax probability under special conditions?有什么方法可以在特殊条件下逼近softmax概率吗?
【发布时间】:2020-09-23 04:01:13
【问题描述】:

我正在尝试找到不使用 exp() 来计算 softmax 概率的方法。

假设:

target: to compute f(x1, x2, x3) = exp(x1)/[exp(x1)+exp(x2)+exp(x3)]

conditions:

    1. -64 < x1,x2,x3 < 64

    2. result is just kept 3 desimal places.

有没有办法找到一个多项式来近似表示这种条件下的结果?

【问题讨论】:

  • 您可以用分段线性函数(参见here)在softmax 中近似exp,另一种可能性are in this answer。这取决于您追求什么以及为什么要这样做。

标签: machine-learning math deep-learning softmax


【解决方案1】:

我对 Softmax 概率的理解

神经网络 (NN) 的输出不是很有辨别力。例如,如果我有 3 个类,对于正确的类,说 NN 输出可能是某个值 a,而对于其他类,则可能是 b,c,例如 a&gt;b, a&gt;c。但是如果我们使用 softmax 技巧,首先在转换之后 a+b+c = 1 这使得它可以解释为概率。其次,a&gt;&gt;&gt;b, a&gt;&gt;&gt;c,所以我们现在更有信心了。

那么如何走得更远

要获得第一个优势,使用就足够了

f(x1)/[f(x1)+f(x2)+f(x3)]
(equation 1)

对于任何函数f(x)

Softmax 选择f(x)=exp(x)。但由于你对exp(x) 不满意,你可以选择说f(x)=x^2

我在下面给出了一些类似于指数曲线的图,您可以从中选择或使用一些类似的函数。要解决负范围,您可以在输出中添加 64 的偏差。

请注意,分母只是一个常数,不需要计算。为简单起见,您可以只使用以下而不是等式 1,

[f(x)] / [3*f(xmax)]

在你的情况下xmax = 64 + bias(if you choose to use one)

问候。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多