简而言之,是通过巧妙地设计 conv kernel size 和 stride 叠出来的 receptive field。
wav2vec 的 encoder network 是 5 层带因果卷积的 CNN,每层 kernel sizes 分别为 (10; 8; 4; 4; 4),strides 分别为 (5; 4; 2; 2; 2)。
所以,经过第一个层卷积后:
经过第二层卷积后:
经过第三层卷积后(计算原理同第二层卷积,下同):
经过第四层卷积后:
经过第五层卷积后:
因此,在 16kHz 的采样率(每秒钟采 16k 个点,表示这些时刻传感器采样到的空气振动情况)下,每个第五层神经元可以看到 465/16kHz = 29ms,相邻两个第五层神经元看到的原始输入数据相差 160/16kHz = 10ms,这就是论文里这句话的来源。
The output of the encoder is a low frequency feature representation zi 2 Z which encodes about 30 ms of 16 kHz of audio and the striding results in representations zi every 10ms.
同理,后面还有一句
The context network has nine layers with kernel size three and stride one. The total receptive field of the context network is about 210 ms.
如果你掌握了 receptive field 和 striding 的计算方法,应该也能自己算出来这里的 210ms 是怎么来的了。
公布答案:(465 + 160 * 2 * 9) / 16kHz = 209ms