当前位置: 首页 > article >正文

好的、坏的、丑陋的:神经网络的记忆

原文towardsdatascience.com/the-good-the-bad-an-ugly-memory-for-a-neural-network-bac1f79e8dfd|人工智能|记忆|神经网络|学习|https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1e1ee7fbb30819e6f820f4d17dcd3b74.png由作者使用 DALL-E 生成的图像没有人有足够的记忆力去成为一个成功的骗子。 —— 亚伯拉罕·林肯记忆比墨水更难以抹去。 —— 安妮塔·洛斯**记住错误泛化正确。**这被认为是人工智能的一个教条。但为什么记忆有什么问题直观地说一个记住了整本书的学生如果练习题与书中的不同仍然可能考试不及格。如果记忆不等于学习有时一点记忆也可能是有益的。例如学习复杂规则来记忆历史人物名单是没有意义的。你必须知道如何找到正确的平衡。神经网络中也在发生类似的事情。本文讨论了神经网络与记忆之间复杂的爱恨关系。人工智能正在改变我们的世界塑造我们的生活方式和工作方式。理解它的工作原理及其影响从未如此关键。如果您正在寻找对复杂人工智能主题的简单、清晰的解释您就来到了正确的位置。点击关注或*免费订阅*以获取我的最新故事和见解。记忆与学习之间的复杂关系通常情况下神经网络和记忆之间存在着复杂的关系。神经网络倾向于学习捷径或简单的规则这些规则对大多数数据来说都是好的。那些不符合这些规则的例子被模型视为例外。然而这些捷径可以作为一种加快训练和快速优化损失的方法尽管如此它们往往会产生意想不到的影响。对于一些作者[1]来说这就是神经网络能够同时表现出非凡的性能和惊人的失败的原因一个核心观察是许多失败案例并不是独立的现象而是相互关联的因为深度神经网络遵循了未预期的“捷径”策略。虽然表面上看起来成功但这些策略在稍微不同的环境下通常都会失败。 —— 来源…/Images/28d6f9e95651a487447fc5ba88a8c0cb.png图像来源[2]简而言之[神经网络](https://www.ibm.com/topics/neural-networks)试图以牺牲复杂性的代价学习简单的特征即使后者具有更大的预测能力使网络非鲁棒。这也使得神经网络无法产生可靠的置信度估计并且经常得出次优的泛化 [3]。其中一些甚至不是它们的错。像梯度下降、正则化、大的学习率和小的批量大小这样的训练技术倾向于更简单的模型 [4]。这是因为复杂的模型通常意味着过拟合即模型记住了训练数据中的模式这些模式对泛化没有用。更简单的模型应该学习超出训练数据的通用规则。同时降低复杂性有利于学习启发式方法。启发式方法即使它们是错误的对大多数数据也是有益的它们是模型可以用于大多数数据的简单特征或规则因此在训练中受到青睐。神经网络通常有足够的参数来记住整个数据集[5]。一方面它可能会记住数据集另一方面训练过程推动它走向简单的解决方案。结果是网络学习到对大多数数据集有效的简单解决方案并记住例外情况。为什么这是危险的在夜晚看星星时很容易得出结论它们是围绕地球运行的。以地球为中心的模型可以解释几乎所有的天体只有少数显著的例外。托勒密模型使用半圆来解释这些例外其余的则通过一个简单的规则来解释。神经网络做的是同样的事情它们寻找一个简单的规则一旦找到其余的就成了例外。当这些简单规则是虚假相关性时这成为一个严重的问题。例如许多用于诊断的神经网络设计失败因为它们学习了虚假相关性并使用它们进行预测 [6]那个著名的神经网络在诊断恶性皮肤病变的准确性上达到了与人类皮肤科医生相当的水平。然而对模型显著性方法的更仔细检查揭示了这样一个事实这个模型在某人皮肤的照片中寻找的最有影响力的单一因素是尺子的存在。来源尺子的存在意味着皮肤科医生已经识别出癌变病变因此模型是无用的。…/Images/804cb26930bf441464f5a32d0e4043a2.png图片来源[12]然而诊断神经网络是否已经学习到虚假相关性并不总是那么容易。在这种情况下我们可能会对神经网络的可靠性产生错误的认知。因此了解一个实现了近乎完美准确性的模型是学习到了可泛化的模式还是使用了虚假相关性进行记忆至关重要。因此有几个问题如何监控模型的泛化能力如何识别虚假相关性这些虚假相关性何时会影响训练我们如何纠正这种行为天才综合征模式识别等同于智能吗对虚假相关性的追求模型的泛化能力是在一个保留集上评估的。通常测试集是模型在训练期间没有看到的 dataset 的一部分。因此避免任何数据泄露至关重要否则这种评估将没有用。虚假相关性指的是变量之间在数据中看似具有统计学上的显著性但实际上并非真正的因果关系或反映真实潜在关系的关联。这些模式通常只存在于训练集中而不存在于新的或未见过的数据中。这尤其发生在训练集有偏差或不能代表数据的真实分布时。…/Images/af5e3f50341fd64c8ec0b35105825514.png图片来源[7]通常情况下人们认为在初始训练阶段模型学习这些虚假相关性并记住这些例子。只有在第二阶段才会出现真正的泛化。掌握学习是泛化而非记忆因此不同的研究试图利用这一事实来创建自动系统以识别虚假相关性。这些方法随后寻找在早期学习或过于简单以解决复杂问题的模式[9–10]基于这个观察我们对复杂问题的非常简单的解决方案持怀疑态度并相信它们将具有较差的 o.o.d.泛化。 – 来源因为捷径简单且易于学习小模式可以用来识别它们。其他方法试图通过纠正损失函数来识别和消除这些相关性 [11]。虚假相关性的影响虚假相关性降低了模型泛化的能力。本身这是不好的但通常是可以诊断的因为模型的表现会次优。在存在虚假相关性的情况下模型首先学习对大多数示例有用的模式。一旦它在大多数示例上达到近乎完美的准确率它就开始学习少数示例 [2]。在分类的情况下这意味着模型学习到一个不是最优但仍然具有预测性的决策边界。如果模型有足够的参数或在另一种可能导致记忆化的情况下模型会记住少数示例。这将导致模型专注于学习示例而不再尝试学习真正的核心特征。…/Images/1c842ff157d246a893e58ab90a49d8f1.png左面板模型学习到虚假的相关性但仍然能够进行次优的泛化。中央面板模型学习到少数示例但无法泛化。右面板模型能够泛化并且没有记住少数示例。图片来源[2]神经网络可以利用虚假特征并记住异常情况以实现零训练损失从而避免学习更可泛化的模式。然而一个有趣且有些有争议的问题是记忆化是否总是不好的 – 来源不一定。模型可能会导致记忆化但它可能不会影响泛化。这完全取决于数据的性质和训练的动态。一般来说我们可以有三种情况 [2]良好的记忆法。模型学习数据背后的真实函数但也记住了一些训练数据中的残余噪声。这种记忆法是无害的因为它不会损害泛化。这种现象也被称为良性过拟合即模型对训练数据进行过拟合但仍然能够泛化到未见过的数据。不良的记忆法。模型更多地依赖于示例特定的特征而不是真正的函数这减少了可泛化模式的学习并导致次优性能。丑陋的记忆法。模型进入过拟合状态学习了一个非线性且复杂的函数然而这个函数并不适用于泛化。…/Images/63edb7a820dae9d66bfbbe350ca3b052.png图片来源[2]因此记忆减少了网络的泛化能力。网络存储的例子要么是例外要么是异常值。这本身可能导致性能下降或多或少严重但通常不足以导致灾难性的下降。当模型学习虚假相关性不反映数据真实潜在函数的模式并将它们记住时这将是灾难的配方。模型依赖于虚假相关性进行预测并依赖于记忆进行其余部分。打开人工大脑用于 LLM 检查的稀疏自动编码器通过不可思议的镜子LLMs 是否像人类大脑一样记忆我们如何解决这个问题显然在训练期间识别记忆现象并不容易。当模型在测试集上进行测试时可以识别记忆。基于[2]中的这个假设他们提出了记忆感知训练MAT来解决神经网络中的记忆问题。MAT 旨在识别记忆行为并利用它们来指导训练过程。为此它使用对保留数据保留以进行这些预测的数据的预测。这种方法鼓励模型通过调整 logits模型的原始预测来修改其输出使其对记忆数据点不那么敏感。然后我们使用验证集或另一个未用于训练的数据集来识别是否存在任何存储。如果模型在训练集上表现出低错误率但在这个保留集上有高错误率那么模型可能记住的比学习可泛化模式更多。如果发生记忆MAT 通过向损失函数正则化防止模型过于接近数据因此倾向于记住数据添加正则化项来阻止这种现象。作者[2]定义一个自我影响分数作为一个度量用于识别模型在训练期间记住哪些数据点。这提供了对数据点的预测受同一数据点影响的程度的洞察。直观地说如果一个示例的预测受其自身影响这意味着模型已经记住了它而不是使用一般规则进行预测。从数学上讲这个自我影响分数是通过当数据点被扰动或移除时模型损失函数的变化来计算的。如果自我影响分数高则模型对那个数据点敏感可能过度拟合或记忆它。相反低分表明模型学习了一般规则并且对任何单个例子都不是过于具体。作者表明对于少数类使用经典梯度下降训练的模型显示出高自我影响分数因此存在记忆。当使用 MAT 算法时这种行为得到纠正。…/Images/4403eb00735b137edc1fa9c80ce5752f.png图片来源[2]离别时的思考学习与记忆不同。真正的学习是理解一些一般规则并学习如何将这些规则应用到解决问题上。任何学生在考试前都会记住一些公式。本身这并不理想但这并不意味着学生会考试不及格。然而他可能会做一些他无法回答的练习因为他会应用这些公式而没有真正理解。对于神经网络来说情况相同如果模型学习了一般化的模式并且只记住少数几个例子其性能会受到轻微的影响。另一方面模型可能会学习虚假的相关性并存储不符合这些模式的异常情况。虚假的相关性更容易学习因为它们代表了复杂问题的简单解决方案。神经网络试图尽可能快地优化损失启发式方法有助于这一目标。拥有足够的参数神经网络可以记住其余的例子并在训练数据上实现完美的损失。之后它们将在未见过的数据上失败得非常惨烈。在训练过程中识别哪些例子被存储以及哪些学习到的模式是虚假的相关性这不是一项容易的任务。能够在训练过程中识别记忆现象这允许这种行为得到纠正。由于这种现象可以在测试集上测试模型时被识别我们可以使用一个保留集。在[2]中他们正是这样做的他们使用一个保留集来识别存储现象并使用正则化来纠正训练的方向。神经网络有记忆的倾向。它们拥有的参数越多记住例子的风险就越大。大型语言模型LLMs 拥有巨大的参数量可以在内存中存储大量数据。记忆、虚假的相关性和 LLMs 之间的关系尚未完全理解。似乎在存储训练数据和学习一般化模式之间存在一种平衡[13–15]。这仍然是未来研究的一个引人入胜的前景。你怎么看你有没有观察过存储或虚假的相关性请在评论中告诉我如果您觉得这个内容很有趣您可以在其他地方找到我的其他文章您也可以在*LinkedIn上与我联系或找到我。查看包含每周更新的机器学习与人工智能新闻的这个仓库。我愿意接受合作和项目您也可以在 LinkedIn 上联系我。您还可以免费订阅**以便在发布新故事时收到通知。*每当 Salvatore Raieli 发布内容时您都会收到电子邮件通知。以下是我 GitHub 仓库的链接我在那里收集与机器学习、人工智能以及更多相关的代码和资源。GitHub – SalvatoreRa/tutorial: 有关机器学习、人工智能、数据科学等的教程或者您可能对我的最近的文章感兴趣为所有 Transformer 提供记忆共享以表现更好从解决方案到问题更智能的 AI 的反向路径你不是作家ChatGPT – 但你听起来像一位。控制论神经科学家比专家更聪明吗参考文献部分这里是我在撰写本文时参考的主要参考文献列表文章只引用了作者的名字。Geirhos, 2020, 深度神经网络中的捷径学习链接Bayat, 2024, 记忆的陷阱当记忆损害泛化时链接Shah, 2020, 神经网络中简单偏差的陷阱链接Dherin, 2022, 为什么神经网络找到简单的解决方案几何复杂性的许多正则化器链接Zhang, 2016, 理解深度学习需要重新思考泛化链接Roberts, 2021, 使用胸部 X 光片和 CT 扫描检测和预测 COVID-19 的常见陷阱和建议链接Kim, 2019, 学习不学习使用有偏差数据进行深度神经网络训练链接Li, 2019, 通过数据集重采样消除表示偏差的 REPAIR链接Dagaev, 2021, 一个过于完美的先验以减少捷径依赖链接南某, 2020, 从失败中学习从有偏分类器训练无偏分类器链接刘某, 2023, 通过 logit 校正避免虚假相关性链接叶某, 2024, 机器学习中的虚假相关性综述链接卡林尼, 2022, 量化神经语言模型中的记忆链接施瓦茨 child, 2024, 通过对抗压缩的视角重新思考大型语言模型的记忆链接王某, 2024, 泛化与记忆追踪语言模型能力到预训练数据链接

相关文章:

好的、坏的、丑陋的:神经网络的记忆

原文:towardsdatascience.com/the-good-the-bad-an-ugly-memory-for-a-neural-network-bac1f79e8dfd |人工智能|记忆|神经网络|学习| https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1e1ee7fbb30819e6f820f4d17dcd3b74.png 由…...

2026年国内数字人平台推荐:有哪些创作者与企业的高效创作利器?

一、引文/摘要在数字人领域,制作成本高、技术门槛高、生产效率低已成为内容创作的核心痛点。 2026年,AI数字人市场持续扩张,创作者与企业对低成本、易上手、全链路的数字人解决方案需求激增。但市场平台繁杂,功能与技术差异显著&a…...

开源安全工具openclaw-killer:Nginx Lua环境威胁检测与防护实践

1. 项目概述:一个开源安全工具的诞生与使命最近在安全研究圈子里,一个名为openclaw-killer的项目引起了我的注意。这个由nkzprod维护的开源工具,名字就透着一股“杀气”——“OpenClaw杀手”。乍一看,你可能会以为这是某个游戏外挂…...

JAVA练习:单一职责原则重构

问题背景原始Login类同时承担界面展示、登录校验、数据库连接、用户查询、程序入口多重职责,功能高度耦合,违反单一职责原则(一个类只负责一类功能),修改某部分功能易影响其他模块。重构思路按职责拆分,分为…...

AMEsim 3D动画制作避坑指南:从父子关系到相机视角,新手最易踩的5个雷

AMEsim 3D动画制作避坑指南:从父子关系到相机视角的进阶实战 当你第一次在AMEsim中成功让圆柱体上下移动时,那种成就感就像孩子搭起了第一块积木。但当你试图制作机械臂抓取物体或车辆底盘与悬挂联动的复杂动画时,突然发现部件像醉酒的水手一…...

别只重启软件!解决ThingWorx连接KepServer报错的正确姿势:瞄准后台驱动

别只重启软件!解决ThingWorx连接KepServer报错的正确姿势:瞄准后台驱动 在工业物联网(IIoT)系统的运维中,ThingWorx与KepServer的通信问题堪称经典难题。许多工程师遇到连接报错时,第一反应往往是重启配置界…...

PPTTimer终极指南:Windows演示时间管理的免费开源解决方案

PPTTimer终极指南:Windows演示时间管理的免费开源解决方案 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 在重要的演示、会议或培训中,时间控制往往成为成功的关键。你是否曾在演讲时频…...

任务跟踪系统排名怎么看?8款企业常用工具对比

本文将深入对比8款任务跟踪系统和项目管理软件:Worktile、PingCode、Jira、Asana、monday.com、ClickUp、Trello、Microsoft Project。一、任务跟踪系统和项目管理软件有什么区别1、任务跟踪系统解决“事情有没有人跟、有没有进展”任务跟踪系统的核心价值&#xff…...

两种 Linux 发行版:Ubuntu 与 CentOS Shell 环境核心差异对比(查看 Linux 版本,Hadoop 是什么)

Xshell5作为远程连接工具,可通过命令行查看连接的Linux服务器版本。推荐使用cat /etc/os-release或lsb_release -a查看发行版信息,特定系统可用cat /etc/redhat-release(CentOS)或cat /etc/debian_version(Debian)。内核版本用uname -r查看。Ubuntu和Cen…...

ClaudeCodeAnywhere:构建安全AI代码执行器的架构与实战

1. 项目概述:一个让Claude“无处不在”的代码执行器最近在开发者圈子里,一个名为“ClaudeCodeAnywhere”的项目引起了我的注意。简单来说,它解决了一个非常具体且高频的痛点:如何让像Claude这样的AI助手,能够安全、便捷…...

基于RT-Thread与STM32的物联网桌面天气时钟开发实战

1. 项目概述:一个嵌入式工程师的桌面小确幸几年前,我在工位上放了一个从网上淘来的电子时钟,功能很简单,就是显示时间。后来觉得光看时间有点单调,就想,能不能自己动手做一个既能显示时间日期,又…...

别再问STM32哪个型号有DAC了!一张图看懂F1/F4/L1系列DAC配置差异与选型避坑

STM32全系列DAC选型指南:从F1到L1的深度对比与实战避坑 当你的项目需要精确模拟输出时,STM32的DAC功能往往成为关键选择因素。但面对ST公司庞大的产品线,即使是经验丰富的工程师也常陷入选型困惑——为什么同系列不同封装的芯片DAC配置不同&a…...

深度解析Digital-Infrastructure:一套全面的数字化基础设施建设知识体系与实践指南

深度解析Digital-Infrastructure:一套全面的数字化基础设施建设知识体系与实践指南 项目概述 Digital-Infrastructure 是一个专注于“数字化基础设施”领域的开源知识库项目。它并非一个具体的软件代码库,而是一个集理论、架构、技术选型、实施路径于一体…...

基于RAG与向量数据库的智能代码搜索工具设计与实现

1. 项目概述:一个面向开发者的智能代码搜索与理解工具 最近在GitHub上看到一个挺有意思的项目,叫 holasoymalva/perplexity-code 。乍一看这个标题,可能会有点困惑——“perplexity”在机器学习里通常指“困惑度”,是衡量语言模…...

Python 代码优化:核心技巧与模式

Python 代码优化:核心技巧与模式 1. 技术分析 1.1 代码优化原则 代码优化需要遵循以下原则: 优化原则先测量后优化: 避免盲目优化保持可读性: 不要为了性能牺牲代码质量优先算法优化: 算法层面的优化效果最显著考虑空间换时间: 合理使用缓存1.2 常见性能…...

SPI驱动NeoPixel:硬件时序优化与跨平台控制方案

1. 项目概述:当NeoPixel遇上SPI,一个关于时序的优雅解法玩过智能LED,比如Adafruit的NeoPixel或者国内常见的WS2812B灯带的朋友,大概都体会过那种又爱又恨的感觉。爱的是它单线控制、色彩绚烂,恨的是那娇贵到令人头疼的…...

15分钟掌握ColorUI:打造高颜值小程序的终极色彩解决方案

15分钟掌握ColorUI:打造高颜值小程序的终极色彩解决方案 【免费下载链接】coloruicss 鲜亮的高饱和色彩,专注视觉的小程序组件库 项目地址: https://gitcode.com/gh_mirrors/co/coloruicss 还在为小程序界面设计而烦恼吗?ColorUI色彩系…...

基于MCP协议构建阿里云SLS日志AI查询助手:原理、部署与实战

1. 项目概述:当阿里云SLS遇上MCP如果你正在用阿里云日志服务(SLS)做日志分析,同时又想用上像Claude、Cursor这类AI编程助手来帮你写查询、分析数据,那你可能已经感受到了一个痛点:如何在AI助手和你的日志数…...

Python 性能分析:工具与方法

Python 性能分析:工具与方法 1. 技术分析 1.1 性能分析概述 性能分析是定位代码瓶颈的关键: 性能分析层次CPU分析: 定位CPU密集型操作内存分析: 检测内存泄漏IO分析: 发现IO瓶颈线程分析: 排查并发问题1.2 性能分析工具 工具类型功能适用场景cProfileCPU…...

3分钟快速上手:用MoneyPrinterTurbo一键生成AI短视频的完整指南

3分钟快速上手:用MoneyPrinterTurbo一键生成AI短视频的完整指南 【免费下载链接】MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM. 项目地址: https://gitcode.com/GitHub_Trending/mo/MoneyP…...

基于USB HID与CircuitPython的交互式硬件开发实战

1. 项目概述:一个需要你“手摇发电”才能保持屏幕亮度的硬件装置如果你觉得每天盯着手机屏幕的时间太长,想找个物理方式来“惩罚”一下自己的拖延症,或者单纯想体验一下用硬件直接“操控”手机的感觉,那么这个项目正对你的胃口。这…...

树莓派网络配置全攻略:从有线到无线,新手到进阶

1. 项目概述:为什么网络配置是树莓派的第一课刚拿到一块崭新的树莓派,看着它小巧的主板和闪烁的指示灯,你脑子里想的可能是立刻跑个酷炫的Python项目,或者搭建一个家庭媒体中心。但别急,在这一切开始之前,有…...

AI建站工具选型指南:一张表看懂怎么选,哪个适合你

AI建站工具选型指南:一张表看懂怎么选,哪个适合你痛点与目标:为什么选个工具这么难市面上的建站工具都宣传自己能“AI生成”“一键建站”,但你点进去一看,有的要自己拖模板,有的要自己写文案,有…...

Arduino ESP32终极配置指南:5步解决环境搭建难题

Arduino ESP32终极配置指南:5步解决环境搭建难题 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 Arduino ESP32是专为ESP32系列芯片设计的开源开发板支持包&am…...

揭秘AMD处理器底层控制:Ryzen SDT调试工具从入门到精通

揭秘AMD处理器底层控制:Ryzen SDT调试工具从入门到精通 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://g…...

Python模板引擎批量生成文章:Jinja2与Pandas实战指南

1. 项目概述:一个能帮你批量生成文章的自动化工具 如果你也经常需要处理大量内容创作任务,比如运营多个自媒体账号、管理企业博客矩阵,或者为产品生成海量描述性文案,那你一定对“重复劳动”这个词深恶痛绝。手动一篇篇地写&#…...

NotebookLM辅助CRISPR靶点筛选实操:从NCBI SRA原始数据到脱靶风险摘要,限时开放实验日志包

更多请点击: https://intelliparadigm.com 第一章:NotebookLM生物学研究辅助 NotebookLM 是 Google 推出的基于 LLM 的研究型笔记工具,专为科研人员设计,其核心能力在于对私有文档(如 PDF、TXT)进行深度语…...

GBase 8c 在过程里记流水时要小心自治事务边界

GBase 8c 在过程里记流水时要小心自治事务边界 我最近看 GBase 8c 自治事务资料时,觉得它特别适合拿来讨论一个开发现场经常遇到的问题:业务过程失败了,排障流水也跟着回滚了。等真正去查问题时,只剩应用日志里几行模糊报错&#…...

碧蓝航线Alas自动化脚本:10分钟解放双手的智能游戏助手

碧蓝航线Alas自动化脚本:10分钟解放双手的智能游戏助手 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为每…...

地理学者必抢的AI协同时代入场券:NotebookLM+QGIS工作流搭建指南(仅限首批内测用户验证版)

更多请点击: https://intelliparadigm.com 第一章:NotebookLM地理学研究辅助的范式革命 从静态文献到动态知识图谱 NotebookLM 通过语义切片与向量对齐技术,将地理学经典文献(如《人文地理学导论》《自然地理学原理》&#xff…...