Welcome to our Support Center

LayerNormalization

Description

Define the layer normalization layer according to its parameters. To be used for the TimeDistributed layer. Type : polymorphic.

 

Input parameters

 

 parameters : layer parameters.

 epsilon : float, added to variance to avoid dividing by zero.
Default value “0.001”.
beta_initializerenum, initializer for the beta weight.
Default value “Zeros”.
 gamma_initializerenum, initializer for the gamma weight.
Default value “Ones”.
 optimizer :

 algorithm : enum, (name of optimizer) for optimizer instance.
Default value “adam”.
 learning_rate : float, define the learning rate to use.
Default value “0.001”.
 beta_1 : float, define the exponential decay rate for the 1st moment estimates.
Default value “0.9”.
 beta_2 : float, define the exponential decay rate for the 2nd moment estimates.
Default value “0.999”.

 training? : boolean, whether the layer is in training mode (can store data for backward).
Default value “True”.
 store? : boolean, whether the layer stores the last iteration gradient (accessible via the “get_gradients” function).
Default value “False”.
 update? : boolean, whether the layer’s variables should be updated during backward. Equivalent to freeze the layer.
Default value “True”.
 lda_coeff : float, defines the coefficient by which the loss derivative will be multiplied before being sent to the previous layer (since during the backward run we go backwards).
Default value “1”.

 

Output parameters

 

LayerNormalization out : layer layer normalization architecture.

Example

All these exemples are snippets PNG, you can drop these Snippet onto the block diagram and get the depicted code added to your VI (Do not forget to install HAIBAL library to run it).

LayerNormalization layer inside Timedistributed layer

1 – Generate a set of data

We generate an array of data of type single and shape [batch_size = 10, time = 6, input_dim = 5].

2 – Define graph

First, we define the first layer of the graph which is an Input layer (explicit input layer method). This layer is setup as an input array shaped [time = 6, input_dim = 5].
Then, we add to the graph the TimeDistributed layer which we setup with a LayerNormalization layer using the define method.

3 – Run graph

We call the forward method and retrieve the result with the “Prediction 3D” method.
This method returns two variables, the first one is the layer information (cluster composed of the layer name, the graph index and the shape of the output layer) and the second one is the prediction with a shape of [batch_size, time, input_dim].

 

Table of Contents