Contenido principal

gelu

Aplicar una activación de unidad lineal de error gaussiano (GELU)

Desde R2022b

    Descripción

    La operación de activación de unidad lineal de error gaussiano (GELU) pondera la entrada según su probabilidad en una distribución gaussiana.

    Esta operación viene dada por

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

    donde erf denota la función de error.

    Nota

    Esta función aplica la operación GELU a los datos de un objeto dlarray. Si desea aplicar la activación GELU dentro de un objeto dlnetwork, use geluLayer.

    Y = gelu(X) aplica la activación GELU a los datos de entrada X.

    ejemplo

    Y = gelu(X,Approximation=method) también especifica el método de aproximación para la operación GELU. Por ejemplo, Approximation="tanh" especifica la aproximación de tanh de la función de error subyacente.

    Ejemplos

    contraer todo

    Cree un objeto dlarray con formato que contenga un lote de 128 imágenes de 28 por 28 con 3 canales. Especifique el formato "SSCB" (espacial, espacial, canal, lote).

    miniBatchSize = 128;
    inputSize = [28 28];
    numChannels = 3;
    X = rand(inputSize(1),inputSize(2),numChannels,miniBatchSize);
    X = dlarray(X,"SSCB");

    Visualice el tamaño y el formato de los datos de entrada.

    size(X)
    ans = 1×4
    
        28    28     3   128
    
    
    dims(X)
    ans = 
    'SSCB'
    

    Aplique la activación de GELU.

    Y = gelu(X);

    Visualice el tamaño y el formato de la salida.

    size(Y)
    ans = 1×4
    
        28    28     3   128
    
    
    dims(Y)
    ans = 
    'SSCB'
    

    Argumentos de entrada

    contraer todo

    Datos de entrada, especificados como un objeto dlarray con o sin formato.

    Método de aproximación, especificado como uno de estos valores:

    • "none": no usa aproximación.

    • "tanh": aproxima la función de error subyacente utilizando

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

    Sugerencia

    En MATLAB®, calcular la aproximación de tanh es, por lo general, menos preciso y, en tamaños de entrada grandes, más lento que calcular la activación GELU sin usar una aproximación. Utilice la aproximación de tanh cuando desee reproducir modelos que usan esta aproximación, como BERT y GPT-2.

    Argumentos de salida

    contraer todo

    Activaciones GELU, devueltas como un objeto dlarray. La salida Y contiene el mismo tipo de datos subyacentes que la entrada X.

    Si los datos de entrada de X son un objeto dlarray con formato, Y tiene el mismo formato de dimensión que X. Si los datos de entrada no son un objeto dlarray con formato, Y es un objeto dlarray sin formato con el mismo orden de dimensiones que los datos de entrada.

    Algoritmos

    contraer todo

    Referencias

    [1] Hendrycks, Dan, and Kevin Gimpel. "Gaussian error linear units (GELUs)." Preprint, submitted June 27, 2016. https://arxiv.org/abs/1606.08415

    Capacidades ampliadas

    expandir todo

    Historial de versiones

    Introducido en R2022b