NOTE Communicated by Stefan Balint A Fast, Streaming SIMD Extensions 2, Logistic Squashing Function J. J. Milner cplusplus@hotmail.co.uk A. J. Grandison A.J.Grandison@gre.ac.uk School of Computing and Mathematical Sciences, University of Greenwich, Greenwich, London SE10 9SL, U.K. Schraudolph proposed an excellent exponential approximation provid- ing increased performance particularly suited to the logistic squashing function used within many neural networking applications. This note applies Intel’s streaming SIMD Extensions 2 (SSE2), where SIMD is single instruction multiple data, of the Pentium IV class processor to Schraudolph’s technique, further increasing the performance of the lo- gistic squashing function. It was found that the calculation of the new 32-bit SSE2 logistic squashing function described here was up to 38 times faster than the conventional exponential function and up to 16 times faster than a Schraudolph-style 32-bit method on an Intel Pentium D 3.6 GHz CPU. 1 Background The logistic squashing function is used to give a smooth transition between 0 and 1 and is extensively used for computing activation functions within neural networks: f ( y) = 1 1 + e y , f ( y) 0, y → −∞ f ( y) 1, y →∞. (1.1) The calculation of the exponential is computationally expensive and can create a speed bottleneck in an application. 2 Algorithm The algorithm is based on the fast exponential approximation technique of Schraudolph (1999), later refined by Cawley (2000), but manipulates the Neural Computation 20, 2967–2972 (2008) C 2008 Massachusetts Institute of Technology