郭震 AI公众号:郭震AI

10 神经网络基础:神经网络的基本结构

发布日期:

最近更新:

分类: Pytorch小白

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点6 个
图文要点6 张
正文规模1.5k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 6 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

神经网络基本结构流程图查看大图
神经网络基本结构流程图

神经网络可以看成一串可学习变换。线性层负责组合特征,激活函数引入非线性,输出层把结果变成任务需要的形状。

神经网络基本结构核对图查看大图
神经网络基本结构核对图

定义网络前,我会先写出输入维度和输出维度。维度写清楚,模型结构就不会凭感觉搭。

在前一篇教程中,我们探讨了torch.autograd如何实现自动求导,这是构建深度学习模型所必不可少的工具。今天,我们将继续深入学习神经网络的基础知识,特别是神经网络的基本结构

神经网络的基本组成

一个神经网络的基本结构通常由以下几个主要部分组成:

神经网络结构判断卡查看大图
神经网络结构判断卡

学习神经网络基本结构时,先看输入层、隐藏层、输出层、权重参数、激活函数和损失函数。

  1. 输入层(Input Layer):接收原始数据。
  2. 隐藏层(Hidden Layer):进行特征转换,可以有一个或多个隐藏层。
  3. 输出层(Output Layer):输出最终结果。
  4. 权重和偏置(Weights and Biases):每个连接都有一个权重,而每个神经元有一个偏置。

神经元的基本计算

一个单独的神经元的计算可以被表示为以下公式:

y=f(wx+b)y = f(w \cdot x + b)

其中:

  • yy 是神经元的输出。
  • ff 是激活函数,常用的有ReLUSigmoidTanh等。
  • ww 是权重向量。
  • xx 是输入向量。
  • bb 是偏置。

这个计算通过对输入进行线性变换,然后应用激活函数,将非线性引入模型中。

激活函数

激活函数的选择对神经网络的性能有很大影响。以下是几种常用的激活函数:

  • ReLU(Rectified Linear Unit)f(x)=max(0,x)f(x) = \max(0, x)。适用于深度神经网络,因为它能够解决梯度消失问题。
  • Sigmoidf(x)=11+exf(x) = \frac{1}{1 + e^{-x}}。常用于二分类任务,但在深层网络中可能导致梯度消失。
  • Tanhf(x)=tanh(x)f(x) = \tanh(x)。输出范围在[1,1][-1, 1]之间,也能解决部分梯度消失问题。

网络结构示例

假设我们想要构建一个简单的全连接神经网络(Feedforward Neural Network),其结构可以用如下方式理解:

输入层(数据) → 隐藏层(特征提取) → 输出层(预测结果)

例如,一个简单的结构包括:

  • 输入层:有10个神经元(假设每个神经元对应一个特征)。
  • 隐藏层:有5个神经元,可以使用ReLU激活函数。
  • 输出层:有1个神经元,用于二分类任务,可以使用Sigmoid激活函数。

代码示例

下面是如何用PyTorch定义一个简单的神经网络结构的示例代码:

import torch
import torch.nn as nn

class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc1 = nn.Linear(10, 5)  # 输入层到隐藏层
        self.fc2 = nn.Linear(5, 1)  # 隐藏层到输出层
        self.relu = nn.ReLU()  # 使用ReLU激活函数
        self.sigmoid = nn.Sigmoid()  # 使用Sigmoid激活函数

    def forward(self, x):
        x = self.fc1(x)  # 前向传播到隐藏层
        x = self.relu(x)  # 激活
        x = self.fc2(x)  # 前向传播到输出层
        x = self.sigmoid(x)  # 激活
        return x

# 创建一个神经网络实例
model = SimpleNN()
print(model)

在这个示例中,我们定义了一个名为SimpleNN的神经网络,它包含1个输入层,1个隐藏层和1个输出层。forward方法是网络的前向传播过程,它定义了输入数据如何通过网络进行传递。

神经网络基础:神经网络的基本结构应用复盘卡查看大图
神经网络基础:神经网络的基本结构应用复盘卡

学完《神经网络基础:神经网络的基本结构》后,不妨换一个自己的场景试一次,重点观察输入、处理和输出是否能对应起来。

神经网络基础:神经网络的基本结构应用检查卡查看大图
神经网络基础:神经网络的基本结构应用检查卡

如果想把《神经网络基础:神经网络的基本结构》用到自己的任务里,可以先缩小场景,只验证一个最关键的判断点。

总结

在本篇中,我们讲解了神经网络的基本结构,包括输入层、隐藏层、输出层及其对应的计算公式。我们还探讨了激活函数的选择及其作用,并通过一个简单的PyTorch代码示例展示了如何实现一个基本的神经网络。

PyTorch阅读地图卡查看大图
PyTorch阅读地图卡

读《神经网络基础:神经网络的基本结构》时,可以把配图当成路线卡:先看整体顺序,再看每一步为什么这样做,最后再检查边界条件。

接下来,我们将会学习如何定义模型的具体细节,这会帮助我们更深入地理解如何构建和训练神经网络。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

神经网络基础:神经网络的基本结构适合谁读?

这是 PyTorch 入门 系列第 10 / 20 篇,适合正在学习PyTorch 入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇PyTorch 入门教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...