语义多实例神经网络(Semantic MINN)
论文Semantic modeling of hyperspectral target detection with weak labels
结合对比和稀疏注意力融合机制

在训练中,将高光谱图像划分为数据包,利用 1D-CNN 进行高级光谱特征提取,然后将其传递到稀疏归一化特征学习和融合模块以获得包嵌入。
(1) 对于给定的包对,应用 基于 1D-CNN 的特征提取和 LSTM 语义建模来**学习**丰富且有区别的**光谱特征**。
(2) 设计了基于注意力的稀疏归一化权重计算模块,用于发现隐藏在正包中的关键实例,随后将其用于融合实例特征以获得袋表示。
(3) 通过优化基于度量的特征对比损失来增强这些包嵌入的显著特征,这有助于学习更多的判别性特征
(4) 设计了一种针对融合特征的高效高光谱目标检测器
数据集处理
高光谱数据被分为N个包: B = [B1,B2,…,BN].
第i个包Bi包含ni个实例,每个像素实例的维度为d.
包集合对应的标签为 Y = [Y1, …,Yi, …, YN],Yi∈{0, 1}.
两种包对:正包对和负包对,用于测量不同样本间的相似性及不同包之间的关联

每个菱形代表一个光谱特征(像素实例),红色为目标实例,绿色为非目标实例。负对包含两个具有不同标签的包;正对包含两个具有正标签的袋子,以强调目标实例的共同特征
高光谱数据不平衡:正袋的数量远小于负袋的数量。改变正包中实例的排列以产生多个正包,生成数量相当的正负对,以减轻样本不平衡的影响。
M个新包集: D = {D1, D2, …, DM}, B⊂D.
K个包对集: P = {P1, P2, …, PK},Pk = {Di, Dj}.
包对级标签: L = [L1, L2, …, LK], Lk = 1代表正对,Lk = 0代表负对。
光谱特征提取和语义建模
1D-CNN光谱特征提取

每个数据包的实例由d维转换为 d’ = 128 维的特征向量。
LSTM语义建模
数据包Di经1D-CNN提取得到的特征为Si = {si1, si2, …, sini} ∈ Rd’×ni.
Analogous: 特征向量sij与LSTM模型中的词向量类似。从高光谱特征包**Si**中发现目标实例类似于从句子组中寻找关键词。

在第t个时间步中,S i中的第t个实例s it和之前的时间步的状态h t-1作为当前的输入。LSTM层的隐藏神经元数量设置为d h.
LSTM中的三个门单元(遗忘门、输入门、输出门)可以高效过滤非目标信息,并以细胞状态cj作为信息传递的纽带。
遗忘门:
f
j
=
σ
(
W
f
[
s
j
,
h
j
−
1
]
+
b
f
)
.
f_{j}=\sigma\left(W_{f}\left[s_{j},h_{j-1}\right]+b_{f}\right).
fj=σ(Wf[sj,hj−1]+bf).
输入门(更新门):
p
j
=
σ
(
W
i
n
[
s
j
,
h
j
−
1
]
+
b
i
n
)
,
g
j
=
Tanh
(
W
g
[
s
j
,
h
j
−
1
]
+
b
g
)
,
c
j
=
f
j
∘
c
j
−
1
+
p
j
∘
g
j
.
p_{j}=\sigma(W_{in}[s_{j},h_{j-1}]+b_{in}), \\ g_{j}=\text{Tanh}(W_{g}[s_{j},h_{j-1}]+b_{g}), \\ c_{j}=f_{j}\circ c_{j-1}+p_{j}\circ g_{j}.
pj=σ(Win[sj,hj−1]+bin),gj=Tanh(Wg[sj,hj−1]+bg),cj=fj∘cj−1+pj∘gj.
输出门:
o
j
=
σ
(
W
o
[
s
j
,
h
j
−
1
]
+
b
o
)
,
h
j
=
o
j
∘
Tanh
(
c
j
)
o_{j}=\sigma(W_{o}[s_{j},h_{j-1}]+b_{o}), \\ h_{j}=o_{j}\circ \text{Tanh}(c_{j})
oj=σ(Wo[sj,hj−1]+bo),hj=oj∘Tanh(cj)
其中,符号
∘
\circ
∘表示哈达玛积(Hadamard product),两同阶矩阵对应位置元素相乘,得到新矩阵。
W
=
{
W
f
,
W
i
n
,
W
g
,
W
o
}
W=\lbrace W_{f},W_{in},W_{g},W_{o}\rbrace
W={Wf,Win,Wg,Wo}和
b
=
{
b
f
,
b
i
n
,
b
g
,
b
o
}
b=\lbrace b_{f},b_{in},b_{g},b_{o}\rbrace
b={bf,bin,bg,bo}是可学习的参数。
[
a
,
b
]
[a,b]
[a,b]表示向量串联拼接。
稀疏标准化特征融合
基于L1稀疏正则化注意力学习机制,提出一种更有效的稀疏正则化特征融合方法,以区分正包中最显著的目标信息。
为学习到数据包Di = {di1, di2, …,dini}中每个实例的判别权重,隐藏状态向量集 Hi = [hi1, hi2, …, hini]被输入到一个稀疏正则化的全连接层,输出得到一维稀疏的向量Vi=[vi1, vi2, …, vini],具体的计算公式如下:
v
i
j
=
σ
(
w
c
T
h
i
j
+
b
c
)
,
j
=
1
,
…
,
n
i
.
v_{ij}=\sigma(w_{c}^{T}h_{ij}+b_{c}),\quad j=1,\ldots,n_{i}.
vij=σ(wcThij+bc),j=1,…,ni.
其中,vij表示Di中第j个实例的权重,wc和bc分别表示全连接层的可学习权重和偏置。
之后,注意力权重上执行软收缩:
v
^
i
j
=
max
(
v
i
j
−
λ
,
0
)
,
j
=
1
,
…
,
n
i
.
\hat{v}_{ij}=\text{max}(v_{ij}-\lambda,0),\quad j=1,\ldots,n_{i}.
v^ij=max(vij−λ,0),j=1,…,ni.
其中,
λ
\lambda
λ是稀疏正则化器,来控制注意力权重的稀疏程度。
基于softmax函数做出改进的、能得到更好稀疏注意力效果的归一化融合函数
g
(
⋅
)
g(\cdot)
g(⋅),得到归一化的稀疏注意力权重
Z
i
^
\hat{Z_{i}}
Zi^:
Z
^
i
j
=
g
(
v
^
i
j
)
=
v
^
i
j
∗
exp
(
v
^
i
j
)
∑
j
=
1
n
i
v
^
i
j
∗
exp
(
v
^
i
j
)
,
j
=
1
,
…
,
n
i
.
\hat{Z}_{ij}=g(\hat{v}_{ij})=\frac{\hat{v}_{ij}*\text{exp}(\hat{v}_{ij})}{\sum_{j=1}^{n_{i}}{\hat{v}_{ij}*\text{exp}(\hat{v}_{ij})}},\quad j=1,\ldots,n_{i}.
Z^ij=g(v^ij)=∑j=1niv^ij∗exp(v^ij)v^ij∗exp(v^ij),j=1,…,ni.
最后,包Di的融合特征(即突出目标的特征)表示为稀疏权重
Z
^
i
=
[
z
^
i
1
,
z
^
i
1
,
…
,
z
^
i
n
i
]
\hat{Z}_{i}=[\hat{z}_{i1},\hat{z}_{i1},\ldots,\hat{z}_{in_{i}}]
Z^i=[z^i1,z^i1,…,z^ini]和深度实例特征
S
i
=
{
s
i
1
,
s
i
2
,
…
,
s
i
n
i
}
S_{i}=\lbrace s_{i1},s_{i2},\dots,s_{in_{i}}\rbrace
Si={si1,si2,…,sini}的线性组合:
m
i
=
∑
j
=
1
n
i
Z
^
i
j
∗
S
i
j
.
m_{i}=\sum_{j=1}^{n_{i}}{\hat{Z}_{ij}*S_{ij}}.
mi=j=1∑niZ^ij∗Sij.
判别特征提升
连体网络(Siamese Network)可以解决训练样本不足引起的过拟合问题,并已广泛用于分类或目标检测任务。
Siamese neural network
连体神经网络(有时称为孪生神经网络)是一种人工神经网络,它是共享权重的两个编码网络,同时对两个不同的输入向量协同工作,以计算可比较的输出向量。在实际操作中,是同一个网络连续使用两次,即串行实现。通常,其中一个输出向量是预先计算的,从而形成一个与另一个输出向量进行比较的基线。

连体神经网络架构
Embedding
Embedding(嵌套)就是用一个低维的向量编码表示一个实例,这个Embedding向量的性质是能使距离相近的向量对应的相似的实例。上节中,从包Di得到的深度表示 S i = { s i 1 , s i 2 , … , s i n i } S_{i}=\lbrace s_{i1},s_{i2},\dots,s_{in_{i}}\rbrace Si={si1,si2,…,sini}就是各实例的Embeddings.
判别特征提升
正如上一节中提到的,我们采用了稀疏标准化特征融合方法来判别正包中最突出的目标信息,从负包中聚合主要的背景信息。因此,正包和负包的判别包嵌套mi: m i = ∑ j = 1 n i Z ^ i j ∗ S i j m_{i}=\sum_{j=1}^{n_{i}}{\hat{Z}_{ij}*S_{ij}} mi=∑j=1niZ^ij∗Sij能够明确地表示目标和非目标信息。
连体网络能够缩小了两个正包嵌套的距离(即正包对),相当于减小了目标特征之间的距离。同样地,增加正包和负包嵌套(即负包对)的距离,相当于增加了目标和非目标特征的间隔。
对于包对Pk = {Di, Dj},两个融合特征分别为包嵌套mi和mj,其相似性(距离)用欧几里得距离来计算:
D
k
=
∥
m
i
−
m
j
∥
2
.
D_{k}=\|m_{i}-m_{j}\|_{2}.
Dk=∥mi−mj∥2.
正包对的两个包嵌套之间的距离应当缩小,负包对的包嵌套之间的距离应当增大。由此,我们应用特征对比损失来实现上述特征相似性约束,对比损失表达式如下:
L
s
i
m
=
∑
k
=
1
K
L
k
D
k
2
+
(
1
−
L
k
)
max
(
t
−
D
k
,
0
)
2
.
L_{sim}=\sum^{K}_{k=1}{L_{k}D_{k}^{2}+(1-L_{k})\text{max}(t-D_{k},0)^{2}}.
Lsim=k=1∑KLkDk2+(1−Lk)max(t−Dk,0)2.
其中,t是表示包嵌套之间距离上界的阈值。如果负包对的欧式距离Dk大于阈值t,其在特征对比损失中将被设为0。总之,随着损失函数
L
s
i
m
L_{sim}
Lsim的优化逼近于0,正包之间的特征距离减小趋近于0,正包与负包之间的特征距离增大趋近于t.
算法和优化
如本文开头的训练框架图中所示,包嵌套mi最终还被馈送到用于标签预测的二分类器中:
Y
^
i
=
σ
(
w
T
m
i
+
b
)
\hat{Y}_{i}=\sigma(w^{T}m_{i}+b)
Y^i=σ(wTmi+b)
经典的二进制交叉熵损失用作分类损失:
L
c
l
s
=
−
∑
k
=
1
K
Y
k
log
(
Y
^
k
)
+
(
1
−
Y
k
)
log
(
1
−
Y
^
k
)
.
L_{cls}=-\sum^{K}_{k=1}{Y_{k}\text{log}(\hat{Y}_{k})+(1-Y_{k})\text{log}(1-\hat{Y}_{k})}.
Lcls=−k=1∑KYklog(Y^k)+(1−Yk)log(1−Y^k).
训练过程的损失函数包括
L
s
i
m
L_{sim}
Lsim和
L
c
l
s
L_{cls}
Lcls两部分,参数
γ
\gamma
γ是比例因子。
L
=
γ
L
s
i
m
+
L
c
l
s
.
L=\gamma L_{sim}+L_{cls}.
L=γLsim+Lcls.
测试阶段的目标检测
所提出的网络对于具有不同实例数量的包是灵活的,因为基于1D-CNN的特征提取模块只捕获实例级特征,而LSTM层对于可变长度序列是灵活的。
测试阶段,将光谱像素点输入到如下网络中,直接输出每一像素点属于目标的概率。

测试阶段网络框架