理解神经网络流程

个人记录 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

相关推荐
滚雪球~6 小时前
量化交易 防止Windows电脑自动更新并重启
python·量化
L@ncor7 小时前
第二章可能出现的问题
人工智能·python
y = xⁿ7 小时前
大模型基础概念
python
ctlover7 小时前
排序与查找算法详解
开发语言·python
用户8356290780518 小时前
如何使用 Python 给 Word 文档添加水印
后端·python
泡干脆面就番茄8 小时前
深度学习:PyTorch框架初识——MNIST手写数字识别
python·深度学习
shirsl8 小时前
算法 Day 5 树 / 二叉树 + DFS
数据结构·python·算法
门思科技8 小时前
开源网关有哪些:主流类型梳理
网络·python·物联网
szephyr8 小时前
Python 爬虫合规与反爬实战:从 requests 到 Playwright
爬虫·python·requests·playwright·反爬
E-iceblue8 小时前
Excel 列转行/行列转换全指南:从 4 种常见解法到 Python 批量自动化
python·excel·python库·spire.xls