学术, 机器学习

神经网络中常见的激活函数

激活函数在神经网络中扮演着至关重要的角色,它们用于引入非线性特性,使神经网络能够学习和适应更复杂的数据模式。本篇列出几个常见的激活函数,目前比较常用的是 ReLU 函数和Leaky ReLU 函数。

1. Sigmoid 函数

PyTorch实现(类):torch.nn.Sigmoid()

PyTorch实现(函数):torch.nn.functional.sigmoid()

PyTorch文档:https://pytorch.org/docs/stable/generated/torch.nn.Sigmoid.html

2. Tanh 函数

PyTorch实现(类):torch.nn.Tanh()

PyTorch实现(函数):torch.nn.functional.tanh()

PyTorch文档:https://pytorch.org/docs/stable/generated/torch.nn.Tanh.html

3. ReLU 函数

全称:Rectified Linear Unit

PyTorch实现(类):torch.nn.ReLU()

PyTorch实现(函数):torch.nn.functional.relu()

PyTorch文档:https://pytorch.org/docs/stable/generated/torch.nn.ReLU.html

4. Leaky ReLU 函数

PyTorch实现(类):torch.nn.LeakyReLU()

PyTorch实现(函数):torch.nn.functional.leaky_relu()

PyTorch文档:https://pytorch.org/docs/stable/generated/torch.nn.LeakyReLU.html

还有其他的一些激活函数,这里暂时不列出。每种激活函数都有其适用的场景和局限性,通常需要根据具体的问题和数据特点来选择合适的激活函数。

附画图代码:

"""
This code is supported by the website: https://www.guanjihuan.com
The newest version of this code is on the web page: https://www.guanjihuan.com/archives/39029
"""

import torch
import numpy as np
import matplotlib.pyplot as plt

x_array = np.linspace(-6, 6, 100)
x_array_torch_tensor = torch.from_numpy(x_array)

y_array_torch_tensor = torch.nn.functional.sigmoid(x_array_torch_tensor)
plt.plot(x_array_torch_tensor, y_array_torch_tensor)
plt.show()

y_array_torch_tensor = torch.nn.functional.tanh(x_array_torch_tensor)
plt.plot(x_array_torch_tensor, y_array_torch_tensor)
plt.show()

y_array_torch_tensor = torch.nn.functional.relu(x_array_torch_tensor)
plt.plot(x_array_torch_tensor, y_array_torch_tensor)
plt.show()

y_array_torch_tensor = torch.nn.functional.leaky_relu(x_array_torch_tensor)
plt.plot(x_array_torch_tensor, y_array_torch_tensor)
plt.show()
34 次浏览

【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code