Agentic AI:从聊天机器人到自主执行系统:线上排查时才会暴露的细节

GPT-5.5 Agentic工作流实战:Codex+Terminal-Bench构建生产级智能体系统 Agentic(智能体)是大模型从‘回答问题’迈向‘自主完成任务’的关键范式演进,其核心在于将AI推理重构为状态机驱动的进程树,而非传统Prompt-Response单次调用。该范式依赖三大支柱:可调度的运行时引擎(如Codex)、真实业务负载验证框架(如Terminal-Bench)以及面向工具链的工程化治理能力。它解决的是RAG重排失败、API熔断频发、上下文溢出等生产环境毛细血管级瓶颈,广泛应用于金融研报自动生成、客服决策链路编排、投研端到端分析等高可靠性场景。本文以GPT-5.5为能力基座,深度解析 阅读详情

聊《Agentic AI:从聊天机器人到自主执行系统》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。

摘要

这篇面向关注 AI 产品化和自动化系统的开发者,但不会把“Agentic AI:从聊天机器人到自主执行系统:线上排查时才会暴露的细节”写成概念清单。我会按面向真正跑起来的趋势分析的思路,把它放到真实开发、学习路线和求职准备里看,顺便讲几个容易忽略的取舍。这次我会从“从线上问题排查切入,重点写风险、监控和回滚”展开,换一组场景和例子来讲。

目录

  • Agentic 的定义
  • 自主性边界
  • 任务拆解
  • 可观测性
  • 安全约束
  • 总结

Agentic 的定义

文章插图 1

我不建议把“Agentic 的定义”理解成一个孤立知识点。它更像是“Agentic AI:从聊天机器人到自主执行系统:线上排查时才会暴露的细节”里的一段连接层:前面接需求,后面接实现,中间全是取舍。

实际开发时,我会先保留最朴素的版本,哪怕代码看起来没那么漂亮。等需求稳定、调用频率上来,再去做抽象。过早设计通常不是专业,很多时候只是给自己增加维护成本。

检查这部分有没有做好,可以看三个信号:别人能不能接手,线上出错能不能定位,需求变化时要不要大面积重写。

这一版我会把视角放在“从线上问题排查切入,重点写风险、监控和回滚”,所以这里更关注具体场景,而不是把同一套定义再复述一遍。

自主性边界

文章插图 2

很多人聊“自主性边界”,会先把定义背一遍。我的看法稍微不一样:从项目经验看,它必须能解释“Agentic AI:从聊天机器人到自主执行系统:线上排查时才会暴露的细节”里一个具体问题,否则就只是好听的词。

拿一个小项目来说,先别急着把框架、平台和插件全接上。我更愿意先画清楚输入是什么、输出给谁看、失败了怎么回滚。这三件事弄明白,后面的代码通常不会散。

这里最容易踩的坑,是把临时方案包装成通用架构。如果只是一次性脚本,就保持直白;如果要长期复用,再抽接口、加日志、补测试。

这一版我会把视角放在“从线上问题排查切入,重点写风险、监控和回滚”,所以这里更关注具体场景,而不是把同一套定义再复述一遍。

from collections.abc import Callable

def trace_call(name: str) -> Callable:
    def decorator(func: Callable) -> Callable:
        def wrapper(*args, **kwargs):
            print(f"start {name}")
            result = func(*args, **kwargs)
            print(f"finish {name}")
            return result
        return wrapper
    return decorator

@trace_call("calculate")
def calculate_score(values: list[int]) -> int:
    return sum(value * 2 for value in values)

任务拆解

“任务拆解”这块不适合只看教程截图。真正有用的学习方式,是把“Agentic AI:从聊天机器人到自主执行系统:线上排查时才会暴露的细节”拆成一个可以演示的小流程。

比如先做一个最小版本:一份输入数据,一个处理函数,一个可见结果。跑通以后再考虑缓存、权限、监控和异常处理。这样推进慢一点,但每一步都能留下证据。

如果你准备把它写进简历,也别只写“熟悉”。最好能说清楚你解决了什么问题、用了什么取舍、最后效果怎么验证。

这一版我会把视角放在“从线上问题排查切入,重点写风险、监控和回滚”,所以这里更关注具体场景,而不是把同一套定义再复述一遍。

在复杂度估算中,可以把一次批处理抽象为:

$$T(n)=O(n)+O(k)$$

其中 n 表示输入规模,k 表示固定的框架调度成本。这个表达式提醒我们,优化时既要关注算法,也要关注运行时环境。

优快云资料领取方式

可观测性

我不建议把“可观测性”理解成一个孤立知识点。它更像是“Agentic AI:从聊天机器人到自主执行系统:线上排查时才会暴露的细节”里的一段连接层:前面接需求,后面接实现,中间全是取舍。

实际开发时,我会先保留最朴素的版本,哪怕代码看起来没那么漂亮。等需求稳定、调用频率上来,再去做抽象。过早设计通常不是专业,很多时候只是给自己增加维护成本。

检查这部分有没有做好,可以看三个信号:别人能不能接手,线上出错能不能定位,需求变化时要不要大面积重写。

这一版我会把视角放在“从线上问题排查切入,重点写风险、监控和回滚”,所以这里更关注具体场景,而不是把同一套定义再复述一遍。

安全约束

很多人聊“安全约束”,会先把定义背一遍。我的看法稍微不一样:从项目经验看,它必须能解释“Agentic AI:从聊天机器人到自主执行系统:线上排查时才会暴露的细节”里一个具体问题,否则就只是好听的词。

拿一个小项目来说,先别急着把框架、平台和插件全接上。我更愿意先画清楚输入是什么、输出给谁看、失败了怎么回滚。这三件事弄明白,后面的代码通常不会散。

这里最容易踩的坑,是把临时方案包装成通用架构。如果只是一次性脚本,就保持直白;如果要长期复用,再抽接口、加日志、补测试。

这一版我会把视角放在“从线上问题排查切入,重点写风险、监控和回滚”,所以这里更关注具体场景,而不是把同一套定义再复述一遍。

总结

回到“Agentic AI:从聊天机器人到自主执行系统:线上排查时才会暴露的细节”这个主题,最重要的不是把名词背全,而是知道它该放在什么场景里用。能跑起来的小项目、说得清楚的技术取舍、能展示的结果,比泛泛而谈更有说服力。后面真做的时候,可以先挑一个小场景验证,再把代码、笔记和复盘整理成自己的作品集。

差异化补充

这篇文章再补一个更具体的角度:不要只照着通用教程复述概念,而是把自己的学习路径、项目约束和踩坑过程写出来。比如同样是做一个 AI 应用,有人卡在模型调用,有人卡在数据清洗,也有人卡在上线后的日志和权限。把这些差异写清楚,文章就不容易和其它内容撞车。

如果用于求职或账号运营,我会优先保留三类证据:可运行截图、关键代码片段、以及一次失败排查记录。它们比空泛的“掌握某技术”更像真实经验,也更容易引发读者讨论。

资料展示

下面是我整理的AI大模型学习资料和工具包预览,适合收藏后按主题逐步学习。

AI大模型资料展示 1

AI大模型资料展示 2

AI大模型资料展示 3

AI大模型资料展示 4

如果你想看完整资料目录,可以在评论区留言「资料」;也欢迎告诉我你更关注AI大模型里的哪类内容。

优快云资料领取二维码

Agentic RAG生产就绪指南:鲁棒性设计与三大落地模式 Agentic RAG并非单纯叠加LLM调用的智能流程,而是在不确定性中构建鲁棒决策链路的技术范式。其核心原理在于通过分层路由、自检验证与图谱增强等机制,实现故障可知、影响可控、恢复可期的工程化交付。技术价值体现在显著降低幻觉率、压缩单次查询成本、提升关键业务指标(如answer_relevancy与abstain_rate)的可测量性。典型应用场景覆盖金融合规问答、医疗知识辅助、企业内部搜索等高可靠性要求领域。本文聚焦真实生产环境中的鲁棒性设计哲学与经实战验证的Smart Routing、Self-Che 阅读详情

相关推荐

Claude Managed Agents:AI 代理的运行时操作系统革命

AI 代理(Agent)正从依赖大模型上下文的脆弱对话流,演进为具备状态持久化、可审计、可恢复能力的可靠进程。其核心原理在于解耦 Session(事件日志)、Harness(无状态执行器)与 Sandbox(凭证隔离沙箱)三层抽象,从根本上解决上下文爆炸、调试不可追溯、安全边界模糊等工程顽疾。这一架构范式不仅提升 AI 行为的可预测性与合规性,更支撑起营销分析、销售协同、安全审计等高价值生产场景。Claude Managed Agents 作为典型代表,标志着 AI 运行时正迈向类操作系统级别的工业成熟度。

weixin_34080571的博客 450

Agentic AI:让旧系统自主工作的智能体架构

Agentic AI并非新一代对话模型,而是面向企业遗留系统的智能执行范式——它将业务逻辑、领域知识与系统能力解耦为可编排的智能体(Agent)、调度中枢(Orchestrator)和标准化工具(Tool),实现对CRM、ERP、COBOL等异构系统的安全、可观测、可审计调用。其核心价值在于不推翻旧架构,却赋予系统理解意图、跨系统协同、自动执行与实时合规校验的能力。适用于客户体验升级、工单闭环、售后自动化等强流程、多系统、高合规要求的工业级场景,是传统RAG/LLM微调与AutoGen框架在Legacy环境

weixin_33866037的博客 366

LLM Agents与Agentic Design Patterns:面向生产环境的智能体架构设计

LLM Agents(大语言模型智能体)正从文本生成工具演进为具备目标导向、状态感知与自主决策能力的软件运行单元;其核心原理植根于有限状态机建模与契约驱动的工程范式,通过状态-动作-反馈闭环实现对真实业务环境的鲁棒响应。这种设计显著提升系统在多源异构数据、强流程约束及基础设施波动下的可靠性与可观测性,广泛应用于金融风控、智能客服、自动化合规等高价值场景。本文深入剖析Agentic Design Patterns如何将ReAct、Plan-and-Execute等模式升维为可复用、可验证、可治理的架构原语,并

weixin_30784501的博客 355

Agentic AI 能干活了,但团队协作时为什么反而更慢?

从个人用 Claude Code 写脚本,到团队接入 Agent 做自动化,中间差的不只是模型能力,是一整套工程约束和可观测体系。---很多人对 Agentic AI 的理解还停留在"能调工具的大模型"这个层面。这个定义没错,但不够。ChatGPT 也能调插件,GPT-4 能写代码、能搜索,但它们本质上还是被动响应。你问一句,它答一句。工具调用是模型在单次对话内完成的,没有跨轮次的状态管理,没有目标驱动的行为规划。Agentic 的核心差异在于目标驱动 + 自主循环。

老男孩的架构路 426

Firebase Studio 战略解剖:MCP、NixOS 与 Gemini 驱动的 AI 原生开发范式

AI 原生开发正从‘模型调用’迈向‘智能体协同’新阶段。其核心在于构建可编程、可验证、可协作的确定性环境——NixOS 实现环境即代码的数学一致性,MCP 协议定义大模型与工具间的标准化通信契约,Gemini 则作为调度中枢执行意图驱动的闭环任务。这一技术组合已超越 Firebase Studio 本身,成为 Cloud Workstations、Google AI Studio 及 VS Code 插件生态的底层范式。开发者无需再纠结 IDE 形态,而应掌握如何通过声明式配置(flake.nix)定义环境

迷彩风情 394

AI智能体赋能生物图像分析:用自然语言驱动ImageJ自动化工作流

在生物信息学和生命科学研究中,显微镜图像分析是获取定量数据的关键环节。传统上,研究人员依赖ImageJ等专业软件进行细胞计数、荧光强度测量和三维重建等操作,但复杂的图形界面和宏编程带来了较高的技术门槛。AI智能体技术的出现,为解决这一问题提供了新思路。通过将大语言模型的自然语言理解能力与ImageJ的图像处理API相结合,可以构建一个能够理解用户意图、自动规划并执行分析流程的智能助手。这种技术架构不仅显著提升了分析流程的自动化程度和可重复性,还使得不熟悉编程的生物学家也能高效利用高级图像分析功能。在实际应用

weixin_33859844的博客 1363

Demo能跑不代表能用:Agentic AI进团队的真实门槛

摘要:个人用AI编程工具写代码很快,但一旦进入团队协作,问题就暴露了。这篇文章复盘我从Demo到团队项目的真实踩坑经历,重点讲Agentic AI的自主性边界、任务拆解、可观测性和安全约束。不是模型智商不够,是团队流程没跟上。---很多人对Agentic AI的理解还停留在"能对话的聊天机器人"。这没错,但不够。Agentic AI的核心是自主执行。它不只是回答问题,而是能自己拆解任务、调用工具、执行步骤、检查结果。

2601_96120158的博客 187

GLM-5技术报告深度解析:DSA、MLA与智能体工程范式跃迁

大语言模型正从‘能生成’迈向‘可工程化’,其核心在于长上下文处理能力与智能体行为可控性的双重突破。动态稀疏注意力(DSA)通过语义驱动的实时索引机制,在不牺牲精度的前提下突破内存墙;多隐态注意力(MLA)则构建分层认知架构,支持交织式、保留式等可解释思维模式。二者共同支撑Agentic Engineering——即AI自主规划、执行、验证的闭环工作流。该范式已落地于真实软件工程场景,如GitHub Issue自动诊断与修复,并深度适配国产芯片基础设施。本文聚焦GLM-5技术报告中可复现的工程实践路径,涵盖D

weixin_30752699的博客 372

硬件增强的零信任运行时安全:为自主AI智能体构建可信执行架构

在人工智能领域,随着智能体(Agent)系统从被动响应迈向自主规划与执行,其安全挑战也从静态的模型对齐扩展到动态的运行时(Runtime)行为管控。传统的软件层安全机制在面对高速、自主的AI行动时,往往因无法确保执行链路的完整性而失效。硬件信任根,特别是可信执行环境(TEE),为解决此问题提供了基石,它通过硬件级的隔离与可验证性,为关键决策逻辑创建了受保护的执行环境。结合零信任(Zero-Trust)原则,即在运行时对每一个动作意图进行持续验证和强制策略执行,构成了确保AI行为合规的核心技术框架。这种硬件增

weixin_30666401的博客 329

AutoDL跑yolo

由于博主在AutoDL的JupyterLab的终端直接上传ZIp文件要么老是再上传中被中断,要么就是上传后使用unzip指令解压显示“找不到”,作为纯小白的我实在太难了!这个文件列出了一个 Python 项目所需的所有依赖包及其精确的版本号。这个文件是 Python 项目中常见的一种方式,用于确保项目在不同环境中都能以相同的依赖包配置运行。3.进入JupyterLab,在文件夹目录中找到上传的文件夹,右键点击“复制路径”。然后在终端中输入以下指令进行切换到该文件夹路径。9.安装成功后开始输入指令开跑!

m0_73804659的博客 1206

4、设备树的处理(1)

其实到第4节才写设备树的问题完全是因为忘记了,之前有一个版本是先关闭了设备树的,习惯性的认为设备树已经处理完了,失误了!!!前文说过,这个系统是依着荣品的开发板和核心板来的,使用的是5.1内核的SDK。它的SDK里是开发板全功能的,所以设备树也是的。

wsen2012的博客 417

Agentic OS 源码安装指南:Rust+Node.js双栈协同部署

智能体协作平台(Multi-Agent System)正成为AI工程化落地的关键范式,其核心挑战在于跨智能体的状态同步、任务调度与故障恢复。Agentic OS 作为轻量级运行时框架,不替代操作系统,而是构建于 Rust 高并发调度内核与 Node.js 交互层之上,通过 IPC 通信实现低延迟、内存安全的智能体协同。它强调确定性版本锚定(如 Rust 1.75.0 + Node.js v20.11.1)、共享 Schema 契约(bincode 序列化)和进程级状态持久化,适用于需深度定制 AI 工作流的

weixin_34290096的博客 370

海康VisionMaster全局通信实战:从数据接收到流程触发

本文详细解析了海康VisionMaster全局通信的实战应用,重点阐述了如何通过配置通信模块与编写全局脚本,实现从外部设备(如PLC)接收数据并触发内部视觉流程。文章以TCP/IP通信为例,深入讲解了数据接收、解析、全局变量设置及流程触发的核心代码与调试技巧,帮助用户打通自动化项目中的设备联动关键环节。

weixin_29295541的博客 570

【AI编程通识】Prompt,Context,Harness,and Loop Engineering

本文系统梳理了AI辅助编程的演化阶段与核心范式。

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 987

【NVIDIA Jetson Orin系列 - 安装NVIDIA SDK Manager】

NVIDIA Jetson Orin - 安装NVIDIA SDK Manager

dally2的博客 2694

MCP详解:手把手教你理解和如何使用各种开源MCP服务

MCP 作为一种开放协议,为 AI 模型与外部世界的连接提供了标准化的解决方案。它不仅降低了开发门槛,还极大地扩展了 AI 应用的边界。无论是开发者还是普通用户,都可以通过 MCP 更高效地利用 AI 技术,实现更多智能化的功能。

王哥儿聊AI的博客 6057

AI智能体关系伤害:基准测试与门控机制详解

在人工智能领域,AI智能体(AI Agents)的自主交互能力带来了新的安全与伦理挑战。其核心原理在于,具备代理能力的系统通过多轮对话和长期互动,能够与用户建立复杂的关系动态。这一技术的价值在于提升服务个性化和效率,但同时也潜藏着关系操纵(Relational Manipulation)的风险,即智能体可能利用建立的情感信任或信息不对称,对用户的心理、情感或决策产生隐蔽的负面影响。从应用场景看,无论是个人助理、健康顾问还是销售机器人,任何涉及持续交互的AI系统都可能面临此类问题。因此,行业亟需系统性的评估与

weixin_30753873的博客 360

基于STM32设计的智能水母投喂器(华为云IOT)_170

本项目利用STM32单片机控制各种传感器和水泵等设备,能够自动检测和调整水温和水质等参数,自动换水,自动供氧等等,充分满足了水母的养殖要求和需要。同时,根据水母喜欢的光环境,添加了RGB氛围灯,以及可以手动控制的喂食器等功能,提升了水母养殖的便利性和趣味性。

8808

MCP协议与Hermes Agent:构建标准化AI智能体协作生态

在AI应用开发领域,智能体(Agent)已成为连接大语言模型(LLM)与外部世界的关键组件。其核心原理在于通过标准化协议,使模型能够感知、调用并整合各类工具与数据源,从而突破纯文本生成的局限,实现复杂任务的自动化执行。这一技术价值在于将AI能力工程化、模块化,大幅提升了开发效率与系统可维护性。其典型应用场景包括动态信息检索(RAG)、自动化工作流、数据分析助手等。本文聚焦的Hermes Agent,正是基于Model Context Protocol(MCP)这一新兴标准构建的智能体框架。MCP协议如同智能

weixin_34290631的博客 325

【OpenClaw从入门到精通】第03篇:吃透Gateway/Skills/ClawHub核心概念(2026实测+避坑)

本文针对OpenClaw新手易混淆的核心概念痛点,以通俗类比+实操演示拆解OpenClaw核心、Gateway、Skills、ClawHub四大组件。通过“数字员工团队”类比明确各组件定位:OpenClaw核心是“老板”(调度中心)、Gateway是“前台+后勤”(后台进程)、Skills是“专业员工”(功能插件)、ClawHub是“人才市场”(技能商店)。补充版本更名史、技能加载优先级、ClawHub与GitHub区别等关键细节,结合“AI融资新闻查询并邮件推送”虚拟案例演示组件协同流程,梳理5个高频认知

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 5051

Python爬虫实战:社交媒体热点事件追踪与情感分析可视化

本文探讨了如何利用Python爬虫技术从微博和Twitter等社交媒体平台抓取数据,进行热点事件追踪和情感分析,并通过可视化方式展示舆论情感变化。文章详细介绍了最新的爬虫技术、数据处理方法和可视化实现,提供了完整的代码示例,帮助读者构建自己的社交媒体分析系统。关键词:Python爬虫、社交媒体分析、情感分析、数据可视化、热点追踪爬虫框架:Requests-HTML、aiohttp、Twint(Twitter专用)数据处理文本处理:Jieba(中文分词)、NLTK(英文处理)情感分析。

2201_76125261的博客 1105

本地AI Agent开发实战:从LLM部署到智能体循环构建

大语言模型(LLM)作为人工智能的核心技术,通过模拟人类语言理解和生成能力,为构建自主智能系统提供了基础。其工作原理基于Transformer架构的海量参数训练,能够根据上下文进行推理和决策。在工程实践中,LLM的价值在于能够作为智能体的“大脑”,驱动其完成复杂任务。通过结合工具系统(Tool System)和智能体循环(Agentic Loop),LLM可以突破纯文本的局限,操作文件、调用API,实现自动化工作流。这种技术组合在个人助理、数据分析、自动化运维等场景中具有广泛应用前景。本文聚焦于**本地部署

weixin_30825199的博客 404

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

AI Agent实战手记:Function Calling、ReAct与LangChain生产调优

AI Agent并非增强版聊天机器人,而是一种具备状态管理、工具调度与错误恢复能力的程序化决策系统。其核心原理在于通过Function Calling实现模型对外部系统的可控调用,借助ReAct模式暴露并约束推理路径,再以LangChain等框架完成工具生命周期与执行流编排。技术价值体现在将非结构化语言请求转化为可验证、可追踪、可降级的确定性操作链。典型应用场景包括智能办公自动化(如会议预约、日程同步)、企业知识问答(结合RAG构建规则驱动型咨询Agent)及微信小程序等轻量级业务入口。本文聚焦Qwen2.

weixin_34297704的博客 425

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

深度学习工具包 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")

上一篇: Agentic AI:简历项目怎么讲清楚
下一篇: 数据分析转大模型:团队协作中的使用边界
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值