主要内容

scalingLayer

演员或评论家网络的缩放层

描述

缩放层对输入数组进行线性缩放和偏置U,给出一个输出Y =刻度。*U +偏置.您可以将这一层合并到为强化学习代理中的演员或评论家定义的深度神经网络中。该层用于缩放和移动非线性层的输出,例如tanhLayer和乙状结肠。

例如,atanhLayer给出介于-1和1之间的有界输出。如果参与者网络输出具有不同的边界(在参与者规范中定义),则可以包含ScalingLayer作为输出来适当地缩放和移动网络输出的角色。

的参数ScalingLayer对象是不可学习的。

创建

描述

捉鬼= scalingLayer创建一个具有默认属性值的缩放层。

例子

捉鬼= scalingLayer (名称,值属性使用名称-值对。例如,scalingLayer(“规模”,0.5)创建一个缩放层,将其输入缩放0.5。将每个属性名用引号括起来。

属性

全部展开

层的名称,指定为字符向量。若要在层图中包含层,必须指定非空的惟一层名。如果你用这个层训练一个系列网络的名字设置为,则软件在训练时自动为该层分配一个名称。

此属性是只读的。

层的描述,指定为字符向量。在创建伸缩层时,可以使用此属性对其进行描述,以帮助您确定其用途。

在缩放层的输入上按元素进行缩放,指定为以下之一:

  • Scalar—为输入数组的所有元素指定相同的缩放因子。

  • 与输入数组具有相同尺寸的数组——为输入数组的每个元素指定不同的比例因子。

缩放层接受一个输入U并生成输出Y =刻度。*U +偏置

对缩放层输入的元素的偏置,指定为以下之一:

  • Scalar—为输入数组的所有元素指定相同的偏置。

  • 与输入数组具有相同尺寸的数组——为输入数组的每个元素指定不同的偏置。

缩放层接受一个输入U并生成输出Y =刻度。*U +偏置

例子

全部折叠

创建一个转换输入数组的伸缩层U到输出数组Y = 0.1。* u - 0.4

sLayer = scalingLayer(“规模”, 0.1,“偏见”, -0.4)
sLayer = ScalingLayer with properties:名称:'scaling'比例:0.1000偏差:-0.4000可学习参数无属性。状态参数无属性。显示所有属性

确认缩放层按预期缩放和偏移输入数组。

预测(猎人,[10年,20年,30])
ans =1×30.6000 1.6000 2.6000

你可以合并捉鬼进入一个行动者网络或评论家网络进行强化学习。

假设前一层scalingLayer是一个tanhLayer沿着第一个维度对齐的三个输出,并且您希望对每个输出应用不同的缩放因子和偏差scalingLayer

Scale = [2.5 0.4 10]';偏差= [5 0 -50]';

创建scalingLayer对象。

sLayer = scalingLayer(“规模”、规模、“偏见”、偏差);

确认缩放层对具有预期维度的数组应用正确的缩放和偏置值。

testData = [10 10 10]';testData预测(猎人)
ans =3×130 4 50

扩展功能

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

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

版本历史

在R2019a中引入