[人工智能-大模型-74]:模型层技术 - 模型训练六大步:③神经网络,预测输出:基本功能与对应的基本组成函数

如果说前两步(数据预处理、数据选择)是"准备食材"和"挑选食材",

那么这一步就是"开火烹饪,做出智能输出"。

我们来构建一个系统化、模块化、可执行的神经网络预测框架,涵盖:

  • 核心目标
  • 四大基本功能模块
  • 每个功能对应的"基本组成函数"(原子级操作)
  • PyTorch 与 TensorFlow/Keras 实现示例
  • 数学原理与工程逻辑

一、神经网络预测的核心目标

通过前向传播(Forward Pass),将输入数据映射为有意义的预测输出。

关键任务:

  • 构建网络结构(层、激活函数)
  • 执行前向计算
  • 生成预测结果(分类、回归、序列等)
  • 输出概率或数值

二、神经网络预测的四大基本功能模块

模块 核心目标 关键任务
1. 网络构建 定义模型结构 层堆叠、连接方式
2. 前向传播 计算预测值 输入 → 隐藏层 → 输出层
3. 输出激活 将线性输出转为可解释形式 Sigmoid, Softmax, Linear
4. 预测执行 对新数据进行推理 model.predict(), model(x)

三、各功能模块对应的基本组成函数

✅ 1. 网络构建(Model Architecture)

功能 基本组成函数 数学/作用
全连接层 Dense(units, activation) (Keras) nn.Linear(in, out) (PyTorch) TF/Keras, PyTorch y=Wx+by
激活函数 ReLU, Sigmoid, Tanh TF/Keras, PyTorch 引入非线性
Dropout Dropout(rate) Keras, PyTorch 正则化,防过拟合
BatchNorm BatchNormalization() Keras, PyTorch 加速训练,稳定分布
模型容器 Sequential(), Model() Keras 自定义 nn.Module 组织层
📌 Keras 示例:
复制代码
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, BatchNormalization

model = Sequential([
    Dense(128, activation='relu', input_shape=(10,)),  # 输入层
    BatchNormalization(),
    Dropout(0.3),
    Dense(64, activation='relu'),                     # 隐藏层
    Dense(1, activation='sigmoid')                    # 输出层(二分类)
])
📌 PyTorch 示例:
复制代码
import torch
import torch.nn as nn

class Net(nn.Module):
    def __init__(self, input_dim):
        super(Net, self).__init__()
        self.fc1 = nn.Linear(input_dim, 128)
        self.bn1 = nn.BatchNorm1d(128)
        self.dropout = nn.Dropout(0.3)
        self.fc2 = nn.Linear(128, 64)
        self.fc3 = nn.Linear(64, 1)
        self.relu = nn.ReLU()
        self.sigmoid = nn.Sigmoid()

    def forward(self, x):
        x = self.relu(self.bn1(self.fc1(x)))
        x = self.dropout(x)
        x = self.relu(self.fc2(x))
        x = self.sigmoid(self.fc3(x))  # 二分类输出 [0,1]
        return x

model = Net(input_dim=10)

✅ 2. 前向传播(Forward Pass)

功能 基本组成函数 说明
执行前向 model(x) PyTorch 调用 forward() 方法
执行前向 model.predict(x)model(x) Keras 自动处理批次
启用评估模式 model.eval() PyTorch 关闭 Dropout/BatchNorm 更新
关闭梯度 torch.no_grad() PyTorch 推理时节省内存
📌 前向传播代码(PyTorch):
复制代码
model.eval()  # 切换到评估模式
with torch.no_grad():  # 不计算梯度
    x = torch.randn(1, 10)  # 模拟输入 (batch_size=1, features=10)
    output = model(x)      # 前向传播
    print(output.item())   # 打印预测值(如0.87)
📌 Keras 前向传播:
复制代码
import numpy as np
x = np.random.randn(1, 10)
output = model.predict(x)  # shape: (1, 1)
print(output[0][0])        # 如 0.87

✅ 3. 输出激活函数(Output Layer Activation)

决定预测输出的类型和范围

任务 输出层激活函数 数学公式 说明
二分类 Sigmoid σ(z)=11+e−z 输出 [0,1] 概率
多分类 Softmax softmax(zi)=ezi∑jezj 输出类别概率分布
回归 Linear / None f(z)=z 直接输出数值
多标签分类 Sigmoid(每个输出独立) σ(zi) 多个 [0,1] 概率
📌 示例对比:
复制代码
# 二分类
Dense(1, activation='sigmoid')

# 多分类(3类)
Dense(3, activation='softmax')

# 回归(预测房价)
Dense(1, activation='linear')

✅ 4. 预测执行(Inference)

功能 基本组成函数 说明
单样本预测 model.predict(x.reshape(1,-1)) Keras 注意 batch 维度
批量预测 model.predict(X_test) Keras 自动批处理
获取类别 np.argmax(probs, axis=1) numpy 多分类取最大概率类
二分类阈值 (probs > 0.5).astype(int) numpy 转为 0/1 标签
概率输出 直接返回 predict() 结果 - 用于置信度分析
📌 完整预测流程(Keras):
复制代码
# 假设 model 已训练好
probs = model.predict(X_test)  # 输出概率

# 二分类:转为类别标签
y_pred = (probs > 0.5).astype(int)

# 多分类:取最大概率类
y_pred = np.argmax(probs, axis=1)
📌 PyTorch 推理流程:
复制代码
model.eval()
with torch.no_grad():
    probs = model(X_test_tensor)
    y_pred = (probs > 0.5).float()  # 二分类
    # 或 y_pred = torch.argmax(probs, dim=1)  # 多分类

✅ 总结:神经网络预测的"最小函数集"

功能 最基本组成函数
网络构建 Dense, Linear, ReLU, Sigmoid, Softmax
模型组织 Sequential, nn.Module
正则化 Dropout, BatchNormalization
前向传播 model(x), model.predict()
输出激活 sigmoid, softmax, linear
预测执行 predict(), argmax, torch.no_grad()

掌握这15个核心函数,你就能构建和运行任何前馈神经网络的预测流程


🎯 最终洞见

神经网络的预测,不是"魔法",而是"结构化的数学映射"

你用 Dense 构建连接,

ReLU 引入非线性,

Softmax 输出概率,

实际上是在设计一个从输入到输出的高维函数

forward() 函数,

就是你这个函数的执行入口

当你理解每一个层、每一个激活函数的作用,

你就不再只是"调用API",

而是在亲手编织一个智能决策网络 ------

这正是深度学习的魅力所在。

继续深入,你将发现:
最强大的AI模型,始于最清晰的预测逻辑

相关推荐
之歆2 小时前
Spring AI入门到实战到原理源码-MCP
java·人工智能·spring
知乎的哥廷根数学学派2 小时前
面向可信机械故障诊断的自适应置信度惩罚深度校准算法(Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习·矩阵
且去填词3 小时前
DeepSeek :基于 Schema 推理与自愈机制的智能 ETL
数据仓库·人工智能·python·语言模型·etl·schema·deepseek
待续3013 小时前
订阅了 Qoder 之后,我想通过这篇文章分享一些个人使用心得和感受。
人工智能
weixin_397578023 小时前
人工智能发展历史
人工智能
强盛小灵通专卖员3 小时前
基于深度学习的山体滑坡检测科研辅导:从论文实验到系统落地的完整思路
人工智能·深度学习·sci·小论文·山体滑坡
OidEncoder3 小时前
从 “粗放清扫” 到 “毫米级作业”,编码器重塑环卫机器人新能力
人工智能·自动化·智慧城市
Hcoco_me3 小时前
大模型面试题61:Flash Attention中online softmax(在线softmax)的实现方式
人工智能·深度学习·自然语言处理·transformer·vllm
哥布林学者3 小时前
吴恩达深度学习课程五:自然语言处理 第一周:循环神经网络 (七)双向 RNN 与深层 RNN
深度学习·ai
阿部多瑞 ABU4 小时前
`chenmo` —— 可编程元叙事引擎 V2.3+
linux·人工智能·python·ai写作