[主動學習--查詢策略] 01 Core-set


符號定義

  • 主動學習每一次迭代選擇的樣本數量為一個 budget
  • 訓練集中初始無標簽數據集記為 unlabeled data,\(\bm{u}^0\)
  • 訓練集中初始有標簽數據集記為 initial labeled data,\(\bm{s}^0\)

查詢策略:Core-set

k-Center-Greedy

主動學習每一輪將選擇 budget 個樣本,core-set 方法將這個過程視為尋找一個當前最佳集合的問題,順序從 unlabeled data 中選出 budget 個樣本加入集合 \(\bm{s}\),新加入的點 \(u\) 需要滿足與集合 \(\bm{s}\) 的距離最大。

一個無標記樣本點 \(u\) 與集合 \(\bm{s}\) 的距離為:該點 \(u\) 與集合 \(\bm{s}\) 各個點距離的最小值,論文中距離采用 L2-norm。

注意:同一次迭代選出的無標記樣本點有先后之分,計算點 \(u\) 與集合 \(\bm{s}\) 的距離時,同一次迭代已經選出的無標記樣本點都看作加入了集合 \(\bm{s}\),參與距離計算。

Robust k-Center

在 k-Center-Greedy 的基礎上,進行修改。通過 k-Center-Greedy,得到無標記數據集中距離 \(s^g\) 最遠的距離,設為 \(\delta_{2-OPT}\),此時所有的樣本點都會在包括在這個半徑 \(\delta_{2-OPT}\) 內。

計算 Feasible 函數,去找到一組符合 Feasible 函數的解(可以理解是 \(u_i, \omega_{i, j}, \xi_{i, j}\) 這些值),使得 Feasible 內所有約束條件都滿足,如果找到了,那么說明此時的半徑 \(\delta\) 不會使 outlier 的數量超過自己定的界限 \(\Xi\),半徑 \(\delta\) 可以縮小,即縮小上界 \(ub\);如果沒有找到,那么說明此時的半徑 \(\delta\) 會使得 outlier 數量超過界限 \(\Xi\),需要擴大半徑,即擴大下界 \(lb\)。(outlier 為不能被 \(s^0 \cup s^1\) 中元素在半徑 \(\delta\) 內覆蓋到的樣本)

直到最后,\(ub - lb\) 相等或者相差不大,算法停止。

算法詳情


Algorithm 2 用 Gurobi 進行 MIP(mixed integer program)優化,運行較慢。Algorithm 1 比 Algorithm 2 簡單,速度很快,但論文中效果稍微不如后者。

實現代碼

GitHub - ozansener/active_learning_coreset (Source code)
GitHub - google/active-learning/sampling_methods/kcenter_greedy.py
GitHub - dsgissin/DiscriminativeActiveLearning/query_methods.py

提出論文:

Sener, O., & Savarese, S. (2018). Active Learning for Convolutional Neural Networks: A Core-Set Approach. In ICLR (pp. 1–13). Retrieved from http://arxiv.org/abs/1708.00489

被引論文:

[1] Yoo, D., & Kweon, I. S. (2019). Learning Loss for Active Learning. CVPR, 93–102. Retrieved from http://arxiv.org/abs/1905.03677
[2] Sinha, S., Ebrahimi, S., & Darrell, T. (2019). Variational Adversarial Active Learning. ICCV. Retrieved from http://arxiv.org/abs/1904.00370


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM