理解神经网络流程

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

相关推荐
青 春 记 忆7 小时前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
GlueNa2SiO37 小时前
03-Flask模板引擎Jinja2详解
笔记·python·flask
临沂GEO9 小时前
GEO搜索优化科普|正规地理位置流量运营入门指南
大数据·人工智能·python·流量运营
大模型码小白9 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
荷蒲10 小时前
【小白量化Qbuddy】利用AI学习中文Python
人工智能·python·学习
数据狐(Datafox)12 小时前
京东商品列表API技术解析与落地应用(含标准 JSON 示例)
java·大数据·前端·人工智能·python·数据分析·json
量化吞吐机12 小时前
2026年下半年手工交易规则走向量化表达,产品该先接住哪一步
人工智能·python
Metaphor69213 小时前
使用 Python 读取和删除 Excel 文件属性
python·excel
迷迭香yy14 小时前
Python构建转融券多空识别系统从接口到因子的全流程 IG50免费开源股票数据API接口
开发语言·python·开源
月光船幽幽14 小时前
真实即粗糙,光滑是伪造
人工智能·python