주요 콘텐츠

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처럼 이 근사를 사용한 모델을 재현하고 싶은 경우에 사용하십시오.

    계층

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

    데이터형: char

    읽기 전용 속성입니다.

    계층에 대한 입력값의 개수로, 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   Fully connected layer with output size 10
         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에 개발됨

    모두 확장