10.6.2 比较卷积神经网络、循环神经网络和自注意力

CNN怎么做序列?实际上之前已经接触过了,就是把序列当成没有高只有宽的图片而已
将书上讲的复杂度汇总如下
image

  • CNN
    • 计算复杂度:进行一次卷积计算,由于卷积层大小为\(k\),输入有\(d\)个通道,所以复杂度为\(O(kd)\);由于序列长为\(n\),所以计算完输出的一个通道的时间复杂度为\(O(kdn)\);由于输出有\(d\)个通道,所以时间复杂度为\(O(knd^2)\)
    • 并行度:卷积核在不同空间位置(如序列中的不同时间步或图像中的不同区域)的计算是独立的,可同时进行。例如,对于一个长度为\(n\)的序列,每个位置的卷积操作可以并行处理,因此并行度与序列长度\(n\)成正比。
    • “最长路径”指的是信息从输入到输出所需经过的最大计算步骤数(也就是信息传递所经过的长度)。对于CNN来说,初始序列的长度为\(n\),每次大小减少\(k\),所以最长路径为\(O(n/k)\)。其实也就是感受野
  • RNN
    • 最长路径:第一个词元的信息传递到序列尾部的复杂度当然是\(O(n)\)。提一嘴,像RNN这种时序性很强的模型,记忆时间信息是很强大的,所以需要记忆时间信息的话就可以选择RNN

虽然书上说序列很长的时候自注意力计算会非常慢,但实际上我们可以用很多很多个GPU,所以计算还是很快的;而且自注意力不太会出现RNN之类的问题,所以可以在自注意力上训练长序列

posted @ 2025-03-03 15:09  最爱丁珰  阅读(66)  评论(0)    收藏  举报