神经网络训练不起来怎么办(零)| General Guidance

2024-09-08 03:04

本文主要是介绍神经网络训练不起来怎么办(零)| General Guidance,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要:模型性能不理想时,如何判断 Model Bias, Optimization, Overfitting 等问题,并以此着手优化模型。在这个分析过程中,我们可以对Function Set,模型弹性有直观的理解。
关键词:模型性能,Model Bias, Optimization, Overfitting。

零,领域背景

如果我们的模型表现较差,那么我们往往需要根据 Training loss 以及 Testing loss 判断、推理成因,以此来制定策略,优化我们的模型。

图1:模型表现不佳的分析思路


Ⅰ,训练损失

训练损失往往被大部分人忽略,但对模型性能的分析与优化,最首先需要分析的就是 training loss 的情况。如果 training loss 比较小,那么万事大吉,如果 training loss 比较大,那么主要由以下两个方面导致。

  • Model Bias:模型拟合训练数据的性能瓶颈。Function Set 中没有最优解,可以理解为大海捞针,针却不在海里。
  • Optimization:模型参数更新的瓶颈。Function Set 中存在最优解,可以理解为大海捞针,没捞到针就停下了。
图2:训练损失不佳的两种原因(模型弹性,优化器)


Ⅱ,模型弹性

成因分析:理解模型的弹性便是判断 training loss 不理想成因的关键:

模型弹性小:出现 Model Bias 问题,但Optimization 过程容易,往往得到 global minimal。

模型弹性大:解决 Model Bias 问题,但Optimization 过程困难,往往陷入 local minimal。

弹性越大的模型,其 Function Set 一定包含弹性较小模型对应的 Function Set。因此 Model Bias 的问题可以通过增大弹性的方式解决,当然也容易带来 Optimization 的问题。引入模型弹性概念之后,我们也发现 Model Bias 和 Optimization 实际是一个矛盾体。机器学习的本质工作,也可以形象地理解为在特定任务上的矛盾体中找到一个平衡点。

训练策略:因此,我们不需要从一开始就设计一个弹性很大的模型,可以采用循序渐进的策略。

先使用较为浅层的模型 or 机器学习的精确模型,此时 training loss 基本排除 optimization 的情况。我们以此作为 baseline,观察此时的 loss。

随后再增大模型的弹性,在尽力达到 baseline 的基础上,提升性能。

弹性控制:本质是控制模型的可学参数数量,可以从输入特征数量 & 模型架构(比如结点数,层数)两个方面,即数据和模型两个维度,增加模型的可学参数。此处的模型弹性都是从定性的角度理解,定量的分析思路将在之后的课程介绍。


Ⅲ,测试损失

testing loss:如果 training loss 理想,那么说明当前参数下的模型能够很好地学习到训练集的特征。此时就需要转向关注 testing loss。主要有以下两种情况:

  • testing loss 理想,万事大吉
  • testing loss 较高,可能是 overfitting or mismatch。

Overfitting:模型弹性较大,模型在满足样本空间外,自我发挥的空间很大。可以通过数据(增加训练样本数量) & 模型(减小模型弹性)的方式避免问题。注意:机器学习研究者的核心工作不是搜集资料,以后学习应该尽可能避免资料的收集工作,将精力放在模型研究上。比如,CNN网络架构实质就是 Fully-Connection Network 的子集,是根据图片的特性,设计为带有限制的、弹性更小的一个FCN。

Mismatch:训练数据 & 测试数据的分布不一致。本质上需要建立在你对训练、测试资料的产生方式的理解。遇到的情况较少,一般测试集都是从训练集划分。

图3:过拟合与数据分布不一致


Ⅳ,其他策略

Valid Set:用于模拟 Private Testing Set。

N-fold Cross Validation:划分数据集,用于评估多个模型的泛化性能好坏。

以上两种方法本质都是为了用训练集数据,得到一个更加鲁棒的模型,使其能够经受住未知的测试数据的考验。


思考总结

成因推理:我们能否知道一个完整的分析思路,用于判断我们模型表现不理想的成因。

模型弹性:这里提到的模型弹性”是一个很新的角度,无论是 Model Bias, Optimization 还是 Overfitting 的问题都能够通过这个概念直观地进行成因分析。

这篇关于神经网络训练不起来怎么办(零)| General Guidance的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1146925

相关文章

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

SigLIP——采用sigmoid损失的图文预训练方式

SigLIP——采用sigmoid损失的图文预训练方式 FesianXu 20240825 at Wechat Search Team 前言 CLIP中的infoNCE损失是一种对比性损失,在SigLIP这个工作中,作者提出采用非对比性的sigmoid损失,能够更高效地进行图文预训练,本文进行介绍。如有谬误请见谅并联系指出,本文遵守CC 4.0 BY-SA版权协议,转载请联系作者并注

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的

机器学习之监督学习(三)神经网络

机器学习之监督学习(三)神经网络基础 0. 文章传送1. 深度学习 Deep Learning深度学习的关键特点深度学习VS传统机器学习 2. 生物神经网络 Biological Neural Network3. 神经网络模型基本结构模块一:TensorFlow搭建神经网络 4. 反向传播梯度下降 Back Propagation Gradient Descent模块二:激活函数 activ

多云架构下大模型训练的存储稳定性探索

一、多云架构与大模型训练的融合 (一)多云架构的优势与挑战 多云架构为大模型训练带来了诸多优势。首先,资源灵活性显著提高,不同的云平台可以提供不同类型的计算资源和存储服务,满足大模型训练在不同阶段的需求。例如,某些云平台可能在 GPU 计算资源上具有优势,而另一些则在存储成本或性能上表现出色,企业可以根据实际情况进行选择和组合。其次,扩展性得以增强,当大模型的规模不断扩大时,单一云平

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04