近期,AI 已经开始影响到了音乐行业,在 B 站搜索“AI 孙燕姿”,从流行歌曲到摇滚,从周杰伦到王力宏,没有 AI 孙燕姿驾驭不了的歌曲。

有用户评论:“我感觉 AI 没把歌手干掉,先把翻唱干掉了。” AI 走红“乐坛”的时间不足一个月,而 AI 绘画对设计师的影响可不止一个月。自从 AIGC 诞生以来,AI 绘画软件可以在短短几分钟内生成高质量图像,对原画师、设计师产生了巨大冲击,不少公司更开始用 AI 绘画软件来辅助甚至替代原画师的工作。

Web1.0到Web3.0

AIGC 那么厉害,它会成为 Web 3.0 时代的内容生产力工具吗?我们先来简单了解下,从Web 1.0 时代到 Web 3.0 时代,内容生产模式上有什么变化。

Web 1.0 时代主要是单项信息传递的“只读”模式。媒体形式以新浪、搜狐、雅虎、百度这类门户网站为主,某些特定的群体或企业将信息单向发布至网络,投喂给用户浏览阅读。在这个过程中,用户只能被动接收网站发布的无差异信息,但不能上传自己的反馈、进行和其他人的线上实时沟通。

到了 Web 2.0,人与人通过网络沟通交流,各种交互多了起来。随之而来的,是内容生产模式的改变,内容从单一的 PGC (专业生成内容)到 PGC+UGC(用户生成内容)的结合,直到现在,UGC 已占据了主要市场。

当我们迈入 Web 3.0 时代,人工智能、数据、语义网络构建,形成新的人与网络的全新链接,内容消费飞速增长。届时,PGC 和 UGC 难以满足迅速扩张的内容需求,而 AIGC 将成为 Web3 时代的生产力工具。AIGC 的生成利用人工智能知识图谱,在内容创作上为人类提供协助或者完全自主生成,不仅可以提供内容生成的效率,还可以拓展内容的多样性。或许在 Web 3.0 时代,文字生成、图片绘制、视频内容都由 AIGC 来完成,甚至文娱向的音乐创作、游戏内容生成 AIGC 都能胜任。

AIGC的技术原理

AIGC 即将成为 Web3.0 主要的内容生产者,那么是什么决定 AIGC 的产出质量?

AIGC 的产出质量主要有三大核心要素:数据、算法和算力。

  • 数据:海量优质的应用场景数据是训练算法精确性关键基础,数据包括语音、文本、影像等。
  • 算法:神经网络、深度学习等算法是挖掘数据智能的有效方法。与传统机器深度机器学习算法不同,神经网络在学习范式+网络结构上的迭代提升了 AI 算法的学习能力。
  • 算力:计算机、芯片等载体为 AIGC 提供基本的计算能力。算力是基础设施,AI 算法模型对算力有巨大需求。

说到这里,如果还有小伙伴没有玩过 AI 绘画,我们之前有写过一篇《从 0 到 1,带你玩转 AI 绘画》 ,里面详细介绍了如何用 Stable Diffusion GUI 搭建自己的AI 作图环境。搭建的时候建议大家使用 GPU 主机,可以让一张图片生成时间从几十分钟缩短到几十秒。

AI 强大的创造能力,除了海量数据和硬件算力的支持,算法这块离不开两个核心技术 NLP(Natural Language Processing,自然语言处理) 和算法模型的发展。

自然语言处理NLP

自然语言处理(Natural Language Processing,缩写作 NLP)是人工智能和语言学领域的分支学科,主要探讨如何处理及运用自然语言;自然语言处理包括多方面和步骤,基本有认知、理解、生成等部分。

自然语言认知和理解是让电脑把输入的语言变成有意思的符号和关系,然后根据目的再处理。自然语言生成系统则是把计算机数据转化为自然语言。说直白点,其实就是让人和机器交互中,能够让双方都“听得懂”。

自然语言处理有两个核心任务,自然语言理解(NLU)和自然语言生成(NLG)。

自然语言理解 NLU

自然语言理解是研究如何让电脑读懂人类语言的一门技术,是自然语言处理技术中最困难的一项。自然语言理解是希望机器像人一样,具备正常人的语言理解能力。为什么说自然语言理解是 NLP 上最困难的一项,我们简单看几个例子就知道了。

校长说衣服上除了校徽别别别的。

今天下雨,我骑车差点摔倒,好在我一把把把把住了!

今天我差点没上上上上海的车。

这些还只是相对简单的,还有一些更复杂的,例如:

阿呆给领导送礼。

领导:“你这是什么意思?”

阿呆:“没什么意思,意思意思。” 领导:“你这就不够意思了。”

阿呆:“小意思,小意思。” 领导:“你这人真有意思。”

阿呆:“其实也没有别的意思。”

领导:“那我就不好意思了。”

阿呆:“是我不好意思。”

由于自然语言的多样性、歧义性、知识依赖性和上下文,计算机在理解上有很多难点,所以 NLU 至今还远不如人类的表现。

自然语言生成 NLG

自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。

自然语言生成可以视为自然语言理解的反向:自然语言理解系统需要理清输入句的意思,从而产生机器表述语言;自然语言生成系统需要决定如何把概念转化成语言。自然语言生成典型的 6 大步骤是:

  1. 决定内容:决定在文本里置入哪些资讯。用上一节花粉预报软件为例,是否要明确提到东南部花粉级数为7。
  2. 架构文件:所传达资讯的整体组织。例如决定先描述高花粉量地区,再提及低花粉量地区。
  3. 聚集语句:合并类似的句子,让文本更可读、更自然。例如合并下两个句子“星期五花粉等级已从昨天的中级到今天的高级”和“全国大部分地区的花粉等级在6到7”成为“星期五花粉等级已从昨天的中级到今天的高级,全国大部分地区的数值在6到7。”
  4. 选择字词:选用表达概念的文字。例如决定要用“中等”还是“中级”。
  5. 指涉语生成:产生能辨认物体或地区的指涉语。例如用“北方岛屿和苏格兰东北角”指涉苏格兰的某个地区。这个任务也包括决定代名词以及其它的照应语。
  6. 实现文本:根据句法学、构词学、正写法的规则产生实际的文本。

算法模型

近期来,AIGC 的飞速发展主要归功于算法领域的技术积累,其中包含:生成对抗模型(GAN)、变微分自动编码器(VAE)、标准化流模型(NFs)、自回归模型(AR)、能量模型和扩散模型(Diffusion Model)。其中生成对抗模型和扩散模型是两个非常常用的模型。

其中 GAN 模型在上次的内容里,已经有提及,这里就不再做介绍。有兴趣的小伙伴可以看下《从 AI 绘画到 ChatGPT,聊聊生成式 AI》这篇内容。

今天主要说下扩散模型。

扩散模型是一种新型的生成模型,可生成各种高分辨率图像。扩散模型可以应用于各种任务,如图像去噪、图像修复、超分辨率成像、图像生成等等。

扩散模型一般分为正向扩散和反向扩散。正向扩散中,图像逐渐被噪声污染,直到图像成为完全噪声。

在反向扩散中,则是利用马尔科夫链逐步去除预测噪声,最终恢复成图像。

AIGC的应用场景及发展趋势

随着 AIGC 技术的发展,其适用面将会逐渐扩大。现在 AIGC 已经被广泛应用在文字、图像、音频、游戏和代码生成等场景。

  • 文字创作:AIGC 主要被应用于新闻的撰写,台本的撰写等等,近期有爆料说综艺《毛血旺》也开始尝试使用 ChatGPT 撰写台本。
  • 图片创作:现在市场上已经有很多 AI 作图的应用,用户只需要输入文字描述,计算机就会自动生成一张作品。
  • 视频创作:Google 推出了 AI 视频生成模型 Phenaki,它能够根据文本内容生成视频。现在市面上也有不少相关的文字生成视频的产品。
  • 音频创作:“AI 孙燕姿”已经大火,虽然还没有创作相关的展现,但已经能够看到 AIGC 在音频创作上的应用。
  • 游戏开发:当下,已经有一些游戏公司将 AI 相关技术应用于游戏中的 NPC、场景建模、原画绘制等方面,丰富游戏细节,包括NPC的一些微表情,大场景下的天气变化等细节处理,大大提供玩家游戏的沉浸感。

当下,AIGC 主要辅助人们来进行内容生产,我相信随着技术的发展,AIGC 会介入更多的内容生产,逐渐在与人类共创作的过程中占据更多比例。甚至在未来,AIGC 可能会颠覆现有的内容生产模式,独立完成内容创作,为 Web 3.0 时代带来更多的内容生产力。

聊聊时下火热的 AIGC 与 Web3的更多相关文章

  1. 掘金 Android 文章精选合集

    掘金 Android 文章精选合集 掘金官方 关注 2017.07.10 16:42* 字数 175276 阅读 50053评论 13喜欢 669 用两张图告诉你,为什么你的 App 会卡顿? - A ...

  2. 马里奥AI实现方式探索 ——神经网络+增强学习

    [TOC] 马里奥AI实现方式探索 --神经网络+增强学习 儿时我们都曾有过一个经典游戏的体验,就是马里奥(顶蘑菇^v^),这次里约奥运会闭幕式,日本作为2020年东京奥运会的东道主,安倍最后也已经典 ...

  3. UART Explained(转载)

    做嵌入式开发,UART几乎是必不可少的,调试串口.GPS.GPRS.Bluetooth等模块很多都是用的UART接口.时下火热的IoT也不乏UART的身影,串口的BLE.WIFI.Zigbee.Lor ...

  4. AngularJS框架研究(一)

    和几年前相比,现在的Javascript开发方式有了翻天覆地的变化,一些极具创意的开发工具的出现,让前端开发更加成熟,Angular框架就是一个例子.最近在看Angular的源代码,发现并不是件容易的 ...

  5. Swift POP+MVVM

    Swift2.0中引入了协议扩展的特性,并且建议开发者一切从协议(Protocol)出发,经过几个月的学习探索,博主发现Swift作为一门面向协议编程(POP)的语言非常适合时下火热的MVVM架构.M ...

  6. vue+springboot前后端分离实现单点登录跨域问题处理

    最近在做一个后台管理系统,前端是用时下火热的vue.js,后台是基于springboot的.因为后台系统没有登录功能,但是公司要求统一登录,登录认证统一使用.net项目组的认证系统.那就意味着做单点登 ...

  7. 第二次作业-关于Steam游戏平台的简单分析

    1.1 Steam平台的简单介绍 你选择的产品是? 如题,这次的作业我选择了Steam作为分析的对象. 为什么选择该产品作为分析? 我选择数字游戏贩售平台STEAM作为分析对象的原因有以下几点: 1. ...

  8. unity3d入门教程

    2010年Unity3D游戏引擎进入人们的视野,它操作简单.易学.灵活,逐步被各类平台厂商运用到新作品中,产生了全球游戏开发商.个人使用Unity3D的热潮.而在国内,根据权威部门统计,50%的Uni ...

  9. CDN使用心得:加速双刃剑

    文章图片存储在GitHub,网速不佳的朋友,请看<CDN 使用心得:加速双刃剑> 或者 来我的技术小站 godbmw.com 本文以腾讯云平台的 CDN 服务为例,记录下在个人网站开发和公 ...

  10. 人人都是产品经理<2.0>

    之前有看过<人人都是产品经理1.0>,还认真的做了笔记,看完后不久,得知作者在第一版的内容基础上,升华性的出了第二版,即<人人都是产品经理2.0>.注:第一版和第二版跨度有6年 ...

随机推荐

  1. OPC 协议数据采集

    kepserver   OPC Connectivity Suite 让系统和应用程序工程师能够从单一应用程序中管理他们的 OPC 数据访问 (DA) 和 OPC 统一架构 (UA) 服务器.通过减少 ...

  2. 外包杯学习进度(一) | 【Android】【Javaweb】Android与JavaWeb服务器交互教程——搭建环境

    前言 我们老师留了一个题目,这里就不写了,第一需要攻破的问题就是如何将app中的数据域javaweb进行传递,并可以回弹消息等问题.所以就开始了解一下这方面的信息. 资料积累 参考胡大炮的妖孽人生的博 ...

  3. Mongoose查增改删

    在src目录下新建一个文件夹models,用来存放数据模型和操作数据库的方法. 在models目录下新建一个文件user.js,用来管理用户信息相关的数据库操作. 相关的数据模型和数据库操作方法,最后 ...

  4. c语言实现this指针效果

    概要 由于目前在做一个比较复杂的嵌入式项目,想要借此提升一下代码的结构设计能力,所以想要以面向对象的思想来完成这个项目,即把每个板载外设资源视为一个对象,采用msp+bsp的模式,对每个bsp外设实现 ...

  5. 【UniApp】-uni-app-扩展组件

    前言 好,经过上个章节的介绍完毕之后,了解了一下 uni-app-内置组件 那么了解完了uni-app-内置组件之后,这篇文章来给大家介绍一下 UniApp 中的扩展组件 首先不管三七二十一,先来新建 ...

  6. [ARC169E] Avoid Boring Matches

    题解链接 非常厉害的一道题. 考虑无解是什么情况? R 的个数超过 \(2^{n-1}\) 先考虑如何判定.从前往后考虑,如果遇到一个 B,那么如果后面有 R,就选最靠前的 R,否则选最靠后的一个 B ...

  7. [USACO2007FEB S]Silver Lilypad Pond

    题目描述 为了让奶牛们娱乐和锻炼,农夫约翰建造了一个美丽的池塘.这个长方形的池子被分成 了M行N列个方格(1 ≤ M, N ≤ 30).一些格子是坚固得令人惊讶的莲花,还有一些格子是 岩石,其余的只是 ...

  8. [ABC262C] Min Max Pair

    Problem Statement You are given a sequence $a = (a_1, \dots, a_N)$ of length $N$ consisting of integ ...

  9. mybatis_高级

    注解方式: 不需要配置文件 @select等注解直接放在接口mapper里 多表操作: @Select("select * from user1") @Results({ @Res ...

  10. MybatisPlus属性自动填充

    阿里巴巴开发规范,对于每一张表都因该有id(主键),createTime(创建时间),updateTime(修改时间)这三个字段 主键ID我们可以使用自增,或者雪花算法 创建时间修改时间我们可以使用数 ...