Améliorer le balisage des données multimodales: moins d'évaluateurs, plus de couches

salut! Nous - les scientifiques du laboratoire d'apprentissage automatique de l'ITMO et l'équipe Core ML de VKontakte - effectuons des recherches conjointes. L'une des tâches importantes de VK est la classification automatique des messages: il est nécessaire non seulement de générer des flux thématiques, mais également d'identifier les contenus indésirables. Les évaluateurs sont impliqués dans ce traitement des enregistrements. Dans le même temps, le coût de leur travail peut être considérablement réduit en utilisant un paradigme d'apprentissage automatique tel que l'apprentissage actif.



Il s'agit de son application pour la classification des données multimodales qui sera abordée dans cet article. Nous vous parlerons des principes généraux et des méthodes d'apprentissage actif, des particularités de leur application à la tâche, ainsi que des connaissances obtenues au cours de la recherche.



image



introduction



— machine learning, . , , , .



, (, Amazon Mechanical Turk, .) . — reCAPTCHA, , , , — Google Street View. — .



. , Voyage — , . , , . , .



Amazon DALC (Deep Active Learning from targeted Crowds). , . Monte Carlo Dropout ( ). — noisy annotation. , « , », .



Amazon . : / . , , . , : , . .



! , . pool-based sampling.



Figure:  1. Schéma général d'un scénario d'apprentissage actif en pool

. 1. pool-based



. , , ( ). : , .



, — . (. — query). , . ( , ) .



, , .





, — . ( ). ≈250 . . () 50 — — :



  1. , (. embedding), ;
  2. .


, (. . 2).



. 2 —

. 2 —





ML — . , .



. , . , , , . , , early stopping. , .



. residual , highway , (. encoder). , (. fusion): , .

— , . -.



, — , . , .



. , (. 3):



. 3.

. 3.



. , . , , . , ( + ) — .



, . 3, :



. 4.

. 4.



, , . , ó , , .



, : ? :



  1. ;
  2. ;
  3. .


. : maximum likelihood , - . :



L=1σ12L1+1σ22L2+1σ32L3+logσ1+logσ2+logσ3



L1,L2,L3 — ( -), σ1,σ2,σ3 — , .



Pool-based sampling



— , . pool-based sampling :



  1. - .
  2. .
  3. , , .
  4. .
  5. ( ).
  6. 3–5 (, ).


, 3–6 — .



, , :



  1. , . , : . , , , . . , 2 000.



  2. . , . ( ). , , . , . 20 .

    . , . — , . 100 200.





, , , .



№1: batch size



baseline , ( ) (. 5).



. 5.   baseline-  .

. 5. baseline- .



random state. .



. «» , , .



, (. batch size). 512 — - (50). , batch size . . :



  1. upsample, ;
  2. , .


batch size: (1).



current_batch_size=b+nmodbnb[1]



b — batch size, n — .

“” (. 6).



. 6.     batch size (passive  )   (passive + flexible  )

. 6. batch size (passive ) (passive + flexible )



: c . , , batch size . .



.



Uncertainty



— uncertainty sampling. , , .



:



1. (. Least confident sampling)



, :



xLC=argmaxx 1Pθ(y^|x)[2]



y^=argmaxy Pθ(y|x) — , y — , x — , xLC — , .



. , 1y^. , . .



. , : {0,5; 0,49; 0,01}, — {0,49; 0,255; 0,255}. , (0,49) , (0,5). , ó : . , .



2. (. Margin sampling)



, , , :



xM=argminx Pθ(y^1|x)Pθ(y^2|x)[3]



y^1x, y^2 — .



, . , . , , MNIST ( ) — , . .



3. (. Entropy sampling)



:



xH=argmaxx Pθ(yi|x)logPθ(yi|x)[4]



yii- x .



, , . :



  • , , ;
  • , .


, , . , entropy sampling .



(. 7).



. 7.      uncertainty sampling    ( —    ,   —    ,  —    )

. 7. uncertainty sampling ( — , — , — )



, least confident entropy sampling , . margin sampling .



, , : MNIST. , , entropy sampling , . , .



. O(plogq), p — , q — . , .



BALD



, , — BALD sampling (Bayesian Active Learning by Disagreement). .



, query-by-committee (QBC). — . uncertainty sampling. , . QBC Monte Carlo Dropout, .



, , — . dropout . dropout , ( ). , dropout- (. 8). Monte Carlo Dropout (MC Dropout) . , . ( dropout) Mutual Information (MI). MI , , — , . .



. 8.  MC Dropout   BALD

. 8. MC Dropout BALD



, QBC MC Dropout uncertainty sampling. , (. 9).



. 9.      uncertainty sampling   QBC       ( -    ,   -    ,  -    )

. 9. uncertainty sampling ( QBC ) ( — , — , — )



BALD. , Mutual Information :



aBALD=H(y1,...,yn)E[H(y1,...,yn|ω)][5]



E[H(y1,...,yn|w)]=1ki=1nj=1kH(yi|wj)[6]



n — , k — .



(5) , — . , , . BALD . 10.



. 10.    BALD

. 10. BALD



, , .

query-by-committee BALD , . , uncertainty sampling. , — O(kplog(q)), p — , q — , k — , .



BALD tf.keras, . PyTorch, dropout , batch normalization , .



№2: batch normalization



batch normalization. batch normalization — , . , , , , batch normalization. , . , . BALD. (. 11).



. 11.   batch normalization   BALD

. 11. batch normalization BALD



, , .



batch normalization, . , .



Learning loss



. , . , .



, . — . , . learning loss, . , (. 12).



. 12.   Learning loss

. 12. Learning loss



learning loss . .

. , . «» learning loss: , , . ideal learning loss (. 13).



. 13.   ideal learning loss

. 13. ideal learning loss



, learning loss.

, . , , - , . :



  1. (2000 ), ;
  2. 10000 ( );
  3. ;
  4. ;
  5. 100 ;
  6. , , 1;
  7. .


, , . , ( margin sampling).



1.



p-value
loss -0,2518 0,0115
margin 0,2461 0,0136


, margin sampling — , , , . c .



: ?

, , (. 14).



. 14.    ideal learning loss        ideal learning loss

. 14. ideal learning loss ideal learning loss



, MNIST :



2. MNIST



p-value
loss 0,2140 0,0326
0,2040 0,0418


ideal learning loss , (. 15).



Figure:  15. Entraînement actif du classificateur de caractères à partir de l'ensemble de données MNIST avec la stratégie de perte d'apprentissage idéale.  Graphique bleu - perte d'apprentissage idéale, orange - apprentissage passif

. 15. MNIST ideal learning loss. — ideal learning loss, —



, , , , . .



learning loss , uncertainty sampling: O(plogq), p — , q — . , , . , .





, . . , margin sampling — . 16.

Figure:  16. Comparaison de la formation sur des données sélectionnées au hasard (formation passive) et sur des données sélectionnées par la stratégie d'échantillonnage de marge

. 16. ( ) , margin sampling



: ( — margin sampling), — , , . ≈25 . . 25% — .



, . , , .



, , . , :



  • batch size;
  • , , — , batch normalization.



All Articles