激活函数¶
激活函数将非线性的特性引入到神经网络当中。
PaddlePaddle Fluid 对大部分的激活函数进行了支持,其中有:
cn_api_fluid_layers_relu, cn_api_fluid_layers_tanh, cn_api_fluid_layers_sigmoid, cn_api_fluid_layers_elu, cn_api_fluid_layers_relu6, cn_api_fluid_layers_pow, cn_api_fluid_layers_stanh, cn_api_fluid_layers_hard_sigmoid, cn_api_fluid_layers_swish, cn_api_fluid_layers_prelu, cn_api_fluid_layers_brelu, cn_api_fluid_layers_leaky_relu, cn_api_fluid_layers_soft_relu, cn_api_fluid_layers_thresholded_relu, cn_api_fluid_layers_maxout, cn_api_fluid_layers_logsigmoid, cn_api_fluid_layers_hard_shrink, cn_api_fluid_layers_softsign, cn_api_fluid_layers_softplus, cn_api_fluid_layers_tanh_shrink, cn_api_fluid_layers_softshrink, cn_api_fluid_layers_exp。
Fluid 提供了两种使用激活函数的方式:
如果一个层的接口提供了
act
变量(默认值为 None),我们可以通过该变量指定该层的激活函数类型。该方式支持常见的激活函数:relu
,tanh
,sigmoid
,identity
。
conv2d = fluid.layers.conv2d(input=data, num_filters=2, filter_size=3, act="relu")
Fluid 为每个 Activation 提供了接口,我们可以显式的对它们进行调用。
conv2d = fluid.layers.conv2d(input=data, num_filters=2, filter_size=3)
relu1 = fluid.layers.relu(conv2d)