Swish

Versioned name: Swish-4

Category: Activation function

Short description: Swish performs element-wise activation function on a given input tensor.

Detailed description

Swish operation is introduced in this article.

Swish is a smooth, non-monotonic function. The non-monotonicity property of Swish distinguishes itself from most common activation functions. It performs element-wise activation function on a given input tensor, based on the following mathematical formula:

\[Swish(x) = x\cdot \sigma(\beta x) = x \left(1 + e^{-(\beta x)}\right)^{-1}\]

where β corresponds to beta scalar input.

Attributes: Swish operation has no attributes.

Inputs:

  • 1: data. A tensor of type T and arbitrary shape. Required.

  • 2: beta. A non-negative scalar value of type T. Multiplication parameter for the sigmoid. Default value 1.0 is used. Optional.

Outputs:

  • 1: The result of element-wise Swish function applied to the input tensor data. A tensor of type T and the same shape as data input tensor.

Types

  • T: arbitrary supported floating-point type.

Examples

Example: Second input beta provided

 <layer ... type="Swish">
     <input>
         <port id="0">
             <dim>256</dim>
             <dim>56</dim>
         </port>
         <port id="1">  <!-- beta value: 2.0 -->
         </port>
     </input>
     <output>
         <port id="2">
             <dim>256</dim>
             <dim>56</dim>
         </port>
     </output>
 </layer>

Example: Second input beta not provided

 <layer ... type="Swish">
     <input>
         <port id="0">
             <dim>128</dim>
         </port>
     </input>
     <output>
         <port id="1">
             <dim>128</dim>
         </port>
     </output>
 </layer>