# Barreja d'experts

La barreja d'experts (MoE) és una tècnica d'aprenentatge automàtic on s'utilitzen múltiples xarxes d'experts (aprenents) per dividir un espai problemàtic en regions homogènies. Es diferencia de les tècniques de conjunt en què, per a MoE, normalment només s'executen un o uns quants models experts per a cada entrada, mentre que en les tècniques de conjunt, tots els models s'executen a cada entrada.

## Teoria bàsica

En barreja d'experts, sempre tenim els següents ingredients, però es construeixen i es combinen de manera diferent.
* Hi ha experts $f_{1},...,f_{n}$, cadascun prenent la mateixa entrada $x$, i produeix sortides $f_{1}(x),...,f_{n}(x)$.
* Hi ha una única funció de ponderació (també conegut com a funció de gating) $w$, que adquireix $x$ i produeix un vector de sortides $(w(x)_{1},...,w(x)_{n})$.
* $\theta =(\theta _{0},\theta _{1},...,\theta _{n})$ és el conjunt de paràmetres. El paràmetre $\theta _{0}$ és per a la funció de ponderació.
* Donada una entrada , la barreja d'experts produeix una única sortida combinada mitjançant la combinació $f_{1}(x),...,f_{n}(x)$ segons els pesos $w(x)_{1},...,w(x)_{n}$ d'alguna manera.
Tant els experts com la funció de ponderació s'entrenen minimitzant algun tipus de funció de pèrdua, generalment per descens de gradients. Hi ha molta llibertat a l'hora d'escollir la forma precisa d'experts, la funció de ponderació i la funció de pèrdua.

### Xarxa meta-pi

La xarxa meta-pi, informada per Hampshire i Waibel, utilitza $f(x)=\sum _{i}w(x)_{i}f_{i}(x)$ com a sortida. El model s'entrena realitzant un descens de gradient sobre la pèrdua d'error quadrat mitjà $L:={\frac {1}{N}}\sum _{k}\|y_{k}-f(x_{k})\|^{2}$. Els experts poden ser funcions arbitràries.

### Mescles adaptatives d'experts locals

Les mescles adaptatives d'experts locals utilitzen un model de mescles gaussianes. Cada expert simplement prediu una distribució gaussiana i ignora totalment l'entrada. Concretament, el $i$ -è expert prediu que la sortida és $y\sim N(\mu _{i},I)$, on $\mu _{i}$ és un paràmetre aprendre. La funció de ponderació és una funció lineal-softmax:$w(x)_{i}={\frac {e^{k_{i}^{T}x+b_{i}}}{\sum _{j}e^{k_{j}^{T}x+b_{j}}}}$

### MoE jeràrquic

Les mescles jeràrquiques d'experts utilitzen múltiples nivells de gating en un arbre. Cada gating és una distribució de probabilitat sobre el següent nivell de gatings, i els experts es troben als nodes de la fulla de l'arbre. Són semblants als arbres de decisió.

## Aprenentatge profund

La secció anterior descrivia el MoE tal com s'utilitzava abans de l'era de l'aprenentatge profund. Després d'un aprenentatge profund, MoE va trobar aplicacions per executar els models més grans, com una forma senzilla de realitzar càlculs condicionals: només s'utilitzen parts del model, les parts escollides segons quina és l'entrada.
El primer article que aplica MoE a l'aprenentatge profund és que proposa utilitzar una xarxa de gating diferent a cada capa d'una xarxa neuronal profunda. Concretament, cada gating és una xarxa lineal-ReLU-lineal-softmax, i cada expert és una xarxa lineal-ReLU.
L'objectiu clau del disseny per al MoE en l'aprenentatge profund és reduir el cost informàtic. En conseqüència, per a cada consulta, només s'hauria de consultar un petit subconjunt d'experts. Això fa que el MoE en aprenentatge profund sigui diferent del MoE clàssic. En el MoE clàssic, la sortida de cada consulta és una suma ponderada de les sortides de tots els experts. En el MoE d'aprenentatge profund, la sortida de cada consulta només pot incloure les sortides d'uns pocs experts. En conseqüència, l'opció clau de disseny a MoE es converteix en l'encaminament: donat un lot de consultes, com dirigir les consultes als millors experts.

### Aplicacions als models de transformadors

Les capes de MoE s'utilitzen en models de transformadors molt grans, per als quals aprendre i inferir sobre el model complet és massa costós. Normalment són poc tancats, amb escàs 1 o 2. En els models de transformador, les capes MoE s'utilitzen sovint per seleccionar les capes d'alimentació anticipada (normalment una xarxa lineal-ReLU-lineal), que apareixen a cada bloc de transformador després de l'atenció multicapçalera. Això es deu al fet que les capes de feedforward ocupen una part creixent del cost informàtic a mesura que els models creixen. Per exemple, en el model Palm-540B, el 90% dels paràmetres es troben a les seves capes de feedforward.

## Referències

* ↑ Baldacchino, Tara; Cross, Elizabeth J.; Worden, Keith; Rowson, Jennifer Mechanical Systems and Signal Processing, 66–67, 2016, pàg. 178–200. Bibcode: 2016MSSP...66..178B. DOI: 10.1016/j.ymssp.2015.05.009.
* ↑ Hampshire, J.B.; Waibel, A. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14, 7, 7-1992, pàg. 751–769. DOI: 10.1109/34.142911.
* ↑ Nowlan, Steven; Hinton, Geoffrey E Advances in Neural Information Processing Systems, 3, 1990.
* ↑ Jacobs, Robert A.; Jordan, Michael I.; Nowlan, Steven J.; Hinton, Geoffrey E. (en anglès) Neural Computation, 3, 1, 2-1991, pàg. 79–87. DOI: 10.1162/neco.1991.3.1.79. ISSN: 0899-7667. PMID: 31141872.
* ↑ Jordan, Michael; Jacobs, Robert Advances in Neural Information Processing Systems, 4, 1991.
* ↑ Jordan, Michael I.; Jacobs, Robert A. (en anglès) Neural Computation, 6, 2, 3-1994, pàg. 181–214. DOI: 10.1162/neco.1994.6.2.181. ISSN: 0899-7667.
* ↑ «Transformer Deep Dive: Parameter Counting» (en anglès). Transformer Deep Dive: Parameter Counting. Arxivat de l'original el 2023-04-12. [Consulta: 10 octubre 2023].