Main Content

scalingLayer

액터 또는 크리틱 신경망의 스케일링 계층

설명

스케일링 계층은 입력 배열 U를 선형적으로 스케일링하고 편향을 적용하여 출력 Y = Scale.*U + Bias를 반환합니다. 이 계층을 강화 학습 에이전트의 액터 또는 크리틱에 대해 정의하는 심층 신경망에 통합할 수 있습니다. 이 계층은 tanhLayer와 시그모이드 같은 비선형 계층의 출력값을 스케일링하고 이동시킬 때 유용합니다.

예를 들어, tanhLayer는 –1과 1 사이로 범위가 지정된 출력값을 제공합니다. 액터 신경망 출력값이 서로 다른 범위(액터 사양에 정의됨)를 갖는 경우 ScalingLayer를 출력값으로 포함하여 액터 신경망 출력값을 적절히 스케일링하고 이동할 수 있습니다.

ScalingLayer 객체의 파라미터는 학습 가능한 파라미터가 아닙니다.

생성

설명

sLayer = scalingLayer는 디폴트 속성값을 사용하여 스케일링 계층을 만듭니다.

예제

sLayer = scalingLayer(Name,Value)는 이름-값 쌍을 사용하여 속성을 설정합니다. 예를 들어, scalingLayer('Scale',0.5)는 입력값을 0.5만큼 스케일링하는 스케일링 계층을 만듭니다. 각 속성 이름을 따옴표로 묶습니다.

속성

모두 확장

계층의 이름으로, 문자형 벡터로 지정됩니다. 계층 그래프에 계층을 포함하려면 비어 있지 않은 고유한 계층 이름을 지정해야 합니다. 이 계층을 사용하여 시리즈 신경망을 훈련시킬 때 Name''로 설정되어 있으면 훈련 시 계층에 이름이 자동으로 할당됩니다.

읽기 전용 속성입니다.

계층에 대한 설명으로, 문자형 벡터로 지정됩니다. 스케일링 계층을 만들 때 이 속성을 사용하여 계층의 용도를 쉽게 알아볼 수 있는 설명을 지정할 수 있습니다.

스케일링 계층의 입력값에 대한 요소별 스케일링으로, 다음 중 하나로 지정됩니다.

  • 스칼라 — 입력 배열의 모든 요소에 동일한 스케일링 인자를 지정합니다.

  • 입력 배열과 동일한 차원으로 확장 가능한 배열 — 입력 배열의 각 요소에 서로 다른 스케일링 인자를 지정합니다.

참고

ScaleBias가 둘 다 배열인 경우 크기가 동일해야 합니다.

스케일링 계층은 입력값 U를 받고 출력값 Y = Scale.*U + Bias를 생성합니다.

스케일링 계층의 입력값에 대한 요소별 편향으로, 다음 중 하나로 지정됩니다.

  • 스칼라 — 입력 배열의 모든 요소에 동일한 편향을 지정합니다.

  • 입력 배열과 동일한 차원으로 확장 가능한 배열 — 입력 배열의 각 요소에 서로 다른 편향을 지정합니다.

참고

ScaleBias가 둘 다 배열인 경우 크기가 동일해야 합니다.

스케일링 계층은 입력값 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

   Learnable Parameters
    No properties.

   State Parameters
    No properties.

Use properties method to see a list of all properties.

스케일링 계층이 예상대로 입력 배열을 스케일링하고 오프셋하는지 확인합니다.

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

    0.6000    1.6000    2.6000

강화 학습을 위한 액터 신경망 또는 크리틱 신경망에 sLayer를 통합할 수 있습니다.

scalingLayer 앞에 있는 계층이 첫 번째 차원을 따라 정렬된 3개의 출력값을 가진 tanhLayer이고, scalingLayer를 사용하여 각 출력값에 서로 다른 스케일링 인자와 편향을 적용한다고 가정해 보겠습니다.

scale = [2.5 0.4 10]';
bias = [5 0 -50]';

scalingLayer 객체를 만듭니다.

sLayer = scalingLayer(Scale=scale,Bias=bias);

스케일링 계층이 올바른 스케일과 편향 값을 예상 차원을 가진 배열에 적용하는지 확인합니다.

testData = [10 10 10]';
predict(sLayer,testData)
ans = 3×1

    30
     4
    50

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

버전 내역

R2019a에 개발됨