AIGC背后的技术分析 | 自然语言处理与强化学习

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介: PyTorch是当前主流深度学习框架之一,其设计追求最少的封装、最直观的设计,其简洁优美的特性使得PyTorch代码更易理解,对新手非常友好

PyTorch是当前主流深度学习框架之一,其设计追求最少的封装、最直观的设计,其简洁优美的特性使得PyTorch代码更易理解,对新手非常友好。

本文主要介绍深度学习领域中自然语言处理与强化学习部分。

自然语言区别于计算机所使用的机器语言和程序语言,是指人类用于日常交流的语言。而自然语言处理的目的是要让计算机来理解和处理人类的语言。

让计算机来理解和处理人类的语言也不是一件容易的事情,因为语言对于感知的抽象很多时候并不是直观的、完整的。我们的视觉感知到一个物体,就是实实在在地接收到了代表这个物体的所有像素。但是,自然语言的一个句子背后往往包含着不直接表述出来的常识和逻辑,这使得计算机在试图处理自然语言的时候不能从字面上获取所有的信息。因此自然语言处理的难度更大,它的发展与应用相比于计算机视觉也往往呈现出滞后的情况。

深度学习在自然语言处理上的应用也是如此。为了将深度学习引入这个领域,我们尝试了许多方法来表示和处理自然语言的表层信息(如词向量、更高层次、带上下文信息的特征表示等),也尝试过许多方法来结合常识与直接感知(如知识图谱、多模态信息等)。这些研究都富有成果,其中的许多都已应用于现实中,甚至用于社会管理、商业、军事的目的。

1、自然语言处理的基本问题

自然语言处理主要研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,其主要任务如下。

(1) 语言建模。语言建模即计算一个句子在一种语言中出现的概率。它的一种常见形式是:给出句子的前几个词,预测下一个词是什么。

(2) 词性标注。句子都是由单独的词汇构成的,自然语言处理有时需要标注出句子中每个词的词性。需要注意的是,句子中的词汇并不是独立的,在研究过程中,通常需要考虑词汇的上下文。

(3) 中文分词。中文的最小自然单位是字,但单个字的意义往往不明确或者含义较多,并且在多语言的任务中与其他以词为基本单位的语言不对等。因此不论是从语言学特性还是从模型设计的角度来说,都需要将中文句子恰当地切分为单个的词。

(4) 句法分析。 由于人类表达的时候只能逐词地按顺序说,因此自然语言的句子也是扁平的序列。但这并不代表着一个句子中不相邻的词之间就没有关系,也不代表着整个句子中的词只有前后关系。它们之间的关系是复杂的,需要用树状结构或图才能表示清楚。句法分析中,人们希望通过明确句子内两个或多个词的关系来了解整个句子的结构。句法分析的最终结果是一棵句法树。

(5) 情感分类。给出一个句子,我们希望知道这个句子表达了什么情感:有时候是正面/负面的二元分类,有时候是更细粒度的分类;有时候是仅给出一个句子,有时候是指定对于特定对象的态度/情感。

(6) 机器翻译。最常见的是把源语言的一个句子翻译成目标语言的一个句子。与语言建模相似,给定目标语言一个句子的前几个词,预测下一个词是什么,但最终预测出来的整个目标语言句子必须与给定的源语言句子具有完全相同的含义。

(7) 阅读理解。有许多形式。有时候是输入一个段落或一个问题,生成一个回答(类似问答),或者在原文中标定一个范围作为回答(类似从原文中找对应句子),有时候是输出一个分类(类似选择题)。

2、发展趋势

从传统方法和神经网络方法的对比中,可以看出自然语言处理的模型和系统构建是向着越来越自动化、模型越来越通用的趋势发展的。

一开始,人们试图减少和去除人类专家知识的参与。因此就有了大量的网络参数、复杂的架构设计,这些都是通过在概率模型中提供潜在变量(latent variable),使得模型具有捕捉和表达复杂规则的能力。这一阶段,人们渐渐地摆脱了人工制定的规则和特征工程,同一种网络架构可以被许多自然语言任务通用。

之后,人们觉得每一次为新的自然语言处理任务设计一个新的模型架构并从头训练的过程过于烦琐,于是试图开发利用这些任务底层所共享的语言特征。在这一背景下,迁移学习逐渐发展,从前神经网络时代的LDA、Brown Clusters,到早期深度学习中的预训练词向量word2vec、Glove等,再到今天家喻户晓的预训练语言模型ELMo、BERT。这使得不仅是模型架构可以通用,连训练好的模型参数也可以通用了。

现在人们希望神经网络的架构都可以不需要设计,而是根据具体的任务和数据来搜索得到。这一新兴领域方兴未艾,可以预见,随着研究的深入,自然语言处理的自动化程度一定会得到极大的提高。

3、什么是强化学习

强化学习是机器学习的一个重要分支,它与非监督学习、监督学习并列为机器学习的三类主要学习方法,三者之间的关系如图1所示。强化学习强调如何基于环境行动,以取得最大化的预期利益,所以强化学习可以被理解为决策问题。它是多学科、多领域交叉的产物,其灵感来自心理学的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。强化学习的应用范围非常广泛,各领域对它的研究重点各有不同,本篇中我们只专注于强化学习的通用概念!

image.png


■ 图1 强化学习、监督学习、非监督学习关系示意图

在实际应用中,人们常常会把强化学习、监督学习和非监督学习这三者混淆,为了更深刻地理解强化学习和它们之间的区别,首先介绍监督学习和非监督学习的概念。

监督学习是通过带有标签或对应结果的样本训练得到一个最优模型,再利用这个模型将所有的输入映射为相应的输出,以实现分类。

非监督学习即在样本的标签未知的情况下,根据样本间的相似性对样本集进行聚类,使类内差距最小化,学习出分类器。

上述两种学习方法都会学习到输入到输出的一个映射,它们学习到的是输入和输出之间的关系,可以告诉算法什么样的输入对应着什么样的输出,而强化学习得到的是反馈,它是在没有任何标签的情况下,通过先尝试做出一些行为、得到一个结果,通过这个结果是对还是错的反馈,调整之前的行为。在不断的尝试和调整中,算法学习到在什么样的情况下选择什么样的行为可以得到最好的结果。此外,监督学习的反馈是即时的,而强化学习的结果反馈有延时,很可能需要走了很多步以后才知道之前某一步的选择是好还是坏。

1●强化学习的4个元素
强化学习主要包含4个元素:智能体(agent)、环境状态(state)、行动(action)、反馈(reward),它们之间的关系如图2所示,详细定义如下。

agent: 智能体是执行任务的客体,只能通过与环境互动来提升策略。

state: 在每个时间节点,agent所处的环境的表示即为环境状态。

action: 在每个环境状态中,agent可以采取的动作即为行动。

reward: 每到一个环境状态,agent就有可能会收到一个反馈。

2●强化学习算法的目标
强化学习算法的目标就是获得最多的累计奖励(正反馈)。以“幼童学习走路”为例,幼童需要自主学习走路,没有人指导他应该如何完成“走路”,他需要通过不断的尝试和获取外界对他的反馈来学习走路。

在此例中,如图2所示,幼童即为agent,“走路”这个任务实际上包含以下几个阶段:站起来,保持平衡,迈出左腿,迈出右腿……幼童采取行动做出尝试,当他成功完成了某个子任务时(如站起来等),他就会获得一个巧克力(正反馈);当他做出了错误的动作时,他会被轻轻拍打一下(负反馈)。幼童通过不断地尝试和调整,找出了一套最佳的策略,这套策略能使他获得最多的巧克力。显然,他学习到的这套策略能使他顺利完成“走路”这个任务。

image.png


■ 图2 强化学习的4个元素

3●特征
(1) 没有监督者,只有一个反馈信号。

(2) 反馈是延迟的,不是立即生成的。

(3) 强化学习是序列学习,时间在强化学习中具有重要的意义。

(4) agent的行为会影响以后所有的决策。

# 4、强化学习算法简介
强化学习主要可以分为Model-Free(无模型的)和Model-Based(有模型的)两大类。Model-Free算法又分成基于概率的和基于价值的。

1●Model-Free和Model-Based
如果agent不需要去理解或计算出环境模型,算法就是Model-Free的;相应地,如果需要计算出环境模型,那么算法就是Model-Based的。实际应用中,我们通常用如下方法进行判断:在agent执行它的动作之前,它是否能对下一步的状态和反馈做出预测?如果可以,那么就是Model-Based方法;如果不能,即为Model-Free方法。

两种方法各有优劣。Model-Based方法中,agent可以根据模型预测下一步的结果,并提前规划行动路径。但真实模型和学习到的模型是有误差的,这种误差会导致agent虽然在模型中表现很好,但是在真实环境中可能达不到预期结果。Model-Free的算法看似随意,但这恰好更易于我们去实现和调整。

2●基于概率的算法和基于价值的算法
基于概率的算法是指直接输出下一步要采取的各种动作的概率, 然后根据概率采取行动。每种动作都有可能被选中, 只是可能性不同。基于概率的算法的代表算法为policy-gradient,而基于价值的算法输出的则是所有动作的价值, 然后根据最高价值来选择动作。相比基于概率的方法, 基于价值的决策部分更为死板——只选价值最高的,而基于概率的, 即使某个动作的概率最高, 但是还是不一定会选到它。基于价值的算法的代表算法为Q-Learning。

# 5、强化学习的应用
1●交互性检索
交互性检索是在检索用户不能构建良好的检索式(关键词)的情况下,通过与检索平台交流互动并不断修改检索式,从而获得较准确检索结果的过程。

当用户想要搜索一个竞选演讲(Wu & Lee,INTERSPEECH 16)时,他不能提供直接的关键词,其交互性搜索过程如图3所示。在交互性检索中,机器作为agent,在不断的尝试中(提供给用户可能的问题答案)接受来自用户的反馈(对答案的判断),最终找到符合要求的结果。

2●新闻推荐
新闻推荐,如图4所示。一次完整的推荐过程包含以下过程:一个用户单击 App 底部刷新或者下拉,后台获取到用户请求,并根据用户的标签召回候选新闻,推荐引擎则对候选新闻进行排序,最终给用户推出 10 条新闻。如此往复,直到用户关闭 App,停止浏览新闻。将用户持续浏览新闻的推荐过程看成一个决策过程,就可以通过强化学习学习每一次推荐的最佳策略,从而使得用户从开始打开 App 到关闭 App 这段时间内的点击量最高。

image.png


■ 图3 交互性检索


image.png


■ 图4 新闻推荐

在此例中,推荐引擎作为agent,通过连续的行动即推送10篇新闻,获取来自用户的反馈,即单击:如果用户浏览了新闻,则为正反馈,否则为负反馈,从中学习出奖励最高(点击量最高)的策略。

目录
相关文章
|
25天前
|
文字识别 自然语言处理 API
如何结合NLP(自然语言处理)技术提升OCR系统的语义理解和上下文感知能力?
通过结合NLP技术,提升OCR系统的语义理解和上下文感知能力。方法包括集成NLP模块、文本预处理、语义特征提取、上下文推理及引入领域知识库。代码示例展示了如何使用Tesseract进行OCR识别,并通过BERT模型进行语义理解和纠错,最终提高文本识别的准确性。相关API如医疗电子发票验真、车险保单识别等可进一步增强应用效果。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
师资培训|AIGC工具搜集和分析教学反馈-某教育科技集团
近日,TsingtaoAI为某教育科技集团交付AIGC赋能教师教学创新课程《AIGC工具搜集和分析教学反馈》,本师资培训旨在为高校教师提供系统化、实战化的AIGC应用指南,助力教师在教学过程中实现智能化、个性化的转变。本课程通过深入浅出的案例分析、项目实践和实操演练,全面覆盖AIGC工具的收集、应用与反馈分析方法。
163 32
|
2月前
|
人工智能 自然语言处理 搜索推荐
【潜意识Java】了解并详细分析Java与AIGC的结合应用和使用方式
本文介绍了如何将Java与AIGC(人工智能生成内容)技术结合,实现智能文本生成。
210 5
|
2月前
|
编解码 人工智能 算法
国家扶持超高清产业背景下:视频云AIGC的超高清技术实践
本次分享由阿里云视频云高级产品解决方案架构师陈震主讲,聚焦国家扶持超高清产业背景下,视频云AIGC的超高清技术实践。内容涵盖超高清产业发展趋势与挑战、阿里视频云的应对方案及应用案例。通过全链路超高清解决方案,结合AI、云计算等技术,提供从内容生产、传输到播放的完整支持,助力行业应对超高清视频带来的技术与市场挑战。
|
2月前
|
人工智能 编解码 安全
全球AI新浪潮:智能媒体服务的技术创新与AIGC加速出海
本文介绍了智能媒体服务的国际化产品技术创新及AIGC驱动的内容出海技术实践。首先,探讨了媒体服务在视频应用中的升级引擎作用,分析了国际市场的差异与挑战,并提出模块化产品方案以满足不同需求。其次,重点介绍了AIGC技术如何推动媒体服务2.0智能化进化,涵盖多模态内容理解、智能生产制作、音视频处理等方面。最后,发布了阿里云智能媒体服务的国际产品矩阵,包括媒体打包、转码、实时处理和传输服务,支持多种广告规格和效果追踪分析,助力全球企业进行视频化创新。
|
2月前
|
人工智能 搜索推荐 数据库
实时云渲染技术赋能AIGC,开启3D内容生态黄金时代
在AIGC技术革命的推动下,3D内容生态将迎来巨大变革。实时云渲染与Cloud XR技术将在三维数字资产的上云、交互及传播中扮演关键角色,大幅提升生产效率并降低门槛。作为云基础设施厂商,抓住这一机遇将加速元宇宙的构建与繁荣。AIGC不仅改变3D内容的生成方式,从手工转向自动生成,还将催生更多3D创作工具和基础设施,进一步丰富虚拟世界的构建。未来,通过文本输入即可生成引人注目的3D环境,多模态模型的应用将极大拓展创作的可能性。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI写作新时代:自然语言生成技术与写作助手的结合
AI写作新时代:自然语言生成技术与写作助手的结合
118 16
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用
随着人工智能技术的不断发展,自然语言处理(NLP)已经成为了一个重要的应用领域。本文将介绍一些常见的NLP任务和算法,并通过代码示例来展示如何实现这些任务。我们将讨论文本分类、情感分析、命名实体识别等常见任务,并使用Python和相关库来实现这些任务。最后,我们将探讨NLP在未来的发展趋势和挑战。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
256 1
|
4月前
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller

热门文章

最新文章