# Destil·lació del coneixement

En l'aprenentatge automàtic, la destil·lació del coneixement o la destil·lació del model és el procés de transferència de coneixement d'un model gran a un de més petit. Si bé els models grans (com ara xarxes neuronals molt profundes o conjunts de molts models) tenen més capacitat de coneixement que els models petits, és possible que aquesta capacitat no s'utilitzi completament. Pot ser igual de costós computacionalment avaluar un model, fins i tot si utilitza poca capacitat de coneixement. La destil·lació del coneixement transfereix el coneixement d'un model gran a un de més petit sense pèrdua de validesa. Com que els models més petits són menys costosos d'avaluar, es poden implementar en maquinari menys potent (com ara un dispositiu mòbil).
La destil·lació del model no s'ha de confondre amb la compressió del model, que descriu mètodes per reduir la mida d'un model gran, sense entrenar un model nou. La compressió del model generalment conserva l'arquitectura i el nombre de paràmetres nominals del model, alhora que disminueix els bits per paràmetre.
La destil·lació del coneixement s'ha utilitzat amb èxit en diverses aplicacions de l'aprenentatge automàtic, com ara la detecció d'objectes, models acústics, i el processament del llenguatge natural. Recentment, també s'ha introduït a la gràfica de xarxes neuronals aplicables a dades que no són de la xarxa.

## Història

Una metodologia relacionada va ser la compressió o poda de models, on una xarxa entrenada es redueix de mida. Això es va fer per primera vegada el 1965 per Alexey Ivakhnenko i Valentin Lapa a l'URSS (1965). Les seves xarxes profundes es van entrenar capa per capa mitjançant anàlisi de regressió. Les unitats ocultes superflues es van podar mitjançant un conjunt de validació independent. Altres mètodes de compressió de xarxes neuronals inclouen Biased Weight Decay i Optimal Brain Damage.
Un primer exemple de destil·lació de xarxes neuronals va ser publicat per Jürgen Schmidhuber el 1991, en el camp de les xarxes neuronals recurrents (RNN). El problema era la predicció de seqüències per a seqüències llargues, és a dir, l'aprenentatge profund. Va ser resolt per dos RNN. Un d'ells (l' automatitzador ) va predir la seqüència, i un altre (el chunker ) va predir els errors de l'automatitzador. Simultàniament, l'automatitzador va predir els estats interns del chunker. Després que l'automatitzador aconsegueix predir bé els estats interns del chunker, començaria a corregir els errors i aviat el chunker queda obsolet, deixant només un RNN al final.
La idea d'utilitzar la sortida d'una xarxa neuronal per entrenar una altra xarxa neuronal també es va estudiar com a configuració de xarxa professor-alumne. El 1992, diversos articles van estudiar la mecànica estadística de les configuracions professor-alumne amb màquines de comitè o ambdues màquines de paritat.
Comprimir el coneixement de múltiples models en una única xarxa neuronal es va anomenar compressió de model el 2006: la compressió es va aconseguir entrenant un model més petit en grans quantitats de pseudodades etiquetades per un conjunt de més rendiment, optimitzant-se per fer coincidir el logit del model comprimit amb el logit del conjunt. La preimpressió de destil·lació del coneixement de Geoffrey Hinton et al. (2015) van formular el concepte i van mostrar alguns resultats aconseguits en la tasca de classificació d'imatges.
La destil·lació del coneixement també està relacionada amb el concepte de clonació del comportament discutit per Faraz Torabi et. al.

## Mètodes

La transferència de coneixement d'un model gran a un de petit necessita d'alguna manera ensenyar aquest últim sense pèrdua de validesa. Si ambdós models s'entrenen amb les mateixes dades, el model més petit pot tenir una capacitat insuficient per aprendre una representació del coneixement concisa en comparació amb el model gran. No obstant això, certa informació sobre una representació de coneixement concisa està codificada en les pseudoprobabilitats assignades a la seva sortida: quan un model prediu correctament una classe, assigna un valor gran a la variable de sortida corresponent a aquesta classe i valors més petits a les altres variables de sortida. La distribució de valors entre les sortides d'un registre proporciona informació sobre com el gran model representa el coneixement. Per tant, l'objectiu del desplegament econòmic d'un model vàlid es pot aconseguir entrenant només el model gran sobre les dades, aprofitant la seva millor capacitat per aprendre representacions de coneixement concises i després destil·lar aquest coneixement en el model més petit, entrenant-lo per aprendre el resultat suau del model gran.

### Formulació matemàtica

Donat un model gran en funció de la variable vectorial $\mathbf {x}$, entrenat per a una tasca de classificació específica, normalment la capa final de la xarxa és un softmax en forma
$y_{i}(\mathbf {x} |t)={\frac {e^{\frac {z_{i}(\mathbf {x} )}{t}}}{\sum _{j}e^{\frac {z_{j}(\mathbf {x} )}{t}}}}$
on $t$ és la temperatura, un paràmetre que s'estableix a 1 per a un softmax estàndard. L'operador softmax converteix els valors logit $z_{i}(\mathbf {x} )$ a pseudo-probabilitats: els valors de temperatura més alts generen distribucions més suaus de pseudo-probabilitats entre les classes de sortida. La destil·lació del coneixement consisteix a entrenar una xarxa més petita, anomenada model destil·lat, en un conjunt de dades anomenat conjunt de transferència (que és diferent del conjunt de dades utilitzat per entrenar el model gran) utilitzant l'entropia creuada com a funció de pèrdua entre la sortida del model destil·lat. $\mathbf {y} (\mathbf {x} |t)$ i la sortida del model gran ${\hat {\mathbf {y} }}(\mathbf {x} |t)$ en el mateix registre (o la mitjana de les sortides individuals, si el model gran és un conjunt), utilitzant un alt valor de temperatura softmax $t$ per als dos models
$E(\mathbf {x} |t)=-\sum _{i}{\hat {y}}_{i}(\mathbf {x} |t)\log y_{i}(\mathbf {x} |t).$
En aquest context, una temperatura elevada augmenta l'entropia de la sortida, proporcionant, per tant, més informació per aprendre per al model destil·lat en comparació amb els objectius durs, i al mateix temps reduint la variància del gradient entre diferents registres, permetent així una taxa d'aprenentatge més alta.
Si la veritat del sòl està disponible per al conjunt de transferència, el procés es pot reforçar afegint a la pèrdua l'entropia creuada entre la sortida del model destil·lat (calculat amb $t=1$ ), i l'etiqueta coneguda ${\bar {y}}$
$E(\mathbf {x} |t)=-t^{2}\sum _{i}{\hat {y}}_{i}(\mathbf {x} |t)\log y_{i}(\mathbf {x} |t)-\sum _{i}{\bar {y}}_{i}\log y_{i}(\mathbf {x} |1)$
on el component de la pèrdua respecte al model gran es pondera per un factor de $t^{2}$ ja que, a mesura que augmenta la temperatura, el gradient de la pèrdua respecte als pesos del model s'escala en un factor de ${\frac {1}{t^{2}}}$.

### Relació amb la compressió del model

Sota l'assumpció que els logits tenen una mitjana zero, és possible demostrar que la compressió del model és un cas especial de destil·lació del coneixement. El gradient de la pèrdua de coneixement per destil·lació $E$ respecte al logit del model destil·lat $z_{i}$ està donat per
${\begin{aligned}{\frac {\partial }{\partial z_{i}}}E&=-{\frac {\partial }{\partial z_{i}}}\sum _{j}{\hat {y}}_{j}\log y_{j}\\&=-{\frac {\partial }{\partial z_{i}}}{\hat {y}}_{i}\log y_{i}+\left(-{\frac {\partial }{\partial z_{i}}}\sum _{k\neq i}{\hat {y}}_{k}\log y_{k}\right)\\&=-{\hat {y}}_{i}{\frac {1}{y_{i}}}{\frac {\partial }{\partial z_{i}}}y_{i}+\sum _{k\neq i}\left(-{\hat {y}}_{k}\cdot {\frac {1}{y_{k}}}\cdot e^{\frac {z_{k}}{t}}\cdot \left(-{\frac {1}{\left(\sum _{j}e^{\frac {z_{j}}{t}}\right)^{2}}}\right)\cdot e^{\frac {z_{i}}{t}}\cdot {\frac {1}{t}}\right)\\&=-{\hat {y}}_{i}{\frac {1}{y_{i}}}{\frac {\partial }{\partial z_{i}}}{\frac {e^{\frac {z_{i}}{t}}}{\sum _{j}e^{\frac {z_{j}}{t}}}}+\sum _{k\neq i}\left({\hat {y}}_{k}\cdot {\frac {1}{y_{k}}}\cdot y_{k}\cdot y_{i}\cdot {\frac {1}{t}}\right)\\&=-{\hat {y}}_{i}{\frac {1}{y_{i}}}\left({\frac {{\frac {1}{t}}e^{\frac {z_{i}}{t}}\sum _{j}e^{\frac {z_{j}}{t}}-{\frac {1}{t}}\left(e^{\frac {z_{i}}{t}}\right)^{2}}{\left(\sum _{j}e^{\frac {z_{j}}{t}}\right)^{2}}}\right)+{\frac {y_{i}\sum _{k\neq i}{\hat {y}}_{k}}{t}}\\&=-{\hat {y}}_{i}{\frac {1}{y_{i}}}\left({\frac {y_{i}}{t}}-{\frac {y_{i}^{2}}{t}}\right)+{\frac {y_{i}(1-{\hat {y}}_{i})}{t}}\\&={\frac {1}{t}}\left(y_{i}-{\hat {y}}_{i}\right)\\&={\frac {1}{t}}\left({\frac {e^{\frac {z_{i}}{t}}}{\sum _{j}e^{\frac {z_{j}}{t}}}}-{\frac {e^{\frac {{\hat {z}}_{i}}{t}}}{\sum _{j}e^{\frac {{\hat {z}}_{j}}{t}}}}\right)\\\end{aligned}}$
on ${\hat {z}}_{i}$ són els logits del gran model. Per a grans valors de $t$ això es pot aproximar com
${\frac {1}{t}}\left({\frac {1+{\frac {z_{i}}{t}}}{N+\sum _{j}{\frac {z_{j}}{t}}}}-{\frac {1+{\frac {{\hat {z}}_{i}}{t}}}{N+\sum _{j}{\frac {{\hat {z}}_{j}}{t}}}}\right)$
i sota la hipòtesi de mitjana zero $\sum _{j}z_{j}=\sum _{j}{\hat {z}}_{j}=0$ esdevé ${\frac {z_{i}-{\hat {z}}_{i}}{NT^{2}}}$, que és la derivada de ${\frac {1}{2}}\left(z_{i}-{\hat {z}}_{i}\right)^{2}$, és a dir, la pèrdua equival a fer coincidir els logits dels dos models, tal com es fa a la compressió del model.

### Algorisme "Dany cerebral òptim"

L'algoritme de dany cerebral òptim (OBD) és el següent:
Feu-ho fins que s'assoleixi el nivell d'escàs o rendiment desitjat:
    Entrenar la xarxa (mitjançant mètodes com ara la retropropagació) fins que s'obtingui una solució raonable
    Calculeu les saliències per a cada paràmetre
    Suprimiu alguns paràmetres de menor rellevància
Suprimir un paràmetre significa fixar el paràmetre a zero. La "salència" d'un paràmetre $\theta$ es defineix com ${\frac {1}{2}}(\partial _{\theta }^{2}L)\theta ^{2}$, on $L$ és la funció de pèrdua. La segona derivada $\partial _{\theta }^{2}L$ es pot calcular mitjançant retropropagació de segon ordre.
La idea d'un dany cerebral òptim és aproximar la funció de pèrdua en un barri de paràmetres òptims $\theta ^{*}$ per l'expansió de Taylor: $L(\theta )\approx L(\theta ^{*})+{\frac {1}{2}}\sum _{i}(\partial _{\theta _{i}}^{2}L(\theta ^{*}))(\theta _{i}-\theta _{i}^{*})^{2}$ on $\nabla L(\theta ^{*})\approx 0$, ja que $\theta ^{*}$ és òptim, i les derivades creuades $\partial _{\theta _{i}}\partial _{\theta _{j}}L$ es descuiden per guardar el càlcul. Així, la rellevància d'un paràmetre s'aproxima a l'augment de la pèrdua si s'elimina aquest paràmetre.

## Referències

* ↑ Chen, Guobin; Choi, Wongun; Yu, Xiang; Han, Tony; Chandraker, Manmohan Advances in Neural Information Processing Systems, 2017, pàg. 742–751.
* ↑ Yang, Yiding; Jiayan, Qiu; Mingli, Song; Dacheng, Tao; Xinchao, Wang Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2020, pàg. 7072–7081. arXiv: 2003.10477. Bibcode: 2020arXiv200310477Y.
* ↑ Ivakhnenko, A. G.. [Destil·lació del coneixement a Google Books Cybernetics and Forecasting Techniques] (en anglès). American Elsevier Publishing Co., 1967. ISBN 978-0-444-00020-0.
* ↑ Ivakhnenko, A.G. (en anglès) Automatica, 6, 2, 3-1970, pàg. 207–219. DOI: 10.1016/0005-1098(70)90092-0.
* ↑ Ivakhnenko, Alexey IEEE Transactions on Systems, Man, and Cybernetics, SMC-1, 4, 1971, pàg. 364–378. DOI: 10.1109/TSMC.1971.4308320 [Consulta: 5 novembre 2019].
* ↑ Hanson, Stephen; Pratt, Lorien Advances in Neural Information Processing Systems, 1, 1988.
* ↑ LeCun, Yann; Denker, John; Solla, Sara Advances in Neural Information Processing Systems, 2, 1989.
* ↑ Schmidhuber, Jürgen TR FKI-148, TU Munich, 4-1991.
* ↑ Schmidhuber, Jürgen Neural Computation, 4, 2, 1992, pàg. 234–242. DOI: 10.1162/neco.1992.4.2.234.
* ↑ Watkin, Timothy L. H.; Rau, Albrecht; Biehl, Michael Reviews of Modern Physics, 65, 2, 01-04-1993, pàg. 499–556. Bibcode: 1993RvMP...65..499W. DOI: 10.1103/RevModPhys.65.499.
* ↑ Schwarze, H; Hertz, J Europhysics Letters (EPL), 20, 4, 15-10-1992, pàg. 375–380. Bibcode: 1992EL.....20..375S. DOI: 10.1209/0295-5075/20/4/015. ISSN: 0295-5075.
* ↑ Mato, G; Parga, N Journal of Physics A: Mathematical and General, 25, 19, 07-10-1992, pàg. 5047–5054. Bibcode: 1992JPhA...25.5047M. DOI: 10.1088/0305-4470/25/19/017. ISSN: 0305-4470.
* ↑ Hansel, D; Mato, G; Meunier, C Europhysics Letters (EPL), 20, 5, 01-11-1992, pàg. 471–476. Bibcode: 1992EL.....20..471H. DOI: 10.1209/0295-5075/20/5/015. ISSN: 0295-5075.
* ↑ LeCun, Yann; Denker, John; Solla, Sara Advances in Neural Information Processing Systems, 2, 1989.