Settimana 12
$$\gdef \sam #1 {\mathrm{softargmax}(#1)}$$
$$\gdef \vect #1 {\boldsymbol{#1}} $$
$$\gdef \matr #1 {\boldsymbol{#1}} $$
$$\gdef \E {\mathbb{E}} $$
$$\gdef \V {\mathbb{V}} $$
$$\gdef \R {\mathbb{R}} $$
$$\gdef \N {\mathbb{N}} $$
$$\gdef \relu #1 {\texttt{ReLU}(#1)} $$
$$\gdef \D {\,\mathrm{d}} $$
$$\gdef \deriv #1 #2 {\frac{\D #1}{\D #2}}$$
$$\gdef \pd #1 #2 {\frac{\partial #1}{\partial #2}}$$
$$\gdef \set #1 {\left\lbrace #1 \right\rbrace} $$
% My colours
$$\gdef \aqua #1 {\textcolor{8dd3c7}{#1}} $$
$$\gdef \yellow #1 {\textcolor{ffffb3}{#1}} $$
$$\gdef \lavender #1 {\textcolor{bebada}{#1}} $$
$$\gdef \red #1 {\textcolor{fb8072}{#1}} $$
$$\gdef \blue #1 {\textcolor{80b1d3}{#1}} $$
$$\gdef \orange #1 {\textcolor{fdb462}{#1}} $$
$$\gdef \green #1 {\textcolor{b3de69}{#1}} $$
$$\gdef \pink #1 {\textcolor{fccde5}{#1}} $$
$$\gdef \vgrey #1 {\textcolor{d9d9d9}{#1}} $$
$$\gdef \violet #1 {\textcolor{bc80bd}{#1}} $$
$$\gdef \unka #1 {\textcolor{ccebc5}{#1}} $$
$$\gdef \unkb #1 {\textcolor{ffed6f}{#1}} $$
% Vectors
$$\gdef \vx {\pink{\vect{x }}} $$
$$\gdef \vy {\blue{\vect{y }}} $$
$$\gdef \vb {\vect{b}} $$
$$\gdef \vz {\orange{\vect{z }}} $$
$$\gdef \vtheta {\vect{\theta }} $$
$$\gdef \vh {\green{\vect{h }}} $$
$$\gdef \vq {\aqua{\vect{q }}} $$
$$\gdef \vk {\yellow{\vect{k }}} $$
$$\gdef \vv {\green{\vect{v }}} $$
$$\gdef \vytilde {\violet{\tilde{\vect{y}}}} $$
$$\gdef \vyhat {\red{\hat{\vect{y}}}} $$
$$\gdef \vycheck {\blue{\check{\vect{y}}}} $$
$$\gdef \vzcheck {\blue{\check{\vect{z}}}} $$
$$\gdef \vztilde {\green{\tilde{\vect{z}}}} $$
$$\gdef \vmu {\green{\vect{\mu}}} $$
$$\gdef \vu {\orange{\vect{u}}} $$
% Matrices
$$\gdef \mW {\matr{W}} $$
$$\gdef \mA {\matr{A}} $$
$$\gdef \mX {\pink{\matr{X}}} $$
$$\gdef \mY {\blue{\matr{Y}}} $$
$$\gdef \mQ {\aqua{\matr{Q }}} $$
$$\gdef \mK {\yellow{\matr{K }}} $$
$$\gdef \mV {\lavender{\matr{V }}} $$
$$\gdef \mH {\green{\matr{H }}} $$
% Coloured math
$$\gdef \cx {\pink{x}} $$
$$\gdef \ctheta {\orange{\theta}} $$
$$\gdef \cz {\orange{z}} $$
$$\gdef \Enc {\lavender{\text{Enc}}} $$
$$\gdef \Dec {\aqua{\text{Dec}}}$$
Lezione parte A
In questa sezione discuteremo delle varie architetture utilizzate nelle applicazioni dell’elaborazione del linguaggio naturale, detta anche detta anche NLP (dall’inglese Natural Language Processing). Iniziamo dalle CNN, le RNN, giungendo infine alle architetture all’avanguardia: i Transformer (letteralmente: trasformatore). Discutiamo poi dei vari moduli compresi nei Transformer e di come essi facciano in modo che quest’architettura si presti bene al NLP. Infine, discutiamo di alcuni “trucchi” che ci permettono di addestrare i transformer in maniera efficace.
Lezione parte B
In questa sezione introduciamo l’algoritmo di ricerca beam search (letteralmente, ricerca a raggio) che fa da via di mezzo fra la decodificazione greedy (avida) e la ricerca esaustiva (exhaustive search). Consideriamo il caso di voler campionare dalla distribuzione generativa (ovvero, quando si genera un testo) ed introduciamo il campionamento top-k. Di seguito, introduciamo i modelli sequence-to-sequence (letteralmente: da-sequenza-a-sequenza) con una variante transformer, e la retrotraduzione (backtranslation). Infine, introduciamo l’approccio non-supervisionato all’apprendimento di rappresentazioni (embedding) e presentiamo i modelli word2vec (“da-parola-a-vettore”), GPT, e BERT.
Pratica
Introduciamo il concetto di attenzione, focalizzandoci sull’auto-attenzione (self-attention) e le rappresentazioni dell’input generate nello strato nascosto. Di seguito, introduciamo il paradigma del key-value store e vediamo un modo di rappresentare quesiti (queries), chiavi (keys), e valori (values) come rotazioni di un input. Infine, utilizziamo il concetto di attenzione per interpretare l’archiettutra del transformer, facendo un forward pass attraverso il transformer basico, e mettendo a confronto il paradigma encoder-decoder ed un’architettura sequenziale.
Francesca Guiso