tfa.activations.snake

Snake activation to learn periodic functions.

Computes snake activation:

$$ \mathrm{snake}(x) = \frac{x + (1 - \cos(2 \cdot \mathrm{frequency} \cdot x))}{2 \cdot \mathrm{frequency} }. $$

See Neural Networks Fail to Learn Periodic Functions and How to Fix It.

Usage:

x = tf.constant([-1.0, 0.0, 1.0])
tfa.activations.snake(x)
<tf.Tensor: shape=(3,), dtype=float32, numpy=array([-0.29192656,  0.        ,  1.7080734 ], dtype=float32)>

x A Tensor.
frequency A scalar, frequency of the periodic part.

A Tensor. Has the same type as x.