📅  最后修改于: 2023-12-03 15:05:33.232000             🧑  作者: Mango
TensorFlow.js 中的 tf.prelu() 函数实现了一种常用的激活函数:PReLU(Parametric Rectified Linear Unit)。PReLU 是一种用于神经网络的非线性激活函数,它在输入大于零时直接输出输入值,而在输入小于等于零时输出输入值乘以一个可训练的常数。
PReLU 激活函数通过引入一个小的负斜率来减轻传统的 ReLU(Rectified Linear Unit)激活函数的缺点,从而在一些实际应用中取得更好的效果。
tf.prelu(x, alpha)
x
:张量类型,输入数据,可以是任意形状的数字数组或张量。alpha
:张量类型,预设的斜率,与输入 x
具有相同的维度和形状。返回一个新的张量,与输入张量 x
具有相同的形状和数据类型。
以下是一个使用 tf.prelu() 函数的示例:
// 导入 TensorFlow.js
import * as tf from '@tensorflow/tfjs';
// 创建输入张量
const input = tf.tensor([-2, -1, 0, 1, 2]);
// 创建预设斜率张量
const alpha = tf.tensor([0.25]);
// 使用 tf.prelu() 应用激活函数
const output = tf.prelu(input, alpha);
// 打印输出张量的值
output.print();
输出结果为:
Tensor
[-0.5 , -0.25, 0. , 1. , 2. ]
在这个例子中,我们创建了一个输入张量 [-2, -1, 0, 1, 2]
和一个预设斜率张量 [0.25]
。然后通过 tf.prelu()
函数将激活函数应用于输入张量,得到的输出张量为 [-0.5, -0.25, 0, 1, 2]
。
TensorFlow.js 中的 tf.prelu() 函数实现了 PReLU 激活函数,允许我们在神经网络中引入一个小的负斜率来改善传统的 ReLU 函数的不足。通过使用 tf.prelu() 函数,我们可以方便地对输入数据进行非线性变换,以提高神经网络的性能和精度。