dejahu的深度学习学习笔记04-关于模型训练你需要了解的一些知识

大模型面经——超细节大模型训练与微调实操经验总结 本篇主要从训练数据预处理、模型结构、训练参数设置与错误处理四大角度比较细节地分享大模型微调经验。大模型的训练和微调过程相对于以前NLP中fine-tuning模式存在一些新的坑,并且做一些简单的消融实验相对于以前的模式试错成本也更高;此外目前很多算法工程师更多精力都放在了处理数据上, 工作之余很难有精力去做探索实验。所以小伙伴们在实践前可以多看看一些通用的实践经验,带着一些先验知识去探索,尽量规避自己陷入一些无意义的坑中。本篇将开启一个新系列,尽量细节的讲讲大模型中训练和微调的经验。本篇主要从。 阅读详情

前面我们讨论了线性回归、softmax分类和感知机这些模型,这些模型构建的过程都是有监督的学习,需要借助大量的样本来学习最优的参数,基本原理时通过链式法则使用梯度下降来对参数进行调整。虽然说起来比较简单,但是在实际操作的时候,模型训练需要关注很多细节,包括去模型是否会出现过拟合的现象,模型的超参数是否合理,训练的数据和验证的数据如何进行划分,这都需要进一步来探讨。今天这节我们来一起讨论一下深度学习中模型训练你需要关注的一些细节以及你需要掌握的一些基础知识。

开始之前给大家安利一下我之前写的使用tensorflow2构建物体分类模型的博客,我在博客中详细介绍了数据集收集、模型构建和模型使用三个方面,结合视频你也可以快速构建自己的物体分类模型,快去试试吧!

手把手教你用tensorflow2.3训练自己的分类数据集_dejahu的博客-优快云博客

训练集和验证集

和我们高考一样,如果时学习的方法不合理,虽然你在平时的作业中可以取得好的成绩,但是遇到考试的时候你还是不能考的很好,即使你做了大量的练习题,在机器学习的过程中也存在这个问题,平时的练习好比训练,最后的考试好比验证,我们不会使用平时的成绩来对你的学习能力进行衡量,而是通过你最后的考试成绩来决定你是否足够优秀。

所以在机器学习中存在两个误差:训练误差和泛化误差

  • 训练误差:模型在训练数据上的误差
  • 泛化误差:模型在新数据上的误差

数据集一般会划分为3类,训练数据集、验证数据集和测试数据集,其中训练数据集是用来调整模型权重参数使用的,验证数据集用来保存模型,测试数据集用来评估模型。可以将训练数据集看作是练习题,验证数据集看作是模考,测试数据集是最后的高考。

在小规模的数据集上可以采用k-折交叉验证的方法来对模型进行评估,我们将原始的数据分为K个部分,选择其中的一个部分作为验证集,另外的部分作为训练集,不断更换,进行k轮,这样得到的模型鲁棒性更好。一般而言,k取5或者10。

过拟合和欠拟合

在房价预测的任务上,我们可以将样本看作是一个在二维空间上分布的一个个的点,通过mlp强大的学习能力,能够学习到一个参数很多的模型,完美地通过所有的样本点,但是这样做是不对的,因为一是数据存在噪声,而是这样的模型就失去的预测的功能,只能在已知的数据上表现好的效果,如下图所示,第一张图展示的是欠拟合的情况,第二张图展示的是拟合的情况,第三张图展示的则是过拟合的情况。

image-20210705170028511

所以模型的容量至关重要,一般而言,模型的容量越小,学习能力不足,容易导致欠拟合的情况出现,这种情况下模型的训练误差和泛化误差都比较高,另外一种情况是模型的容量过大,导致模型的学习能力过大,在训练集上表现得特别好,但是在实际验证得过程中表现得特别不好,这样得到得模型训练误差小,但是泛化误差极大。

image-20210705170342224

参数容量的估计可以使用一个VC维的方法,不过我不是数学专业的,这里就不过多讨论,实际的情况是通过我们人的观察来定,这就是机器学习中的炼丹。

如何防止过拟合

现在的深度学习模型的学习能力都比较强大,导致欠拟合的原因多是因为样本不足,这也是目前深度学习的弊端,所以有个热门的研究方向是小样本学习。为了防止欠拟合的情况出现,这里是两个方法,一个是权重衰减,一个是随机丢弃,他们的核心思想就是在原来那么多的参数上想办法把参数减少。

权重衰减是减少边的数量,dropout是减少神经元的数量

权重衰减

权重衰减主要是在原有的损失函数的基础上添加了新的L2正则项,这个的目的是为了减少参数的数量,也就是优化目标同时又两个,一个是减少模型在数据上的误差,一个是让参数的尽可能的少,使用公式表达如下:
l ( w 1 , W 2 , b ) + λ 2 n ∣ ∣ w ∣ ∣ 2 l(w_1, W_2, b) + \frac{\lambda}{2n}||w||^2 l(w1​,W2​,b)+2nλ​∣∣w∣∣2

后面一项中有个参数需要调整,就是这个 λ \lambda λ,这同时也带来一个问题,就是这个超参数的取值,过大和过小都会存在问题,过大会导致模型只是一昧地减少参数,而不是去适应数据集,而这个参数过小又失去了其原有的意义,所以需要根据实际的实验效果来调整。

Dropout

还是刚才所提到的问题,我们不能只追求在训练集上有好的表现,所以对于一个好的模型而言,我们应该给他添加一些噪声,后面的数据增强其实也有这方面的作用。

丢弃法没有复杂的数学原理,主要使用在全连接层,指定丢弃的概率,然后随机将这些神经元的梯度设置为0,如下图所示:

image-20210705173153694

数值稳定性

开始我们提到了模型是通过链式法则来进行参数的更新的,在深度学习网络中,累乘是个基本操作,这也就导致梯度消失和梯度爆炸的情况的出现,这张图就非常形象。

image-20210705173506701

image-20210705173515245

这种情况也会导致你在实际的网络训练过程中loss会出现nan和inf,前期研究人员多集中在解决两个问题上,比如传统的sigmoid激活函数在函数的左右两侧的梯度就会非常小,这样导致模型训练缓慢并且没有办法向着更深层次进展,这里给出两个解决方案,一个是随机初始化,一个是更换成合适的激活函数。

这里说下resnet,刚才说了导致问题的原因在乘法,所以可以让乘法变成加法,也就是resnet和lstm的思想。

  • 随机初始化

    归一化在数学上也比较讲究,可以将每层的输出和梯度看作是随机变量,让他们的均值和方差保持一致,就不容易跑偏,比较好的方案是xavier初始化,好像Pyotrch中是0.7这个区间波动,如下:

    image-20210705174258908

  • 激活函数

    这里是几组常用的激活函数,也可以关注最新的论文进展,在你的模型中使用好的激活函数来试试看。

    image-20210705173905756

深度学习知识点全面总结 随着研究的深入,还会有更多高级的模型和算法被开发出来,推动深度学习技术的进步,以解决更加复杂的问题。深度学习是机器学习领域中的一个新方向,主要是通过学习样本数据的内在规律和表示层次,让机器能够具有类似于人类的分析学习能力。神经网络(Neural Networks):这是深度学习的基础,由大量的神经元(或称为节点)按照不同的层次组织起来,每个神经元都与前一层的所有神经元相连。深度学习是机器学习的一个分支,它通过构建多层的神经网络来模拟人脑处理信息的方式,从而实现对复杂数据的高效处理和分析。 阅读详情

相关推荐

2023年,手把手教你使用YOLOV5训练自己的目标检测模型

yolov5 yoloR对比行人车辆识别视频yolov5车辆识别视频yolov8识别视频yolov5车辆识别视频如何评价YOLO V5,那就必须拿“上一代”YOLO V4来做对照了。先说结论,YOLO V5 在性能上稍弱于YOLO V4,但是在灵活性与速度上远强于YOLO V4,在模型的快速部署上具有极强优势。虽然现在的研究成果还达不到“下一代”YOLO的高度,但是被称作YOLO V4.5或者Above YOLO 是没问题的。我觉得大家不能因为。

斌擎科技 1503

深度学习模型的训练细节

深度学习模型训练是一个复杂且需要细致操作的过程,涉及多个步骤和技巧。本文是一些关键的方法和中间变量检查的要点介绍。深度学习模型训练是一个涉及多个方面的综合过程,需要对数据、模型结构、训练过程和中间变量进行细致的管理和优化。

xw555666的博客 2002

【大作业-05】手把手教你使用YOLOV5训练自己的目标检测模型-口罩检测-视频教程

手把手教你使用YOLOV5训练自己的目标检测模型 大家好,这里是肆十二(dejahu),好几个月没有更新了,这两天看了一下关注量,突然多了1k多个朋友关注,想必都是大作业系列教程来的小伙伴。既然有这么多朋友关注这个大作业系列,并且也差不多到了毕设开题和大作业提交的时间了,那我直接就是一波更新。这期的内容相对于上期的果蔬分类和垃圾识别无论是在内容还是新意上我们都进行了船新的升级,我们这次要使用YOLOV5来训练一个口罩检测模型,比较契合当下的疫情,并且目标检测涉及到的知识点也比较多,这次的内容除了可以作为大家

dejahu的博客 36万+

深度学习基础知识

深度学习基础知识:代码,理论

m2272536077的博客 744

【大作业-04】手把手教你构建垃圾分类系统-基于tensorflow2.3

B站视频:等待更新(b站:dejahu) 代码地址:trash_classification_tf2.3: 基于tensorflow2.3的垃圾分类系统 (gitee.com) 模型和数据集地址:垃圾分类数据集和tf代码-8w张图片245个类.zip-深度学习文档类资源-优快云下载 大家有什么想法也可以在评论区留言,我会根据留言情况出对应的教程。 哈喽,大家好,这里是dejahu,本期教程给大家带来的是基于tensorflow2.3的垃圾分类系统,主要还是为了教会大家如何使用我写好的物体分类模板代码去.

dejahu的博客 2万+

【大作业-09】基于YOLOV5的手势识别系统

我们之前做过一期基于Yolov5的口罩检测系统(手把手教你使用YOLOV5训练自己的目标检测模型-口罩检测-视频教程_dejahu的博客-优快云博客),里面的代码是基于YOLOV5 6.0开发的,并且是适用其他数据集的,只需要修改数据集之后重新训练即可,非常方便,但是有些好兄弟是初学者,可能不太了解数据的处理,所以我们就这期视频做个衍生系列,主要是希望通过这些系列来教会大家如何训练和使用自己的数据集。 本期我们带来的内容是基于YOLOV5的手势识别系统,我们将会训练得到能识别10种常用手势的模型,废话不多

dejahu的博客 2万+

【深度学习中模型训练、调参基础知识整理(持续更新...)】

深度学习中模型训练、调参基础知识整理(持续更新...)

clmeng77的博客 4405

【大作业-07】手把手教你用UNet做医学图像分割系统

兄弟们好呀,这里是肆十二,这转眼间寒假就要过完了,相信大家的毕设也要准备动手了吧,作为一名大作业区的UP主,也该蹭波热度了,之前关于图像分类和目标检测我们都出了相应的教程,所以这期内容我们搞波新的,我们用Unet来做医学图像分割。我们将会以皮肤病的数据作为示范,训练一个皮肤病分割的模型出来,用户输入图像,模型可以自动分割去皮肤病的区域和正常的区域。 B站讲解视频: 优快云博客: 代码地址:unet_42: 基于Unet的医学影像分割系统 (gitee.com) 处理好的数据集和训练好的模型: 更多相关的

dejahu的博客 12万+

dejahu的深度学习学习笔记05-Pyotrch中的深度学习计算

开始之前给大家安利一下我之前写的使用tensorflow2构建物体分类模型的博客,我在博客中详细介绍了数据集收集、模型构建和模型使用三个方面,结合视频你也可以快速构建自己的物体分类模型,快去试试吧! 手把手教你用tensorflow2.3训练自己的分类数据集_dejahu的博客-优快云博客 前面的几章内容重点讨论了模型的基本构建和一些模型训练所涉及的技巧,今天学习的课程中,在树叶分类的任务中看到不少关于比赛的技巧,不只是迁移学习那么简单,包括优化器、数据增广等方面都有讲究,后面需要专门抽时间来看下前面的房

dejahu的博客 835

记一次Redis出问题及解决方案

Q1: redis服务关闭前确认数据还是在的,重启后发现一条数据都没了,key* 查也是空的 A1: 经仔细检查发现redis.conf配置文件配置的数据存储目录配置的是dir ./ 也就是相对目录,也就是说在哪个目录执行redis-server redis.config启动命令 redis数据就会存到哪个目录,同样就会加载哪个目录下的数据文件(dump.rdb),前后两次启动命令的位置不一样导致第二次启动没有加载到(dump.rdb)文件,从而导致查不出数据 Q2:springboot 集成r

u010013928的博客 3059

LVGL v9的lv_scale控件实战:5分钟打造动态仪表盘(附完整代码)

本文详细介绍了LVGL v9中lv_scale控件的实战应用,通过5个关键步骤快速打造动态仪表盘。文章涵盖核心特性解析、代码实现、样式定制及性能优化,适用于工业HMI、智能家居等场景,并附完整代码示例。

gin88的博客 262

dejahu的深度学习学习笔记02-softmax分类|Pytorch代码实现

上节博客中我们一起探讨了机器学习中的回归问题,回归问题主要是为了解决连续的问题,生活中还有很多应用场景不是连续的,预测的结果是离散的,比如识别一个垃圾的种类或者是识别一个花卉的具体种类,这种问题如果使用简单的线性回归是达不到目的的,这个时候就需要引入分类去解决,今天我们一起来看下如何去使用Pyotrch实现Softmax分类。 开始之前给大家安利一下我之前写的使用tensorflow2构建物体分类模型的博客,我在博客中详细介绍了数据集收集、模型构建和模型使用三个方面,结合视频你也可以快速构建自己的物体分类模

dejahu的博客 750

架构——异地多活成熟的架构模式

摘要: 本文系统介绍了三种异地多活架构模式:业务定制型、业务通用型和存储通用型。业务定制型针对核心业务定制化设计,复杂度低但扩展性差;业务通用型通过统一配套服务(流量调度、配置中心等)实现多业务兼容,适合业务量大但一致性要求不高的场景;存储通用型依托分布式一致性数据库(如OceanBase、TiDB)天然支持强一致性,适合金融等高要求场景,但对部署距离和成本有较高限制。文章对比了各模式的优缺点及适用场景,为不同业务需求下的架构选型提供了实践指导。

小志的博客 7088

dejahu深度学习笔记00-深度学习基础

最近在看李沐老师的动手学深度学习教程,强烈安利大家去看,讲的非常通透,他会从一个常人的角度给你分析深度学习的原理,另外最近老师录制的视频是Pytorch版本的,在学习基本原理的同时还是学习到Pytorch的使用,真的是太棒了! 这期专栏我就按照我自己的理解把其中一些重点的知识做个记录,方便自己回顾,另外也会附上Python的代码,结合代码一块理解原理。 深度学习的历史 深度学习这个概念在上个世纪50年代那会就已经有了,一开始有人提出了感知机的模型,可以说是现在深度学习网络的一个雏形了,但是当时的MLP解决不

dejahu的博客 946

Qt之QSqlTableModel:高效数据库操作与视图绑定的实战指南

本文深入探讨了Qt框架中的QSqlTableModel组件,它作为连接数据库与Qt视图的智能中介,能极大简化数据库的增删改查操作。通过实战代码演示,详细讲解了如何快速构建可编辑的数据表格、理解并设置关键的数据编辑策略(如OnManualSubmit),以及实现数据过滤、排序等高级功能。文章还提供了性能优化、事务处理及常见避坑指南,帮助开发者高效、稳健地开发数据库驱动的桌面应用。

y4z5a6b7的博客 440

ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory解决方案

本文主要介绍了ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory解决方案,希望能对使用Python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 11万+

dejahu的深度学习学习笔记01-线性回归+Pytorch代码实现

机器学习简单来讲可以分为两个问题,我们都是希望能将现实中的问题进行抽象来构建数学模型,根据预测的内容,可以将问题分为回归问题和分类问题,如果预测的是连续值,那么就是回归问题,如果预测的是离散值,那么就是分类问题。比如房价的预测就是一个典型的回归问题,给出房子的面积、地理位置等基本输入,模型可以根据这些输入得到房子大概的价格。 原理介绍 ?什么是模型 大概从大一开始,就接触到模型这个概念,很多时候不不是很清楚到底啥是个模型。以为现在的理解来看,模型就是数学公式,比如我们高中学到的kx+b就是一个线性模型,在

dejahu的博客 625

龙腾CMS downloadFile接口任意文件读取漏洞复现 [附POC]

大连网龙网络科技有限公司专注于在信息科技领域中向客户提供商业解决方案,是专业的互联网服务解决方案提供商和网络营销服务专家,为用户提供一体化的网络营销整体解决方案,龙腾CMS downloadFile接口存在任意文件读取漏洞。

薛定谔嘚喵博客 720

目标检测数据集清单-附赠YOLOV5模型训练和使用教程

目标检测数据集清单-附赠YOLOV5模型训练和使用教程 先占坑,后续更新 找到我 你可以通过这些方式来寻找我。 B站:肆十二- 优快云:肆十二 知乎:肆十二 微博:肆十二- 现在关注以后就是老朋友喽! ...

dejahu的博客 2万+

【python科研数据处理】将Endnote自动搜索的所有pdf文件,全都移动指定文件夹中

将Endnote自动搜索到的全部pdf文件,全都移动指定文件夹中1 背景2 问题解决 手动反爬虫,禁止转载:原博地址 https://blog.csdn.net/lys_828/article/details/122370892(优快云博主:Be_melting) 知识梳理不易,请尊重劳动成果,文章仅发布在优快云网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息 1 背景 在进行期末考试周后,面对最后一门功课,需要提交至少80篇SCI参考文献,因此最快下载文献的方式就是通过Web of S

lys_828的博客 1826

15张图详解三方支付:总架构、5大核心业务处理流程、备付金管理

用户可以将银行卡与零钱账户绑定,建立银行结算账户与支付账户的连接,然后将银行账户资金充值到零钱账户中,或将零钱账号中的余额提现至绑定的银行卡。因此,用户在A支付机构的零钱一般只能支付给A支付机构的商户,如支付宝的零钱不能支付给微信的商户。这五大业务的协同运作,使得第三方支付机构这一庞大的支付服务平台能够为市场提供卓越的支付能力。到了结算时间,网联会向备付金集中存管账户提交结算指令,在第三方支付机构备付金集中存管账户内完成最终的结算,并将结算结果及额度变动情况通知给第三方支付机构,具体流程如图13所示。

银行信息系统应用架构详解 1044

手把手教你使用YOLOV5训练自己的目标检测模型-以口罩检测为例-视频教程

我们这次要使用YOLOV5来训练一个口罩检测模型,比较契合当下的疫情,并且目标检测涉及到的知识点也比较多,这次的内容除了可以作为大家的大作业之外,也可以作为一些小伙伴的毕业设计。废话不多说,我们直接开始今天的内容。B站讲解视频:手把手教你使用YOLOV5训练自己的目标检测模型_哔哩哔哩_bilibili优快云博客:手把手教你使用YOLOV5训练自己的目标检测模型-口罩检测-视频教程_dejahu的博客-优快云博客。

m0_71124168的博客 1084

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

dejahu的深度学习学习笔记03-感知机和MLP|Pytorch代码实现

前面的笔记中我们讨论了线性回归和softmax分类,都可以看作是一层的全连接层,其中线性回归的输出是一个神经元,softmax的输出是多个神经元,softmax主要作用在损失函数的计算部分,相应地模型也需要学习到更多的权重。今天我们来看一下感知机(perceptron)以及感知机的进化版本,多层感知机(MLP)。 开始之前给大家安利一下我之前写的使用tensorflow2构建物体分类模型的博客,我在博客中详细介绍了数据集收集、模型构建和模型使用三个方面,结合视频你也可以快速构建自己的物体分类模型,快去试试吧

dejahu的博客 631

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

基于YOLOV5的手势识别系统源码及模型,训练得到能识别10种常用手势的模型

本期我们带来的内容是基于YOLOV5的手势识别系统,我们将会训练得到能识别10种常用手势的模型,废话不多说,还是先看效果。

Python代码大全 2056

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

计算机视觉数据集清单-附赠tensorflow模型训练和使用教程

计算机视觉数据集清单-附赠tensorflow模型训练和使用教程 我在这里整理了一些计算机视觉中使用到的数据集,大家可以根据需要下载。 友情提示:使用右侧的目录可以帮助你快速找到你想要的数据集 物体分类 物体分类是计算机视觉中一项经典的任务,用户上传图片,模型读取图片,识别出该图片的种类,这里不仅仅有数据集,我在这里也写了一篇博客,里面详细描述了大家如何根据自己的数据集去构建自己的物体分类模型。 肺炎数据集 下载链接: 数据集基本信息 名称:肺炎x光片数据集 类别:两类 [‘PNEUMONIA’, ‘NO

dejahu的博客 3万+

基于YOLOV5的火灾检测系统(含模型)+GUI界面

本期我们带来的内容是基于YOLOV5的火灾检测系统,火灾检测系统还是比较有实际意义的,也方便大家在背景描述中展开。废话不多说,还是先看效果。

Python代码大全 5328
上一篇: dejahu的深度学习学习笔记03-感知机和MLP|Pytorch代码实现
下一篇: dejahu的深度学习学习笔记05-Pyotrch中的深度学习计算
肆十二
肆十二 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄9年 2万+粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆十二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值