一、Why TCN?
TCN是一种序列建模的方法,适用于时间依赖的问题。
其实TCN只是一维卷积变形之后在时序问题上变得适用。 (TDNN 延时神经网络 + dilated conv 空洞卷积 + residual connection 残差网络)
时序问题有两个关键要求:
1. 网络输入x0, . . . , xT 的时序数据,我们希望输出也是一样大小的 y0, . . . , yT 的预测。扩张卷积可以做到 每一层隐层都和输入序列大小一样,并且 计算量降低,感受野足够大。
2. 时序预测要求对时刻 t 的预测 yt 只能通过 t 时刻之前的输入x1 到 xt-1来判别(像隐马尔科夫链) 。这在CNN里面就叫做因果卷积(causal convolutions)。本质上,是通过限制卷积窗口滑动做到的。
然后,TCN还为了提高准确率,还加入了残差卷积的跳层连接,以及1×1的卷积操作: