这篇文章基于最优传输OT来设计distance函数
paper: https://arxiv.org/pdf/2104.03737.pdf
Motivation
在小样本行为识别方法中,作者分析大致可以分为两种。一种是基于aggregation,即将视频分为若干segment,提取每个segment特征,采用average pooling等方式对segment特征进行聚合得到一个视频级特征,设计一个距离函数,计算unseen类特征到seen类特征距离,得到预测标签;另一种是基于matching的方法,即提取视频的segment特征后,对两个视频的n个segment进行align操作,比如OTAM中采用DTW对齐路径,将对齐损失作为两个视频的距离。
基于aggregation的方法直接采用sum操作将n个特征转化为一个特征,忽略了long-term时间信息;而基于matching的方法采用了严格的对齐函数,损伤了视频的内容特征。因此作者提出结合这两个方法来设计一个distance函数,从而使得既可以保留内容信息又不会忽视时间信息。
相关知识
小样本问题描述
小样本的episodic训练过程,在meta-training阶段从
D
t
r
D^{tr}
Dtr中采样N-way K-shot任务进行训练优化模型;在meta-testing阶段,采样类不相交的N-way K-shot任务计算准确率,target就是在meta-testing阶段,在unseen类上获得高准确率。公式(1) (2) (3)描述该过程,其中
p
(
y
^
j
=
n
∣
x
j
)
p\left(\hat{y}_{j}=n \mid \mathbf{x}_{j}\right)
p(y^j=n∣xj)是unseen类到seen各个类的概率分布,
D
I
S
‾
(
ϕ
(
x
j
)
;
n
)
\overline{\mathrm{DIS}}\left(\phi\left(\mathrm{x}_{j}\right) ; n\right)
DIS(ϕ(xj);n)为两个视频的距离,目标是最小化交叉熵损失。
p ( y ^ j = n ∣ x j ) = exp { − DIS ‾ ( ϕ ( x j ) ; n ) } ∑ n ′ = 1 N exp { − DIS ‾ ( ϕ ( x j ) ; n ′ ) } p\left(\hat{y}_{j}=n \mid \mathbf{x}_{j}\right)=\frac{\exp \left\{-\overline{\operatorname{DIS}}\left(\phi\left(\mathbf{x}_{j}\right) ; n\right)\right\}}{\sum_{n^{\prime}=1}^{N} \exp \left\{- \overline{\operatorname{DIS}}\left(\phi\left(\mathbf{x}_{j}\right) ; n^{\prime}\right)\right\}} p(y^j=n∣xj)=∑n′=1Nexp{−DIS(ϕ(xj);n′)}exp{−DIS(ϕ(xj);n)} (1)
D I S ‾ ( ϕ ( x j ) ; n ) = 1 K ∑ ( x i , y j ) ∈ S t r ∧ y i = n dis ( ϕ ( x i ) , ϕ ( x j ) ) \overline{\mathrm{DIS}}\left(\phi\left(\mathrm{x}_{j}\right) ; n\right)=\frac{1}{K} \sum_{\left(\mathrm{x}_{i}, y_{j}\right) \in \mathcal{S}^{t r} \wedge y_{i}=n} \operatorname{dis}\left(\phi\left(\mathrm{x}_{i}\right), \phi\left(\mathrm{x}_{j}\right)\right) DIS(ϕ(xj);n)=K1∑(xi,yj)∈Str∧yi=ndis(ϕ(xi),ϕ(xj)) (2)
min ϕ ∑ T t r ∼ D t r ∑ ( x j , y j ) ∈ Q t r − log p ( y ^ j = y j ∣ x j ) \min _{\phi} \sum_{\mathcal{T}^{t r} \sim \mathcal{D}^{t r}} \sum_{\left(\mathbf{x}_{j}, y_{j}\right) \in \mathcal{Q}^{t r}}-\log p\left(\hat{y}_{j}=y_{j} \mid \mathbf{x}_{j}\right) minϕ∑Ttr∼Dtr∑(xj,yj)∈Qtr−logp(y^j=yj∣xj) (3)
从公式中可以看出,距离函数的设计会很大程度地影响分类的效率,因此如何设计distance函数,是小样本行为识别的一个关键问题。
Optimal Transform最优传输
最优传输问题定义一个几何来比较度量概率空间上的概率分布,基于我们设定的两种分布的cost matrix,它可以找到两个分布的最佳匹配来最小化传输代价。显然可以用在行为识别中,用于找到两个视频的最小传输代价。
定义1. Transportation Plan
对于两个离散分布
μ
\mu
μ和
ν
\nu
ν(d维概率分布集合),定义
Π
(
μ
,
ν
)
\Pi(\mu, \nu)
Π(μ,ν)为传输三元组的集合,它包含了所有从
μ
\mu
μ到
ν
\nu
ν的合法传输路径。
Π
(
μ
,
ν
)
=
{
T
∈
R
+
d
×
d
∣
T
1
d
=
μ
,
T
⊤
1
d
=
ν
}
\Pi(\mu, \nu)=\left\{\mathbf{T} \in \mathbb{R}_{+}^{d \times d} \mid \mathbf{T} 1_{d}=\mu, \mathbf{T}^{\top} \mathbf{1}_{d}=\nu\right\}
Π(μ,ν)={T∈R+d×d∣T1d=μ,T⊤1d=ν} (4)
定义2. Optimal Transport
给定一个代价矩阵 C ∈ R d × d \mathbf{C} \in \mathbb{R}^{d \times d} C∈Rd×d,使用传输路径 T \mathbf{T} T从 μ \mu μ到 ν \nu ν的总代价可以定义为 ⟨ T , C ⟩ \langle\mathbf{T}, \mathbf{C}\rangle ⟨T,C⟩。 μ \mu μ到 ν \nu ν之间的距离就定义为一个OT问题。
η
C
≜
min
T
∈
Π
(
μ
,
ν
)
⟨
T
,
C
⟩
\eta_{\mathrm{C}} \triangleq \min _{\mathrm{T} \in \Pi(\boldsymbol{\mu}, \boldsymbol{\nu})}\langle\mathbf{T}, \mathbf{C}\rangle
ηC≜minT∈Π(μ,ν)⟨T,C⟩ (5)
公式(5)是经典的最优运输问题,但是解决这个问题在计算上很昂贵。向传输对象
T
{\mathbf{T}}
T添加熵正则化可以得到一个平滑版本的OT问题,从而使得目标函数为严格凸函数,有高效的算法对其求解。
定义3. Sinkhorn Distance
定义 T {\mathbf{T}} T的熵为 H ( T ) = − ∑ i = 1 d ∑ j = 1 d T i j log ( T i j ) \mathcal{H}(\mathrm{T})=-\sum_{i=1}^{d} \sum_{j=1}^{d} \mathrm{~T}_{i j} \log \left(\mathrm{T}_{i j}\right) H(T)=−∑i=1d∑j=1d Tijlog(Tij),通过使用OT问题的一个平滑版本,得到了Sinkhorn Distance。
η C λ ≜ min T ∈ Π ( μ , ν ) ⟨ T , C ⟩ − 1 λ H ( T ) \eta_{\mathrm{C}}^{\lambda} \triangleq \min _{\mathrm{T} \in \Pi(\mu, \nu)}\langle\mathrm{T}, \mathrm{C}\rangle-\frac{1}{\lambda} \mathcal{H}(\mathrm{T}) ηCλ≜minT∈Π(μ,ν)⟨T,C⟩−λ1H(T) (6)
定义3. Sinkhorn Algorithm
定义矩阵
G
=
e
x
p
(
−
λ
C
)
{\mathbf{G}}=exp(-\lambda\mathbf{C})
G=exp(−λC)作为
λ
C
\lambda\mathbf{C}
λC的组成元素,公式(6)的最优
T
∗
{\mathbf{T}^*}
T∗可以转换为公式(7)。
T
⋆
=
diag
(
u
)
G
diag
(
v
)
\mathbf{T}^{\star}=\operatorname{diag}(\mathbf{u}) \mathbf{G} \operatorname{diag}(\mathbf{v})
T⋆=diag(u)Gdiag(v) (7)
其中u和v是由迭代算法得到,
u
←
μ
⊘
(
G
v
)
,
v
←
ν
⊘
(
G
⊤
u
)
\mathbf{u} \leftarrow \boldsymbol{\mu} \oslash(\mathbf{G} \mathbf{v}), \mathbf{v} \leftarrow \boldsymbol{\nu} \oslash\left(\mathbf{G}^{\top} \mathbf{u}\right)
u←μ⊘(Gv),v←ν⊘(G⊤u)
方法
首先采用3D卷积提取特征,将输入 x = [ x 1 , ⋯ , x m , ⋯ , x M ] \mathbf{x}=\left[\mathrm{x}^{1}, \cdots, \mathrm{x}^{m}, \cdots, \mathrm{x}^{M}\right] x=[x1,⋯,xm,⋯,xM]编码为 [ ϕ ( x 1 ) , ⋯ , ϕ ( x m ) , ⋯ , ϕ ( x M ) ] \left[\phi\left(\mathrm{x}^{1}\right), \cdots, \phi\left(\mathrm{x}^{m}\right), \cdots, \phi\left(\mathrm{x}^{M}\right)\right] [ϕ(x1),⋯,ϕ(xm),⋯,ϕ(xM)]。
content distance
用OT方法,首先需要定义 μ \mu μ和 ν \nu ν,作者采用视频在segment上的分布作为 μ \mu μ、 ν \nu ν,然后使用Sinkhorn Distance测量两个视频的差异。使用公式(8)和(9)计算两个视频 x 1 {x_1} x1和 x 2 {x_2} x2的语义距离, μ 1 \mu_1 μ1、 μ 2 \mu_2 μ2为一个M维的随机分布,采用欧氏距离计算segment距离。
dis S E ( x 1 , x 2 ) = min T ∈ Π ( μ 1 , μ 2 ) ⟨ T , C S E ⟩ − 1 λ H ( T ) \operatorname{dis}^{\mathrm{SE}}\left(\mathrm{x}_{1}, \mathrm{x}_{2}\right)=\min _{\mathrm{T} \in \Pi\left(\boldsymbol{\mu}_{1}, \boldsymbol{\mu}_{2}\right)}\left\langle\mathbf{T}, \mathbf{C}^{\mathrm{SE}}\right\rangle-\frac{1}{\lambda} \mathcal{H}(\mathbf{T}) disSE(x1,x2)=minT∈Π(μ1,μ2)⟨T,CSE⟩−λ1H(T) (8)
C p q S E = ∥ ϕ ( x 1 p ) − ϕ ( x 2 q ) ∥ 2 , ∀ p , q ∈ [ M ] \mathrm{C}_{p q}^{\mathrm{SE}}=\left\|\phi\left(\mathrm{x}_{1}^{p}\right)-\phi\left(\mathrm{x}_{2}^{q}\right)\right\|_{2}, \forall p, q \in[M] CpqSE=∥ϕ(x1p)−ϕ(x2q)∥2,∀p,q∈[M] (9)
dis S E ( x 1 , x 2 ) \operatorname{dis}^{\mathrm{SE}}\left(\mathrm{x}_{1}, \mathrm{x}_{2}\right) disSE(x1,x2)即为两个视频内容上的距离,还要考虑两个视频的order距离。
temporal distance
positional Cost Matrix:考虑long-term关系的目的是确保视频1中的segment被映射到视频2的segment的邻近位置,这可以用来区分一些对顺序敏感的动作。作者定义了一个positional cost matrix C P O {\mathbf{C}^{PO}} CPO,它的值随着相关位置距离 ( p M − q M ) 2 \left(\frac{p}{M}-\frac{q}{M}\right)^{2} (Mp−Mq)2的增加而增加。和公式(8)类似,可以定义两个视频的位置距离为公式(11)。可以看出 C P O {\mathbf{C}^{PO}} CPO通过给距离远的片段分配更大的运输成本,来实现对视频顺序的软调整。
C p q P O = exp { − 1 σ 2 1 ( p M − q M ) 2 + 1 } , ∀ p , q ∈ [ M ] \mathbf{C}_{p q}^{\mathrm{PO}}=\exp \left\{-\frac{1}{\sigma^{2}} \frac{1}{\left(\frac{p}{M}-\frac{q}{M}\right)^{2}+1}\right\}, \forall p, q \in[M] CpqPO=exp{−σ21(Mp−Mq)2+11},∀p,q∈[M] (10)
dis P O ( x 1 , x 2 ) = min T ∈ Π ( μ 1 , μ 2 ) ⟨ T , C P O ⟩ − 1 λ H ( T ) \operatorname{dis}^{\mathrm{PO}}\left(\mathbf{x}_{1}, \mathbf{x}_{2}\right)=\min _{\mathbf{T} \in \Pi\left(\boldsymbol{\mu}_{1}, \boldsymbol{\mu}_{2}\right)}\left\langle\mathbf{T}, \mathbf{C}^{\mathrm{PO}}\right\rangle-\frac{1}{\lambda} \mathcal{H}(\mathbf{T}) disPO(x1,x2)=minT∈Π(μ1,μ2)⟨T,CPO⟩−λ1H(T) (11)
CMOT
根据前面计算得到的语义距离和时序距离,定义两个视频的距离为:
dis ( x 1 , x 2 ) = dis S E ( x 1 , x 2 ) + α dis P O ( x 1 , x 2 ) \operatorname{dis}\left(\mathrm{x}_{1}, \mathrm{x}_{2}\right)=\operatorname{dis}^{\mathrm{SE}}\left(\mathrm{x}_{1}, \mathrm{x}_{2}\right)+\alpha \operatorname{dis}^{\mathrm{PO}}\left(\mathrm{x}_{1}, \mathrm{x}_{2}\right) dis(x1,x2)=disSE(x1,x2)+αdisPO(x1,x2) (12)
通过一个矩阵的点积操作,还可以将公式(12)写为:
dis
(
x
1
,
x
2
)
=
min
T
∈
Π
(
μ
1
,
μ
2
)
⟨
T
,
C
⟩
−
1
λ
H
(
T
)
s.t.
C
=
C
S
E
+
α
C
P
O
\begin{aligned} \operatorname{dis}\left(\mathbf{x}_{1}, \mathbf{x}_{2}\right) &=\min _{\mathbf{T} \in \Pi\left(\boldsymbol{\mu}_{1}, \boldsymbol{\mu}_{2}\right)}\langle\mathbf{T}, \mathbf{C}\rangle-\frac{1}{\lambda} \mathcal{H}(\mathbf{T}) \\ \text { s.t. } & \mathbf{C}=\mathbf{C}^{\mathrm{SE}}+\alpha \mathbf{C}^{\mathrm{PO}} \end{aligned}
dis(x1,x2) s.t. =T∈Π(μ1,μ2)min⟨T,C⟩−λ1H(T)C=CSE+αCPO (13)
结合前面小样本的N-way K-shot的公式,最终CMOT的模型表示为:
min
ϕ
∑
T
t
r
∼
D
t
r
∑
(
x
j
,
y
j
)
∈
Q
t
r
−
log
p
(
y
^
j
=
y
j
∣
x
j
)
s.t.
dis
(
x
i
,
x
j
)
=
min
T
∈
Π
(
μ
i
,
μ
j
)
⟨
T
,
C
⟩
−
1
λ
H
(
T
)
C
=
C
S
E
+
α
C
P
O
\begin{array}{ll}\min _{\phi} & \sum_{\mathcal{T}^{t r} \sim \mathcal{D}^{t r}} \sum_{\left(\mathbf{x}_{j}, y_{j}\right) \in \mathcal{Q}^{t r}}-\log p\left(\hat{y}_{j}=y_{j} \mid \mathbf{x}_{j}\right) \\ \text { s.t. } & \operatorname{dis}\left(\mathbf{x}_{i}, \mathbf{x}_{j}\right)=\min _{\mathbf{T} \in \Pi\left(\boldsymbol{\mu}_{i}, \boldsymbol{\mu}_{j}\right)}\langle\mathbf{T}, \mathbf{C}\rangle-\frac{1}{\lambda} \mathcal{H}(\mathbf{T}) \\ & \mathbf{C}=\mathbf{C}^{\mathrm{SE}}+\alpha \mathbf{C}^{\mathrm{PO}}\end{array}
minϕ s.t. ∑Ttr∼Dtr∑(xj,yj)∈Qtr−logp(y^j=yj∣xj)dis(xi,xj)=minT∈Π(μi,μj)⟨T,C⟩−λ1H(T)C=CSE+αCPO (14)
实验
数据集:HMDB51、UCF101、SM2SM
总结
作者基于最优传输问题OT,重定义了小样本中的距离函数,同时考虑了视频的语义信息和时序信息,最后取得了SOTA。
1、定义了Semantic distance和positional distance
2、基于视频在segment上的分布计算positional distance,通过对相距远的片段施加更大传输代价实现一个排序的软调整。