激活函数将非线性的特性引入到神经网络当中。
PaddlePaddle Fluid 对大部分的激活函数进行了支持,其中有:

relu, tanh, sigmoid, elu, relu6, pow, stanh, hard_sigmoid, swish, prelu, brelu, leaky_relu, soft_relu, thresholded_relu, maxout, logsigmoid, hard_shrink, softsign, softplus, tanh_shrink, softshrink, exp
**

使用方式


Fluid提供了两种使用激活函数的方式:

如果一个层的接口提供了 act 变量(默认值为None),我们可以通过该变量指定该层的激活函数类型。该方式支持常见的激活函数: relu, tanh, sigmoid, identity

  1. conv2d = fluid.layers.conv2d(input=data, num_filters=2, filter_size=3, act="relu")

Fluid为每个Activation提供了接口,我们可以显式的对它们进行调用。

  1. conv2d = fluid.layers.conv2d(input=data, num_filters=2, filter_size=3)
  2. relu1 = fluid.layers.relu(conv2d)

使用示例:

  1. import paddle.fluid as fluid
  2. import numpy as np
  3. in1 = np.array([[-1,0],[1,2.6]])
  4. with fluid.dygraph.guard():
  5. x1 = fluid.dygraph.to_variable(in1)
  6. out1 = fluid.layers.relu(x1)
  7. print(out1.numpy())

输出:

  1. [[0. 0. ]
  2. [1. 2.6]]

常用的激活函数

sigmoid

📃 激活函数 - 图1

relu

📃 激活函数 - 图2

tanh

📃 激活函数 - 图3

exp

📃 激活函数 - 图4

softmax

📃 激活函数 - 图5
具体使用方式参考:softmax

参考资料