论文笔记: 针对图像分类的多标签主动学习

原文: Jian Wu 等. Multi-Label Active Learning Algorithms for Image Classification: Overview and Future Promise, ACM Computing Surveys, Vol. 53, No. 2, Article 28. Publication date: March 2020
我报着学习与研讨的态度来写贴子, 难免与原作者的观点有诸多不同, 并没有不尊重原作者的意思.

Abstract

  • These algorithms can be categorized into two top groups from two aspects respectively: sampling and annotation.
    我以前在做主动学习的时候, 一般思考的是如何抽样, 样本送给专家标注就获得了正确结果. 所以很少关心后者. 换言的, 我需要知道后者究竟有什么花样可以玩.
  • … that actively selects the examples with the highest informativeness from an unlabeled data pool, according to various information measures.
    从作者的观点, uncertainty, representativeness 这些都是为计算 informativeness 而存在的 (中间) 指标.

1. Introduction

  • However, obtaining a large number of labeled images is time-consuming and needs a lot of manpower and resources.
    不清楚 manpower 是否标准说法, 我有时用 human endeavor.

2. Problem definition

  • According to various ways of querying, active learning algorithms can be categorized into three paradigms: membership query synthesis active learning [4, 45, 46, 48, 69], stream-based selective active learning [14, 16, 22, 47, 69, 109], and pool-based active learning [15, 50].
    我们做的一般是 pool-based. stream-based 也有很好的实际意义, 它是指对象一个个地来, 我们需要立即确定是否标注它.
  • Definition 1 里的数学表达与我们的习惯不符
    • { x i , Y i } \{x_i, Y_i\} {xi,Yi} 表示一个对象, 花括号一般是集合专用, 因此我们使用小括号;
    • 既然 x i x_i xi Y i Y_i Yi 都表示向量, 都应统一成小写;
    • y i , l 1 y_{i, l_1} yi,l1 这种描述太繁琐, l 1 l_1 l1 直接写成 1 1 1 就行了.
    • Y i Y_i Yi 称为一个 label set 很奇怪, 它不是一个集合, 而是一个 0, 1 向量.
    • 如果按我的习惯, 可以写为
      The data is represented by a matrix X = [ x i j ] N × M ∈ R N × M \mathbf{X} = [x_{ij}]_{N \times M} \in \mathbb{R}^{N \times M} X=[xij]N×MRN×M, where N N N and M M M are the number of instances and features, respectively. The i i i-th row, denoted by x i \mathbf{x}_i xi, represents an instance. The labels are represented by a matrix Y = [ y i l ] N × L ∈ { − 1 , + 1 } N × L \mathbf{Y} = [y_{il}]_{N \times L} \in \{-1, +1\}^{N \times L} Y=[yil]N×L{1,+1}N×L, where L L L is the number of labels. The i i i-th row, denoted by y i \mathbf{y}_i yi, is the label array of x i \mathbf{x}_i xi. y i l = − 1 y_{il} = -1 yil=1 indicates x i \mathbf{x}_i xi has the label, while y i l = + 1 y_{il} = +1 yil=+1 indicates no.
  • In a typical multi-label active learning scenario, there is an example set X X X including a small labeled training set L L L and a large unlabeled dataset U U U.
    这种说法把 semi-supervised learning 过来了, 不一定合适. 对于 active learning, 开始时可以一个标签都没有, 可称之为 cold-start. 作者非要说 typical 问题也不大, 但这样会使得符号表达变得复杂.

3. Overview of topics

3.1 Sampling

抽样是主动学习的重点.

3.1.1 Sampling granularity

  • Example based
    • In an example-based algorithm, all the labels of the selected examples are supposed to be annotated simultaneously.
      这种方案没有针对多标签, 意义相对较弱.
    • 每次选信息量最大的样本:
      x ∗ = arg max ⁡ x ∈ U I n f o ( x ) (1) \mathbf{x}^* = \argmax_{\mathbf{x} \in \mathbf{U}} Info(\mathbf{x}) \tag{1} x=xUargmaxInfo(x)(1)
    • 如果有多种评价指标就将它们加权和:
      I n f o ( x ) = ∑ s α s I s ( x )  s.t.  α s ∈ [ 0 , 1 ] , ∑ s α s = 1 (2) Info(\mathbf{x}) = \sum_s \alpha_s I_s(\mathbf{x}) \textrm{ s.t. } \alpha_s \in [0, 1], \sum_s \alpha_s = 1 \tag{2} Info(x)=sαsIs(x) s.t. αs[0,1],sαs=1(2)
    • 还可以用另一种方式融合:
      I n f o ( x ) = I 1 ( x ) α I 2 ( x ) 1 − α (3) Info(\mathbf{x}) = I_1(\mathbf{x})^{\alpha} I_2(\mathbf{x})^{1 - \alpha} \tag{3} Info(x)=I1(x)αI2(x)1α(3)
    • 利用已标记数据训练 Θ 0 = [ f 1 0 , … , f m 0 ] \Theta^0 = [f_1^0, \dots, f_m^0] Θ0=[f10,,fm0], 即每个标签一个 SVM 分类器. 根据不同的 α \alpha α 取值可以选择一批未标记数据, 记为 S \mathbf{S} S. 对于任意 x ′ ∈ S \mathbf{x}' \in \mathbf{S} xS, 预测其标签 y ′ \mathbf{y}' y, 并将该数据加入数据集 (使用的是伪标签), 训练新的多标签分类器 Θ = [ f 1 , … , f m ] \Theta = [f_1, \dots, f_m] Θ=[f1,,fm]. x ′ \mathbf{x}' x 及其标签带来的改变量为
      ε ( x ′ ) = ∑ j = 1 n u max ⁡ y p ′ = 1 [ 1 − f p ( x j ) ] + + max ⁡ y p ′ = 0 [ 1 + f p ( x j ) ] + (4) \varepsilon(\mathbf{x}') = \sum_{j = 1}^{n_u} \max_{\mathbf{y}_p' = 1}\left[1 - f_p(\mathbf{x}_j)\right]_+ + \max_{\mathbf{y}_p' = 0}\left[1 + f_p(\mathbf{x}_j)\right]_+ \tag{4} ε(x)=j=1nuyp=1max[1fp(xj)]++yp=0max[1+fp(xj)]+(4)
      其中,
      • 求和表示考虑所有的未标记样本;
      • 第一个 ∑ \sum 表示被分类为正例中最大的偏差, 第二个 ∑ \sum 表示被分类为反例中最大的偏差. 下标的正号就需要看原文才知道涵义了. 从这里可以看也反例的标签应该为 − 1 -1 1 而不是 0 0 0

参数选择就使用
α ∗ = arg min ⁡ α k ∈ V ∑ x ′ ∈ S k ε ( x ′ ) (5) \alpha^* = \argmin_{\alpha_k \in \mathbf{V}} \sum_{\mathbf{x}' \in \mathbf{S}_k} \varepsilon(\mathbf{x}') \tag{5} α=αkVargminxSkε(x)(5)
说了半天还是 (3) 式中的参数选择. 从 V = { 0.1 , 0.2 , … , 1.0 } \mathbf{V} = \{0.1, 0.2, \dots, 1.0\} V={0.1,0.2,,1.0} 中选一个最好的.

  • Example-label-based
    ( x , y ) ∗ = arg max ⁡ x j ∈ U , y j k ∈ U L ( x j ) I n f o ( x j , y j k ) (6) (\mathbf{x}, y)^* = \argmax_{\mathbf{x}_j \in \mathbf{U}, y_{jk} \in UL(\mathbf{x}_j)} Info(\mathbf{x}_j, y_{jk}) \tag{6} (x,y)=xjU,yjkUL(xj)argmaxInfo(xj,yjk)(6)
    其中:

    • 选择的是对象-标签对, 也可以表示为 ( j ∗ , k ∗ ) (j^*, k^*) (j,k);
    • y j k ∈ U L ( x j ) y_{jk} \in UL(\mathbf{x}_j) yjkUL(xj) 表示相应标签未知. 从这个意义上讲 x j ∈ U \mathbf{x}_j \in \mathbf{U} xjU 就冗余了.
      因此我把这个式子改为:
      ( i ∗ , k ∗ ) = arg max ⁡ x i ∈ U , k ∈ U L ( x i ) I n f o ( x i , k ) (6’) (i^*, k^*) = \argmax_{\mathbf{x}_i \in \mathbf{U}, k \in UL(\mathbf{x}_i)} Info(\mathbf{x}_i, k) \tag{6'} (i,k)=xiU,kUL(xi)argmaxInfo(xi,k)(6)
      还是可以使用多种指标的加权和:
      I n f o ( x j , y j k ) = ∑ s α s I s ( x j , y j k )  s.t.  α s ∈ [ 0 , 1 ] , ∑ s α s = 1 (7) Info(\mathbf{x}_j, y_{jk}) = \sum_s \alpha_s I_s(\mathbf{x}_j, y_{jk}) \textrm{ s.t. } \alpha_s \in [0, 1], \sum_s \alpha_s = 1 \tag{7} Info(xj,yjk)=sαsIs(xj,yjk) s.t. αs[0,1],sαs=1(7)
      与基于实例的方案相比, 基于实例-标签的方案更能节约标注量, 因此它比前者更加主流. 但同时需要考虑算法的时间复杂度. 这方面的研究也非常有借鉴意义, 如
    • Qi 等 [63] 不但考虑实例空间 X \mathbf{X} X, 还考虑标签空间 Y \mathbf{Y} Y. 需要查证后者是否使用了矩阵分解;
    • Wu 等 [94] 首先提出实例-标签的不确定性. 这与单标签的实例不确定性有本质区别, 是多标签特有的;
    • Zhang 等 [112] 使用批量方式;
    • Guo 等 [91] 结合了低秩映射, 这个也需要查证与矩阵分解的关系.
  • Mixed-mode-based
    混合方式首先选择 n s n_s ns 个最具代表性的实例, 再选择这些实例的标签. 最具有代表性的实例为:
    x ∗ = arg max ⁡ x ∈ U I n f o 1 ( x ) (8) \mathbf{x}^* = \argmax_{\mathbf{x} \in \mathbf{U}} Info_1(\mathbf{x}) \tag{8} x=xUargmaxInfo1(x)(8)
    信息量最大的标签为
    Y s u b ∗ = arg max ⁡ y ∗ , k ∈ U L ( x ∗ ) I n f o 2 ( y ∗ , k ) (9) Y_{sub}^* = \argmax_{y_{*, k} \in UL(\mathbf{x}^*)} Info_2(y_{*, k}) \tag{9} Ysub=y,kUL(x)argmaxInfo2(y,k)(9)
    我将其修改为:
    y s u b ∗ ( x ) = arg max ⁡ k ∈ U L ( x ) I n f o 2 ( x , k ) (9’) y_{sub}^*(\mathbf{x}) = \argmax_{k \in UL(\mathbf{x})} Info_2(\mathbf{x}, k) \tag{9'} ysub(x)=kUL(x)argmaxInfo2(x,k)(9)
    可以认为混合方式是实例-标签方式的一种特例. 它比后者更省时间.

  • Batch-mode-based methods.
    该方式主要用于节约标注者的等待时间.

    • 文献 [10] 中, 未标记样本的信息量被定义单个标签的平均熵. 两个未标记样本的多样性使用一个矩阵来计算. 多样性避免在同一批中查询相似样本.
    • Jiao 等 [38, 39] 使用 kernel k-means 进行预聚类, 然后使用高斯计算每簇中最具信息量的样本.
    • Zhang 等 [111, 112] 提出高阶标签相关性方案. 并将批量选择定义为一个整数规划问题.
    • Reyes 等 [68] 将它定义为一个多目标 (信息量、代表性、多样性) 优化问题, 这个需要仔细读下.

3.1.2 Informativeness Measure

总结出了 6 个指标: uncertainty, label correlation, representativeness, diversity, noise content, expected error reduction.

3.1.2.A. Uncertainty

U n c : { R M → R , example-based ; R M × [ 1.. L ] → R , example-label-based . (10) Unc: \left\{\begin{array}{ll} \mathbb{R}^M \rightarrow \mathbb{R}, & \textrm{example-based};\\ \mathbb{R}^M \times [1 .. L] \to \mathbb{R}, & \textrm{example-label-based} .\end{array}\right. \tag{10} Unc:{RMR,RM×[1..L]R,example-based;example-label-based.(10)
这个式子与原文的有些不同, 但意思是一样的. Example-based 仅从样本的条件属性来计算样本的不确定性, 而 Example-label-based 要指定相应的标签, 即获得样本-标签对的不确定性.
从直觉的角度, 样本 (样本-标签) 的不确定性越大, 则其信息量越大, 越有利于提高分类器的质量. Singh et al. [73] 使用 SVM 预测对象的各个标签, 然后根据 margin 计算标签的不确定性, 再将不同标签的不确定性取一个均值作为样本的不确定性. 我的想法与这个的前半部分一致, 但考虑 example-label 就不需要最后一步的求均值.
Reyes et al. [66] 将 margin 与排序结合,
m a r i , k = ∣ p ( y i k = 1 ∣ x i ) − p ( y i k = 0 ∣ x i ) ∣ (11) mar_{i, k} = \vert p(y_{ik} = 1 \vert \mathbf{x}_i) - p(y_{ik} = 0 \vert \mathbf{x}_i)\vert \tag{11} mari,k=p(yik=1xi)p(yik=0xi)(11)
这个式子的含义是两个概率之差的绝对值. 该值越接近于 0, 表示不确定性越强; 越接近于 1, 表示不确定性越弱. 使用它构建向量 M ( x i ) = [ m a r i 1 , … , m a r i L ] M(\mathbf{x}_i) = [mar_{i1}, \dots, mar_{iL}] M(xi)=[mari1,,mariL].


未完待续

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值