理解神经网络流程

个人记录 2025 10 3

神经网络流程

数据的预处理 通过dataset和dataloader进行

dataset 处理数据旋转裁切调整对比度等操作 将数据修改成张量的格式 就像numpy 用array格式,pandas用的是dataframe格式

dataloader 处理数据如果批次大小和加载数量,因为他不像机器学习可以把数据一次性读进来。

前向传播 样本特征输入后进行预测,通过损失函数中参数权重偏置进行链式求导法则得到梯度,用梯度下降法更新参数

循环 最终使得梯度平稳停止。


神经网络核心流程梳理(dbai总结版)

一、数据预处理:给模型"备齐能用的料"

  • 核心目的:把原始数据(图、文等)变成模型能"消化"且训练效果好的形式

  • Dataset:干"数据加工"的活

  • 先优化数据:做旋转、裁切、调对比度,让模型见多识广(提升泛化能力)

  • 再统一格式:把加工好的数据转成张量(Tensor),比NumPy的Array多了GPU加速功能

  • DataLoader:干"按需上菜"的活

  • 分批拆数据:按设好的Batch Size拆分,解决"数据太多装不下内存"的问题

  • 按次给数据:训练时每次只送一批,贴合神经网络的训练节奏

二、核心训练循环:模型"慢慢学"的关键步骤

  1. 前向传播:把DataLoader给的一批数据喂进模型,经过卷积、全连接这些层计算后,得出预测结果

  2. 算损失:用交叉熵、MSE这类损失函数,比一比预测结果和真实答案差多少,得出误差(损失值)

  3. 反向传播:根据损失值,用链式求导法则从后往前算,找出每个参数(权重、偏置)对误差的影响(梯度)

  4. 更参数:让SGD、Adam这些优化器照着梯度,用梯度下降法调整参数,争取下一轮误差能变小

三、训练停止:判断模型"学好了"的标准

  • 看损失:损失值不怎么降了,稳定在一个区间里

  • 看梯度:参数的梯度快接近0了,再调参数也没多大提升空间

  • 看轮次:训练到了提前设好的Epoch数,就停下


为什么要收敛,如何收敛,如何快速收敛

要将梯度值控制在0-1的范围内防止梯度消失和梯度爆炸等问题

通过反向传播进行循环计算损失函数的权重和偏置来得到梯度,再用梯度下降来解决

使用优秀的优化器比如adam自适应距估计和sgd随机梯度下降,通常使用adam

相关推荐
quantdash_cc1 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl1 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
云和数据.ChenGuang2 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
专注仿真2 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
wflynn3 小时前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github
在所不辞兄3 小时前
【零基础学智能仿真-67】力学知识库与检索增强
人工智能·深度学习·神经网络·机器学习·智能仿真
2601_967980113 小时前
python之用scapy分层解析pcap报文(Ethernet帧、IP数据包、TCP数据包、UDP数据包、Raw数据包)
python·scapy·pcap·协议分析·网络数据包
心疼你的一切3 小时前
Python自动发邮件实战定时发报表
大数据·开发语言·python
卡提西亚5 小时前
FastAPI基础入门
python·fastapi
fanruitian5 小时前
python 机器学习 ML LinearRegression KNN KMeans
python·机器学习·kmeans