深度学习(3)神经网络

一、神经网络的层(Neural Network Layers)

1. 工作原理

在神经网络(Neural Network)中,数据是逐层传递(feed-forward)的。每一层都会接收前一层的输出,经过加权、偏置和激活函数(activation function)计算后,再将结果传递给下一层。

神经网络一般包含以下三类层次结构:

  • 输入层(Input Layer)

    • 接收原始输入数据(如图像像素、特征向量、数值型输入等)。

    • 输入层本身不进行任何计算,只负责将数据传递给下一层。

  • 隐藏层(Hidden Layers)

    • 每一层都会执行以下操作:

      其中:

      方括号中的上标 l 表示第几层,方便区分不同层的计算。

      • Wl:第 l 层的权重矩阵(Weights)

      • bl:偏置(Bias)

      • al:激活值(Activation),即该层的输出

      • σ:激活函数(Activation Function)

  • 输出层(Output Layer)

    • 最后一层神经元负责输出结果,例如分类概率或回归值。

    • 在分类任务中,常使用 SigmoidSoftmax 函数输出概率。

有时在输出层之后,会增加一个"阈值处理(Thresholding)"步骤,比如当预测概率 ≥ 0.5 时,输出类别为 1,否则为 0。


二、更复杂的神经网络

当神经网络的隐藏层数增多时,我们称之为 深度神经网络(Deep Neural Network, DNN)

注意: 计算网络层数时,不包括输入层

例如,一个包含两层隐藏层和一个输出层的网络,我们称它是一个 "2 层神经网络"

在每一层中,我们都会有对应的公式:

其中:

  • :输入层的特征向量;

  • :第一层隐藏层的输出;

  • :第二层隐藏层的输出;

  • 最后一层 :输出层的结果。

例如:

层数增加可以让模型学习到更复杂的特征,但也会增加过拟合风险,需要配合正则化或 Dropout 控制模型复杂度。


三、向前传播的神经网络推理

前向传播(Forward Propagation) 是神经网络进行"推理(inference)"的计算过程。

它的目标是:从输入出发,经过多层计算,得到最终预测结果。

流程如下:

  1. 输入层接收数据;

  2. 每一层执行线性计算 + 激活函数;

  3. 输出层得到预测值;

  4. 若是训练阶段,会将输出值与真实值计算损失函数(Loss)。

用公式表示:


四、代码示例:前向传播推理

下面通过一个简单示例来说明------预测咖啡烘焙质量

假设我们有两个输入特征:

  • 烘焙时间(Time)

  • 烘焙温度(Temperature)

目标是预测烘焙是否成功(输出一个概率)。

1.使用 TensorFlow 实现

python 复制代码
import tensorflow as tf

# 输入数据
x = tf.constant([[15.0, 180.0]])  # 时间、温度

# 定义参数
W1 = tf.Variable([[0.1, 0.2],
                  [0.3, 0.4],
                  [0.5, 0.6]])
b1 = tf.Variable([[0.1, 0.1, 0.1]])

W2 = tf.Variable([[0.7],
                  [0.8],
                  [0.9]])
b2 = tf.Variable([[0.2]])

# 前向传播
a1 = tf.nn.relu(tf.matmul(x, W1) + b1)
y_hat = tf.sigmoid(tf.matmul(a1, W2) + b2)

print("预测结果概率:", y_hat.numpy())

输出的概率值(例如 0.87)表示"烘焙成功"的可能性为 87%。

2.使用 PyTorch 实现

python 复制代码
import torch
import torch.nn as nn

x = torch.tensor([[15.0, 180.0]])

# 定义两层神经网络
model = nn.Sequential(
    nn.Linear(2, 3),  # 输入层到隐藏层
    nn.ReLU(),
    nn.Linear(3, 1),  # 隐藏层到输出层
    nn.Sigmoid()
)

# 前向传播
y_hat = model(x)
print("预测结果概率:", y_hat.item())

TensorFlow 与 PyTorch 的计算逻辑一致:输入 → 矩阵运算 → 激活函数 → 输出概率。


五、TensorFlow 中的数据处理

TensorFlow 的数据结构与 NumPy 十分类似,但有几个关键区别:

比较项 NumPy TensorFlow
基本数据类型 ndarray tf.Tensor
是否支持 GPU 运算
是否支持自动求导 是(通过 tf.GradientTape
使用场景 通用科学计算 深度学习训练与推理

代码对比示例

python 复制代码
import numpy as np
import tensorflow as tf

a_np = np.array([[1, 2], [3, 4]])
a_tf = tf.constant([[1, 2], [3, 4]])

print("NumPy 求和:", np.sum(a_np))
print("TensorFlow 求和:", tf.reduce_sum(a_tf))

输出结果类似,但 TensorFlow 的计算图可自动在 GPU 上执行,并支持反向传播。

TensorFlow 是建立在计算图(Computation Graph)之上的框架,所有操作都能追踪梯度,用于模型训练。


六、总结(Summary)

  • 神经网络由输入层、隐藏层、输出层组成;

  • 每一层的输出是下一层的输入;

  • 层数计算时不包括输入层;

  • 前向传播是神经网络进行推理的核心过程;

  • TensorFlow 与 PyTorch 都能实现相同的前向计算逻辑;

  • TensorFlow 的张量(Tensor)与 NumPy 的数组类似,但具有 GPU 加速与自动求导优势。

相关推荐
GuWenyue3 小时前
Cursor黑盒拆解!1套LangChain.js手写Mini编程Agent,自动生成React项目,效率提升60%
前端·数据库·人工智能
GuWenyue3 小时前
传统Agent工具两大痛点!300行代码落地MCP跨语言工具,彻底解耦LLM与工具
前端·人工智能·算法
老云讲算力市场3 小时前
WAIC首日观察:国产算力与机器人加速落地,奇点算力迎来产业新机遇
人工智能·科技
小林ixn3 小时前
大模型随机说话的秘密:Temperature 和 Top K 深度解析,LangChain 实战调优
人工智能·langchain
ALINX技术博客3 小时前
ALINX 亮相 2026 WAIC 世界人工智能大会,展示 AI 视觉 FPGA+GPU 异构计算与电子后视镜解决方案
人工智能·ai·fpga·世界人工智能大会·电子后视镜
程序员老猫4 小时前
当 AI 能写 80% 的代码时,后端工程师的核心价值还剩什么?
人工智能
想会飞的蒲公英4 小时前
计算机怎样读取中文文本:编码、清洗与标准化
人工智能·python·自然语言处理
我叫洋洋4 小时前
C ++ [ hello world ]
c语言·c++·算法
CIO_Alliance4 小时前
AI+iPaaS解决方案深度整合:让跨系统业务流程自动化一步到位
人工智能·ipaas·系统集成·ai+ipaas·企业cio联盟·企业级ai化转型
苏州IT威翰德4 小时前
算力资产“续命”专家:苏州威翰德科技赋能NVIDIA高端AI芯片芯片级维修
大数据·人工智能