주요 콘텐츠

geluLayer

GELU(Gaussian Error Linear Unit) 계층

R2022b 이후

    설명

    GELU(Gaussian Error Linear Unit) 계층은 가우스 분포의 확률에 따라 입력값에 가중치를 부여합니다.

    이 연산은 다음과 같이 표현됩니다.

    GELU(x)=x2(1+erf(x2)),

    여기서 erf는 오차 함수를 나타냅니다.

    생성

    설명

    layer = geluLayer는 GELU 계층을 반환합니다.

    예제

    layer = geluLayer(Name=Value)는 이름-값 인수를 사용하여 선택적 ApproximationName 속성을 설정합니다. 예를 들어, geluLayer(Name="gelu")는 이름이 "gelu"인 GELU 계층을 만듭니다.

    속성

    모두 확장

    GELU

    GELU 연산에 대한 근사법으로, 다음 값 중 하나로 지정됩니다.

    • 'none' — 근사를 사용하지 않습니다.

    • 'tanh' — 다음을 사용하여 기본 오차 함수를 근사합니다.

      erf(x2)tanh(2π(x+0.044715x3)).

    MATLAB®에서 tanh 근사를 계산하면 대체로 정확성이 떨어지며, 입력 크기가 큰 경우에는 근사를 사용하지 않고 GELU 활성화를 계산할 때보다 속도가 더 느립니다. tanh 근사는 BERT나 GPT-2처럼 이 근사를 사용한 모델을 재현하고 싶은 경우에 사용하십시오.

    계층

    계층 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. Layer 배열 입력값에 대해 trainnetdlnetwork 함수는 이름이 지정되지 않은 계층에 자동으로 이름을 할당합니다.

    GELULayer 객체는 이 속성을 문자형 벡터로 저장합니다.

    데이터형: char | string

    읽기 전용 속성입니다.

    계층에 대한 입력값의 개수로, 1로 저장됩니다. 이 계층은 단일 입력값만 받습니다.

    데이터형: double

    읽기 전용 속성입니다.

    입력값 이름으로, {'in'}으로 저장됩니다. 이 계층은 단일 입력값만 받습니다.

    데이터형: cell

    읽기 전용 속성입니다.

    계층의 출력값 개수로, 1로 저장됩니다. 이 계층은 단일 출력값만 가집니다.

    데이터형: double

    읽기 전용 속성입니다.

    출력값 이름으로, {'out'}으로 저장됩니다. 이 계층은 단일 출력값만 가집니다.

    데이터형: cell

    예제

    모두 축소

    GELU 계층을 만듭니다.

    layer = geluLayer
    layer = 
      GELULayer with properties:
    
                 Name: ''
    
       Hyperparameters
        Approximation: 'none'
    
    

    Layer 배열에 GELU 계층을 포함시킵니다.

    layers = [
        imageInputLayer([28 28 1])
        convolution2dLayer(5,20)
        geluLayer
        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   ''   GELU              GELU
         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] Hendrycks, Dan, and Kevin Gimpel. "Gaussian error linear units (GELUs)." Preprint, submitted June 27, 2016. https://arxiv.org/abs/1606.08415

    확장 기능

    모두 확장

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

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

    버전 내역

    R2022b에 개발됨

    모두 확장