主要内容

gelu

应用高斯误差线性单元(GELU)激活

自从R2022b

    描述

    高斯误差线性单元(GELU)激活操作重量输入高斯分布下的概率。

    这个操作是由

    GELU ( x ) = x 2 ( 1 + 小块土地 ( x 2 ) ) ,

    小块土地表示误差函数的地方。

    请注意

    这个函数GELU操作适用于dlarray数据。如果你想应用中的GELU激活layerGraph对象或数组,使用以下层:

    例子

    Y= gelu (X)GELU激活适用于输入数据X

    Y= gelu (X近似=方法)还指定了GELU近似方法操作。例如,近似= "双曲正切”指定底层的双曲正切近似误差函数。

    例子

    全部折叠

    创建一个格式化的dlarray对象包含一批128 28-by-28图像和三个频道。指定的格式“SSCB”(空间、空间、通道、批)。

    miniBatchSize = 128;inputSize = 28 [28];numChannels = 3;X =兰特(inputSize (1) inputSize (2), numChannels, miniBatchSize);X = dlarray (X,“SSCB”);

    视图的大小和格式输入数据。

    大小(X)
    ans =1×4128年28日28日3
    dim (X)
    ans = ' SSCB '

    应用GELU激活。

    Y = gelu (X);

    视图的大小和格式输出。

    大小(Y)
    ans =1×4128年28日28日3
    退去(Y)
    ans = ' SSCB '

    输入参数

    全部折叠

    输入数据,指定为一个格式化的或未格式化dlarray对象。

    近似方法,指定这些值之一:

    • “没有”——不使用近似。

    • ”“双曲正切——近似底层误差函数使用

      小块土地 ( x 2 ) 双曲正切 ( 2 π ( x + 0.044715 x 3 ) )

    提示

    在MATLAB®tanh,计算近似通常不准确,而且,对于大型输入大小,慢于不使用近似计算GELU激活。使用双曲正切近似当你想复制模型,使用这个近似,伯特和GPT-2等。

    输出参数

    全部折叠

    GELU激活,返回dlarray对象。输出Y有相同的底层数据类型作为输入X

    如果输入数据X是一个格式化的dlarray对象,然后Y有相同的尺寸格式吗X。如果没有一个格式化的输入数据dlarray对象,然后Y是一个非格式化dlarray对象具有相同尺寸订单作为输入数据。

    算法

    全部折叠

    高斯误差线性单元激活

    高斯误差线性单元(GELU)激活操作重量输入高斯分布下的概率。

    这个操作是由

    GELU ( x ) = x 2 ( 1 + 小块土地 ( x 2 ) ) ,

    小块土地表示的误差函数在哪里

    小块土地 ( x ) = 2 π 0 x e t 2 d t

    近似选择是”“双曲正切,软件近似误差函数使用

    小块土地 ( x 2 ) 双曲正切 ( 2 π ( x + 0.044715 x 3 ) )

    引用

    [1]Hendrycks、丹和凯文Gimpel。“高斯误差线性单位(GELUs)。”Preprint, submitted June 27, 2016.https://arxiv.org/abs/1606.08415

    扩展功能

    版本历史

    介绍了R2022b