概要
パンハウスゼミのサマリです。
テーマ : Active learning関係。正解なしデータのプールから次に問い合わせるデータの選び方に関する3本。
スライドリンク :
https://twitter.com/breadhouse_semi/status/1187000040671174656
https://twitter.com/breadhouse_semi/status/1187004390948790273
https://twitter.com/breadhouse_semi/status/1187005776818126849
発表者 : ヘンリー
1本目
題名 : Active Learning for Convolutional Neural Networks: A Core-Set Approach
Paperリンク : https://arxiv.org/abs/1708.00489
新規性 : coresetをActive Learning(AL)に適用した
coreset:ALと別の分野で発展してきた。データを代表するデータ。
coresetを使えばデータ全体で学習させたときと同じような分類/回帰結果が得られる。従来は教師アリデータに適用する文脈で発展してきた手法だが、それをALに適用した。
ロスは学習誤差/汎化誤差/coreset誤差に分解できる
coreset誤差は2つの項で上からバウンド可能
(1)coreset集合sのO(δs)
(2)データ数nのO(n^(-1/2))
※δsは「すべての点がcoresetからδs内にある」を満たす最小値
2本目
題名 : Learning in Confusion: Batch Active Learning with Noisy Oracle
Paperリンク : https://arxiv.org/abs/1909.12473
新規性 : いろんな手法を集めて問題解決できることを示した
ALの問題は大体3種類に分類できる
(1)(バッチALの時)選ぶラベルの多様性と代表性が足りない問題
※ 従来の AL は「これの正解がわかれば性能があがるかも」というデータを一つずつ選ぶけど、それを一バッチずつ選ぶに拡張するのがバッチAL
ユークリッド距離でなく2点間のsoftmaxの出力間のJS-divergenceをmetricとしてクラスタリングしよう
※JS-divergenceは対称だから良さげ(KLとかは対称じゃない)
各クラスタの代表点を選ぶためにBALD score使おう
※BALD score : Dropoutによってモデルの出力は特定の状況におけるベイジアンNNの事後分布の推定に当たる→事後分布からBALD scoreが計算できる。大きいと不確実。
(2)モデルが不確実な時はどうする問題
学習初期、モデルの不確実性が高い時に softmaxを使うのは意味がないのでは?
すべてのサンプルから一様にサンプリングすれば実験的にOKだった(最初は一様にサンプリングして,オラクルから正しいラベルを少しもらい、その方法(ソフトマックス+距離を使う方法)を使ってクラスタリングする)
※ALではオラクルが返すラベルは正しいと仮定している
(3)オラクルのノイズ
フィルターレイヤ(全結合層)をNNの最後に入れて学習させる
フィルターレイヤより前はノイズを学習してないと仮定し、推論時はフィルターレイヤを捨てて、1個前のレイヤの出力を使う
3本目
題名 : Deep Batch Active Learning by Diverse, Uncertain Gradient Lower Bounds
Paperリンク : https://arxiv.org/abs/1906.03671
新規性 : 勾配を使ってBADGEを考えた
unsertaintyを測る度合にはBALD score、エントロピーとかがある
勾配を使ってunsertaintyを測る度合BADGEを提案した。(自信がなければ勾配が大きくなる)
多様性の指標にはをk-means++の初期化に使われるアルゴリズムを使おう
代表性については(本論文では)考えてない