起薪4万,百度AI产品&研发必懂深度学习实现原理框架(下)
共 3325字,需浏览 7分钟
·
2023-08-03 23:19
这是求职产品经理系列的第172篇文章
上一篇文章我们深度讲解了人工神经网络的基础知识以及卷积神经网络(CNN)。
人工神经网络和卷积神经网络在深度学习领域都占有一席之地,但它们识别的都是独立的事件。
比如卷积神经网络非常擅长识别独立的图像,如果让它识别一百张照片,输出的结果互相不受任何影响,但是让它识别或者预测一句连续的话,比如理解一个寓言故事或者翻译一段英文,可能就没有这么好的效果了。
可是在现实生活中,我们会遇到很多连续的事件,比如“小明每次去超市都会买很多苹果,因为他最喜欢吃( )”,联系上下文,我们都可以很容易推测出括号里应该是“苹果”这个词,因为括号前的“吃”字是一个动词,动词后面经常跟着的是名词,而这个句子中的名词只有“苹果”最合适。
为了能够识别这些连续性很强的事件,弥补人工神经网络和卷积神经网络的不足,RNN模型诞生了。
2.2 RNN
RNN的全称是recurrent neural network,也就是循环神经网络。对循环神经网络的研究最早出现于20世纪80年代末,由几位神经网络专家提出,该模型经常用于时序信号(如语音)的识别和理解。
循环就是重复的意思,循环神经网络模型在运行时会对同一个序列进行循环重复的操作。
序列是被排成一列的对象,序列中的元素相互依赖,排列顺序非常重要,比如时序数据、对话等,一旦顺序错乱,含义和作用都会发生巨大改变。
循环神经网络解决了卷积神经网络不能很好地识别连续性事件的问题,在深度学习领域发挥着不可替代的作用。
循环神经网络之所以能对连续性事件进行识别,是因为它不仅将当前的输入数据作为网络输入,还将之前感知到的数据一并作为输入。
根据记忆的长短,从第一层开始,将激活传递到下一层,以此类推,最后得到输出结果。
如下图所示,表示的就是一个循环神经网络的示意图,它由输入层、隐藏层和输出层三部分组成。
循环就发生在隐藏层。隐藏层里一般会设置一个特定的预测函数,当我们向循环神经网络模型输入一个连续性事件后,在隐藏层的这个函数就会进行运算,这个运算结果又可以作为输入进入隐藏层再一次进行运算。
如此这般,就形成了一个不断循环的预测,这个预测既与新输入的数据有关,也取决于每一次循环的输入。
连续性数据在日常生活中出现的频率之高决定了循环神经网络有着广泛的应用空间。
例如,我们可以依靠循环神经网络预测一句话中的下一个词语或一篇文章中的下一句话是什么,以此来生成文本,写稿机器人就可以基于循环神经网络来实现这一点。
循环神经网络模型还可以将文本翻译成其他的语言,所以也广泛用于机器翻译。
循环神经网络的另一个常见应用是语音识别,我们现在使用的很多智能语音助手都应用了循环神经网络。
随着经济的发展,股票市场的规模不断扩大,股票的价格波动也存在一定的规律,而循环神经网络在股市预测方面有先天的优势,大量股市历史数据的积累使得循环神经网络可以习得股价的走势规律,根据前一段时间的股价波动情况大致预测出之后的股价走势。
比如,循环神经网络发现,某只股票价格连续下跌超过七天,之后就会缓慢上涨,并且在很长一段时间内这只股票的价格都呈现出这个规律,那么当这只股票的价格再一次持续下跌,下跌的第七天就是股民买入的最好时机。
实践证明,循环神经网络对于股价的预测能够较好地拟合真实数据,具有很高的应用价值。
循环神经网络还可以有效地进行文本识别。以电商领域为例,如何结合用户的主观评价正确评估商品质量以及商家等级成为一个亟待解决的问题。
在循环神经网络的文本识别功能的帮助下,我们可以很好地解决这个问题。在循环神经网络分析评论的过程中,最重要的一个步骤是对用户的主观评价进行处理,即通过循环神经网络分析用户的商品评论,再将其转化为对商家的等级评价。
比如,循环神经网络识别出不同的商家同时在售卖同一种商品,但在商品质量方面,商家甲的好评数远远高于商家乙,那么在这一方面,商家甲的等级评价就会高于商家乙。
影响商家等级评价的因素还有很多,比如服务态度、发货速度,以及商品与描述相符度等,将这些因素全部考虑在内,就会形成一个全面的商家等级评价。
循环神经网络在商家评价方面的应用使用户不会被大量的商品信息以及主观评价迷惑,更容易找到符合自身需求并且质量上乘的商品。
2.3 GAN
GAN的全称是generative adversarial networks,即生成式对抗网络。
由伊恩·古德费洛(Ian Goodfellow)等人在2014年提出,此后各种花式变体,如CycleGAN、StyleGAN等层出不穷,在“换脸”“换衣”等场景下生成的图片和视频足以以假乱真。
2020年,PaddleGAN实现的表情迁移模型能用一张照片生成一段唱歌视频,使“蚂蚁呀嘿”等各种搞笑视频火遍全网。
接下来,我们来了解什么是生成式对抗网络。
生成式对抗网络是基于无监督学习方法的一种模型,即通过两个神经网络相互博弈的方式进行学习,这两个神经网络一个是生成网络,另一个是判别网络。
生成网络从潜在空间中随机取样作为输入,如下图所示,生成网络接收噪声向量,再将这个噪声向量转换为虚拟数据,其输出结果需要尽量模仿训练集中的真实样本,然后将虚拟数据发送到判别网络进行分类。
而判别网络的输入则为真实样本和生成网络的输出结果,其工作是将生成网络的输出与真实样本区别开来。两个网络相互对抗、不断调整参数,最终达到生成网络的输出结果与真实样本无二。
通俗来说,GAN的工作原理类似于这样的场景:
一个男生试图拍出摄影师级别的照片,而一个女生要找出照片的瑕疵。这个过程是男生先拍出一些照片,然后由女生分辨出男生拍的照片与摄影师级别的照片的区别。
男生再根据反馈改进自己的拍摄技术和方法,拍出一些新的照片,女生再对这些新照片继续提出修改意见,直到达到均衡状态——女生无法再分辨男生拍的照片与摄影师级别的照片有什么区别。
通过这种方式,GAN能够从多个维度学习到大量无标注数据的特性。以往的模型训练过程,要标注员将输入数据打上标签之后,模型才开始进行学习;而利用生成网络和判别网络之间的相互对抗,GAN可自发学习输入数据的规律,确保生成结果接近训练集中的真实样本,从而实现无标注数据的学习。
其实,GAN和所有的生成式模型都一样,目标就是拟合训练数据的分布,对于图片生成任务来说,就是拟合训练集图片的像素概率分布。
了解了GAN的基本原理,我们看一下GAN的应用领域。
第一,条件生成。GAN可以基于一段文字生成一张图片,或者基于一段文字生成一段视频。
第二,数据增强。GAN可以学习训练集样本的分布,然后进行采样,生成新的样本,我们可以使用这些样本来增强训练集。
第三,风格迁移。GAN可以将一张图片的风格转移到另外一张图片上,这一应用可以被认为是把“风格图片”的风格加入到“内容图片”里,GAN能够很好地从图片中学习到画家的真正风格特征,如下图所示。
如今,深度学习的爆发式增长已经触及了社会生活、产业发展和科学研究的方方面面。
通过深度学习,我们既可以识别图片、预判趋势,又可以优化业务决策,更可以自动生成新的样本和内容。
虽然以深度学习为核心的人工智能与人类认知尚有较大的差距,但作为人类思维的辅助工具,深度学习已经成为现在和未来的必然发展趋势。
最近两篇文章我们分享了CNN、RNN和GAN三个深度学习的模型典型代表,如果有帮助和收获,可以先关注一下公众号,后续我会在公众号分享更多AI相关的算法知识。
如果你最近在看新的机会,也打算求职AI的产品经理,可以加我微信:xuelaoban667,邀请你进入AI求职交流群。
如果想要转行做AI产品经理,但是缺乏项目经验,可以关注我们推出的《AIGC产品经理特训营》,以求职成功为核心目标,4人小班制一对一打磨AIGC项目经验,想要了解详情,可以私信:xuelaoban667