主要内容

eluLayer

指数线性单元 (ELU) 层

说明

ELU 激活层对正输入执行单位运算,对负输入执行指数非线性运算。

该层执行以下操作:

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

α 的默认值为 1。通过设置 Alpha 属性,为图层指定 α 值。

创建对象

描述

layer = eluLayer 创建一个 ELU 层。

layer = eluLayer(alpha) 创建一个 ELU 层并指定 Alpha 属性。

layer = eluLayer(___,'Name',Name) 还可使用上述任意语法设置可选的 Name 属性。例如,eluLayer('Name','elu1') 创建一个名为 'elu1' 的 ELU 层。

示例

属性

全部展开

ELU

非线性参数 α,指定为有限实标量。ELU 层输出的最小值等于 ,当负输入趋近于 0 时斜率为 α

层名称,指定为字符向量或字符串标量。对于 Layer 数组输入,trainnetdlnetwork 函数会自动为未命名层指定名称。

ELULayer 对象将此属性存储为字符向量。

数据类型: char | string

此 属性 为只读。

层的输入数,存储为 1。此层只接受一个输入。

数据类型: double

此 属性 为只读。

输入名称,存储为 {'in'}。此层只接受一个输入。

数据类型: cell

此 属性 为只读。

层的输出数,存储为 1。此层只有一个输出。

数据类型: double

此 属性 为只读。

输出名称,存储为 {'out'}。此层只有一个输出。

数据类型: cell

示例

全部折叠

创建一个名为 'elu1' 的指数线性单元 (ELU) 层,并将非线性参数 Alpha 的默认值设为 1。

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

     Name: 'elu1'
    Alpha: 1

   Learnable Parameters
    No properties.

   State Parameters
    No properties.

  Show all properties

Layer 数组中包含一个 ELU 层。

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

算法

全部展开

参考

[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).

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2019a 中推出