主要内容

clippedReluLayer

裁剪修正线性单元 (ReLU) 层

说明

裁剪 ReLU 层执行阈值运算,其中任何小于零的输入值都设置为零,裁剪上限以上的任何值都设置为该裁剪上限。

此运算等效于:

f(x)={0,x<0x,0x<ceilingceiling,xceiling.

这种裁剪可防止输出变得太大。

创建对象

描述

layer = clippedReluLayer(ceiling) 返回一个裁剪 ReLU 层,其剪裁上限等于 ceiling

layer = clippedReluLayer(ceiling,'Name',Name) 设置可选 Name 属性。

示例

属性

全部展开

裁剪 ReLU

输入裁剪的上限,指定为正标量。

示例: 10

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

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

数据类型: char | string

此 属性 为只读。

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

数据类型: double

此 属性 为只读。

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

数据类型: cell

此 属性 为只读。

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

数据类型: double

此 属性 为只读。

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

数据类型: cell

示例

全部折叠

创建一个名为 clip1 的裁剪 ReLU 层,其裁剪上限等于 10。

layer = clippedReluLayer(10,Name="clip1")
layer = 
  ClippedReLULayer with properties:

       Name: 'clip1'

   Hyperparameters
    Ceiling: 10

Layer 数组中包含一个裁剪 ReLU 层。

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    clippedReluLayer(10)
    maxPooling2dLayer(2,Stride=2)
    fullyConnectedLayer(10)
    softmaxLayer]
layers = 
  6×1 Layer array with layers:

     1   ''   Image Input       28×28×1 images with 'zerocenter' normalization
     2   ''   2-D Convolution   20 5×5 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   Clipped ReLU      Clipped ReLU with ceiling 10
     4   ''   2-D Max Pooling   2×2 max pooling with stride [2  2] and padding [0  0  0  0]
     5   ''   Fully Connected   10 fully connected layer
     6   ''   Softmax           softmax

算法

全部展开

参考

[1] Hannun, Awni, Carl Case, Jared Casper, Bryan Catanzaro, Greg Diamos, Erich Elsen, Ryan Prenger, et al. "Deep speech: Scaling up end-to-end speech recognition." Preprint, submitted 17 Dec 2014. http://arxiv.org/abs/1412.5567

扩展功能

全部展开

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

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

版本历史记录

在 R2017b 中推出