PyTorch 中如何使用 torch.nn.ReLU 激活函数?

推荐答案

在 PyTorch 中,torch.nn.ReLU 是一个常用的激活函数,用于在神经网络中引入非线性。以下是如何使用 torch.nn.ReLU 的示例代码:

-- -------------------- ---- -------
------ -----
------ -------- -- --

- ------------
----- ---------------------
    --- ---------------
        ---------------- ----------------
        -------- - ------------- --
        --------- - ---------

    --- ------------- ---
        - - -----------
        - - ------------
        ------ -

- ------
----- - -----------

- ----
---------- - -------------- ---

- ----
------ - -----------------
-------------

本题详细解读

1. torch.nn.ReLU 的作用

torch.nn.ReLU 是 PyTorch 中的一个激活函数,全称为 Rectified Linear Unit(修正线性单元)。它的数学表达式为:

[ \text{ReLU}(x) = \max(0, x) ]

ReLU 函数将所有负值置为 0,而正值保持不变。这种非线性特性使得神经网络能够学习复杂的模式。

2. 使用 torch.nn.ReLU 的步骤

  • 定义网络层:在 __init__ 方法中定义网络层时,可以使用 nn.ReLU() 来创建一个 ReLU 激活函数实例。
  • 前向传播:在 forward 方法中,将 ReLU 激活函数应用到网络层的输出上。

3. 代码解析

  • nn.Linear(10, 5):定义了一个全连接层,输入维度为 10,输出维度为 5。
  • nn.ReLU():创建了一个 ReLU 激活函数实例。
  • forward 方法:在 forward 方法中,首先通过全连接层 fc1 处理输入数据 x,然后将结果传递给 ReLU 激活函数。

4. 输入与输出

  • 输入input_data 是一个形状为 (1, 10) 的张量,表示一个批次大小为 1 的 10 维输入。
  • 输出output 是一个形状为 (1, 5) 的张量,表示经过全连接层和 ReLU 激活函数处理后的结果。

通过这种方式,torch.nn.ReLU 可以很容易地集成到神经网络中,帮助模型学习非线性特征。

纠错
反馈