生成式人工智能之路,从马尔可夫链到生成对抗网络

人工智能(Artificial intelligence,AI)技术在过去几年中取得了显著进展,其中生成式AI(Generative AI)因其强大的内容生成能力而备受关注。生成式AI可以创建新的文本、图像、音频、视频、代码以及其他形式的数据,这一特性使其在多个领域都有广泛的应用。其实,我们现在大多数在数据领域接触主要是生成式AI与判别式AI。这是AI的两个主要类别。判别式AI是传统且更为人知的部分,而生成式AI则是今天讲的主题。

生成式AI的概念源于20世纪50年代末和60年代初。当时,研究人员开始探索使用算法生成新数据的可能性。一个早期的例子是马尔可夫链(Markov Chain)。这是一个统计模型,能够根据输入生成新的数据序列。虽然这个模型看起来简单,但它为生成式AI的进一步发展奠定了基础。

上面的是一个马尔可夫链的状态转移图,用于表示马尔可夫过程中的状态之间的转移概率。在这种图中,每个圆圈代表一个状态,而箭头则表示从一个状态转移到另一个状态的概率。每条箭头上标注的数字表示从起始状态转移到目标状态的概率。在这个示例中,有两个状态:E 和 A。从状态 E 转移到状态 A 的概率是 0.7,而留在状态 E 的概率是 0.3。从状态 A 转移到状态 E 的概率是 0.4,而留在状态 A 的概率是 0.6。

由于马尔可夫链模型是一种描述系统在不同状态之间随机转移的数学模型,它在生成式AI及其他领域中有着广泛的应用。1)在文本生成方面,马尔可夫链可以通过预测下一个单词生成文本,应用于聊天机器人、自动补全系统等。2)在音乐创作中,它能够建模音乐序列,预测音符或和弦,从而辅助音乐生成。3)金融领域则利用马尔可夫链模拟股票市场趋势、信用评级变化和利率波动,而在天气预测中,它帮助根据当前和过去的条件预测未来天气。4)语音识别系统中,隐马尔可夫模型(HMMs)用于建模音素序列的概率,提升语音识别的准确性。5)在生物信息学中,马尔可夫链用于建模DNA序列,辅助基因预测和序列分析。6)Google的PageRank算法也利用了马尔可夫链来建模用户浏览行为,并对网页进行排名。7)自然语言处理领域中,马尔可夫链用于词性标注,提升文本分析和理解的效果。在游戏AI中,它能建模非玩家角色的行为,创造更加真实和多样化的动等等。

上图,安德烈·马尔可夫(1856年6月14日- 1922年7月20日)在20世纪初研究了马尔可夫过程,并在1906年发表了关于这一主题的第一篇论文。他的工作基于早期的泊松过程,对独立随机序列进行了扩展。马尔可夫在他的第一篇论文中展示了在特定条件下,马尔可夫链的平均结果会收敛到一个固定的值,从而在没有独立性假设的情况下证明了弱大数法则。马尔可夫还利用马尔可夫链研究了亚历山大·普希金的《叶甫盖尼·奥涅金》中元音的分布,并证明了这样的链的中心极限定理。

早期的生成式AI实例

接下来,我们要谈到1960年代的一个重要人物——约瑟夫·魏岑鲍姆。魏岑鲍姆最著名的贡献是他在1960年代开发的ELIZA程序(名为 ELIZA,是以乔治·伯纳德·萧伯纳的《皮格马利翁》中的天真少女命名,它可以与用户聊天。ELIZA 是用魏泽鲍姆自己创建的 SLIP 编程语言编写的。该程序将模式匹配规则应用于语句以确定其回复。(现在这样的程序被称为聊天机器人)。ELIZA是早期的自然语言处理程序之一,能够进行基于文本的对话。它通过使用一组预定义的规则和模式来识别用户输入中的关键词,并生成相应的回应。尽管ELIZA的能力非常有限,主要依赖于模式匹配,但它在当时的技术背景下展示了机器能够进行“对话”的潜力。ELIZA的成功引发了人们对计算机能够模拟人类对话的广泛兴趣,也为后来的对话系统和自然语言处理技术奠定了基础。

约瑟夫·魏岑鲍姆(Joseph Weizenbaum,1923 年 1 月 8 日 - 2008 年 3 月 5 日)是一位德裔美国计算机科学家,也是麻省理工学院的教授。魏泽鲍姆奖和魏泽鲍姆研究所都是以他的名字命名的。

80年代之后

到了1980年代和90年代,神经网络的引入标志着生成式AI的一个重大突破。神经网络能够模拟人脑的工作原理,通过大量数据训练,从而生成复杂的模式和结构。这一时期的进展为后来的生成式AI系统奠定了基础。

2014年,生成式AI迎来了一个重要的里程碑。伊恩·古德费洛(Ian Goodfellow)及其同事提出了生成对抗网络(GANs)的概念。然而,GANs通过对抗训练机制,显著提升了生成模型的能力。

在GANs中,两个神经网络——生成器(Generator)和判别器(Discriminator)——在对抗中相互博弈。生成器负责生成新内容,如图像或文本,而判别器则评估这些内容的真实性。生成器的目标是欺骗判别器,使其无法区分生成的内容与真实内容,而判别器则力求准确识别真假。通过这种对抗过程,判别器的判断标准也逐渐提高,使生成器能够生成更为高度逼真的数据。

GANs的出现标志着现代生成式AI的重要进展。

生成式AI的发展不是由某一个发明者推动的,而是许多研究人员和科学家的共同努力。最早的生成式AI实验集中在简单的统计模型和算法上,如马尔可夫链。随着计算能力的提升和神经网络技术的发展,生成式AI进入了一个新的阶段。多层神经网络(Deep Neural Networks)和卷积神经网络(Convolutional Neural Networks)的引入,使得生成式AI能够处理更加复杂和多样的数据。

除了GANs,其他先进技术如变分自编码器(VAEs)和Transformer模型也对生成式AI的发展起到了关键作用。现代生成式AI不仅能生成高质量的文本,还能生成逼真的图像和视频,创作新的音乐作品,甚至在医疗和科学研究中应用,生成合成数据用于模型训练,辅助诊断和治疗。

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

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

相关文章

SSRF学习笔记

1.NAT学习 Nat(Network Address Translation,网络地址转换)是 一种网络通信技术主要用于将私有网络中的内部IP地址转换成公共网络中的公共IP地址,以实现局域网内部设备访问互联网的功能。具体来说,Nat有以下几个主要…

Matlab画不同指标的对比图

目录 一、指标名字可修改 二、模型名字可修改 三、输入数据可修改 软件用的是Matlab R2024a。 clear,clc,close all figure1figure(1); % set(figure1,Position,[300,100,800,600],Color,[1 1 1]) axes1 axes(Parent,figure1);%% Initialize data points 一、指标名字可修…

MongoDB 学习笔记

一、简介 1、MongoDB 是什么 MongoDB 是一个基于分布式文件存储的数据库,官方地址 https://www.mongodb.com/ 2、数据看是什么 数据库(DataBase)是按照数据结构来组织、存储和管理数据的应用程序。 3、数据库的作用 主要作用是 管理数据…

mybatis中的缓存(一级缓存、二级缓存)

文章目录 前言一、MyBatis 缓存概述二、一级缓存1_初识一级缓存2_一级缓存命中原则1_StatementId相同2_查询参数相同3_分页参数相同4_sql 语句5_环境 3_一级缓存的生命周期1_缓存的产生2_缓存的销毁3_网传的一些谣言 4_一级缓存核心源码5_总结 三、二级缓存1_开启二级缓存2_二级…

基于Hutool实现自定义模板引擎,实现json个性化模板引擎转换

文章目录 前言编写引擎类:JsonTemplateEngine编写模板类:CustomTemplate编写测试代码测试json文件测试类 前言 由于百度搜索json模板引擎,推荐的都是一些freemarker之类的,需要引入其他的依赖,而且在编写json模板的时…

学习在测试时学习(Learning at Test Time)_ 具有表达性隐藏状态的循环神经网络(RNNs)

摘要 https://arxiv.org/pdf/2407.04620 自注意力机制在长文本语境中表现良好,但其复杂度为二次方。现有的循环神经网络(RNN)层具有线性复杂度,但其在长文本语境中的性能受到隐藏状态表达能力的限制。我们提出了一种新的序列建模…

LabVIEW多线圈电磁式振动发电机测试

开发了一种基于LabVIEW设计的多线圈电磁式振动发电机测试系统。系统通过高效的数据采集、波峰检测及相位差计算,优化了传统振动发电机的测试流程,提升了电压波形分析的精度和效率,具有较好的应用前景和推广价值。 项目背景 随着可再生能源技…

遇到not allow unquoted fieldName怎么办

前言 Exception in thread "main" com.alibaba.fastjson2.JSONException: not allow unquoted fieldName, offset 2, character , line 1, column 3, fastjson-version 2.0.25 { "data":null, "code":200, "msg":"成功"…

LIS系统源码,实验室管理信息系统LIS,.Net C#语言开发,支持DB2,Oracle,MS SQLServer等主流数据库

实验室管理信息系统LIS源码,采用.Net C#语言开发,C/S架构。支持DB2,Oracle,MS SQLServer等主流数据库。(LIS系统全套商业源码,自主版权,多家大型综合医院应用案例,适合二次开发&…

Golang | Leetcode Golang题解之第279题完全平方数

题目: 题解: // 判断是否为完全平方数 func isPerfectSquare(x int) bool {y : int(math.Sqrt(float64(x)))return y*y x }// 判断是否能表示为 4^k*(8m7) func checkAnswer4(x int) bool {for x%4 0 {x / 4}return x%8 7 }func numSquares(n int) i…

四、GD32 MCU 常见外设介绍 (6) ADC 模块介绍

6.1.ADC 基础知识 12 位逐次逼近式模数转换器模块(ADC),可以采样来自于外部输入通道、内部输入通道的模拟信号,采样转换后,转换结果可以按照最低有效位对齐或最高有效位对齐的方式保存在相应的数据寄存器中。 6.2.GD…

elasticsearch-7.3.1安装注意事项

elasticsearch-7.3.1安装注意事项 一、背景二、步骤1、查看原ES版本2、新环境服务器2.1、是否有elasticsearch2.2、安装elasticsearch2.3、配置参数2.4、启动elasticsearch2.5、设置密码 三、报错-问题总结1、jdk不适用2、bootstrap checks failed3、Address already in use4、…

vue3前端开发-小兔鲜项目-图片切换效果和动态class

vue3前端开发-小兔鲜项目-图片切换效果和动态class!这次实现的效果是&#xff0c;图片预览效果&#xff0c;根据小图片&#xff0c;来实时改变大图&#xff08;预览&#xff09;的效果。同时让动态的特征class也跟着显示出来。 <script setup> import {ref} from vue // …

Linux 各目录

Linux 是一个非常严谨的操作系统&#xff0c;每个目录都有自己的作用&#xff0c;这些作用是固定的&#xff0c;没有特殊情况&#xff0c;应严格执行&#xff1b; Linux 中所有东西以文件形式存储和管理&#xff0c;命令也不例外&#xff1b; 以下四个 bin 是二进制文件&…

freesql简单使用操作mysql数据库

参考&#xff1a;freesql中文官网指南 | FreeSql 官方文档 这两天准备做一个测试程序&#xff0c;往一个系统的数据表插入一批模拟设备数据&#xff0c;然后还要模拟设备终端发送数据包&#xff0c;看看系统的承压能力。 因为系统使用的第三方框架中用到了freesql&#xff0c…

数据库的事务隔离级别有哪些?

并行事务会引发什么问题&#xff1f; 同时处理多个事务的时候&#xff0c;就可能出现脏读&#xff08;dirty read&#xff09;、不可重复读&#xff08;non-repeatable read&#xff09;、幻读&#xff08;phantom read&#xff09;的问题。脏读: 如果一个事务「读到」了另一个…

NSSCTF-2021年SWPU联合新生赛

[SWPUCTF 2021 新生赛]finalrce 这道题目考察tee命令和转义符\ 这题主要是&#xff0c;遇到一种新的符号&#xff0c;"\"—转义符。我理解的作用就是在一些控制字符被过滤的时候&#xff0c;可以用转义符&#xff0c;让控制符失去原本的含义&#xff0c;变为字面量…

react中配置路径别名@

1.说明 在react项目中想要使用代替“src/”需要在项目根目录下配置两个文件&#xff0c;craco.config.js和sconfig.json&#xff1b; craco.config.js配置文件是用于项目解读为“src/” jsconfig.json配置文件是用于vsCode在编辑过程是输入后可以将src下的文件目录进行自动联…

k8s中部署Jenkins、SonarQube、StorageClass部署流程

部署Jenkins 系统环境&#xff1a; • kubernetes 版本&#xff1a;1.23.3 • jenkins 版本&#xff1a;2.172 • jenkins 部署示例文件 Github 地址&#xff1a;https://github.com/my-dlq/blog-example/tree/master/jenkins-deploy 一、设置存储目录 在 Kubenetes 环境下…

[DVWA靶场实战]-SQL注入攻击(命令注入+SQL回显注入+sqlmap工具实现自动化注入)详细教程

原理与内容 1.命令注入原理 以Windows系统的DOS命令为例&#xff0c;DOS命令可以查看本地网络、系统用户、当前目录、字符串查找&#xff0c;也可以复合命令。命令注入就是利用复合命令的特点&#xff0c;通过Web程序&#xff0c;在服务器上&#xff0c;拼接系统命令&#xf…