代码拉取完成,页面将自动刷新
CNN(卷积神经网络)和Transformer(自注意力机制神经网络)
首先CNN和Transformer都是目前深度学习领域非常重要且常用的两种神经网络模型,两者因为原理不同,所以各自所擅长处理的数据不同,各自所擅长的领域也就不同。下面简单讲解一下两者的原理,用途,以及对比。
CNN(卷积神经网络)原理:
CNN的核心是卷积层和池化层,其中卷积层可以提取图像中的特征数据,而池化层则可以对提取到的特征数据进行降维处理,使得最后需要处理的特征数据更少,可以明显提高计算效率,最后经过多层卷积池化后的只保留重要特征的数据进入到全连接层,根据不同期望和目的输出结果,在模型训练过程中则需要评判输出结果与期望结果的符合程度,从而反馈调节模型的精度。
以一张图片为例,我们知道图片都是由一个个像素点构成,而这些像素点又可以用RGB三个参数和位置信息等其他一些参数来表示,所以一张计算机能够识别的图片本质上就是一个像素点矩阵。如果使用传统的全连接神经网络模型对所有的像素点进行识别处理,那么计算量将会非常之大,况且数据量太大也会造成过拟合。
这个时候卷积层和池化层就能发挥至关重要的作用,我们可以把卷积层比作一个带有过滤功能的扫描器或者是筛子,它会按照按照特定的目的和规律扫描整个图像数据,过滤出一些重要的特征数据,比如图像边缘点,像素突变点,相对位置等数据,传递到下一步池化层,而池化层可以比作是更细一级的筛子,筛选出更加需要,或者更具代表性的特征数据传递到下一层,到全连接层需要处理的数据就更少了,参数更少,需要的算力更小,效率更高。最后再根据不同的目的实现图像的识别,图像切分等更加智能化的功能。
CNN的用途:
基于CNN的原理特性,它更加适合处理一些图像数据,视频数据,视频的本质也是由一帧一帧的图像构成。目前它已广泛应用与人脸识别,物体识别,图片搜索,AI换脸,视频分类,行为识别,动作检测,自动驾驶等领域。就python而言,可以使用TensorFlow和PyTorch来搭建CNN深度学习模型。
Transformer的原理:
Transformer是一种基于自注意力机制的深度学习神经网络,最初由谷歌提出。刚开始被应用于机器翻译任务,后来被广泛的应用于NLP自然语言处理领域。
关于它的原理,核心在于自注意力机制,就像我们人脑对于问答对话的原理类似,我们只需要关注对方所问的内容,然后根据上下文,前后关联找出问题的侧重点,再基于这个侧重点做出关联度更高,更满意,更准确的答复。
Transformer也是如此,由于计算机不能直接理解自然语言的含义,所以模型需要先将输入文本数据经过encoder编码器转换成计算机能够识别和处理的词向量或者token值,同时经过特定计算也会保留各个词之间的上下文位置信息。再通过自注意力机制计算出每个输入向量与其他向量的相似度,关联程度等信息,进而为每个输入向量分配关注度权重,同时Transformer还引入了多头注意力机制,意味着它可以按照不同的方式和目的并行的计算得出多种类型的注意力权重,大大提升计算效率,从而更好的。最后将编码计算后的数据整合传递给后面的decoder解码器,进行
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。