LLMs可以遵循简单的规则吗?

大模型事件抽取学习——论文学习笔记《LC4EE: LLMs as Good Corrector for Event Extraction》 ​ 本篇博客介绍一篇发表在2024 ACL finding上的文章:《LC4EE: LLMs as Good Corrector for Event Extraction》 方向:大模型事件抽取 本篇博客为个人阅读论文的总结与笔记,在这里进行简单的分享 论文链接:LC4EE: LLMs as Good Corrector for Event Extraction - ACL Anthology 阅读详情

图片

由于大型语言模型在现实世界中的责任越来越大,因此如何以可靠的方式指定和约束这些系统的行为很重要。一些开发人员希望为模型设置显式规则,例如“不生成滥用内容”,但这种方式可能会被特殊技术规避。评估LLM在面对对抗性输入时遵循开发人员提供的规则的能力通常需要人工审查,这会减慢监控和方法开发的速度。

摘要

为了解决LLMs的规则遵循问题,本文提出了规则遵循语言评估场景(RULES),这是一种评估LLM中规则跟踪能力的编程框架。其由15个简单的文本场景组成,其中模型指示在与人类用户交互时遵守自然语言中的一组规则。每个场景都有一个简洁的评估程序来确定模型是否打破了对话中的任何规则。通过手动探索场景中的模型行为,确定了6类攻击策略并收集了两组测试用例:一组由手动测试的独特对话和系统地从6个类别实现策略的对话组成。在GPT-4和Llama 2等各种流行的专有和开放模型中,发现所有模型都容易受到各种对抗性手工制作的用户输入的影响,尽管 GPT-4是表现最好的模型。此外,在基于梯度的攻击下评估开放模型时发现重大漏洞。建议将RULES作为一种具有挑战性的新环境,用于探索和防御对LLM的手动和自动攻击。

简介

传统的计算系统是围绕计算机程序中表达的指令的执行来设计的。相反,语言模型可以遵循用自然语言表达的指令,或者从大量数据中的隐含模式中学习该做什么。为了在语言模型之上构建安全可靠的应用程序,重要的是可以使用用户提供的规则来控制或约束AI模型行为。

展望未来,与人互动的人工智能助手也需要忠实和完整地遵循指令。为了确保人工智能助手反馈的道德行为,需要能够可靠地实施法律法规或义务生物学约束等规则。此外,必须能够验证模型行为是否真正基于所提供的规则,而不是依赖于训练期间识别的虚假文本线索或分布先验。如果不能依靠人工智能助手来遵循明确的规则,它们将很难安全地融入人类的社会。

人们可能认为强加给人工智能模型行为的许多规则在概念上非常简单,并且很容易用自然语言表达。一种方法是简单地将规则包含在模型的文本提示中,并依赖于模型现有的指令遵循功能。另一种方法是使用第二个模型来对输出遵循固定规则集的情况进行评分,然后对第一个模型进行微调,使其以最大化该评分的方式表现。

在本文中,将专注于前一种方法,并研究LLM如何很好地遵循作为文本提示一部分提供的规则。为了应对可用性和安全性方面的挑战,本文引入了规则遵循语言评估场景(RULES),如下图,这是评估LLM助手中规则遵循行为的基准。该基准包含15个来自常见儿童游戏的文本场景以及计算机安全领域的想法。每个场景都用自然语言定义了一组规则,并定义了一个评估程序来检查模型输出是否符合规则。通过对本文的场景与最先进的模型进行广泛实验,确定了多种有效的攻击策略,以诱导模型打破规则。

图片

RULES补充了现有的安全性和对抗性稳健性评估,这些评估主要侧重于规避固定的通用规则。本文的工作重点是用自然语言表达的特定于应用程序的规则,用户可以随时更改或更新这些规则。在与人类和自动化对手互动时,严格遵守本文的场景规则可能需要不同的方法来提高模型安全性,因为直接“编辑”特定有害行为的能力不足以修复本文工作中检查的模型故障类别。

本文的工作团队发布了代码和测试用例,同时还发布了一个交互式演示,用于探索针对不同模型的场景。希望推动更多的研究来提高LLM的稳健规则遵循能力,并打算将所提的基准测试作为进一步开发的有用的开放测试平台。

方案

RULES包含15个基于文本的场景,每个场景都要求辅助模型遵循一个或多个规则。这些场景的灵感来自于计算机系统和儿童游戏的理想安全特性。RULES的组成部分包括:

  • 场景:由通用指令和规则组成的评估环境,用自然语言表示,以及可以通过编程检测规则违规的相应评估程序。指令和规则可以参考实体参数(例如密钥),必须对其进行采样,以生成用于用户交互或评估的具体“场景实例”。
  • 规则:单个指令,每个指令指定模型所需的行为。场景可能包含多个规则,这些规则要么是定义模型不能做什么的“负面”规则,要么是定义了模型必须做什么的“正面”规则,如下图所示。
  • 测试用例:特定场景实例的用户消息序列。正如评估程序判断的那样,如果模型对序列中的每个用户消息做出反应而不违反规则,则称该模型具有“传递”测试用例。

图片

Correct Behavior

本文将场景可视化为决策树图,如上图所示,其中正确的行为对应于从根节点开始并遵守所有相关的内部规则节点。规则指定的行为都是“无状态”的,正确的行为只取决于模型响应的最后一条用户消息。

Evaluation Programs

设计这些场景是为了让一个小型计算机程序能够评估模型的响应是否符合规则。每个程序只有几行代码,不需要使用大型模型或人工标记进行推理。本文依赖于字符串比较和简单的正则表达式模式,这会导致对负面行为的更宽容的评估,对正面行为的更严格的评估。本文提出的的评估程序无法在边缘情况下准确再现人类的判断,但在实践中观察到,模型中绝大多数违反规则的输出都是明确的。

User Interface

为了设计场景和评估代码,并为测试套件收集测试用例,本文构建了几种不同的用户界面,用于通过具有各种模型的场景进行玩。这些范围从用于调试和播放测试的简单命令行界面到用于从作者及其同事众包数据收集的 Web 应用程序。我们发现通过这些界面与模型交互有助于了解模型实际响应用户输入并修改我们的场景以更好地捕获有趣但具有挑战性的行为。用户界面可能成为研究人工智能系统的研究工具包的重要组成部分。

模型评估

根据人工和机器生成的测试用例测试套件来评估各种专有和开放的LLM。每个测试用例都与特定的场景环境相关联,其中包括场景和随机采样的场景参数。使用以下三条条信息来初始化对话历史。

  1. 指定场景说明的用户消息,
  2. 占位符辅助消息“I understand and will comply with the rules.”,
  3. 测试用例的第一条用户消息。

重复调用该模型,并将每个响应和后续用户消息附加到会话历史中,直到测试用例中的所有用户消息都用完为止。第一个占位符响应之后的每个辅助响应都用与场景相对应的评估程序进行评估,如果在任何响应之后,程序确定至少有一个规则被打破,认为模型没有通过测试用例。

模型细节

本文评估了各种流行的专有和公共模型,包括OpenAI的GPT-3.5、GPT3.5 Instruction和GPT-4、Anthropic的Claude Instant和Claude、谷歌的PaLM 2 Text Bison以及Vicuna v1.3(7B、13B、33B)、Llama 2 Chat(7B,13B、70B)和Mistral Instruction v0.1(7B)。OpenAI、Anthropic和Google模型可通过各自的API获得多个版本如下表所示。

图片

GPT-3.5 Instruction和PaLM 2 Text Bison是文本生成模型,而不是聊天模型,因此使用一个简单的聊天模板来提示这两个模型进行对话响应,如下表所示。

图片

手动测试

根据场景的探索性期间记录的对话,组装了一个初始手动测试。过滤重复的对话并删除辅助响应,从而产生870个测试用例。测试案例的数量从155个认证案例到27个保密案例不等,涵盖了广泛的策略。大多数记录的对话都针对负面规则,但没有跟踪用户意图,也没有区分负面和正面测试案例。下表中显示了手动测试的结果。所有模型都失败了大量的测试用例,尽管GPT-4失败的测试用例数量最少,其次是Claude Instant和Claude 2。

图片

系统测试

图片

每个策略的测试用例示例如上表所示。每个测试用例都包含一到三条用户消息。“Just Ask”策略为每个规则定义了一个单一的基本测试用例,如果严格遵守,将导致模型违反目标规则,从而测试模型拒绝最直接攻击尝试的能力。大多数积极的规则都要求模型根据特定的用户输入产生特定的输出,因此对于这些规则,“Just Ask”测试用例由两条用户消息组成,首先要求模型打破规则,然后用正确的用户输入触发破规行为。

如下图所示,所有评估的LLM在大量测试用例中都失败了。系统测试中负规则的性能与手动测试的性能密切相关。模型的夫,负面测试失败率通常低于正面测试,除Vicuna 33B外的所有开放模型几乎所有阳性测试都失败。结果表明,引导模型偏离正确的行为比强迫这些模型做出特定的不正确行为要容易得多,尤其是对于开放模型。

在所有评估的模型中,GPT-4在系统测试中失败的测试用例最少。令人惊讶的是,Claude Instant的表现略好于表面上能力更强的Claude 2。有的LLM不能可靠地遵循规则;尽管它们可以抵制一些尝试,但仍有很大的改进空间。

图片

方差与不确定性

本文的结果中有几个方差和不确定性的来源。首先,即使temperature设置为0,OpenAI和Anthropic API的输出也是不确定的。这导致了测试用例结果的一些差异,在下表中使用系统测试的子集进行了估计。

图片

连续10次运行相同的评估,并在每个评估的测试用例子集的39个测试用例中,测量1.1个或更少的失败测试用例数量的标准差。PaLM 2 API在输出或测试用例结果方面没有任何变化,在本地评估时也没有任何公共模型。

错误检测

如果模型无法可靠地遵循规则,它们可能会至少能够可靠地检测到助手响应何时违反规则。为了回答这个问题,从系统测试上评估的模型的输出以及地面实况传递/失败评估标签中抽取 1098 对用户消息和助手响应,以衡量模型检测规则违规的能力作为零样本二元分类任务。

图片

如上表所示,大多数模型都可以比偶然做得更好,但不能可靠地检测是否遵循了规则。将正数定义为助手响应违反场景的一个或多个规则的实例,并测量通常定义的精度/召回率。目前还没有模型“解决”这个任务,GPT-4 达到了 82.1% 的准确率和 F 分数 84.0,其他模型下降得很短。需要一个简洁的“pass”或“fail”答案,它将 Llama 2 等冗长模型置于劣势,因为这些模型偶尔会用额外的文本预先查看他们的答案。

对抗性检测

本文还评估了Greedy Coordinate Gradient (GCG),这是一种最近提出的算法,用于查找导致模型产生特定目标字符串的后缀,与本文场景中的开放7B模型(Vicuna v1.3、Llama 2 Chat和Mistral v0.1)进行比较。GCG是一种迭代优化算法,它在每个时间步长更新单个token,以最大限度地提高目标语言模型下目标字符串的可能性。

图片

结果如上表所示,GCG可以增加所有三个评估模型的失败测试用例数量。Mistral特别容易被影响,几乎所有的正面和负面测试都失败了,而Llama 2仍然通过了一些负面测试。针对Llama 2 7B优化的后缀在针对其他模型使用时,不会导致失败测试用例的数量显著增加。

结论

本文的实验表明,目前的模型在很大程度上不足以遵循简单规则。尽管在指定和控制LLM的行为方面做出了重大努力,但在人类能够指望模型可靠地抵御各种人类或机器生成的攻击之前,研究界还有更多的工作要做。

同时,本文的工作团队乐观地认为,尽管过去十年在图像分类模型中对难以察觉的扰动的对抗性鲁棒性方面的进展慢于预期,但在这一领域仍有可能取得有意义的进展。打破规则需要一个模型采取有针对性的生成行动,而打破规则的目标可以在模型的内部表示中确定,这反过来又可以产生基于检测和弃权的可行防御。

要想使AI虚拟助手在安全地整合到社会中,就需要研究并改进LLMs对于规则遵循的能力。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
R语言Dunnett’s检验实战:寻找差异组之间的效果 总结起来,本文以R语言为工具,演示了如何使用Dunnett’s检验来找出单因素方差分析中不同组之间的效果差异。在本篇文章中,我们将通过R语言实战演示如何使用Dunnett’s检验来寻找不同组之间的效果差异。在分析结果时,通常我们会关注具有显著差异的组别,并基于Dunnett’s检验结果进行进一步的解释和讨论。首先,我们需要准备一组数据,假设我们有一个实验,涉及到四个不同的处理组和一个对照组。当我们发现方差分析结果显示存在显著差异时,我们可以进一步进行Dunnett’s检验来确定具体哪些组之间存在差异。 阅读详情

相关推荐

深入解析PCIe Retimer:工作原理与典型应用场景

本文深入解析了PCIe Retimer的工作原理与核心价值。作为高速信号的中继再生器,Retimer通过时钟数据恢复和信号再生技术,有效解决长距离或复杂通道中的信号衰减与完整性问题,从而极大地扩展了PCIe链路的有效传输距离。文章详细阐述了其内部架构、自动与手动两种工作模式,并重点介绍了在长距离板间互连、复杂背板设计等典型应用场景中的关键作用。

weixin_29195615的博客 504

LLMs数学能力:启发式规则与局限

大型语言模型(LLMs)在解决数学问题时,主要依赖记忆和启发式规则,而非真正的理解。这些启发式规则在训练过程中逐渐形成并趋于稳定,帮助模型通过激活特定神经元来增加正确答案的概率。然而,这种机制限制了模型的泛化能力和对新问题的处理能力。研究表明,只有少数神经元和注意力头参与数学计算,且微调等技术效果有限。要真正提升LLMs的数学能力,可能需要对模型架构和训练方法进行深层次改变,减少对启发式规则的依赖,并引入更复杂的推理机制。

XianxinMao的博客 1083

带挂牵引车前向运动模型推导及仿真实现

牵引车-半挂车的车辆结构与普通的车辆相比增加了一个半挂车,它们之间通过鞍座相连接,为了分析半挂牵引车运动过程中的位姿和状态,本文将基于车辆的机械结构建立对应的运动学模型,该模型基于以下假设: 车辆行驶过程中,道路平坦且无凸凹; 车辆低速行驶,且运行过程中车身无侧倾和俯仰运动; 车辆行驶过程中,轮胎无形变,无侧向滑动,且无侧向力; 牵引车和半挂车均满足阿克曼转向几何原理; 牵引车与半挂车不会发现折叠。

jianmo的博客 3181

Deepmind 重磅开源:消除幻觉,让 LLMs 学会规则库和多步推理

HtT 是 DeepMind 开发的有助于 LLMs 学习显式规则并将它们应用于推理问题的框架。通过实验分析,HtT 显著提高了关系推理、数值推理和概念学习问题上 LLMs 的推理性能,消除模型幻觉。目前 HtT 还面临着受限于模型基础能力和上下文长度限制的问题,但是该框架仍具备较大潜力,为使用 LLMs 获取知识规则,消除推理幻觉开辟了新的方向。

夕小瑶科技说 3343

从零到一:Mapviz实战部署与多源数据可视化全解析

本文详细解析了Mapviz在机器人开发中的实战部署与多源数据可视化应用。从安装配置、卫星地图接入,到GPS轨迹、相机图像与激光雷达点云的融合显示,提供了完整的操作指南。针对ROS1与ROS2环境的选择与迁移给出了明确建议,并分享了坐标系对齐、数据同步等常见问题的避坑方案,帮助开发者高效构建室外机器人的“上帝视角”调试平台。

weixin_29230773的博客 252

EDA的未来:当AI与Cadence Virtuoso相遇

本文探讨了AI技术与Cadence Virtuoso在EDA领域的融合,展示了如何通过生成式AI提升芯片设计效率。文章详细分析了Virtuoso设计环境的智能化演进、AI驱动的设计辅助功能实现路径,以及SKILL语言的进化方向,为工程师提供了未来EDA工具的发展趋势和实用案例。

weixin_28312391的博客 648

什么是LLMs.txt?如何在线生成?robots.txt一键转LLMs.txt

LLMs.txt是专为AI系统设计的新型网络访问控制文件,类似于传统robots.txt,但针对大型语言模型(LLMs)的内容采集需求。它允许网站所有者精准控制AI对内容的访问权限,保护版权内容不被无偿用于训练。本文介绍了LLMs.txt的规范标准、商业价值及发展现状,推荐了实用生成工具(如https://www.pdftool.cc/zh/llms-txt-generator),并详解了从robots.txt一键转换的方法。随着AI技术普及,LLMs.txt将成为网站标配,帮助平衡AI发展与内容保护。

qq_17324713的博客 1544

用本地 Chrome + DeepSeek 实现浏览器自动化:browser-use 实战与踩坑记录

本文记录了使用本地Chrome浏览器结合DeepSeek API实现浏览器自动化的实战经验。作者通过browser-use项目连接本地Chrome(启动时需添加--remote-debugging-port=9222参数),并解决了DeepSeek API不支持response_format的问题,通过设置dont_force_structured_output=True和add_schema_to_system_prompt=True成功绕过。同时分享了任务描述需精准的重要性,避免Agent输出多余信息导

LY的博客 750

用 AI 取代人工?或许 LLMs 可以给你答案

用 AI 取代人工?或许 LLMs 可以给你答案 自然语言模型的进化终点是 LLMs 吗?

DingdaoOS的博客 3715

【有啥问啥】智能座舱CPD技术:毫米波雷达如何守护儿童安全?

本文深入探讨了智能座舱中CPD(Child Presence Detection)技术如何通过毫米波雷达保障儿童安全。毫米波雷达凭借其穿透性检测、微动感知等优势,成为儿童遗留车内的有效解决方案。文章详细解析了技术原理、系统集成方案及安装指南,为智能座舱安全技术提供了实用参考。

weixin_29193259的博客 357

【ROS学习笔记】13.ROS中的坐标管理系统

文章目录1 机器人中的坐标变换2 TF功能包TF坐标变换如何实现?TF的一个小案例3 小程序:小海龟跟随实验打开小程序查看当前的TF树坐标相对位置关系可视化1(tf_echo)坐标相对位置关系可视化2(rviz) 本节学习ROS中的坐标管理系统。 (部分图摘自:b站【古月居】古月·ROS入门21讲) 1 机器人中的坐标变换 机器人运动学的核心,描述任意两个坐标系之中任意两个向量之间的变换,可以用一个4×4的变换矩阵(Transformation Matrices)来描述它的平移和旋转变化。 变换矩阵中有包括

takedachia的博客 4338

MM-LLMs: Recent Advances in MultiModal Large Language Models MM-LLMs: 多模态大语言模型的新进展(二)

—腾讯人工智能实验室、日本京都大学、阿联酋穆罕默德·本·扎耶德人工智能大学2024.2发布在arxiv 2024.8 发表在《Findings of the Association for Computational Linguistics: ACL 2024》上,属于中科院2区太长不看版-AI总结:在LLMs出现之前,已有多次对传统多模态预训练(MM PT)的调查。这些模型由于端到端训练需要大量计算资源,且在指令跟随、上下文学习(ICL)、思维链(CoT)和交互能力等方面存在不足。

qq_55923034的博客 1281

windows中通过docker部署LocateAnything-3B模型

windows中通过docker部署LocateAnything-3B模型

yilvyangguang520的博客 485

交通 | 大模型LLMs + TSP/VRP优化初探

LLM的引入不仅避免了手工设计启发式规则的复杂性,还能通过简单修改提示中的描述,快速适应不同规模的优化问题,甚至不同的任务。FunSearch方法是一个对求解程序的迭代过程,在每次迭代中,系统都会从当前的程序池中选择一些程序作为提示词,由LLM生成新的程序并自动进行评估。,如何更好地利用LLM在理解和推理上的优势,使其辅助优化问题的求解。受到OPRO方法的启发,也有一些学者尝试将进化算法的思想与LLM进行结合,在直接对解进行生成的求解范式下对方法进一步优化,提出了下文所介绍的OPRO方法。

weixin_53463894的博客 1810

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【每日论文】InductionBench: LLMs Fail in the Simplest Complexity Class

大型语言模型(LLMs)在推理能力上取得了显著进步,许多现有的基准测试已被o1和o3等模型全面或部分解决。然而,大多数这些基准测试强调演绎推理,包括数学和编码任务,其中数学公理或编程语法等规则被明确定义,基于这些规则,LLMs可以制定并应用这些规则以得出解决方案。相比之下,归纳推理,即从观察到的数据中推断出潜在规则,却鲜有研究。这种归纳过程是科学发现的核心,因为它使研究人员能够从经验观察中提取普遍原则。

weixin_40240616的博客 1138

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

关于LLMs.txt的真相:它如何控制AI爬取你的网站,以及你现在是否需要它

LLMs.txt是一个新兴的文本文件标准,用于规范AI爬虫对网站内容的访问权限。它类似于robots.txt,但专门针对大型语言模型(如ChatGPT、Claude等)的数据收集行为。通过将LLMs.txt放置在网站根目录,网站主可以明确控制内容是否被用于AI训练,以及如何参与AI生成答案。目前OpenAI、Google等公司的爬虫已开始支持该协议。虽然不影响传统SEO排名,但LLMs.txt为网站在AI驱动搜索时代的内容管理提供了重要工具,尤其适合内容密集型网站、专有内容所有者和需要合规管控的行业。设置方

SEO_juper的博客 1092

如何训练LLMs像DeepSeek-R1“思考”

DeepSeek-R1作为近期崭露头角的LLM,其在数学、编程、推理等多个领域展现出了强大的性能,特别是其“思考”能力,引起了业界的广泛关注。本文将深入探讨如何训练LLMs,使它们能够像DeepSeek-R1一样“思考”,从基础原理到具体训练方法,为AI研究者提供全面的指导。

2401_85373691的博客 1292

年度最佳!LLMs大模型盘点!

LLM(大型语言模型)是一种通用的 AI 文本生成器。这是所有 AI 聊天机器人和 AI 写作生成器的幕后内容。LLMs是增压自动完成的。去掉了花哨的界面和其他解决方法,他们所做的是接受提示并使用一串看似合理的后续文本生成答案。建立在之上LLMs的聊天机器人不会寻找关键字,因此它们可以用预设回复来回答——相反,它们会尽最大努力理解所问的内容并做出适当的回复。这就是真正起飞的原因LLMs:相同的模型(有或没有一些额外的培训)可以用来回应客户的查询、编写营销材料、总结会议记录,以及做更多的事情。

weixin_59191169的博客 1308

LLMs.txt Checker浏览器扩展教程:配合llms-txt-hub一键检测网站AI文档支持

还在逐个打开网址手动输入 `/llms.txt` 去验证网站是否支持 AI 读取吗?LLMs.txt Checker 是一款开源的 Chrome 浏览器扩展,能在你访问任意网站时自动检测其 llms.txt 与 llms-full.txt 文件是否可用,并配合 llms-txt-hub 目录一键发现更多已适配 AI 文档的优质网站。本教程从安装、检测到进阶设置,带你快速上手这套「AI 文档检测」组

gitblog_00087的博客 232

论文笔记:CAN LLMS UNDERSTAND TIME SERIES ANOMALIES?

本文系统研究了大型语言模型(LLMs)在时间序列异常检测中的能力,提出并验证了7个关键假设。研究发现:1)思维链推理对LLMs理解时间序列无益;2)LLMs识别周期性异常的能力与重复偏差无关;3)算术能力不影响异常检测性能;4)视觉模态表现优于文本模态;5)LLMs不受人类视觉感知局限;6)处理长序列时性能下降;7)不同模型架构表现差异显著。实验采用4种多模态LLM,结果表明异常检测能力高度依赖模型架构,且不存在通用的最优文本表示方法。这些发现为理解LLMs在时间序列分析中的能力边界提供了新视角。

qq_40206371的博客 1025

LLMs.txt 创建指南:为大型语言模型优化您的网站

LLMs.txt文件:AI流量管理的新提案 摘要: LLMs.txt作为一种新兴的纯文本文件标准,旨在引导AI模型优先爬取网站关键内容。该文件采用Markdown格式,包含网站核心页面列表及其简要描述,帮助AI系统更高效地发现和处理重要信息。虽然目前尚无主流AI平台正式支持该协议,但包括Hugging Face和Anthropic在内的科技公司已开始采用。与robots.txt不同,LLMs.txt不控制访问权限,而是提供内容优先级建议。其潜在优势包括提升AI引用准确性、简化内容解析流程,但也面临缺乏官方支

SEO_juper的博客 2007

【杂谈】-剖析 LLMs 与 LRMs:人工智能推理的困境与展望

人工智能领域的大型语言模型(LLMs)和大型推理模型(LRMs)展现出独特的行为模式:在简单问题上过度思考,而在复杂问题上表现不足。苹果公司最新研究发现,LLMs在低复杂度任务中更高效,LRMs在中复杂度问题上表现更优,但两者在高复杂度任务中均告失败。研究表明,这些模型依赖模式匹配而非真正理解逻辑,无法实现可推广的推理能力。该发现强调需要开发能自适应不同复杂度的人工智能系统,并建立更科学的评估方法,以推动人工智能推理能力的实质性进步。

视觉与物联智能 923

NLP vs. LLMs: 理解它们之间的区别

随着人工智能持续发展并在无数行业解决问题,技术的一个关键部分是能够无缝地桥接人类语言和机器理解之间的差距。这就是自然语言处理(NLP)和大型语言模型(LLMs)的用武之地。它们提供了独特而专业的方法,将人类沟通的力量与软件和机器连接起来。简单来说,NLP 和 LLMs 使我们能够与软件进行类似人类的对话。NLP 是翻译者,基于定义的规则和结构分析和操作人类语言。这使得机器能够理解语法、句法和上下文的细微差别,从而能够计算情感、提取信息和进行机器翻译。LLMs 则是大脑。通过大量的文本数据驱动,它

Elastic 中国社区官方博客 1万+

探秘llms.txt:让大型语言模型识别网站变得更简单,借力AI提升流量

随着人工智能技术的快速发展,大型语言模型(LLMs)在内容生成和数据抓取中扮演着重要角色。llms.txt应运而生,成为网站与AI模型之间的关键沟通工具。类似于robots.txt,llms.txt通过文本文件的形式,帮助网站管理员声明内容的使用权限、分类和版权信息,确保数据使用的合规性和安全性。它的主要功能包括明确内容权限、提供分类标签、促进数据透明度以及保护网站版权和隐私。 部署llms.txt不仅有助于保障网站权益,还能优化AI模型对内容的理解,提升数据交互的准确性,进而增加网站的流量和转化率。通过工

easeyoo的专栏 1044
上一篇: LangChain与大型语言模型(LLMs)应用基础教程:Prompt模板_langchain prompt template
下一篇: OpenAI撤退,国产AI大模型的春天来了?
我爱学大模型
博客等级 码龄3年 7883粉丝 687原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值