人工智能模型组合学习的理论和实验实践

        组合学习,即掌握将基本概念结合起来构建更复杂概念的能力,对人类认知至关重要,特别是在人类语言理解和视觉感知方面。这一概念与在未观察到的情况下推广的能力紧密相关。尽管它在智能中扮演着核心角色,但缺乏系统化的理论及实验研究方法,使得分析计算模型的组合学习能力变得困难。

        本文将对组合学习的各个方面进行全面的调查,包括:

  • 认知方面:探讨认知科学和语言学中定义的组合学习任务,并将其与现有数据集联系起来。
  • 计算模型:概述旨在解决组合学习问题的各种计算模型,包括基本神经网络模型、大型语言模型和定制架构(包括神经符号模型)。
  • 评估范式:介绍理论和实验两种评估方法,以评估模型的组合学习能力。

1 组合学习五个主要的组合性度量标准

组合性是整体泛化能力的一个重要方面。认知科学和语言学文献已经确定了定义组合性的任务的广泛分类,这些任务可以用来评估模型的组合推理能力。人类自然语言的基础在于组合性。一个常用的任务分类,定义了五个主要的组合性度量标准:系统性(Systematicity)、生成性(Productivity)、替代性(Substitutivity)、局部性(Localism)和过度泛化(Overgeneralization)

1.1 系统性组合 (Systematicity Composition)

系统性是评估架构性能时最常用的组合性概念之一。它被定义为系统地重新组合已知部分和规则的能力。在评估模型的组合推理能力时,将已知元素句法组合成新的或“未见过”的表达式的能力是一个重要的测试。这也被称为基于分布的组合性评估,其中定义了两个原则:一是确保原子的分布在训练集和测试集中相似,另一个是确保复合物的分布在训练集和测试集中不同。

1.1.1 任务示例

  • 将不同的形容词和名词组合成新的名词短语,例如,将“高”和“大”组合成“高大”。
  • 将不同的动词和名词组合成新的动词短语,例如,将“吃”和“苹果”组合成“吃苹果”。

1.1.2 数据集:CREPE, SCAN, gSCAN, PCFG SET, COGS

1.2  生成性/长度泛化 (Productivity/Length Generalization)

另一种常用的组合性测试是长度泛化或生成性,模型在比训练数据更长的表达式或序列上的性能被测试

1.2.1 任务示例

  • 理解并操作包含多个嵌套条件的逻辑表达式,例如,“如果A且B,则C;否则,D”。
  • 理解并操作包含多个步骤的程序,例如,编写一个程序来计算阶乘。

1.2.2 数据集:CREPE, PCFG SET, CFQ, COGS

1.3 替代性/同义性 (Substitutivity/Synonymity)

性是评估能够理解并操作表达式中同义词的使用

1.3.1 任务示例

  • 将包含同义词的表达式翻译成其他语言,例如,将“我喜欢吃水果”翻译成“我喜欢吃苹果”。
  • 理解并操作包含同义词的句子,例如,“我喜欢吃水果,尤其是苹果”。

1.3.2 数据集:PCFG SET

1.4 局部性 (Localism)

组合性的另一个细微差别是全局与局部组合的概念根据组合性原则,组合运算符的局部性可以变化。复杂表达式的含义可以仅依赖于其直接部分的含义(局部组合),或依赖于上下文的全局结构。局部性可以通过分析模型赋予独立复合物的含义与当该复合物是更大表达式的一部分时的含义来测试。

1.4.1 任务示例

  • 理解并操作包含局部和全局组合关系的句子,例如,“我喜欢吃水果,尤其是苹果”。
  • 理解并操作包含指代关系的句子,例如,“他喜欢吃水果,尤其是苹果”。

1.4.2 数据集:PCFG SET

1.5 泛化过度 (Overgeneralization)

过度泛化,评估模型更倾向于选择例外而非规则的程度。

1.5.1 任务示例

理解并操作包含规则例外情况的句子,例如,“狗是动物,但不是所有动物都是狗”。

理解并操作包含反例的句子,例如,“苹果是水果,但不是所有水果都是苹果”。

1.5.2 数据集:PCFG SET

2 抽象任务和数据集

2.1 系统性组合

  • CREPE:这是一个合成数据集,用于评估模型在描述图像方面的组合学习能力。主要任务设置是,给定一张图片,模型需要从多个给定选项中识别出合适的文本标题。这种系统性挑战测试了模型是否能够在训练期间系统地生成新的组合,这些组合在训练期间未曾观察到,例如“在平底锅上的可丽饼”(Crepe on a skillet),尽管在不同的上下文中分别观察到了可丽饼和平底锅。
  • SCAN:这是一个导航任务数据集,用于评估模型在理解自然语言指令方面的组合学习能力。模型需要根据指令在二维网格世界中导航。
  • gSCAN:这是一个基于SCAN的地面数据集,用于评估模型在理解自然语言指令方面的组合学习能力。模型需要根据指令在二维网格世界中导航,并理解指令中的新颖组合。
  • PCFG SET:这是一个基于概率上下文无关语法的数据集,用于评估模型在翻译语法表达式方面的组合学习能力。模型需要将语法表达式翻译成表示其意义的序列。
  • COGS:这是一个语义解析数据集,用于评估模型在理解英语句子方面的组合学习能力。模型需要确定输入句子的形式意义表示。

2.2 生产力/长度泛化

  • CREPE:除了系统性任务,CREPE还包含生产力任务,用于评估模型处理长序列的能力。
  • PCFG SET:PCFG SET包含多个子数据集,其中一些子数据集用于评估模型处理长序列的能力。
  • CFQ:这是一个基于知识图谱的自然语言问答数据集,用于评估模型在理解自然语言问题方面的组合学习能力。CFQ包含多个子数据集,其中一些子数据集用于评估模型处理长序列的能力。
  • COGS:COGS包含多个子数据集,其中一些子数据集用于评估模型处理长序列的能力。

2.3 其他泛化标准

PCFG SET:唯一一个评估其他三个额外标准的基准。PCFG SET还包含其他三个子数据集,分别用于评估模型的可替换性、局部性和泛化过度能力。

3 组合学习模型

3.1 经典神经网络模型

对不同的神经模型进行了组合学习任务的测试评估了长短期记忆网络(LSTM)、卷积神经网络(CNN)和变换器(Transformers)在序列到序列语言处理任务上的表现,这些任务是PCFG SET任务。平均来看,变换器(Transformers)在这些任务上的表现优于其他两种模型,但在两种经典神经模型中,卷积模型比LSTM表现得更好

3.2 基于Transformer架构模型

大型语言模型的组合能力目前是一个有争议的话题。它们已经在本质上是组合一般任务上进行了评估,例如算术、逻辑和动态规划。GPT系列变换器通过将问题简化为线性子图匹配来解决这些任务,而没有发展出真正的组合推理能力。

变换器在组合任务上表现的具体架构因素, 1)位置编码的类型,2)使用复制解码器,3)模型大小,4)权重共享,5)使用中间表示进行预测-在几个不同的数据集和基准上。所采用的任务包括加法、加法负数、反转、复制、笛卡尔积、交集、SCAN长度和SCAN加跳、PCFG生成性和系统性、COGS和CFQ-mcd1。

结论如下:

  • 相对位置编码通常有帮助,但使用嵌入是必要的,仅仅使用相对位置偏见是不够的。
  • SCAN和CFQ这样的任务没有受到位置嵌入的影响。
  • 复制或PCFG这样的任务从复制解码器中受益,因为它可以学习一种像学习输入的某个位置一样的对称性。
  • 就模型大小而言,发现对于算法任务,大型模型并没有帮助。
  • 对于PCFG,大型模型优于它们的小型变体。

3.3 神经符号架构模型

在对智能系统建模的尖端研究中,神经符号建模是一个日益增长的趋势。随着对通用人工智能模型的需求不断增长,需要高度组合的模型,这些模型可以根据以前训练的更简单任务进行推理,以完成新颖和复杂的任务。

一种方法是使用自然语言解释来生成正式规范,这些规范明确地以所需更简单步骤的形式列出组合任务。然后,将正式规范传递给适当的引擎来解决问题。遵循这种方法的著名视觉理解模型是VisProg。VisProg是一个模块化的神经符号模型,可以在给定自然语言指令的情况下,仅依赖于大型语言模型的上下文学习,解决各种组合视觉推理任务。它生成Python模块程序以获得解决方案。这种方法为模型如何推导出解决方案提供了可解释的推理。这些模块程序使用VisProg支持的内置模块,例如现成的神经计算机视觉模型、图像预处理模块或Python子程序,并在没有特定任务训练的情况下解决复杂任务。

另一个方法是从未加语言解释中生成问题的正式逻辑规范,并将逻辑形式传递给逻辑推理引擎。这项工作使用像GPT-3或GPT-3.5 Turbo这样的大型语言模型,通过将复杂组合任务分解为基于推理链的更小步骤,为解决复杂组合任务提供“指南”。类似于此,许多最近的工作集中在可以使用的不同的提示策略上,这些策略可以通过模块化方法解决复杂组合任务。

4 理论发现

4.1 经典神经网络模型

  • 循环神经网络 (RNN): RNN 模型在组合泛化方面表现出一定的能力,能够生成具有特定嵌套深度的自然语言句子。然而,RNN 的泛化能力受到其内存和计算复杂度的限制。
  • 卷积神经网络 (CNN): CNN 模型在组合泛化方面也展现出潜力,能够处理视觉任务中的组合结构。然而,CNN 的组合泛化能力仍需进一步研究和提升。

4.2 基于Transformer架构模型

  • 精度限制: Transformer 模型在处理长输入序列时存在精度限制,这限制了其在解决高度复杂的组合任务方面的能力。
  • 注意力机制: 硬注意力机制导致 Transformer 忽略大部分输入信息,而软注意力机制难以处理长输入序列。这些局限性限制了 Transformer 在组合泛化方面的表现。
  • 潜在突破: 通过引入中间表示、改进位置编码、使用复制解码器等技术,可以提升 Transformer 模型的组合泛化能力。

4.3 大型语言模型 (LLM)

  • 涌现能力: LLM 在组合泛化方面展现出涌现能力,能够在特定任务上表现出超越其参数规模的性能。然而,这种涌现能力的存在性和本质仍存在争议。
  • 数据污染: LLM 的训练数据规模庞大,存在数据污染问题,这影响了其在组合泛化方面的评估。
  • 认知动机: LLM 在组合泛化方面的能力与人类认知存在差异,需要进一步研究和改进。

5 未来方向

已经有大量研究从认知角度探讨了人类的组合学习能力。语言学和形式语言研究人员自从语言具有固有的组合结构以来就对组合性概念进行了形式化。然而,从人工智能和机器学习的角度来看,想法是从认知和语言学中借鉴的,计算任务和模型的设计集中在组合性的少数几个方面

  • 设计更具组合泛化能力的神经网络架构,例如神经模块网络、Pushdown Layers 等。
  • 开发新的学习算法,例如基于认知科学原理的学习算法,以提升 AI 模型的组合泛化能力。
  • 建立更完善的评估体系,以准确评估 AI 模型的组合泛化能力。
  • 探索神经符号模型和神经组合计算在组合泛化方面的潜力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/714265.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch 8.1官网文档梳理 - 十一、Ingest pipelines(管道)

Ingest pipelines 管道(Ingest pipelines)可让让数据在写入前进行常见的转换。例如可以利用管道删除文档(doc)的字段、或从文本中提取数据、丰富文档(doc)的字段等其他操作。 管道(Ingest pip…

【Mybatis-Plus】根据自定义注解实现自动加解密

背景 我们把数据存到数据库的时候,有些敏感字段是需要加密的,从数据库查出来再进行解密。如果存在多张表或者多个地方需要对部分字段进行加解密操作,每个地方都手写一次加解密的动作,显然不是最好的选择。如果我们使用的是Mybati…

Internet Download Manager(IDM6.41)软件安装包下载及安装教程

Internet Download Manager有一个智能下载逻辑加速器,具有智能动态文件分割和安全的多部分下载技术,可以加速下载。与其他下载加速器和管理器不同,Internet下载管理器在下载开始之前对文件进行分段,而Internet下载管理器在下载过程…

欧阳修,仕途波澜中的文坛巨匠

欧阳修,字永叔,号醉翁、六一居士,生于北宋真宗景德四年(公元1007年),卒于北宋神宗熙宁五年(公元1072年),享年65岁。他是北宋时期著名的文学家、史学家,也是唐…

SpringBoot 大文件基于md5实现分片上传、断点续传、秒传

SpringBoot 大文件基于md5实现分片上传、断点续传、秒传 SpringBoot 大文件基于md5实现分片上传、断点续传、秒传前言1. 基本概念1.1 分片上传1.2 断点续传1.3 秒传1.4 分片上传的实现 2. 分片上传前端实现2.1 什么是WebUploader?功能特点接口说明事件APIHook 机制 …

索引失效有效的11种情况

1全职匹配我最爱 是指 where 条件里 都是 ,不是范围(比如>,<),不是 不等于,不是 is not null,然后 这几个字段 建立了联合索引 ,而且符合最左原则。 那么就要比 只建…

[C++] vector list 等容器的迭代器失效问题

标题:[C] 容器的迭代器失效问题 水墨不写bug 正文开始: 什么是迭代器? 迭代器是STL提供的六大组件之一,它允许我们访问容器(如vector、list、set等)中的元素,同时提供一个遍历容器的方法。然而…

【Perl】与【Excel】

引言 perl脚本语言对于文本的处理、转换很强大。对于一些信息量庞大的文本文件,看起来不直观,可以将信息提取至excel表格中,增加数据分析的可视化。perl语言的cpan提供了大量模块。对于excel文件的操作主要用到模块: Spreadshee…

Unity的三种Update方法

1、FixedUpdate 物理作用——处理物理引擎相关的计算和刚体的移动 (1) 调用时机:在固定的时间间隔内,而不是每一帧被调用 (2) 作用:用于处理物理引擎的计算,例如刚体的移动和碰撞检测 (3) 特点:能更准确地处理物理…

【算法】某赛车游戏中的组合计数问题及其扩展。推导思路:层层合并

文章目录 引言所有人都能完成可能有人未完成扩展问题参考资料 引言 在某款人称赛车界原神的赛车游戏中有组队竞速赛。共有n个人,n为偶数,分为人数相等的红队和蓝队进行比赛。结果按排名得分的数组为pts,单调递减且均为正整数。比如pts [10,…

算法day28

第一题 295. 数据流的中位数 本题我们是求解给定数组的中位数。且由于需要随时给数组添加元素,所以我们要求解该动态数组的中位数,所以本题最关键的就是维护数组在添加元素之后保持有序的排序,这样就能很快的求解中位数; 解法&am…

C++11完美转发(引用折叠、万能引用)

完美转发是指在函数模板中,完全依照模板的参数的类型,将参数传递给函数模板中调用的另外一个函数。 函数模板在向其他函数传递自身形参时,如果相应实参是左值,它就应该被转发为左值;如果相 应实参是右值,它…

web安全渗透测试十大常规项(一):web渗透测试之PHP反序列化

渗透测试之XSS跨站脚本攻击 1. PHP反序列化1.1 什么是反序列化操作? - 类型转换1.2 常见PHP魔术方法?- 对象逻辑(见图)1.2.1 construct和destruct1.2.2 construct和sleep1.2.2 construct和wakeup1.2.2 INVOKE1.2.2 toString1.2.2 CALL1.2.2 get()1.2.2 set()1.2.2 isset()1…

查看npm版本异常,更新nvm版本解决问题

首先说说遇见的问题,基本上把nvm,npm的坑都排了一遍 nvm版本导致npm install报错 Unexpected token ‘.‘install和查看node版本都正确,结果查看npm版本时候报错 首先就是降低node版本… 可以说基本没用,如果要降低版本的话&…

linxu-Ubuntu系统上卸载Kubernetes-k8s

如果您想从Ubuntu系统上卸载Kubernetes集群,您需要执行以下步骤: 1.关闭Kubernetes集群: 如果您的集群还在运行,首先您需要使用kubeadm命令来安全地关闭它: sudo kubeadm reset在执行该命令后,系统会提示…

【JavaEE进阶】——利用框架完成功能全面的图书管理系统

目录 🚩项目所需要的技术栈 🚩项目准备工作 🎈环境准备 🎈数据库准备 🚩前后端交互分析 🎈登录 📝前后端交互 📝实现服务器代码 📝测试前后端代码是否正确 &am…

01 - matlab m_map地学绘图工具基础函数理解(一)

01 - matlab m_map地学绘图工具基础函数理解(一) 0. 引言1. m_demo2. 小结 0. 引言 上篇介绍了m_map的配置过程,本篇开始介绍下m_map中涉及到的所有可调用函数。如果配置的没有问题,执行">>help m_map"可以看到类…

【C++】C++入门的杂碎知识点

思维导图大纲: namespac命名空间 什么是namespace命名空间namespace命名空间有什么用 什么是命名空间 namespace命名空间是一种域,它可以将内部的成员隔绝起来。举个例子,我们都知道有全局变量和局部变量,全局变量存在于全局域…

趣味C语言——【猜数字】小游戏

🥰欢迎关注 轻松拿捏C语言系列,来和 小哇 一起进步!✊ 🎉创作不易,请多多支持🎉 🌈感谢大家的阅读、点赞、收藏和关注💕 🌹如有问题,欢迎指正 感谢 目录 代码…

抖音混剪素材哪里找?可以混剪搬运视频素材网站分享

在抖音上制作精彩的视频离不开高质量的素材资源。今天,我将为大家推荐几个优质的网站,帮助你解决素材短缺的问题。这些网站不仅提供丰富的素材,还符合百度SEO优化的规则,让你的视频更容易被发现。 蛙学府素材网 首先要推荐的是蛙…