Self-Mutual Distillation Learning for Continuous Sign Language Recognition
2021 ICCV
CSLR 典型网络组合:空间和短时间信息为重点的视觉模块+长时间为信息的上下文模块+CTC loss 训练网络
问题1:由于反向传播中链规则的限制,视觉模块难以调整来寻找最优解的视觉特征,因此,它强制了上下文模块只关注上下文信息优化,而不是平衡有效的视觉信息和上下文信息
解决方法:提出自交互蒸馏学习(SMKD)方法
视觉模块和上下文模块共享分类器的权重,并接受CTC loss 训练。
问题2:CTC 中spike现象
解决方法:加入gloss segmentation
SMKD方法概述:
流程图:
2D-CNN + 1D-CNN 进行视觉提取,得到局部视觉特征LVFs,BiLSTM 进行上下文集成,得到全局上下文特征GCF,然后两个模块共享各自分类器的权重,并同时接受CTC和gloss 分割的训练。
Sharing the Weight Matrix
可以减小模型中的参数,同时还能减少计算量,指导视觉模块和上下文模块进行特征学习,缓解过拟合问题。
1)LVF vc 和GCF gc 通过两个虚拟分类器Cv 和Cg产生预测,应保持相同的趋势即,|| Cg(cg)-Cv(cv)|| -> 0;
可以强制视觉模块加强视觉特征提取,并限制上下文模块更多的关注短期时空信息。
2)两个模块可以视为两个学生网络,共享一个通用的权值矩阵,以平衡两个模块,进行特征学习。
Gloss Segment Boundary Assignment
这个图展示的是CTC 的尖峰效应, 就是CTC 预测有效伪标签的帧数少。 x 轴是时间轴代表一段视频的帧数, 看这个 “几”字形 的顶端那一横,越宽说明有效帧越多,就越不尖峰。 尖峰说明有效帧少。
提出了GSBA算法:是通过CTC 预测伪标签, 把有效帧看作anchor(锚), 计算[anchor-d,anchor+d]范围内所有帧与anchor的余弦相似度, 相似度高的帧的类别也看做 anchor的类别。
Optimization Approach
1) 共享视觉模块和上下文模块的权重矩阵,使它们更关注短期时间信息;
2) 为视觉模块添加gloss segmentation的任务,提高短期时间信息的利用率;
3) 解耦权重矩阵,使上下文模块关注长期时间信息。
原文链接:
Hao_Self-Mutual_Distillation_Learning_for_Continuous_Sign_Language_Recognition_ICCV_2021_paper.pdf