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

ChatGPT背后的技术和多模态异构数据处理的未来展望——我与一位资深工程师的走心探讨

上周,我和一位从业三十余年的工程师聊到ChatGPT。

作为一名人工智能领域研究者,我也一直对对话式大型语言模型非常感兴趣,在讨论中,我向他解释这个技术时,他瞬间被其中惊人之处所吸引🙌,我们深入探讨了ChatGPT的关键技术,他对我所说的内容产生了浓厚的兴趣,我们开始交流并分享了各自的经验。我发现,与这位资深工程师的讨论不仅加深了我的理解,也让我更加了解了这项技术的前沿发展🌱。

后续我也下面我将分享一些我在与工程师的讨论中和自己学习中所了解的ChatGPT的关键技术,希望对您有所帮助。

一、大规模语言模型

大规模语言模型(Large Language Models)是一类基于机器学习的自然语言处理技术,它能够对大量文本数据进行学习,从而生成一种对语言的抽象表示。

谈到大规模语言模型时,Transformers是一个不可避免的话题,可以说,大规模语言模型是自然语言处理领域的“流量入口”,而Transformer则是这一领域的“基石”。它们是如何相互作用的呢?

熟悉我的粉丝朋友们可能看过,我在早些时候总结的Transformer基础:横扫NLP 脚踏CV界的Transformer到底是什么 和 Transformer之十万个为什么。
在这里插入图片描述

总结来说:Transformer是一种用于处理序列数据的神经网络架构,传统的CNN、RNN(或者LSTM,GRU)计算是顺序的、迭代的、串行的,即只能从左向右依次计算或者从右向左依次计算,而Transformer使用了位置嵌入 (Positional Encoding) 来理解语言的顺序,使用自注意力机制(Self Attention Mechanism)和全连接层进行计算,所有字都是同时训练,具有更好的并行性。

大规模语言模型通常采用深度学习算法,通过大量的语料库来预训练模型,使其能够“理解”自然语言中的语义、语法和上下文等信息。而Transformer则是一种特殊的深度学习模型,核心是自注意力机制(self-attention)。在传统的RNN或LSTM模型中,每个元素的表示只能从之前的元素获得信息,这就存在信息流动的局限性,而自注意力机制允许每个元素能够获得来自序列中其他元素的信息,从而更全面地捕捉序列之间的依赖关系。
在这里插入图片描述

除了自注意力机制,Transformer还包括了一些其他的创新性组件,如多头自注意力、位置编码等。这些组件相互配合,使得Transformer模型能够在大规模语料上取得优秀的表现。

GPT 模型使用了 Transformer 的 Encoder 部分,Encoder 包括多个堆叠的自注意力机制(self-attention mechanism)层和前馈神经网络层。通过使用 Transformer 的自注意力机制,GPT 模型能够学习输入序列的上下文信息,并生成符合上下文的自然语言文本。

二、思维链

在聊天中,ChatGPT带给那位工程师另一项细思极恐的地方就是思维链。

思维链是指人们在思考或解决问题时,从一个概念或想法出发,逐步延伸联想,形成的一系列有机衔接的思维过程,基于大规模语言模型的自然语言处理技术。

它通过对文本数据进行训练,建立起词汇与概念之间的联系,每个词汇都被映射为一个高维向量,而这些向量之间的关系就是思维链的基础。通过对大量文本进行训练,模型学习到了不同词汇之间的关系,从而可以在输入一个词汇时,输出与之相关联的概念或其他词汇,进而构成一个完整的思维链。

试验时,我出了一道小学数学应用题,交给ChatGPT处理,可以看到,其不仅能够理解语言,更难得的是其能学习到应用数学的逻辑关系,并通过推理解决一定的问题。
在这里插入图片描述

可以说,ChatGPT作为一种基于Transformer结构的大规模语言模型,在构建思维链方面具有很高的优势。Transformer结构通过多层自注意力机制实现了文本序列中信息的交互和迭代,从而使得模型可以学习到更为复杂的词汇关系和语义表示。ChatGPT使用了非常大规模的训练数据和深度网络结构,可以处理大量的文本输入,从而更加精确地建立思维链。

三、强化学习

为了训练 ChatGPT 让其给出的答案更贴近人类,它在发布前采取了一种叫做“基于人类反馈的强化学习”的训练策略,当我们在使用ChatGPT这样的大规模语言模型进行对话时,我们的目标是让模型能够理解我们的意图,并作出合适的回应。这个过程中,模型需要从已有的数据中学习到哪些回应更能够符合用户的期望,这就是强化学习的策略。

智能体通过不断地试错学习,更新其策略,以最大化其获得累积奖励的期望值。这种学习过程可以通过价值函数来实现,价值函数可以分为状态价值函数和动作价值函数。在训练过程中,智能体通过对状态价值函数和动作价值函数进行更新来提高策略的性能。

强化学习是机器学习中的另一种学习方式,目标是让机器能够在与环境交互的过程中通过试错来学习如何最大化奖励,从而达到特定的目标。在强化学习中,机器不会像监督学习那样依赖于已有的标注数据,而是通过与环境的交互来获取实时的反馈和奖励,并根据这些反馈和奖励来调整自己的行为。

强化学习的核心思想是基于马尔可夫决策过程(Markov Decision Process,MDP)。在MDP中,智能体与环境交互的过程可以用一个五元组(S,A,R,P,γ)来描述。

MDP=(S,A,P,R,γ)\mathrm{MDP}=(\mathrm{S}, \mathrm{A}, \mathrm{P}, \mathrm{R}, \gamma)MDP=(S,A,P,R,γ)其中,S是状态(state)集,A是行为(action)集 ,R是奖励函数,P是状态转移概率(state transference概率)矩阵,γ是衰减因子。

在强化学习中,有两种基本的学习方法:值函数学习策略梯度学习。值函数学习通过学习一个值函数来估计每个状态的价值,并选择具有最高值的操作。策略梯度学习直接优化策略函数,即在给定状态下采取的操作。这两种方法都有各自的优缺点,可以根据应用场景选择合适的方法。

那么在与ChatGPT这样的大规模语言模型进行对话时,强化学习可以如何应用呢?一个常见的例子是使用强化学习来优化聊天机器人的回答质量。在这个过程中,机器会与用户进行多轮对话,每一轮都会根据用户的意图和回答的质量获得相应的奖励,同时机器也会根据自己的行为和环境的变化调整自己的策略,以期望获得更高的奖励。
除了自然语言处理方面,强化学习在图像处理、游戏玩法和机器人控制等领域都有广泛的应用。

四、未来展望——多模态异构数据处理

模态是指某件事情发生或经历的方式。每一种信息的来源或者形式,都可以称为一种模态。人类对世界的体验是多模态的例如触觉,听觉,视觉,嗅觉;而人类获取信息的媒介,有语音、视频、文字等;

为了让人工智能在理解我们周围的世界方面取得进展,它需要能够一起解释这种多模态信号。多模态机器学习旨在建立能够处理和关联来自多种模态的信息的模型。

当今的社交媒体中,包含了海量非合作、异构化、跨模态的数据,既蕴藏了大量的人类知识与高价值信息,也包含了各种自然与人为的噪声,对其分析与处理需要融合类脑计算、计算机视觉、自然语言处理等多个维度的智能技术。

谈及多模态异构数据处理,我们不得不提到现代数据处理中的一个热点领域——图文智能处理与多场景应用技术。近年来,这一领域得到了快速发展,应用也在不断拓展。
在这里插入图片描述
图像和文本是我们最常接触的两种模态,随着OCR技术应用的不断深入,面向图像文档中复杂结构(如汉字结构,表格结构,文档总体结构等)的建模问题也已经逐渐成为研究热点之一,如上图,用扫描全能王的“拍图识字”功能一键扫描识别竖排繁体古籍《桃花源记》,面对破损、皱褶的古籍,该功能通过分析图像图像文档复杂结构,进一步将古籍内容提取出来,赋予更加清晰、平整的古籍阅读体验。

图文智能处理与多场景应用技术不仅仅局限于图像图形领域,也涉及到自然语言处理、视频处理、人工智能等多个领域,未来可能会出现大量的、碎片化的应用范围,比如图像转文字,智能文档识别,文本生成头像、诗文、甚至短视频等,重点是在有趣的细分场景里发挥创造性和想象力。

在这个背景下,我也非常巧合地收到了CSIG图像图形企业行活动的邀请。

活动由中国图象图形协会(CSIG)主办,合合信息CSIG文档图像分析与识别专业委员会在3月18日联合承办。华南理工金连文教授上海交大杨小康教授复旦邱锡鹏教授厦大纪荣嵘教授中科大杜俊教授合合信息郭丰俊博士等顶尖专家们将交流分享对于图像文档处理中的结构建模、底层视觉技术、跨媒体数据协同应用、生成式人工智能及对话式大型语言模型等技术的展望。

在上海的朋友们可以点击链接:https://qywx.wjx.cn/vm/rhE9BxC.aspx线下参会!

不在上海的朋友们也可以通过直播间,预约观看,活动干货多多,全程亮点,本周六下午14.00,欢迎大家关注!
在这里插入图片描述

会后还有答疑环节,各位有什么想问的问题可以在评论区留言,我到时候线下可以面对面提问哦!,

参考文献

人人都能懂的ChatGPT解读[https://new.qq.com/rain/a/20230226A02Y7B00]

💡 最后

我们已经建立了🏤T2I研学社群,如果你还有其他疑问或者对🎓ChatGPT或者文本生成图像很感兴趣,可以私信我加入社群

🎉 支持我:点赞👍+收藏⭐️+留言📝

相关文章:

ChatGPT背后的技术和多模态异构数据处理的未来展望——我与一位资深工程师的走心探讨

上周,我和一位从业三十余年的工程师聊到ChatGPT。 作为一名人工智能领域研究者,我也一直对对话式大型语言模型非常感兴趣,在讨论中,我向他解释这个技术时,他瞬间被其中惊人之处所吸引🙌,我们深…...

iOS-砸壳篇(两种砸壳方式)

CrackerXI砸壳呢,当时你要是使用 frida-ios-dump 也是可以的; https://github.com/AloneMonkey/frida-ios-dump frida-ios-dump: 代码中需要更改的:手机中的内网ip 密码 等 最后放到我的砸壳路径里: python dump.py -l查看应用…...

linux 基础

1.Shell 命令的格式如下:command -options [argument]command: Shell 命令名称。options: 选项,同一种命令可能有不同的选项,不同的选项其实现的功能不同。argument: Shell 命令是可以带参数的,也可以不带参…...

Java:SpringBoot给Controller添加统一路由前缀

网上的文章五花八门,不写SpringBoot的版本号,导致代码拿来主义不好使了。 本文采用的版本 SpringBoot 2.7.7 Java 1.8目录1、默认访问路径2、整个项目增加路由前缀3、通过注解方式增加路由前缀4、按照目录结构添加前缀参考文章1、默认访问路径 packag…...

Java 基于 JAVE 库 实现 视频转音频的批量转换

文章目录 Java 基于 JAVE 库 实现 视频转音频的批量转换Maven:方案一:代码优化:方案二:示例代码:代码优化:结语Java 基于 JAVE 库 实现 视频转音频的批量转换 实现视频转音频的功能需要使用到一个第三方的 Java 库,叫做 JAVE。JAVE 是一个开源的 Java 库,提供了视频和音频转换…...

Spring容器——基于XML注入

1. 容器:IOC IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序 Spring 通过 IoC 容器来…...

设计模式(二十一)----行为型模式之状态模式

1 概述 【例】通过按钮来控制一个电梯的状态,一个电梯有开门状态,关门状态,停止状态,运行状态。每一种状态改变,都有可能要根据其他状态来更新处理。例如,如果电梯门现在处于运行时状态,就不能…...

一分钟理解 AP(Affinity Propagation) 亲和⼒传播算法

从来没有一个算法让我研究好几天都搞不明白,AP算法算是第一个。弄了好几天,打草纸用了几十页,反复琢磨,最后都怀疑人生了。我觉得网上那么多介绍 AP 的文章,基本上没有一篇能讲明白的。最后我都觉得 AP 的作者可能都没…...

使用mybatis的映射文件操作存储过程

先随便创建一个存储过程 DELIMITER $$ CREATE PROCEDURE getUserNameById (IN i_id BIGINT, OUT o_name VARCHAR(10)) BEGINSELECT u.name INTO o_name FROM tb_user u WHERE id i_id; END $$delimiter $$ : 是将sql语句的结束符号先替换成$$的意思,因为sql是遇到…...

世界上最完美的两个软件,太厉害了!

今天给大家介绍两个软件,一个体现了人类在软件开发流程上的极致,另外一个则体现了程序员个体能力的巅峰。01航天飞机飞控软件先来说第一个,航天飞机飞行控制软件,就是下图这个大家伙。航天飞机重达120吨,还携带着2000吨…...

教你成为比卡卡西还牛逼的全能忍者,全拷贝与分割函数

如何成为一个集雷切,写轮眼侦查和拷贝与一身的卡卡西,下面教你! 目录 第一式——雷切! strtok 第二式——写轮眼侦查! strerror函数 第三式——写轮眼拷贝! memcpy 模拟实现memcpy函数 😎…...

【LeetCode】剑指 Offer(24)

目录 题目:剑指 Offer 47. 礼物的最大价值 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 47. 礼物的…...

javaEE 初阶 — CSS 元素的显示模式与盒模型

文章目录1. 元素的显示模式1.1 块级元素1.2 行内元素1.3 行内元素和块级元素的区别1.4 改变显示模式2. 盒模型2.1 边框2.1.1 边框的粗细2.1.2 边框的颜色2.1.3 边框的风格2.2 内边距2.3 外边距2.3.1 margin 的特殊情况1. 元素的显示模式 1.1 块级元素 常见的元素: h1 - h6 、…...

新星计划-我为什么要写博客?写博客的意义是什么

CSDN的各位友友们你们好,今天千泽要和大家交流一下写博客的意义,并且鼓励大家参加CSDN官方举办的新星计划,这个可以让我们更快的成长,十分有价值.接下来让我们一起开始吧!如果对您有帮助的话希望能够得到您的支持和帮助,我会持续更新的!🚩part1:自我介绍我是一名来自…...

嵌入式学习笔记——STM32的USART收发字符串及串口中断

USART收发字符串及串口中断前言字符串的收发发送一个字符串接收字符串需求利用串口实现printf中断中断是什么前言 上一篇中,介绍了串口收发相关的寄存器,通过代码实现了一个字节的收发,本文接着上面的内容,通过功能函数实现字符串…...

数据分析之Pandas(1)

3.Pandas 文章目录3.Pandas3.1 Pandas基本介绍3.1.1 Pandas的基本数据结构3.1.1.1 Pandas库的Series类型3.1.1.2 Pandas库的DataFrame类型DataFrame初始化DataFrame查看数据3.1.2 Pandas读取数据及数据操作行操作添加一行删除一行列操作增加一列删除一列通过标签选择数据条件选…...

17、江科大stm32视频学习笔记——USART串口协议和USART串口外设

目录 1、通信接口 2、 硬件电路 3、电平标准 4、串口参数及时序 5、USART简介 6、USART工作 (1)写操作 (2)读操作 (3)帧头和帧尾的添加和除由电路自动执行 (4)硬件数据控制…...

leetcode:有效地括号

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都…...

四等分list

Testpublic void s (){ int targ 4; List mList new ArrayList(); List<List> mEndList new ArrayList<>(); for (int i 0; i <34; i) { mList.add(“item” i); } // System.out.println(mList.toString()); if (mList.size() % targ ! 0) { for (int j …...

php连接sqlserver数据库

docker 安装sqlserver数据库sudo docker pull mcr.microsoft.com/mssql/server:2017-latestsudo docker run -e "ACCEPT_EULAY" -e "MSSQL_SA_PASSWORD<YourStrongPassw0rd>" -p 1433:1433 --name sqlserver --hostname sqlserver -d mcr.microsoft.…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...