Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

scalingLayer

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

R2019a 이후

설명

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

  Show 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에 개발됨