scalingLayer

Слой Scaling для агента или сети критика

Описание

ScalingLayer является слоем глубокой нейронной сети, который линейно масштабирует и смещает входной массив U, давая вывод Y = Scale.*U + Bias. Можно включить этот слой в глубокие нейронные сети, которые вы задаете для агентов или критиков в агентах изучения укрепления. Этот слой полезен для масштабирования и перемещения выходных параметров нелинейных слоев, таков как tanhLayer и сигмоидален.

Например, tanhLayer дает ограниченный вывод, который падает между –1 и 1. Если ваша сеть агента вывод имеет различные границы (как задано в спецификации агента), можно включать ScalingLayer как вывод, чтобы масштабировать и переключить сеть агента вывод соответственно.

Масштабирующиеся параметры слоя не learnable.

Создание

Синтаксис

sLayer = scalingLayer
sLayer = scalingLayer(Name,Value)

Описание

sLayer = scalingLayer создает масштабирующийся слой со значениями свойств по умолчанию.

пример

sLayer = scalingLayer(Name,Value) свойства наборов с помощью пар Name,Value. Например, scalingLayer('Scale',0.5) создает масштабирующийся слой, который масштабирует его вход 0,5. Заключите каждое имя свойства в кавычки.

Свойства

развернуть все

Имя слоя, заданного как вектор символов. Чтобы включать слой в график слоя, необходимо задать непустое уникальное имя слоя. Если вы обучаете серийную сеть с этим слоем, и Name установлен в '', то программное обеспечение автоматически присваивает имя к слою в учебное время.

Это свойство доступно только для чтения.

Описание слоя, заданного, когда вы создаете масштабирующийся слой и сохраненный как вектор символов. Когда вы создаете масштабирующийся слой, можно использовать это свойство дать ему описание, которое помогает вам идентифицировать его цель.

Поэлементная шкала на входе к масштабирующемуся слою, заданному в виде числа. Масштабирующийся слой берет вход U и генерирует вывод Y = Scale.*U + Bias.

Поэлементное смещение на входе к масштабирующемуся слою, заданному в виде числа. Масштабирующийся слой берет вход U и генерирует вывод Y = Scale.*U + Bias.

Примеры

свернуть все

Создайте масштабирующийся слой, который преобразовывает входной массив U в выходной массив Y = 0.1.*U - 0.4.

sLayer = scalingLayer('Scale',0.1,'Bias',-0.4)
sLayer = 
  ScalingLayer with properties:

     Name: 'scaling'
    Scale: 0.1000
     Bias: -0.4000

  Show all properties

Подтвердите, что масштабирующийся слой масштабирует и смещает входной массив как ожидалось.

predict(sLayer,[10,20,30])
ans = 1×3

    0.6000    1.6000    2.6000

Можно включить sLayer в сеть агента или сеть критика для изучения укрепления.

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте