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

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

时间:2024-11-17 12:45:02浏览次数:3  
标签:学习 训练 人工智能 ---- 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://blog.csdn.net/JellyAI/article/details/143814730

相关文章

  • node.js毕设校园二手物品交易平台系统(程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于校园二手物品交易平台系统的研究,现有研究主要以综合性电子商务平台为主,专门针对校园这一特定环境下的二手物品交易平台系统的研究较少。在国内外,二......
  • node.js毕设数字藏品系统(程序+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于数字藏品系统的研究,现有研究主要集中在综合性数字藏品平台的构建与运营上,专门针对校园这一特定环境下的数字藏品系统的研究较少。在国内外,数字藏品......
  • 第1章:初识Pandas
    第1章:初识Pandas本章将带领读者初步了解Pandas库,介绍其基本概念、功能特点和安装方法,同时学习Pandas的核心数据结构:Series和DataFrame。通过本章的学习,您将为后续章节的深入学习打下坚实的基础。1.1什么是PandasPandas是Python中用于数据分析和处理的强大工具库,主要功......
  • flask基于SpringBoot的模具管理(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于模具管理的研究,现有研究主要以模具的生产技术和工艺改进为主,如在模具质量控制方面对检测方法和加工工艺的研究等1。专门针对模具......
  • 7、GIC介绍与编程
    1.1GIC介绍ARM体系结构定义了通用中断控制器(GIC),该控制器包括一组用于管理单核或多核系统中的中断的硬件资源。GIC提供了内存映射寄存器,可用于管理中断源和行为,以及(在多核系统中)用于将中断路由到各个CPU核。它使软件能够屏蔽,启用和禁用来自各个中断源的中断,以(在硬件中)对各个中断......
  • 从C到Haskell
    缘起开篇之前先说说为啥开始学习Haskell,作为一个主要写C代码的中老年工程师,总觉得写代码有点那么个思维定式,而Haskell是一个和C完全不同的语言,它会迫使你放弃掉习惯了小半辈子的思维方式,可以帮助咱们中老年朋友跳出编程“舒适区”,避免思维定式。以下内容与广大中老年朋友分享学......
  • AtCoder Beginner Contest 380
    省流版A.计数判断即可B.计数统计即可C.模拟即可D.注意到字符串是左右大小写镜像,从长度大往小依次考虑实际所处的位置,维护镜像次数集合E.并查集维护连通性,并尝试与左右俩格子合并即可F.博弈\(dp\),状态数只有\(5e5\),直接记忆化搜索即可G.枚举打乱起始位置,全排列分......
  • 20241115
    T1自闭题目条件可以扩展到任意矩形的四个顶点。则整个矩阵仅由第一行和第一列决定。容易发现最左上角的格子直接填\(0\)是一定合法的,因此只需要判断是否存在数组\(a_i,b_i\)满足\(A_{i,j}=a_i+b_j\)即可。考虑将给出的限制视为边,\(a_i,b_j\)视为点建图,显然不同连......
  • zblog获取当前页面的标题/链接/ID等属性
    方法:使用全局变量$zbp。在函数内部使用global$zbp;声明。常用属性:当前页面链接:$zbp->currenturl当前页面标题:$zbp->template->GetTags('title')当前页面ID:分类页:$zbp->template->GetTags('category')->ID文章页:$zbp->template->GetTags('article�......
  • 织梦dedecms友情链接图片大小的修改方法
    修改前台显示的图片尺寸打开 /include/taglib/flink.lib.php 文件,找到:  $link="<ahref='$url'target='_blank'><imgsrc='$logo'width='88'height='31'border='0'></a>";修改为:......