你真的了解什么是生成式AI吗?
最近正好有这样的机会,让我给一群非技术人士介绍生成式AI,忙忙碌碌了一阵子,结果发现受众还是未能理解什么是生成式AI,到底和之前的AI有什么区别。因此希望此篇能够帮助普通人真正理解生成式AI,有个直观印象。
人工智能
首先,说说AI,Artificial Intelligence是“人工智能”的英文两首字母的缩写,它意味着用计算机去帮助人们完成一些类似人类才能完成的一些工作,比如识别物品,识别花草树木,根据历史的天气情况预测明天的天气等等,总之是让机器像人一样去辅助人类去完成某项任务。
它经历几十年的发展,有高潮有低谷,至今仍然在蓬勃发展,可以参见下图它的一个发展历程:

对一项技术而言,其实还挺不简单的,为什么这样说呢?从事计算机工作20余年,经历了太多的技术从产生到发展直至无人问津,因为社会在发展进步,人们的需求在不断向更高层转变,劳动工具在更新,技术也在不断发展。 一些古老的技术已经逐渐退出历史舞台,然而AI这项技术经历了这么多年的洗礼,有高峰有低谷,依然吸引着大家,说明在技术发展的历史浪潮中确实有其存在的价值和意义。
生成式AI
回到正题,那我说说这波最新的浪潮生成式AI到底是什么?简单来说,生成式AI是通过学习现有的数据来生成新的内容(包括文本生成,图片生成,音视频生成,3D生成等),从而实现类似人类创造力的功能。
什么是文本生成?比如说,让生成式AI根据你列的大纲标题写一篇通讯稿。图片生成:根据你写的一段文字描述来生成艺术照片。音视频、3D生成等也都是类似的概念。这里的”新“,指的是组合了模型学来的各种资料,生成出的结果看似”新“,其实有时候也是个”缝合怪“,不经意会出一些意想不到的结果,令人啼笑皆非。
我想从概念上用两个成语来形容生成式AI和非生成式AI:“无中生有”和“各显神通”。
这里的”无“并不是空无虚无,而是很多时候由一些随机种子、随机数来初始化驱动生成,所以它生成出来的结果很多时候会伴随着一些不确定性;
而传统的非生成式AI,会面向各个特定的具体任务去努力将各自任务做到最好,比如人脸识别,语音识别,商品分类...每一个单一的任务都有具体的AI模型去承担相应的工作。
那生成式AI是2022或2023年才有的概念吗?答案是否定的。
在前一波AI的浪潮里,像GAN(生成对抗网络),VAE等技术就已经是做生成类的各项工作了,只不过随着算力提升,大模型技术的发展,才有了这波生成式AI的技术热潮。记得我第一次接触GAN在2017年初,那时用GAN生成一个卡通人物肖像在普通笔记本上跑一晚上也就生成出了几张图片,现在用Diffusion模型只需几秒。
生成式模型和判别式模型
有时,人们会聊到生成式模型和判别式模型。其实这和前面说的生成式AI和非生成式AI根本不是一个概念。判别式模型和生成式模型是机器学习中有监督学习对模型的两种分类,简单地说,判别式模型是针对条件分布建模,而生成式模型则针对概率联合分布进行建模。通俗的讲:判别式模型是直接求P(y|x), 而生成式模型先计算了联合概率P(x,y),再由贝叶斯公式计算得到条件概率P(y|x)。虽然它们最终的判断依据都是条件概率P(y|x), 但生成式模型可以体现更多数据本身的分布信息,其普适性更广。
从下图我们了解到,判别式模型是在寻找一个决策边界,通过该边界来将样本划分到对应类别。而生成式模型则不同,它学习了每个类别的边界,它包含了更多信息,可以用来生成样本。

小结生成式AI和传统AI的特点
这里简单总结一下生成式AI和传统AI的区别

生成式AI与传统AI之间的关系
二者是相辅相成的关系。简单来说,有了生成式AI的加持,传统的任务AI可以做得更好,更高效,是“1+1>2" 的效果提升,而不是非此即彼的关系。
拿医疗影像AI病理分析来说,之前的做法是,通过AI影像分析模型分析到病灶的位置,预测可能的病情,再经由医生判断,给出诊断结论,录入系统生成病理报告。 生成式AI的做法是直接读取影像生成出病理报告,当然这里需要医生把把关,对一些关键的信息,结论措辞调整。同时,患者可以直接和病理报告进行交流,了解一些专业结论所表明的具体含义。

再例如,以前的游戏人物设计,需要美工人员可能会从0开始设计人物原型,现在的生成式AI可以根据你的描述词生成出大量的人物原稿供你选择,同时可以给你自动上色,美工要做的是后期的精修和调整,这大大提升了产出效率。
以前的虚拟数字人提供的傻瓜式的问答服务,你多问他一些未事先储备定义好的问题,他就无法回答你或者回答得比较差。现在有了生成式AI大语言模型的支持,可以支持很多轮的对话,同时会有千人千面特点,极具个性和拟人化色彩,让你感觉是和真人在交流。
再比如,以前的考试评判AI系统可能只给出个评判结果,现如今通过生成式AI不仅可以得到评判结果,还能知道哪个推理步骤错了,辅导学生去改正解题步骤中的错误。同时启发学生不同的解题思路和解题方法,一步一步引导学生做出最终结果。
总结
最后,简单总结一下,生成式AI的优势是提供创意性的,合成的一类结果,它可以大大提升某些种类工作的效率,但目前来看并不具备高度的严谨性,只有和传统AI相结合在具体场景具体任务中落地才能发挥其自身的应用价值。
相关文章:
你真的了解什么是生成式AI吗?
最近正好有这样的机会,让我给一群非技术人士介绍生成式AI,忙忙碌碌了一阵子,结果发现受众还是未能理解什么是生成式AI,到底和之前的AI有什么区别。因此希望此篇能够帮助普通人真正理解生成式AI,有个直观印象。 人工智…...
Linux--高级IO
高级IO 1. 五种IO模型 阻塞IO:在内核将数据准备好之前,系统调用会一直等待。 所有的套接字,默认都是阻塞方式。阻塞IO是最常见的IO模型。 非阻塞IO:如果内核还未将数据准备好,系统调用仍然会直接返回,并…...
【C# 基础精讲】C# 开发环境搭建(Visual Studio等)
安装C#开发环境是开始学习和使用C#编程的第一步。目前,最常用的C#开发环境是Microsoft Visual Studio,它是一套强大的集成开发环境(IDE),提供了丰富的工具和功能,使开发C#应用程序变得更加便捷。以下是安装…...
谷粒商城第九天-解决商品品牌问题以及前后端使用检验框架检验参数
目录 一、总述 二、商品分类问题 三、前端检验 四、后端检验 五、总结 一、总述 在完成完商品分类的时候,后来测试的时候还是发现了一些问题,现在将其进行解决,问题如下: 1. 取消显示的时候,如果取消了显示&…...
Java8函数式接口
在工作中我需要,我需要递归处理复杂嵌套的JSON字符串,然后处理方法有多种,为了代码通用性,我想要把处理方法当作参数,传入到函数中,然后根据不同的处理方法处理字符串。通过查资料得知,可以使用…...
.Net6 Web Core API --- Autofac -- AOP
目录 一、AOP 封装 二、类拦截 案例 三、接口拦截器 案例 AOP拦截器 可开启 类拦截器 和 接口拦截器 类拦截器 --- 只有方法标注 virtual 标识才会启动 接口拦截器 --- 所有实现接口的方法都会启动 一、AOP 封装 // 在 Program.cs 配置 builder.AddAOPExt();//自定义 A…...
RocketMQ基本概念和高级原理
基础概念 消息模型 RocketMQ 主要由 Producer、Broker、Consumer 三部分组成,其中 Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。Broker 在实际部署过程中对应一台服务器,每个 Broker 可以存储多个 Topic…...
小白到运维工程师自学之路 第六十六集 (docker 网络模型)
一、概述 Docker网络模型是指Docker容器在网络中的通信方式和组织结构。Docker容器通过网络连接,使得容器之间可以相互通信,并与主机和外部网络进行交互。 在Docker中,有几种不同的网络模型可供选择: 1、主机模式(H…...
Go和Java实现建造者模式
Go和Java实现建造者模式 下面通过一个构造人身体不同部位的案例来说明构造者模式的使用。 1、建造者模式 建造者模式使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了 一种创建对象的最佳方式。 一个 Builder 类会…...
AutoSAR系列讲解(实践篇)11.6-服务映射(自顶向下)
目录 一、配置Service Needs 二、配置Cfg同步 我们在下一节的实验课中讲解这里的具体配置流程,本节主要讲一下这些配置的大致流程和配置项的作用。NvBlockSwComponents是一个可选项, 我们这里开始不使用NvBlockSwComponents,将我们的Application SWC直接和NvM通过C/S连接起…...
EXCEL, 用if({1,0,0} ...) 实现把给定的区域,输出为任意你想要的矩阵,数组区域!
目录 1 原材料:这样的一个区域 工具 if({1,0,0}) 数组公式 1.1 原始数据 1.2 原理 if(0/1,t-value,f-value)---变形--->if({},range1,range2) 1.2.1 if(0/1,t-value,f-value)---变形--->if({},range1,range2) 1.2.2 原理1: if 数组原理&#…...
c++实现Qt对象树机制
文章目录 对象树是什么使用对象树的好处使用c实现对象树 对象树是什么 我们常常听到 QObject 会用对象树来组织管理自己,那什么是对象树? 这个概念非常好理解。因为 QObject 类就有一个私有变量 QList<QObject *>,专门存储这个类的子…...
骨传导蓝牙耳机排行榜,精选五款排名最靠前的耳机
不知道大家在挑选耳机的时候会考虑什么?有些人会考虑耳机的功能、有些会考虑价格,还有的会考虑品牌等因素,但是综合下来,我们作为消费者无非是想要一款音质很好,而佩戴又很适合我们的耳机~我们年轻人作为耳…...
JDBC用法小结
JDBC用法小结 本文实例总结了JDBC的用法。分享给大家供大家参考。具体分析如下: DriverManger:驱动管理器类 要操作数据库,必须先与数据库创建连接,得到连接对象 public static Connection getConnection(String url, String username,Str…...
MySQL 数据表在什么情况下容易损坏
服务器突然断电导致数据文件损坏。强制关机,没有先关闭 MySQL 服务等。 表损坏的原因分析 以下原因是导致 mysql 表毁坏的常见原因: 1、 服务器突然断电导致数据文件损坏。 2、 强制关机,没有先关闭 mysql 服务。 3、 mysqld 进程在写表时…...
【设计模式——学习笔记】23种设计模式——访问者模式Visitor(原理讲解+应用场景介绍+案例介绍+Java代码实现)
文章目录 案例引入要求传统方案 介绍基本介绍应用场景登场角色尚硅谷版本《图解设计模式》版本 案例实现案例一实现拓展 案例二(个人感觉这个案例较好)实现分析拓展一拓展二拓展三 总结额外知识双重分发 文章说明 案例引入 要求 测评系统需求:将观众分为男人和女人…...
Ubuntu安装MySQL 8.0与Navicat
目录 Ubuntu安装MySQL 8.0 1、更新软件包列表 2、安装 MySQL 8.0 3、启动 MySQL 服务 5、确保MySQL服务器正在运行 5、root 用户的密码 6、登录MySQL,输入mysql密码 7、MySQL默认位置 Ubuntu安装Navicat 1、下载 Navicat 2、额外的软件包 3、执行命令 U…...
GB28181智慧可视化指挥控制系统之执法记录仪设计探讨
什么是智慧可视化指挥控制系统? 智慧可视化指挥控制平台通过4G/5G网络、WIFI实时传输视音频数据至指挥中心,特别是在有突发情况时,可以指定一台执法仪为现场视频监控器,实时传输当前画面到指挥中心,指挥中心工作人员可…...
【SpringBoot】自动配置自动加载controller的原理
SpringBoot自动配置&&自动加载controller的原理.md 好久没有更新自己的博客了,自己最近的正好有点空闲的时间进行,自己在写着写着,突然想起来, 为什么我们点击application就能自动加载Controller呢?(好家伙,我顿时鱼鳃,哈哈) 1.首先我们来到启动现场>启动类 Sprin…...
Docker Enable live
ubuntu - Enabling live restore on docker isnt keeping the containers alive - Stack Overflow容器安全之启用实时恢复 - 简书 (jianshu.com)...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
webpack面试题
面试题:webpack介绍和简单使用 一、webpack(模块化打包工具)1. webpack是把项目当作一个整体,通过给定的一个主文件,webpack将从这个主文件开始找到你项目当中的所有依赖文件,使用loaders来处理它们&#x…...
五、jmeter脚本参数化
目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...
