Temporal Convolutional Networks 时序卷积网络 学习笔记

1.  Human Action Recognition using Factorized Spatio-Temporal Convolutional Networks    ICCV2015 

把时序数据的三维卷积分解成先2维空间卷积 (spatial convolutional layer), 再1维的时间卷积(temporal convolutional layers)。

视频片段切割:剪裁数据增强,固定时间段切割。

Vdiff:时间相隔dt的画面之间的diff,以捕捉短程信息。与V的长程信息一起来预测。

ImageNet预训练:2-D空间卷积可以允许使用图片来进行预训练。

SCI based score fusion:多个结果不平均对待,给可信度最高的结果更高的权重来得到更好的结果。

可以参考博客:https://blog.youkuaiyun.com/zzmshuai/article/details/84880257

2. Temporal Convolutional Networks for Action Segmentation and Detection   CVPR2017<

### Temporal Convolutional Networks (TCN) 架构 TCN是一种强大的深度学习架构,能够处理任意长度的输入序列并生成相应长度的输出序列[^1]。这种特性使得TCN网络中可以利用非常深远的历史数据来进行预测。 #### 膨胀卷积与残差连接 为了实现这一目标,TCN采用了膨胀卷积(Dilated Convolutions)以及残差层(Residual Layers)。膨胀卷积允许网络在不增加参数数量的情况下扩大感受野,从而覆盖更长时间范围内的上下文信息。而残差连接则有助于构建更深的网络结构,缓解梯度消失问题,提高训练效率和效果。 ```python import torch.nn as nn class TCNBlock(nn.Module): def __init__(self, n_inputs, n_outputs, kernel_size, stride, dilation, padding, dropout=0.2): super(TCNBlock, self).__init__() self.conv1 = nn.Conv1d(n_inputs, n_outputs, kernel_size, stride=stride, padding=padding, dilation=dilation) self.bn1 = nn.BatchNorm1d(n_outputs) self.dropout1 = nn.Dropout(dropout) self.net = nn.Sequential(self.conv1, self.bn1, nn.ReLU(), self.dropout1) self.downsample = nn.Conv1d( n_inputs, n_outputs, 1) if n_inputs != n_outputs else None self.relu = nn.ReLU() def forward(self, x): out = self.net(x) res = x if self.downsample is None else self.downsample(x) return self.relu(out + res) ``` 此代码片段展示了如何定义一个基本的TCN模块,其中包括了膨胀卷积操作及其后的批标准化、激活函数应用及dropout机制来防止过拟合现象的发生。此外还实现了跳跃链接以支持深层网络的学习过程。 #### 时间维度上的滑动窗口 不同于传统的RNN系列模型依靠递归单元间的状态传递来捕捉时间动态特征的方式,TCN则是通过沿着时间轴方向移动的小型局部滤波器——即所谓的“滑窗”——提取模式。这种方法不仅简化了计算流程而且提高了并行化程度,在实际应用场景下往往能带来更好的性能表现[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值