线性函数
tflearn.activations.linear (x)
f(x) = x
参数
- x : 类型为
float
、double
、int32
、int64
、uint8
、int16
或int8
的Tensor
。
返回值
传入的张量(无更改)。
双曲正切函数
tflearn.activations.tanh (x)
逐元素计算 x
的双曲正切。
参数
- x: 类型为
float
、double
、int32
、complex64
、int64
或qint32
的张量。
返回值
如果 x.dtype != qint32
,则返回类型与 x
相同的张量,否则返回类型为 quint8
。
Sigmoid 函数
tflearn.activations.sigmoid (x)
逐元素计算 x
的 sigmoid。具体来说,y = 1 / (1 + exp(-x))
。
参数
- x: 类型为
float
、double
、int32
、complex64
、int64
或qint32
的张量。
返回值
如果 x.dtype != qint32
,则返回类型与 x
相同的张量,否则返回类型为 quint8
。
Softmax 函数
tflearn.activations.softmax (x)
计算 softmax 激活。
对于每个批次 i
和类别 j
,我们有
softmax[i, j] = exp(logits[i, j]) / sum(exp(logits[i]))
参数
- x:
Tensor
。必须是以下类型之一:float32
、float64
。形状为[batch_size, num_classes]
的二维张量。
返回值
Tensor
。与 x
类型相同。形状与 x
相同。
Softplus 函数
tflearn.activations.softplus (x)
计算 softplus:log(exp(features) + 1)
。
参数
- x:
Tensor
。必须是以下类型之一:float32
、float64
、int32
、int64
、uint8
、int16
、int8
、uint16
。
返回值
Tensor
。与 x
类型相同。
Softsign 函数
tflearn.activations.softsign (x)
计算 softsign:features / (abs(features) + 1)
。
参数
- x:
Tensor
。必须是以下类型之一:float32
、float64
、int32
、int64
、uint8
、int16
、int8
、uint16
。
返回值
Tensor
。与 x
类型相同。
ReLU 函数
tflearn.activations.relu (x)
计算线性整流函数:max(features, 0)
。
参数
- x:
Tensor
。必须是以下类型之一:float32
、float64
、int32
、int64
、uint8
、int16
、int8
、uint16
。
返回值
Tensor
。与 x
类型相同。
ReLU6 函数
tflearn.activations.relu6 (x)
计算线性整流函数 6:min(max(features, 0), 6)
。
参数
- x: 类型为
float
、double
、int32
、int64
、uint8
、int16
或int8
的Tensor
。
返回值
与 x
类型相同的 Tensor
。
LeakyReLU 函数
tflearn.activations.leaky_relu (x, alpha=0.1, name='LeakyReLU')
ReLU 的改进版本,为负输入引入非零梯度。
参数
- x: 类型为
float
、double
、int32
、int64
、uint8
、int16
或int8
的Tensor
。 - alpha:
float
。斜率。 - name: 此激活操作的名称(可选)。
返回值
与 x
类型相同的 Tensor
。
参考文献
整流非线性改进神经网络声学模型,Maas 等人。(2013)。
链接
http://web.stanford.edu/~awni/papers/relu_hybrid_icml2013_final.pdf
PReLU 函数
tflearn.activations.prelu (x, channel_shared=False, weights_init='zeros', trainable=True, restore=True, reuse=False, scope=None, name='PReLU')
参数化线性整流单元。
参数
- x: 类型为
float
、double
、int32
、int64
、uint8
、int16
或int8
的Tensor
。 - channel_shared:
bool
。所有通道共享单个权重 - weights_init:
str
。权重初始化。默认值:zeros。 - trainable:
bool
。如果为 True,则权重将是可训练的。 - restore:
bool
。是否恢复 alpha。 - reuse:
bool
。如果为 True 并且提供了“scope”,则将重用(共享)此层变量。 - name: 此激活操作的名称(可选)。
属性
- scope:
str
。此操作的范围。 - alphas:
Variable
。PReLU 的 alpha。
返回值
与 x
类型相同的 Tensor
。
参考文献
深入研究整流器:在 ImageNet 分类上超越人类水平的性能。He 等人,2014 年。
链接
http://arxiv.org/pdf/1502.01852v1.pdf
ELU 函数
tflearn.activations.elu (x)
指数线性单元。
参数
- x : 类型为
float
、double
、int32
、int64
、uint8
、int16
或int8
的Tensor
返回值
tf.Tensor
的 tuple
。此层推理,即训练和测试时的输出张量。
参考文献
通过指数线性单元实现快速准确的深度网络学习,Djork-Arné Clevert、Thomas Unterthiner、Sepp Hochreiter。2015 年。
链接
http://arxiv.org/abs/1511.07289
CReLU 函数
tflearn.activations.crelu (x)
计算级联 ReLU。
将仅选择激活的正部分的 ReLU 与仅选择激活的负部分的 ReLU 连接起来。请注意,因此,这种非线性会使激活的深度加倍。
参数
- x : 类型为
float
、double
、int32
、int64
、uint8
、int16
或int8
的Tensor
。
返回值
与 x
类型相同的 Tensor
。
链接
https://arxiv.org/abs/1603.05201
SELU 函数
tflearn.activations.selu (x)
缩放指数线性单元。
参数 x : 类型为 float
、double
、int32
、int64
、uint8
、int16
或 int8
的 Tensor
参考文献
自归一化神经网络,Klambauer 等人,2017 年。
链接
https://arxiv.org/abs/1706.02515