请你说说CNN,RNN,LSTM,Transformer之间的优缺点

解题思路

CNN概念:

传统意义上的多层神经网络是只有输入层、隐藏层、输出层,其中隐藏层的层数按需决定。而卷积神经网络CNN,在传统的多层神经网络基础上,全连接层前面加入了部分连接的卷积层、激活层和池化层操作,使得实际应用场景中能够构建更加深层、功能更强大的网络。

CNN优点:

CNN主要用于识别位移、缩放及其它扭曲不变性的二维图形。由于CNN的特征检测层通过训练数据进行学习,所以能够避免显示的特征抽取,隐式地从训练数据中进行学习。另外,CNN局部权重共享的结构可以使得网络并行学习,较好的处理高维数据,更接近于实际的生物神经网络,

CNN缺点:

(1)当网络层数太深时,采用反向传播调整内部参数会使得接近于输入层的变化较慢;(2)采用梯度下降进行迭代时很容易使得训练结果收敛于局部最优而非全局最优;

(3)池化层会丢失一定的有价值信息,忽略了局部与整体之间的关联性;

(4)特征提取的物理含义不是十分明确,导致可解释性一般。

RNN优点:

传统网络无法结合上下文去训练模型,导致对于序列特性数据场景的处理效果不佳,而RNN结构决定了其具有了短期记忆性,每一时刻隐藏层信息不仅由该时刻的输入层决定,还可以由上一时刻的隐藏层决定,做到挖掘数据张红的时序信息以及语义信息。

RNN缺点:

随着网络层数增加,RNN在长序列场景处理时会出现梯度消失或梯度爆炸的弊端(反向传播算法局限性导致)。

LSTM优点:

LSTM通过引入包含了遗忘门、输入门、输出门的cell状态的结构改善了RNN中存在的长期依赖问题,并且其表现通常比时间递归神经网络和隐马尔科夫模型更好,而LSTM本身也可以作为复杂的非线性单元构造更大型深度网络。

LSTM缺点:

梯度问题在LSTM中得到了一定程度的优化解决,但是并没有彻底搞定,在处理N量级的序列有一定效果,但是处理10N或者更长的序列依然会暴露,另外,每一个LSTM的单元节点都意味着有4个全连接层,如果时间序列跨度较大,并且网络较深,会出现计算量大和耗时偏多的问题。

Transformer优点:

(1)突破了RNN模型不能并行计算的限制;

(2)相比CNN,计算两个位置之间的关联所需要的操作次数不会随着距离的增长而增加;

(3)attention机制可以产生更具可解释性的模型,可以从模型中检查attention分布,各个attention head可以学会执行不同的任务。

Transformer缺点:

(1)局部信息的获取不如RNN和CNN强;

(2)位置信息编码存在问题,因为位置编码在语义空间中并不具备词向量的可线性变换,只是相当于人为设计的一种索引,所以并不能很好表征位置信息;

(3)由于transformer模型实际上是由残差模块和层归一化模块组合而成,并且层归一化模块位于两个残差模块之间,导致如果层数较多时连乘计算会使得顶层出现梯度消失问题。

收起解题思路

腾讯百度小米集团网易京东滴滴字节跳动薪人薪事科大讯飞顺丰集团海康威视恒生电子快手微众银行贝壳找房一加手机云从科技大宇无限

上一题

下一题

  • 讨论区

表情

正在上传…重新上传取消

SandraWang

2022-04-15 02:54 1楼

局部和全局的关系

0 0

正在上传…重新上传取消

牛客197542472号

2022-06-07 21:13 2楼

CNN优点:局部权值共享,平移不变性可以更好提取特征以及处理高维数据;缺点:网络过深时其梯度回传变化相对于输入往往很小,出现梯度消失或爆炸的情况;解释性一般 RNN优点:相比于CNN,RNN结合序列上的时序上下文来提取特征,但是在处理序列数据时没有进行信息的过滤,在稍长序列中就会出现梯度消失、爆炸的情况 LSTM优点:LSTM经过使用全连接层设计遗忘门、输出门、输入门来过滤信息,使得在长序列数据中表现较好。但是在时间跨度非常大的序列数据中,会出现计算复杂和耗时偏多的问题 Transformer优点:相比于RNN,可以直接并行计算序列数据,计算的Attention也更有解释性,可以为不同的头分配不同的任务。虽然全局信息可以捕捉,但是不如CNN捕捉局部信息来的好,而且其位置编码的语义问题也很困扰,最后在Transformer内部堆叠残差层和BN层过多时,顶部会出现梯度消失的问题

10 0

正在上传…重新上传取消

黑VS白-晴岚

2022-07-31 16:48 3楼

CNN优点: CNN主要用于识别位移、缩放及其它扭曲不变性的二维图形。由于CNN的特征检测层通过训练数据进行学习,所以能够避免显示的特征抽取,隐式地从训练数据中进行学习。另外,CNN局部权重共享的结构可以使得网络并行学习,较好的处理高维数据,更接近于实际的生物神经网络, CNN缺点: (1)当网络层数太深时,采用反向传播调整内部参数会使得接近于输入层的变化较慢;(2)采用梯度下降进行迭代时很容易使得训练结果收敛于局部最优而非全局最优; (3)池化层会丢失一定的有价值信息,忽略了局部与整体之间的关联性; (4)特征提取的物理含义不是十分明确,导致可解释性一般。 RNN优点: 传统网络无法结合上下文去训练模型,导致对于序列特性数据场景的处理效果不佳,而RNN结构决定了其具有了短期记忆性,每一时刻隐藏层信息不仅由该时刻的输入层决定,还可以由上一时刻的隐藏层决定,做到挖掘数据张红的时序信息以及语义信息。 RNN缺点: 随着网络层数增加,RNN在长序列场景处理时会出现梯度消失或梯度爆炸的弊端(反向传播算法局限性导致)。 LSTM优点: LSTM通过引入包含了遗忘门、输入门、输出门的cell状态的结构改善了RNN中存在的长期依赖问题,并且其表现通常比时间递归神经网络和隐马尔科夫模型更好,而LSTM本身也可以作为复杂的非线性单元构造更大型深度网络。 LSTM缺点: 梯度问题在LSTM中得到了一定程度的优化解决,但是并没有彻底搞定,在处理N量级的序列有一定效果,但是处理10N或者更长的序列依然会暴露,另外,每一个LSTM的单元节点都意味着有4个全连接层,如果时间序列跨度较大,并且网络较深,会出现计算量大和耗时偏多的问题。 Transformer优点: (1)突破了RNN模型不能并行计算的限制; (2)相比CNN,计算两个位置之间的关联所需要的操作次数不会随着距离的增长而增加; (3)attention机制可以产生更具可解释性的模型,可以从模型中检查attention分布,各个attention head可以学会执行不同的任务。 Transformer缺点: (1)局部信息的获取不如RNN和CNN强; (2)位置信息编码存在问题,因为位置编码在语义空间中并不具备词向量的可线性变换,只是相当于人为设计的一种索引,所以并不能很好表征位置信息; (3)由于transformer模型实际上是由残差模块和层归一化模块组合而成,并且层归一化模块位于两个残差模块之间,导致如果层数较多时连乘计算会使得顶层出现梯度消失问题。

2 0

正在上传…重新上传取消

牛客998334672号

2022-10-13 12:56 北京 4楼

CNN的概念: 1、CNN是一卷积神经网络,包含隐藏层,输入层,输出层,他的隐藏层数是有实际的需求所决定的 2、CNN是在原始的神经网络上,新增了卷积层,池化层,激活层,让CNN可以在实际业务场景中应用性更高 优点: 1、CNN可以用于处理位移、不变形、缩放的二维图像 2、由于CNN是通过数据训练而生成的,能够避免显示特征的抽取,而通过隐式通过训练数据中学习 3、CNN支持通过局部权重结构可以使网络可以并行学习,更加贴合真实的生物神经网络 缺点: 1、层数太多;层数太多容易在进行反向影响的时候对输入层的处理时间过长 2、池化层:池化层容易导致某些值的损失,脱离了局部和整体的联系 3、局部最优:在进行梯度下降的时候,容易找的是局部最优而不是全局最优 4、特征抽取的物理解释不是很强, 可解释性一般 RNN的概念: 1、RNN是随机神经网络 优点: 1、他的优点是可以和原始的神经网络不同,支持联系上下文的功能,在进行数据训练的时候,可以考虑和上一层隐藏层的沟通 缺点: 1、随着层数的增加,容易导致梯度爆炸或者梯度消失的情况 2、不能并行计算 LSTM: 长短期记忆(LSTM)单位是递归神经网络(RNN)的单位 优点: 1、优化了RNN模型的弱点,通过引入遗忘门,输入门,输出门的cell状态的结构优化了RNN长期存在的一些问题 2、LSTM自己本身也可以作为非线性的单元构建更大型的神经网络 缺点: 1、梯度问题得到了一定的优化,但是并不是直接解决 2、在处理N程度的数据下还行,但是处理到10N程度的话就会有问题 3、当网络深度较深的时候,数据处理消耗的时间和计算量会增加 Transformer: 优点: 1、对比RNN,可以解决不能并行计算的问题 2、对比CNN,不会因为数据量变大,导致计算次数因为距离的问题而增加 3、由于其本身attention的机制,产生的结果更具有解释性 缺点: 1、局部信息的获取不如RNN和CNN 2、位置信息编码存在问题,因为位置编码在语义空间中并不具备词向量的可线性变换 3、当层数过多的时候,容易出现梯度消失的情况

你可能感兴趣的:(算法,lstm,rnn,cnn)