绪论
TCN, Temporal Convolutional Network,时间卷积网络,是一种能够处理时间序列数据的网络结构,论文还评为 2018年10大论文。
1. 模型
输入:
x 0 , x 1 , . . . , x t {x_0, x_1,..., x_t} x0,x1,...,xt
输出:
y 0 , y 1 , . . . , y t {y_0, y_1,..., y_t} y0,y1,...,yt
根据输入序列,推断新的可能信息是什么,使用评判机制去评价预测效果的好坏,比如普通全连接层会使用MSE作为损失函数。
m i n L ( y 0 , . . . , y t , f ( x 0 , . . . , x t ) ) min \;L(y_0,...,y_t, f(x_0,..., x_t)) minL(y0,...,yt,f(x0,...,xt))
下面来看看TCN的模型结构图



可以看出,TCN使用 空洞卷积核(dilated convolutions)来解决获取整个序列的全局信息,并且设置了 残差结构 Residual block。
1.1 空洞卷积核
空洞卷积核使用公式描述:
F ( s ) = ∑ i = 0 k − 1 f ( i ) ⋅ x s − d ⋅ i F(s) = \sum\limits^{k-1}_{i=0} {f(i) \cdot \mathbf x_{s - d \cdot i}} F(s)=i=0∑k−1f(i)⋅xs−d⋅i
1.2 残差连接
公式描述:
o = A c t i v a t i o n ( x + F ( x ) ) o = Activation(\rm x + \mathscr{F}(x)) o=Activation(x+F(x))
2. 总结
网络结构特点:
(1)并行性
由于CNN每一层使用相同的卷积核,因此一个长序列输入可以用TCN并行处理
(2) 灵活的感受视野
比如改变卷积核的参数,容易控制模型的记忆大小;
(3)固定的梯度
(4) 更小的内存训练
(5)可变的输入长度
个人感想,这个TCN还是不明白为什么这麽有效,难道使用空洞卷积核扩大模型对全局的视野吗。
最近开通了个公众号,主要分享深度学习相关内容,推荐系统,风控等算法相关的内容,感兴趣的伙伴可以关注下。

公众号相关的学习资料会上传到QQ群596506387,欢迎关注。
参考:
- 论文详解 blog;
- 原论文;
- github model;
















