Il framework DINO condivide la stessa struttura generale con altri framework di apprendimento per somiglianza come BYOL o il cattivo insegnante ma anche con la distillazione della conoscenza. Diamo prima un’occhiata a come DINO lo fa e alla differenza tra gli altri framework.
Reti e regole di aggiornamento
Cominciamo dalla metà. DINO implementa due reti con la stessa identica architettura ma un diverso insieme di pesi. Quelli sono lo studente e l’insegnante. Lo studente viene allenato con la propagazione all’indietro e l’insegnante aggiorna i suoi pesi con una media mobile esponenziale dei propri pesi e di quelli dello studente.
Le dorsali sono ResNet50 o DeiT (il quale è un ViT adattato per la distillazione della conoscenza). Una testa di proiezione basata su MLP è collegata alla struttura portante per ridurre la dimensionalità delle caratteristiche, ma viene rimossa per l’inferenza.
Bello, ma quale modello viene utilizzato per l’inferenza: studente o insegnante? — Beh, questa è una bella domanda e, abbastanza divertente, nel giornale non viene menzionata una sola parola. Intuitivamente potresti pensare allo studente, almeno all’inizio lo pensavo. Ma come vedremo più avanti, l’insegnante supera lo studente durante tutta la formazione. L’unico suggerimento oltre alla migliore prestazione è che nell’implementazione del codice il checkpoint dell’insegnante è quello predefinito per la valutazione, ad esempio segmentazione video, sondaggio lineare E k-NN. Poiché però questo parametro può essere modificato, non posso dirtelo con certezza.
Ingressi e uscite
Da un’immagine di input X punti di vista diversi x1 E x2 vengono creati ritagliando e applicando miglioramenti dell’immagine come in BYOL (ad esempio jitter del colore, sfocatura gaussiana e solarizzazione). La tecnica utilizzata per il ritaglio si chiama multi-coltura dove vengono generati più raccolti di diverse dimensioni per risparmiare memoria fornendo allo stesso tempo più dati. I piccoli ritagli sono chiamati visualizzazioni locali e consistono in 96×96 pixel che vengono alimentati esclusivamente nello studente. I ritagli più grandi sono chiamati visualizzazioni globali e consistono in 224×224 pixel che vengono inseriti esclusivamente nell’insegnante. Come vedremo più avanti nella sezione sull’ablazione, durante la formazione sono state utilizzate 2 visualizzazioni globali e 10 visualizzazioni locali.
NOTA: il documento è un po’ confuso riguardo alla tecnica multi-ritaglio perché né lo pseudo-codice fornito né l’architettura mostrata nella Fig. 3 sopra la riflettono. Lo pseudocodice suggerisce addirittura che x1 e x2 vengano inseriti sia nello studente che nell’insegnante come in BYOL, il che non è il caso quando si utilizza il multi-crop.
A differenza dell’apprendimento per somiglianza, in cui l’obiettivo è massimizzare la somiglianza degli incorporamenti, DINO minimizza l’entropia incrociata tra la distribuzione dell’output dell’insegnante e quella dello studente. Come indicato dall’equazione seguente, l’entropia incrociata viene calcolata per ciascuna coppia di visualizzazioni globali e locali e viene quindi riassunta.
E cosa producono i modelli? — Come nell’apprendimento per somiglianza, lo studente e l’insegnante producono un incorporamento per una data immagine, piuttosto che un punteggio di previsione. Come nella distillazione della conoscenza, l’output viene trasformato tramite una trasformazione SoftMax in una distribuzione di probabilità. Il SoftMax ha un parametro di temperatura che controlla l’attenuazione o la nitidezza della distribuzione risultante. Questa temperatura gioca un ruolo cruciale nella distillazione della conoscenza perché consente di controllare l’equilibrio tra il trasferimento della conoscenza generale e dei dettagli a grana fine da una rete di insegnanti a una rete di studenti, rendendo il processo di distillazione più efficace per diversi compiti.
Ho creato un taccuino per te in modo che tu possa studiare l’impatto della temperatura sulla distribuzione risultante:
Evitare il collasso
Come accennato in precedenza, studente e insegnante hanno esattamente la stessa architettura. Questo tipo di configurazione è instabile (se non vengono implementate contromisure) e potrebbe portare a soluzioni collassanti, in cui tutte le funzionalità sono mappate su una determinata regione nello spazio latente, ad esempio un singolo punto nel caso peggiore. BYOL ha affrontato questo problema con una previsione aggiuntiva solo per uno dei modelli che introducono un’asimmetria. Poiché DINO ha modelli simmetrici è necessario un altro trucco: centrare e affilare. Entrambi sono applicati solo alla rete degli insegnanti. La centratura è una tecnica che impedisce a una singola dimensione di dominare nello spazio latente, aggiungendo un termine bias C all’output degli insegnanti g(x) = g(x)+cDove
Se da un lato la centratura ha un effetto positivo, dall’altro incoraggia anche il collasso della produzione in una distribuzione uniforme. L’affilatura ha l’effetto opposto, quindi l’applicazione di entrambi bilancia il loro effetto e stabilizza l’allenamento. L’affilatura si ottiene utilizzando una temperatura più piccola nel SoftMax (vedi Fig. 3) per l’insegnante come per lo studente.
Per evitare di comprimere l’iperparametro M dall’equazione 3 e la temperatura dell’insegnante sono cruciali. Nel loro studio sull’ablazione nella sezione appendice gli autori lo dimostrano m=0,9…0,999 funziona meglio e il valore della temperatura viene aumentato linearmente da 0,04 A 0,07 durante il riscaldamento.
Cosa fa DINO? Distillazione della conoscenza o apprendimento per somiglianza?
La risposta è un po’ di entrambi!
Sebbene la distillazione della conoscenza di solito distilli la conoscenza da un modello di insegnante già formato, più grande e più accurato in un modello di studente più piccolo, potrebbe anche essere vista come una sorta di apprendimento per similarità perché incoraggia la rete di studenti a produrre previsioni simili a quelle del modello di studente. insegnante. Nell’apprendimento per similarità, i due modelli vengono solitamente addestrati congiuntamente e spesso allineano le loro previsioni sullo spazio latente piuttosto che le distribuzioni di probabilità.
Poiché gli autori di DINO definiscono il loro obiettivo come distillazione della conoscenza, diamo un’occhiata ad alcune differenze rispetto alla distillazione della conoscenza “standard”:
- L’insegnante di DINO non è disponibile a priori ma “formato” accanto allo studente. Può anche essere considerato una co-distillazione poiché anche la conoscenza viene distillata dallo studente all’insegnante.
- L’insegnante e lo studente di DINO non agiscono sullo stesso input ma su diverse visualizzazioni dell’immagine ritagliata a dimensioni diverse.
- DINO utilizza temperature diverse nel SoftMax di entrambi i modelli per eseguire l’affilatura.
- DINO calcola l’entropia incrociata sul SoftMax in scala di temperatura degli incorporamenti anziché sui punteggi di previsione.
E in cosa è simile alla distillazione della conoscenza?:
- DINO è costituito da una rete di studenti e insegnanti, dove l’insegnante si comporta meglio dello studente, come vedremo negli esperimenti.
- Invece di massimizzare una metrica di somiglianza, DINO minimizza la perdita di entropia incrociata di un output SoftMax scalato in base alla temperatura.
Fonte: towardsdatascience.com