首页 > 其他分享 >人工智能同样也会读死书----“过拟合”

人工智能同样也会读死书----“过拟合”

时间:2024-11-16 11:29:10浏览次数:1  
标签:学习 训练 人工智能 ---- beta 准确率 拟合 读死书

上一篇:《“嵌入”在大语言模型中是解决把句子转换成向量表示的技术》

序言:我们常常会说某某人只会“读死书”,题目稍微变一点就不会做了。这其实是我们人类学习中很常见的现象。可是你知道吗?人工智能其实更容易“读死书”。不过在人工智能领域,我们有个听起来高大上的说法,叫“过拟合”。说白了,“过拟合”就是人工智能的“读死书”现象。在这个小节我们就来聊聊怎么让人工智能少“读死书”。注意,我说的是“少”,因为这个问题没办法完全消除,只能尽量降低。

减少语言模型中的过拟合

过拟合发生在网络对训练数据变得过于专注时,其中一个表现是它在训练集中“噪声”数据中的模式匹配上变得非常出色,而这些噪声在其他地方并不存在。由于这种特定的噪声在验证集中并不存在,网络越擅长匹配这些噪声,验证集上的损失就会越差。这就会导致你在图 6-3 中看到的验证损失不断上升的情况。在本节中,我们将探讨几种通用化模型并减少过拟合的方法。

调整学习率

导致过拟合的最大因素之一可能是优化器的学习率过高。这意味着网络学习得太快了。以下是用于编译模型的代码示例:

model.compile(loss='binary_crossentropy',

optimizer='adam', metrics=['accuracy'])

这里的优化器简单地声明为 adam,这会调用带有默认参数的 Adam 优化器。然而,这个优化器支持多个参数,包括学习率。可以将代码更改为以下内容:

adam = tf.keras.optimizers.Adam(learning_rate=0.0001,

beta_1=0.9, beta_2=0.999, amsgrad=False)

model.compile(loss='binary_crossentropy',

optimizer=adam, metrics=['accuracy'])

在这里,默认学习率值(通常为 0.001)被降低了 90%,变为 0.0001。beta_1 和 beta_2 的值保持默认值,amsgrad 也保持默认值。

• beta_1 和 beta_2 必须在 0 和 1 之间,通常两者都接近 1。

• Amsgrad 是 Adam 优化器的一种替代实现,首次在 Sashank Reddi、Satyen Kale 和 Sanjiv Kumar 的论文《On the Convergence of Adam and Beyond》中提出。

这个更低的学习率对网络产生了深远的影响。图 6-4 显示了网络在 100 个训练周期中的准确率。可以看到,在前 10 个周期左右,较低的学习率使得网络看起来像是“没有在学习”,但随后它“突破”了,并开始快速学习。

                                      图 6-4:使用较低学习率时的准确率

通过观察损失(如图 6-5 所示),我们可以看到,即使在前几个训练周期内准确率没有上升,损失却在下降。所以如果你逐周期观察训练过程,可以有信心相信网络最终会开始学习。

                          图 6-5:使用较低学习率时的损失

虽然损失开始呈现出与图 6-3 中类似的过拟合曲线,但请注意,这种现象发生得更晚,且程度也低得多。在第 30 个训练周期时,损失大约为 0.45,而在图 6-3 中使用较高学习率时,这一数值超过了两倍。尽管网络需要更长时间才能达到较高的准确率,但在损失更小的情况下完成,因此你可以对结果更有信心。

使用这些超参数时,验证集上的损失在大约第 60 个训练周期开始增加,此时训练集的准确率达到约 90%,而验证集的准确率约为 81%,这表明我们的网络是相当有效的。

当然,仅仅调整优化器参数然后宣称成功是比较简单的,但其实还有许多其他方法可以用来改进你的模型,这些方法会在接下来的几节中介绍。在这些部分中,我会恢复使用默认的 Adam 优化器来进行说明。因此,调整学习率的效果不会掩盖其他技术所带来的好处。

总结:本节我们介绍了如何通过调整学习速率来缓解语言模型“读死书”的现象。接下来的几节内容将更深入地带大家探索和分析训练数据集的特性,以及模型的架构设计、预设维度等因素是如何影响模型“读死书”问题的。

标签:学习,训练,人工智能,----,beta,准确率,拟合,读死书
From: https://www.cnblogs.com/jellyai/p/18549205

相关文章

  • Let'sGoFurther - Chapter 6: SQL Migrations
      InstallingthemigratetoolTomanageSQLmigrationsinthisprojectwe’regoingtousethemigratecommand-line tool(whichitselfiswritteninGo).OnLinuxandWindows,theeasiestmethodistodownloadapre-builtbinaryandmove ittoalocat......
  • 书生·共学大模型训练营第4期 L1G200任务提交
    MindSearch搜索引擎示例书生·浦语对话模型调用示例书生·万象开源视觉语言模型调用实例进阶任务:MindSearch话题挑战https://www.zhihu.com/people/zhang-shu-yang-92-96......
  • CMPEN/EE 454 oncamera projection
    1CMPEN/EE454,Project2,Spring2024DueWedsFriday2911:59PMonCanvas1Motivationhisgoalofthisprojectistohelpyouunderstandinapracticalwaythecoursematerialoncameraprojection,triangulation,epipolargeometry,andplanewarpingYouwi......
  • 【网络系统管理】2023年全国职业院校技能大赛:组策略--Windows样题1(步骤)--超详细
    (一)DCserver配置任务1.为ChinaSkills.cn域配置安全策略(1)限制Management(Manage01-05)只能从Client登录;(2)限制Finance(F01-10),不能关闭计算机和重启计算机;(3)所有的域计算机和域用户都能自动注册证书,证书颁发机构已经颁发过一次,就不再重复颁发,除非证书文件丢失或者失效;(4)为普通......
  • thinkphp6 使用自定义命令,生成数据库视图
    在ThinkPHP命令行工具中,你可以为选项设置别名,通过为选项指定一个简短的别名来简化命令输入。例如,如果你希望--force-recreate选项有一个简短的别名-f,你可以通过在addOption方法中设置第二个参数来实现这一点。示例:为选项设置别名在addOption方法的第二个参数中设置别......
  • 前端必知必会-JavaScript if、else 和 else if
    文章目录JavaScriptif、else和elseif条件语句if语句else语句elseif语句总结JavaScriptif、else和elseif条件语句用于根据不同的条件执行不同的操作。条件语句编写代码时,您经常希望针对不同的决策执行不同的操作。您可以在代码中使用条件语句来执行......
  • 速通 西语(1)(上学期)
    代词:主格代词:yo,tu,el/ella/usted,nosotros/nosotras,vosotros/vosotras,ellos/allas,ustedes宾格代词:me,te,lo/la,nos,os,los/las与格代词:me,te,le,nos,os,les夺格代词:还没学暂不讨论非重读物主形容词:mi,tu,su,nuestro(a),vuestro(a),su重读物主形容词:mio,toyu,suyo,nuest......
  • 前端必知必会-JavaScript Switch 语句
    文章目录JavaScriptSwitch语句JavaScriptSwitch语句break关键字default关键字常见代码块switch详细信息严格比较总结JavaScriptSwitch语句switch语句用于根据不同的条件执行不同的操作。JavaScriptSwitch语句使用switch语句从多个代码块中选择一个......
  • C 语言struct 结构
    目录1.简介2.struct的复制3.struct指针4.struct的嵌套5.位字段6.弹性数组成员1.简介C语言内置的数据类型,除了最基本的几种原始类型,只有数组属于复合类型,可以同时包含多个值,但是只能包含相同类型的数据,实际使用中并不够用。实际使用中,主要有下面两种情况,需要更灵......
  • LLM-面试题
    LLM推理和训练占用显存https://blog.csdn.net/weixin_44292902/article/details/133767448https://www.53ai.com/news/finetuning/2024083051493.html推荐,讲解训练和推理时的显存占用,lora和qlora。如果模型参数量为X(fp16),推理一般占用2X(模型参数+各种激活值,beams......