机器学习中的数学底蕴与设计模式

news2025/1/19 2:28:59

在说机器学习设计模式之前,想多说几句,在进入软件行业最初的10年,那时候耳熟能详的基本就是多线程编程,互斥同步锁,设计模式,OOA,OOP,常规数组,tree,图的数据结构及相关网络编程等。那时高等数学总觉得没有太多用武之地,慢慢的开始了解机器学习,你会发现数学在机器学习中占有举足轻重的地位。数学好的人,机器学习上手非常快,并且你不会浮于表面,只会那些所谓的  fine  tune,我不是说 fine tune不重要,这件事肯定要做,只是现阶段是人工来完成,但未来 fine tune 这种事 迟早会被机器替代。因为机器学习后阶段人工fine tune会逐步消失,取而代之的是机器的全自动校正完成。但如果你有深厚的数学功底,你将是创建模型或改造模型的人,你将真正凌驾在machine learning 之上。

举个例子,如果你有很深的微积分造诣,那么你理解神经网络中的梯度下降,损失函数的构建及训练,调优等过程,你会轻车熟路,在较短时间内完美驾驭。如果你有较深的线性代数造诣,理解卷积神经网络,CNN, RNN,LSTM,GRU或者是Attention等transformer 机制,你会比别人更胜一筹。如果你有较好的概率论相关know-how,你将对softmax 等输出,损失函数等有很好的理解。当然我说的都是比较基础的理解部分。你甚至可以创建基于自己的super data AI model,这些idea或专利的源泉大部分来自你较好的数学功底,所以,如果你想在机器学习中有较好的可持续发展,Math is very important.

下面还是说干货,AI的设计模式。 Andrew Ng 在人工智能峰会(AI Ascent)上发表了《Agentic Reasoning》的演讲。虽然时间不长,但information 很多。主要包括反思、工具调用、规划和多智能体协作4种设计模式,你会发现AI的模式和人类的思考维度越来越接近,作为工作或生活中人类经常使用的PDCA模式在AI中得到了极致体现,同时已能印证我前面说的人工 fine tune迟早会被终结。

Zero-shot Prompting VS Agentic Workflow

在当下,不论是国外的AI工具如ChatGPT、Claude、谷歌的Gemini,还是国内的Kimi、通义千问和文心一言,我们大多数人的使用方式还是以“zero-shot prompt”直接对话的形式,也就是我们直接抛给ChatGPT一个问题,比如“写一篇关于xx主题的论文”,让它一次性给出回复。在这个过程中,LLM模型只会执行“生成”这一个动作。

然而,这与我们在真实世界中完成工作任务的流程是截然不同的。还是以写论文为例,一般我们会起草一个初稿,然后评估、分析、修订,迭代出第二、第三个版本,直到我们满意为止。其他工作和学习任务也是如此,我们通常会将其分解为一个一个的流程,然后按照流程来操作,以保证结果的质量。LLM模型也理应如此为我们服务。

Agentic Workflow赋能LLM模型

吴恩达教授的团队对“Zero-shot prompting”以及添加了不同设计模式的AI Agent的表现做了数据分析和对比,详情如下图。图中的纵坐标分别表示基座模型是GPT-3.5和GPT-4,横坐标表示在“Coding benchmark”下各模型/Agent的正确率(表现),百分比越高表现越好。

08e56de46f8e449cb79054fdacef3647.png

  1. Zero-shot模式
  2. GPT-3.5的Zero-shot性能为48%。
  3. GPT-4的Zero-shot性能显著提升,为67%。
  4. 结论:Zero-shot模式下,模型在没有具体任务示例的情况下,仅依赖于其预训练的知识来执行任务。这种情况下比拼的是模型的通用基础能力,可以理解为模型的“智商”,GPT-4表现好是意料之中的。
  5. AI Agent(智能体)模式
  6. Reflection反馈模式通过模型自身的反思与调整来改进任务执行。
  7. Tool Use工具调用模式涉及模型调用外部工具或库来帮助解决任务。
  8. Planning规划模式通过提前计划和组织任务步骤来提高效率和准确性。
  9. Multiagent多智能体协作模式涉及多个智能体的协同工作,以提高整体任务执行能力。
  10. 结论1:添加了Agentic Workflow的AI Agent在任务执行中的表现显著提升,不论基座模型是GPT-3.5还是GPT-4。
  11. 结论2:即使基座模型是GPT-3.5,通过添加Agentic Workflow将其设计为AI Agent后,性能表现也超过了Zero-shot模式下的GPT-4!

其实这种结论也很好理解,对于一项工作或学习任务来说,光有“智商”是不足以保证任务完成质量的,更重要的,与如何完成这项任务的方式方法有关系。“智商”(即大脑,LLM模型)可能起到一定作用,但合理的规划,完善的流程设计在后期任务执行过程中也起到关键的作用,虽然这常常被我们忽略。

1. 反馈(Reflection)

反馈(Reflection)设计模式是一种让AI模型通过自我反思和迭代改进来提高任务执行能力的方法。在这种模式中,模型不仅生成初始解决方案,还会通过多次反馈和修改,不断优化其输出。

在Andrew Ng 提到的例子中,任务是编写代码,模型首先生成初始版本,然后通过多次反馈和修改生成更优化的版本。例如,初始代码版本存在错误,模型通过反馈指出错误并进行修正,最终生成一个通过所有测试的版本。

2. 工具调用(Tool Use)

工具调用(Tool Use)设计模式是一种让AI模型通过调用外部工具或库来增强任务执行能力的方法。在这种模式中,模型并不仅仅依赖于自身的知识和能力,而是利用各种外部资源来完成任务,从而提高效率和准确性。

 

实际我前面写的 RAG与LLM 专栏 就是一个在LLM领域下 Tool Use 的应用,有兴趣可以取读一读,还在持续更新中。

 

3. 规划(Planning)

规划(Planning)设计模式是一种通过提前计划和组织任务步骤来提高效率和准确性的方法。在这种模式中,模型将复杂任务分解为多个步骤,并依次执行每个步骤,以达到预期的目标。

这和管理者经常使用的PDCA是何其相似,plan-do-check-action 直至目标完成,其中也包含了  fine tune 的逻辑。

4. 多智能体协作(Multi-agent Collaboration)

多智能体协作(Multiagent Collaboration)设计模式是一种通过多个智能体之间的合作来提高任务执行效率和准确性的方法。在这种模式中,多个智能体分担任务,并通过相互交流和协作,共同完成复杂任务。

实际上与 3 规划有一些联系,比如:

开发一个五子棋游戏。

  • 设计阶段:一个智能体负责游戏的设计,包括界面和规则。
  • 编码阶段:另一个智能体负责游戏的编码,实现核心功能。
  • 测试阶段:第三个智能体负责测试游戏,找出并修复错误。
  • 文档编写阶段:第四个智能体负责编写游戏的使用文档和说明。

通过智能体之间的分工合作,最终成功开发出一个完整的五子棋游戏。

就先写到这里吧

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【图论】200. 岛屿问题

200. 岛屿问题 难度:中等 力扣地址:https://leetcode.cn/studyplan/top-100-liked/ 问题描述 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围&…

你真的会udf提权???数据库权限到系统权限 内网学习 mysql的udf提权操作 ??msf你会用了吗???

我们在已经取得了数据库的账号密码过后,我们要进一步进行提取的操作,我们mysql有4钟提权的操作。 udf提权(最常用的)mof提权启动项提权反弹shell提权操作 怎么获取密码操作: 怎么获取密码,通过sql注入获取这个大家都应该知道了&a…

专题四:Spring源码初始化环境与BeanFactory

上文我们通过new ClassPathXmlApplicationContext("applicationContext.xml");这段代码看了下Spring是如何将Xml里面内容注入到Java对象中,并通过context.getBean("jmUser");方式获得了一个对象实例,而避开使用new 来耦合。今天我们…

Houdini速通VOP强化训练上部

Houdini 速通 VOP 强化训练上部是一门针对 Houdini 中 VOP(Vector Operation Language)的强化训练课程。本课程深入探讨了 Houdini 中 VOP 的核心概念和高级技术,通过实际案例和项目实战,帮助学员快速掌握 VOP 的使用技巧和编程方…

SpringBoot Task 定时任务

springboot中使用Task定时任务非常简单 springboot 中自带的都有注解不需要引入依赖 第一步:在启动类上添加启用定时任务注解 EnableScheduling //开启任务调度 第二步:创建一个springboot组件用于定时任务管理 package cn.lsy.api.Task;import cn.ls…

【Unity实战】在RHEL 9上安装UnityHub

一般来说,Unity编辑器的安装,官方已经给出了安装教程。 但是这个忽略了RHEL 9的一个特性:默认的加解密策略已经不支持SHA1了,你会在执行yum install unityhub那里出现如下报错: [shepherdlocalhost ~]$ sudo yum inst…

[C++][设计模式][备忘录模式]详细讲解

目录 1.动机2.模式定义3.要点总结4.代码感受 1.动机 在软件构建过程中,某些对象的状态转换过程中,可能由于某中需要,要求程序能够回溯到对象之前处于某个点的状态。 如果使用一些公开接口来让其他对象得到对象的状态,便会暴露对象…

66、基于长短期记忆 (LSTM) 网络对序列数据进行分类

1、基于长短期记忆 (LSTM) 网络对序列数据进行分类的原理及流程 基于长短期记忆(LSTM)网络对序列数据进行分类是一种常见的深度学习任务,适用于处理具有时间或序列关系的数据。下面是在Matlab中使用LSTM网络对序列数据进行分类的基本原理和流…

TomCat小型服务器安装

一、安装步骤 Tomcat官方站点: http://tomcat.apache.org 1、进入官方网站后获取安装包: 🤠tar.gz文件是Linux操作系统下的安装版本 🤠zip文件是Windows系统下的压缩版本 2、解压安装 解压到自己的文件夹中 3、安装JDK 设置环…

Go源码--context包

简介 Context 是go语言比较重要的且也是比较复杂的一个结构体,Context主要有两种功能: 取消信号:包括直接取消(涉及的结构体:cancelCtx ; 涉及函数:WithCancel)和携带截止日期的取消(涉及结构…

功能强大的声音模拟合成软件Togu Audio Line TAL-Mod 1.9.7

Togu Audio Line TAL一个虚拟模拟合成器,具有卓越的声音和几乎无限的调制能力。其特殊的振荡器模型能够创建广泛的声音,从经典的单声道到丰富的立体声引线、效果器和焊盘。路由可以使用虚拟跳线电缆来完成。只需连接调制输出以达到调制的目的。之后,您可以调整调制强度。您不…

dB分贝入门

主要参考资料: dB(分贝)定义及其应用: https://blog.csdn.net/u014162133/article/details/110388145 目录 dB的应用一、声音的大小二、信号强度三、增益 dB的应用 一、声音的大小 在日常生活中,住宅小区告知牌上面标示噪音要低…

Excel表格转Tex工具推荐

为了制作符合 SCI 论文要求的表格,直接用 LaTeX 编写通常比较复杂。我们可以先在 Excel 中绘制好所需的表格(最好加上边框)。最近我发现了一个非常好用的 Excel 转 LaTeX 工具,能够让 LaTeX 表格的编写变得非常方便。 工具&#…

数据资产治理的智能化探索:结合云计算、大数据、人工智能等先进技术,探讨数据资产治理的智能化方法,为企业提供可靠、高效的数据资产解决方案,助力企业提升竞争力

一、引言 在信息化时代,数据已成为企业最重要的资产之一。随着云计算、大数据、人工智能等先进技术的飞速发展,数据资产治理面临着前所未有的机遇与挑战。本文旨在探讨如何结合这些先进技术,实现数据资产治理的智能化,为企业提供…

X科网js逆向分析

登录抓包之后发现pwd字眼,直接搜索即可 通过$.md5(pwd)之后得到的加密结果就是我们的pwd参数 他说是md5我们不妨测试一下: 1)测试使用$.md5(1)加密数字1 得到c4ca4,说明就是$.md5(),md5加密 2)测试$.md5…

神经网络在机器学习中的应用:手写数字识别

机器学习是人工智能的一个分支,它使计算机能够从数据中学习并做出决策或预测。神经网络作为机器学习的核心算法之一,因其强大的非线性拟合能力而广泛应用于各种领域,包括图像识别、自然语言处理和游戏等。本文将介绍如何使用神经网络对MNIST数…

独一无二的设计模式——单例模式(Java实现)

1. 引言 亲爱的读者们,欢迎来到我们的设计模式专题,今天的讲解的设计模式,还是单例模式哦!上次讲解的单例模式是基于Python实现(独一无二的设计模式——单例模式(python实现))的&am…

【数据结构】C语言实现二叉树的基本操作——二叉树的层次遍历、求深度、求结点数……

C语言实现二叉树的基本操作 导读一、层次遍历1.1 算法思路1.2 算法实现1.2.1 存储结构的选择1.2.2 函数的三要素1.2.3 函数的实现 1.3 小结 二、求二叉树的深度2.1 层序遍历2.2 分治思想——递归 三、 求二叉树的结点数3.1 求二叉树的结点总数3.1.1 层序遍历3.1.2 分治思想——…

SpringBoot | 使用jwt令牌实现登录认证,使用Md5加密实现注册

对于登录认证中的令牌,其实就是一段字符串,那为什么要那么麻烦去用jwt令牌?其实对于登录这个业务,在平常我们实现这个功能时,可能大部分都是通过比对用户名和密码,只要正确,就登录成功&#xff…

【Python实战因果推断】9_元学习器4

目录 Double/Debiased Machine Learning Double/Debiased Machine Learning Double/Debiased ML 或 R-learner 可以看作是 FrischWaugh-Lovell 定理的改进版。其思路非常简单--在构建结果和治疗残差时使用 ML 模型 结果和干预残差: , 预估,预估 由于 …