卷积神经网络(CNN)、循环神经网络(RNN)和自注意力(self-attention)对比

考虑同一个的问题:将由个词元组成的序列映射到另一个长度相同的序列,其中的每个输入词元或输出词元由维向量表示。

我们将比较能够解决上述问题的三种常用方法:卷积神经网络(CNN)、循环神经网络(RNN)和自注意力(self-attention),从三个维度比较这三种架构:计算复杂度、顺序操作和最大路径长度。

其中,讨论顺序操作是因为顺序操作会妨碍并行计算。任意的序列位置组合之间的路径越短,越能更轻松地学习序列中的远距离依赖关系。

1、卷积神经网络(CNN)

考虑⼀个卷积核⼤⼩为的卷积层。(后续文章中将介绍关于使⽤卷积神经⽹络处理序列的详细信息)⽬前只需要知道的是,由于序列⻓度是,输⼊和输出的通道数量都是,所以卷积层的计算复杂度为。 如图所⽰,卷积神经⽹络是分层的,因此为有个顺序操作,最⼤路径⻓度为。例如,处于图中卷积核⼤⼩为3的双层卷积神经⽹络的感受野内。

2、循环神经网络(RNN)

当更新循环神经⽹络的隐状态时,权重矩阵和维隐状态的乘法计算复杂度为。由于序列⻓度为, 因此循环神经⽹络层的计算复杂度为。根据图,有个顺序操作⽆法并⾏化,最⼤路径⻓度 也是

3、自注意力(self-attention)

在⾃注意⼒中,查询、键和值都是矩阵。考虑缩放的"点-积"注意⼒,其中矩阵乘 以矩阵。之后输出的矩阵乘以矩阵。因此,⾃注意⼒具有计算复杂性。正如在图中所讲,每个词元都通过⾃注意⼒直接连接到任何其他词元。因此,有个顺序操作可以并⾏计算,最⼤路径⻓度也是

4、小结

总⽽⾔之,卷积神经⽹络和⾃注意⼒都拥有并⾏计算的优势,⽽且⾃注意⼒的最⼤路径⻓度最短,但是因为其计算复杂度是关于序列⻓度的⼆次⽅(⾃注意⼒具有计算复杂性),所以在很⻓的序列中计算会⾮常慢。

相关推荐
沅_Yuan2 分钟前
基于RIME-CNN-SVM的多输入单输出回归预测模型【MATLAB】
神经网络·支持向量机·matlab·回归·cnn·svm·rime
Sonhhxg_柒5 分钟前
【LLM】DeepAgents实战教程及DeepResearch代码分析
人工智能·深度学习·语言模型
网上邻居YY21 分钟前
深度学习DL 之 安装PyTorch·GPU版、CUDA(本人Anaconda、Python、PyCharm已提前安装好)
pytorch·经验分享·python·深度学习·pycharm·学习方法
源码之屋27 分钟前
计算机毕业设计:Python天气数据采集与可视化分析平台 Django框架 线性回归 数据分析 大数据 机器学习 大模型 气象数据(建议收藏)✅
人工智能·python·深度学习·算法·django·线性回归·课程设计
bryant_meng35 分钟前
【Reading Notes】(8.11)Favorite Articles from 2025 November
人工智能·深度学习·业界资讯
Spliceㅤ37 分钟前
Transformer
人工智能·深度学习·transformer
杀生丸学AI1 小时前
【4DGS】4C4D:4个摄像头4DGS成像
人工智能·深度学习·三维重建·3dgs·4dgs·动态重建·高斯溅射
盼小辉丶1 小时前
PyTorch实战(41)——Hugging Face在PyTorch中的应用
人工智能·pytorch·深度学习·hugging face
宝贝儿好1 小时前
【LLM】第一章:分词算法BPE、WordPiece、Unigram、分词工具jieba
人工智能·python·深度学习·神经网络·算法·语言模型·自然语言处理
青瓷程序设计1 小时前
基于深度学习的【猫类识别系统】~Python+深度学习+人工智能+算法模型+2026原创+计算机毕设
人工智能·python·深度学习