4 comments

  • AlotOfReading13 minutes ago
    A different floating point hack makes exp() easier to compute in hardware (and consequently tanh). You cast the input to an int and take the first 2 bits of what would be the mantissa. LUT[Index] and LUT[Index+1] from your 5-entry table are used to either lerp or poly approx. the function, with the remaining mantissa bits to help.
  • raphlinus38 minutes ago
    A different approach, refining the square root based sigmoid with a polynomial, is in my blog post &quot;a few of my favorite sigmoids&quot; [1]. I&#x27;m not sure which is faster without benchmarking, but I&#x27;m pretty sure its worst case error is better than any of the fast approximations.<p>[1]: <a href="https:&#x2F;&#x2F;raphlinus.github.io&#x2F;audio&#x2F;2018&#x2F;09&#x2F;05&#x2F;sigmoid.html" rel="nofollow">https:&#x2F;&#x2F;raphlinus.github.io&#x2F;audio&#x2F;2018&#x2F;09&#x2F;05&#x2F;sigmoid.html</a>
  • agalunar53 minutes ago
    There’s an analysis of the Schraudolph approximation of the exponential function (along with an improvement upon it) that someone might find interesting at <a href="https:&#x2F;&#x2F;typ.dev&#x2F;attention#affine-cast" rel="nofollow">https:&#x2F;&#x2F;typ.dev&#x2F;attention#affine-cast</a>
  • mjcohen1 hour ago
    Looks interesting. Should start with a definition of the Hyperbolic Tangent. It is only about 2&#x2F;3 of the way that the definition occurs in a discussion of computing exp(x).