计算机系统应用教程网站

网站首页 > 技术文章 正文

深度学习三大特征抽取架构—CNN、LSTM、Transformer

btikc 2024-09-06 17:58:09 技术文章 16 ℃ 0 评论

在深度学习领域,针对所解决的问题不一样,其设计的深度学习算法也层出不穷,但是无论设计什么样的算法架构,在截止当前发表这篇文章的时间,都逃不过目前的三大特征抽取CNN、LSTM、Transformer(Attention) 架构,这三种结构在目前的算法架构中可能单独出现,或者组合出现。下面对这三种特征抽取结构进行较为深入剖析。

1.卷积结构

真正意义上的 CNN 卷积网络由 Yann LeCun 1989 年在手写体字符识别《Backpropagation Applied to Handwritten Zip Code》论文中提出,随后在2010 年前后,算力取得突破后,CNN结构开始大面积在计算机视觉中使用,其发展经历了一些经典的网络结构AlexNet、GoogLeNet、VGG、 ResNet。在2015年何凯明提出ResNet,将CNN 这一结构推向顶峰。

在常见的图片处理过程中,往往多个卷积层中间通过下采样,或者激活函数,最后经过一个全连接层,经过softMax 转换为多分类的概率。在实际使用CNN 卷积结构的过程中,需要确定的参数有卷积核大小、输入Channels 个数,输出Channel个数;其中输入卷积核的输入通道数(in Channels)由输入矩阵的通道数所决定。在下图中,RGB 三个通道,所以输入卷积核通道数为3,输出通道数为5,此时由5组 3*3*3 的卷积核。卷积计算,遵循滑动窗口,对应输入块和kernel 块对应元素相乘,然后乘完之后,对应kernel 位置的元素相加。卷积特征抽取参数位于每个卷积核上.

卷积虽然起源于计算机视觉中,但是随后被引入文本处理中,出现了Text-CNN 等结构。

2.LSTM(GRU)序列抽取结构

序列数据在日常中无处不在,时间序列、文本、语音等应用场景无处不在,LSTM 算法由RNN 等算法演变而来,LSTM 由Sepp Hochreiter 和Jürgen Schmidhuber在1997年提出,在新世纪随着算力爆发而大放光彩。具体结构如下:

即每一个时刻计算三个门控值,和一个候选状态j(也叫临时细胞状态),这些门控值都是在取值[0, 1] 的一个D维向量,而非标量。更新的是细胞状态Ct和Ht 两个状态。

LSTM 的输出单元为每个时刻t 输出的ht向量,也就是在Pytorch 中,我们能看到,输入的是x,c0,h0; 最终输出的是在时刻t 的output([h0,h1....,ht]), ct,ht 这样的的数据. 这是相关文章中实际很少讲解的内容,需要大家静心思考。LSTM 之所设计成这样的结构,就是为了解决梯度消失的问题。

3.Transformer Attention 注意力结构

Attention 机制并不是在Transformer 中首次提出使用,其实早在Google 的Seq2Seq 模型中,通过LSTM 结构,就已经引入过Attention 思想,只不过在Transformer 结构中将其发扬光大,而且Transformer 经过近些年的发展,已经成为大语言模型时代AI的底座。

自注意力结构如下:

Transformer 中,通过对输入X 进行线性变换出三个矩阵Q,K,V(待学习参数在线性变换矩阵中),然后Q,K 进行点乘计算,和V 再相乘,通过这种方式达到提取特征的目的,其实思想就是关注需要关注的信息。

总结这篇文章,深度学习发展到2023年的今天,各种AI算法每天都在产生,但是实际深度网络的设计依然没能逃脱这三种范式,设计一个深度学习算法,往往是在这三种范式的基础上,结合激活函数(relu,gelu)、norm 方式(BatchNorm,LayerNorm)、Residual残差连接、线性FC层等基本操作,所以这些基础知识需要牢固掌握。AI领域未来是否有第四种大范围推广的特征抽取架构值得期待,如果有,那必定能像Transformer 架构一样,将AI 发展带入一个新的纪元,谢谢大家!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表