网页 综合 更新时间 2026-11-13 22:02:06

PyTorch 神经网络基础 | 菜鸟教程

自动蜘蛛 www.runoob.com 正文约 1274 字
神经网络是一种模仿人脑处理信息方式的计算模型,它由许多相互连接的节点(神经元)组成,这些节点按层次排列。
神经网络的强大之处在于其能够自动从大量数据中学习复杂的模式和特征,无需人工设计特征提取器。
随着深度学习的发展,神经网络已经成为解决许多复杂问题的关键技术。
神经元是神经网络的基本单元,它接收输入信号,通过加权求和后与偏置(bias)相加,然后通过激活函数处理以产生输出。
神经元的权重和偏置是网络学习过程中需要调整的参数。
神经元接收多个输入(例如x1, x2, ..., xn),如果输入的加权和大于激活阈值(activation potential),则产生二进制输出。
神经元的输出可以看作是输入的加权和加上偏置(bias),神经元的数学表示:
这里,wj 是权重,xj 是输入,而 Bias 是偏置项。
输入层和输出层之间的层被称为隐藏层,层与层之间的连接密度和类型构成了网络的配置。
前馈神经网络(Feedforward Neural Network,FNN)是神经网络家族中的基本单元。
前馈神经网络特点是数据从输入层开始,经过一个或多个隐藏层,最后到达输出层,全过程没有循环或反馈。
输入层: 数据进入网络的入口点。输入层的每个节点代表一个输入特征。
隐藏层:一个或多个层,用于捕获数据的非线性特征。每个隐藏层由多个神经元组成,每个神经元通过激活函数增加非线性能力。
输出层:输出网络的预测结果。节点数和问题类型相关,例如分类问题的输出节点数等于类别数。
连接权重与偏置:每个神经元的输入通过权重进行加权求和,并加上偏置值,然后通过激活函数传递。
循环神经网络(Recurrent Neural Network, RNN)络是一类专门处理序列数据的神经网络,能够捕获输入数据中时间或顺序信息的依赖关系。
RNN 的特别之处在于它具有"记忆能力",可以在网络的隐藏状态中保存之前时间步的信息。
循环神经网络用于处理随时间变化的数据模式。
在 RNN 中,相同的层被用来接收输入参数,并在指定的神经网络中显示输出参数。
PyTorch 提供了强大的工具来构建和训练神经网络。
神经网络在 PyTorch 中是通过 torch.nn 模块来实现的。
torch.nn 模块提供了各种网络层(如全连接层、卷积层等)、损失函数和优化器,让神经网络的构建和训练变得更加方便。
在 PyTorch 中,构建神经网络通常需要继承 nn.Module 类。
nn.Module 是所有神经网络模块的基类,你需要定义以下两个部分:
简单的全连接神经网络(Fully Connected Network):
PyTorch 提供了许多常见的神经网络层,以下是几个常见的:
激活函数决定了神经元是否应该被激活。它们是非线性函数,使得神经网络能够学习和执行更复杂的任务。常见的激活函数包括:
损失函数用于衡量模型的预测值与真实值之间的差异。
优化器负责在训练过程中更新网络的权重和偏置。
以下是 PyTorch 中最常用的 torch.nn 函数和类:
访问原文 返回搜索 https://www.runoob.com/pytorch/pytorch-neural-network.html
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。