Contenido principal

eluLayer

Capa de unidad lineal exponencial (ELU)

Descripción

Una capa de activación de unidad lineal exponencial (ELU) lleva a cabo la operación de identidad en entradas positivas y una no linealidad exponencial en entradas negativas.

La capa lleva a cabo la siguiente operación:

f(x)={x,x0α(exp(x) - 1),x<0

El valor predeterminado de α es 1. Especifique un valor de α para la capa estableciendo la propiedad Alpha.

Creación

Descripción

layer = eluLayer crea una capa ELU.

layer = eluLayer(alpha) crea una capa ELU y especifica la propiedad Alpha.

layer = eluLayer(___,'Name',Name) también establece la propiedad opcional Name utilizando cualquiera de las sintaxis anteriores. Por ejemplo, eluLayer('Name','elu1') crea una capa ELU con el nombre 'elu1'.

ejemplo

Propiedades

expandir todo

ELU

Parámetro de no linealidad α, especificado como un escalar real finito. El valor mínimo de la salida de la capa ELU es igual a y la pendiente en entradas negativas cercanas a 0 es α.

Capa

Nombre de la capa, especificado como un vector de caracteres o un escalar de cadena. Para entradas de arreglos Layer, las funciones trainnet y dlnetwork asignan automáticamente nombres a las capas sin nombre.

El objeto ELULayer almacena esta propiedad como un vector de caracteres.

Tipos de datos: char | string

Esta propiedad o parámetro es de solo lectura.

Número de entradas a la capa, almacenado como 1. Esta capa solo admite una entrada.

Tipos de datos: double

Esta propiedad o parámetro es de solo lectura.

Nombres de entrada, almacenados como {'in'}. Esta capa solo admite una entrada.

Tipos de datos: cell

Esta propiedad o parámetro es de solo lectura.

Número de salidas de la capa, almacenado como 1. Esta capa solo tiene una salida.

Tipos de datos: double

Esta propiedad o parámetro es de solo lectura.

Nombres de salida, almacenados como {'out'}. Esta capa solo tiene una salida.

Tipos de datos: cell

Ejemplos

contraer todo

Cree una capa de unidad lineal exponencial (ELU) con el nombre 'elu1' y un valor predeterminado de 1 para el parámetro de no linealidad Alpha.

layer = eluLayer(Name="elu1")
layer = 
  ELULayer with properties:

     Name: 'elu1'
    Alpha: 1

   Learnable Parameters
    No properties.

   State Parameters
    No properties.

  Show all properties

Incluya una capa ELU en un arreglo Layer.

layers = [
    imageInputLayer([28 28 1])
    convolution2dLayer(3,16)
    batchNormalizationLayer
    eluLayer
    
    maxPooling2dLayer(2,'Stride',2)
    convolution2dLayer(3,32)
    batchNormalizationLayer
    eluLayer
    
    fullyConnectedLayer(10)
    softmaxLayer]
layers = 
  10×1 Layer array with layers:

     1   ''   Image Input           28×28×1 images with 'zerocenter' normalization
     2   ''   2-D Convolution       16 3×3 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   Batch Normalization   Batch normalization
     4   ''   ELU                   ELU with Alpha 1
     5   ''   2-D Max Pooling       2×2 max pooling with stride [2  2] and padding [0  0  0  0]
     6   ''   2-D Convolution       32 3×3 convolutions with stride [1  1] and padding [0  0  0  0]
     7   ''   Batch Normalization   Batch normalization
     8   ''   ELU                   ELU with Alpha 1
     9   ''   Fully Connected       10 fully connected layer
    10   ''   Softmax               softmax

Algoritmos

expandir todo

Referencias

[1] Clevert, Djork-Arné, Thomas Unterthiner, and Sepp Hochreiter. "Fast and accurate deep network learning by exponential linear units (ELUs)." arXiv preprint arXiv:1511.07289 (2015).

Capacidades ampliadas

expandir todo

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.

Historial de versiones

Introducido en R2019a