Salta ai contenuti

Taylor come approssimazione locale

Quasi nessuna funzione del mondo reale è facile da calcolare: esponenziali, logaritmi, seni, la loss di una rete neurale. I polinomi invece sono banali — solo somme e moltiplicazioni. La serie di Taylor è il ponte: trasforma localmente una funzione difficile in un polinomio, scegliendo i coefficienti in modo che valore, pendenza e curvatura combacino in un punto. Questo capitolo costruisce l’idea da zero, mostra cosa significhino i primi termini, misura l’errore che si commette troncando, estende il tutto a più variabili con gradiente e Hessiana, e spiega perché quasi tutta l’ottimizzazione del machine learning — discesa del gradiente, metodo di Newton, perfino la teoria delle reti larghe — è, sotto il cofano, un uso dell’approssimazione di Taylor.

Prova a calcolare e^{0.1} a mano. Non con una calcolatrice: a mano, con carta e penna. Non sai da dove cominciare, perché l’esponenziale non è fatto di operazioni elementari: non è una somma, non è un prodotto, non è una potenza intera.

Eppure il numero 1.105170918... esiste, ed è perfettamente determinato. Il problema non è che e^{0.1} sia misterioso. Il problema è che la nostra cassetta degli attrezzi di calcolo — somme, sottrazioni, moltiplicazioni, divisioni — non lo raggiunge direttamente.

I polinomi, invece, quella cassetta la usano tutta e niente di più. Un polinomio come 1 + x + x²/2 si valuta con tre moltiplicazioni e due somme, in qualsiasi punto, sempre. Si deriva con una regola meccanica, si integra con un’altra regola meccanica. Sono le funzioni più docili che l’analisi conosca. La domanda che apre questo capitolo è semplice: e se potessimo sostituire una funzione difficile con un polinomio che le somiglia abbastanza? Non ovunque — sarebbe chiedere troppo — ma vicino a un punto che ci interessa.

La serie di Taylor è la risposta a quella domanda, ed è una risposta con tre secoli di vita. Ma non è un reperto da museo.

Chi addestra modelli la usa ogni volta che lancia un training, anche senza nominarla. La discesa del gradiente è un passo lungo l’approssimazione di Taylor di primo ordine della loss. Il metodo di Newton è un salto verso il minimo dell’approssimazione di secondo ordine. L’analisi del loss landscape — perché un learning rate è troppo grande, perché un training rallenta — si fa sempre sulla parabola di Taylor attorno al punto in cui ci si trova.

Chi salta questo capitolo può comunque addestrare reti. Chi lo legge smette di vedere l’ottimizzatore come una scatola nera e comincia a vederlo per quello che è: una macchina che, a ogni passo, costruisce un polinomio locale e ci cammina sopra.

Questo capitolo è il quarto della Parte VI e poggia direttamente sui tre che lo precedono. Da Analisi matematica: limiti, continuità, derivate arrivano la derivata prima come pendenza e la derivata seconda come curvatura: sono i mattoni con cui Taylor è costruito. Da Derivate parziali, gradienti, Jacobiani arriva il gradiente, il vettore che impila le pendenze lungo ogni variabile. Da Hessiana, curvatura, condizionamento arriva l’Hessiana, la matrice delle derivate seconde.

Il capitolo sull’Hessiana ha già introdotto, di sfuggita, una “ciotola che approssima la funzione”: quella ciotola era, senza dirne il nome, l’approssimazione di Taylor di secondo ordine. Qui le diamo il nome e la costruiamo per bene. In un certo senso questo capitolo non introduce strumenti nuovi — derivate, gradiente, Hessiana sono già stati visti — ma mostra come si incastrano in un’unica costruzione.

L’idea ha una data e un nome. Brook Taylor (1685-1731, matematico inglese) pubblica la formula nel 1715, nel libro Methodus Incrementorum Directa et Inversa — in italiano, “Metodi diretti e inversi di incrementazione” — un’opera che introduce anche il calcolo delle differenze finite e l’integrazione per parti. Taylor deriva la formula a partire dalle differenze finite, ragionando su quanto una funzione cambia a passi sempre più piccoli.

Taylor non fu il primo ad arrivarci. James Gregory (matematico scozzese, 1638-1675), Isaac Newton, Gottfried Leibniz, Johann Bernoulli e Abraham de Moivre avevano già trovato casi particolari o risultati equivalenti prima del 1715 — Gregory, per esempio, conosceva la serie dell’arcotangente decenni prima. Il contributo di Taylor è la formulazione generale, valida attorno a un punto qualunque.

Ed è una formulazione che il suo tempo quasi ignorò. Passarono cinquantasette anni prima che Joseph-Louis Lagrange (matematico italo-francese, 1736-1813) la proclamasse, nel 1772, “il principio base del calcolo differenziale”. Il termine “serie di Taylor” compare per la prima volta solo nel 1786, in uno scritto del matematico svizzero Simon Lhuilier. Lagrange diede anche un contributo tecnico che incontreremo: la forma del resto che porta il suo nome.

Un secondo nome ricorre accanto a quello di Taylor. Colin Maclaurin (matematico scozzese, 1698-1746) usò estesamente, nel suo Treatise of Fluxions del 1742, il caso particolare in cui il punto base è lo zero. Per questo la serie di Taylor centrata in 0 è oggi chiamata serie di Maclaurin. È una distinzione di sola comodità, non di sostanza: Taylor aveva già menzionato esplicitamente quel caso nel 1715, e Maclaurin stesso lo attribuiva a lui. Il nome separato è una convenzione che la storia ha sedimentato dopo.

L’ordine del capitolo segue la costruzione del concetto. Prima l’idea di far combaciare le derivate, un ordine alla volta, e il significato dei primi termini. Poi la formula generale e il problema dell’errore: quanto sbaglia un polinomio troncato. Poi il passaggio a più variabili, dove pendenza diventa gradiente e curvatura diventa Hessiana. Poi la domanda scomoda — la serie infinita rappresenta sempre la funzione? — con il controesempio che dice di no. Infine il ponte verso l’ottimizzazione e il deep learning, che è la ragione per cui questo capitolo sta in una wiki sull’AI.

L’intuizione, primo angolo: far combaciare le derivate

Sezione intitolata “L’intuizione, primo angolo: far combaciare le derivate”

Hai una funzione f complicata e un punto a che ti interessa. Vuoi imitare f vicino ad a usando solo polinomi. Costruiamo l’imitazione partendo dal polinomio più stupido possibile e migliorandolo un grado alla volta.

Ordine zero: la costante. Il polinomio più povero è una retta orizzontale all’altezza giusta: P_0(x) = f(a). In a combacia con f nel valore — toccano lo stesso punto — e basta. Appena ti sposti, l’imitazione si stacca. È un punto di partenza misero, ma è un punto di partenza.

Ordine uno: la retta tangente. Aggiungi un termine che faccia combaciare anche la pendenza. La pendenza di f in a è la derivata f'(a). Il polinomio diventa

P1(x)=f(a)+f(a)(xa)P_1(x) = f(a) + f'(a)\,(x - a)

Geometricamente è la retta tangente al grafico di f nel punto a. Ora l’imitazione non solo tocca la funzione, ma “parte nella stessa direzione e con la stessa inclinazione”. Vicino ad a l’errore è piccolo: si dimostra che cresce come il quadrato della distanza, (x-a)². Raddoppiando la distanza dal centro, l’errore quadruplica — il che, finché la distanza è piccola, è ottima notizia.

Ordine due: la parabola osculatrice. Aggiungi un termine che faccia combaciare anche la curvatura, cioè la derivata seconda f''(a):

P2(x)=f(a)+f(a)(xa)+f(a)2(xa)2P_2(x) = f(a) + f'(a)\,(x - a) + \frac{f''(a)}{2}\,(x - a)^2

Questa è una parabola che, in a, ha lo stesso valore, la stessa pendenza e la stessa concavità di f. Si incurva nello stesso verso: se la funzione lì è a forma di ciotola, la parabola è a forma di ciotola con la stessa apertura. Si chiama parabola osculatrice, dal latino “che bacia”: non sfiora la curva, la abbraccia. L’errore ora cala ancora più in fretta, come (x-a)³.

Lo schema è chiaro. Ogni termine che aggiungi fa combaciare una derivata in più — la terza, la quarta, la k-esima — e ogni volta l’errore residuo cala di un ordine di grandezza in più rispetto alla distanza dal centro. I primi tre termini hanno un significato che vale la pena fissare, perché tornerà identico in più dimensioni:

  • f(a) dice dove sei: il valore.
  • f'(a)(x-a) dice in che direzione e quanto ripido vai: la pendenza. In più variabili diventerà il gradiente.
  • f''(a)/2 \cdot (x-a)² dice come gira la curva: la curvatura. In più variabili diventerà l’Hessiana.

Resta una domanda: perché il termine di secondo grado ha quel 1/2 al denominatore, e i termini successivi avranno 1/3!, 1/4! e così via? Non è un capriccio. Pensa a cosa succede quando derivi due volte il termine f''(a)/2 \cdot (x-a)². La prima derivata di (x-a)² è 2(x-a); la seconda è 2. Quel 2 che esce moltiplica tutto, e il 1/2 serve esattamente a cancellarlo, così che la derivata seconda del termine, valutata in a, sia esattamente f''(a) e nient’altro. In generale, derivando (x-a)^n per n volte si ottiene n! (il fattoriale: n! = n \cdot (n-1) \cdots 2 \cdot 1). Il 1/n! davanti al termine di grado n è il fattore che annulla quel n!, garantendo che la derivata n-esima del polinomio in a valga la derivata n-esima di f. Il fattoriale non è decorazione: è la chiave che fa combaciare le derivate.

Vale la pena rendere esplicito questo ragionamento, perché è il cuore di come la formula è costruita. Vogliamo un polinomio P tale che, nel punto base a, valga P(a) = f(a), P'(a) = f'(a), P''(a) = f''(a), e così via. Scrivi il polinomio incognito come somma di potenze di (x-a) con coefficienti da determinare: P(x) = c_0 + c_1(x-a) + c_2(x-a)^2 + c_3(x-a)^3 + \cdots.

Le potenze di (x-a) sono scelte apposta: in x = a ognuna si annulla, tranne quella di grado zero. Valutare P in a lascia in piedi solo c_0, quindi c_0 = f(a). Derivare P una volta e poi valutare in a lascia in piedi solo c_1, quindi c_1 = f'(a). Derivare due volte lascia in piedi 2 c_2, da cui c_2 = f''(a)/2. Derivare n volte lascia in piedi n! \, c_n, da cui c_n = f^{(n)}(a)/n!.

Non c’è niente da indovinare: i coefficienti del polinomio di Taylor sono forzati dalla richiesta di far combaciare le derivate. La formula non è una scelta felice, è l’unica risposta possibile a quella richiesta.

Una nota su un termine che ricorrerà: la retta tangente e la parabola osculatrice si dicono approssimazioni del primo e del secondo ordine. “Ordine” qui conta quante derivate vengono fatte combaciare — equivalentemente, il grado del polinomio. Un’approssimazione di ordine k fa combaciare le prime k derivate e ha un errore che svanisce come (x-a)^{k+1}. Quando, più avanti, parleremo di “metodi del primo ordine” e “metodi del secondo ordine” in ottimizzazione, sarà esattamente questo il senso: quante derivate della loss l’algoritmo sta usando.

L’intuizione, secondo angolo: uno strumento di zoom

Sezione intitolata “L’intuizione, secondo angolo: uno strumento di zoom”

C’è un secondo modo di vedere Taylor, meno costruttivo e più visivo, che conviene tenere accanto al primo.

Immagina una funzione liscia come un paesaggio collinare visto dall’alto. Da lontano è un groviglio di curve. Ma punta lo zoom su un punto preciso e ingrandisci. A mano a mano che ingrandisci, il paesaggio si semplifica.

A uno zoom forte, attorno al punto, la funzione sembra una retta inclinata — non perché sia una retta, ma perché a quella scala la sua curvatura è invisibile. A uno zoom un po’ meno spinto, dove la curvatura comincia a vedersi ma i dettagli più fini ancora no, la funzione sembra un arco di parabola. È un fatto verificabile: ingrandendo abbastanza il grafico di una qualsiasi funzione derivabile attorno a un punto, quel che si vede tende a una retta — la tangente.

La serie di Taylor è la “legge dello zoom”: dice esattamente che forma assume la funzione a ciascun livello di ingrandimento attorno al punto base. L’approssimazione di primo ordine è ciò che vedi allo zoom in cui conta solo la pendenza. La seconda è ciò che vedi quando entra in scena anche la curvatura. La terza, la quarta, e così via, sono livelli di dettaglio sempre più fini.

Questo angolo rende ovvia una proprietà cruciale: Taylor è uno strumento locale. Lo zoom funziona solo finché resti vicino al centro su cui hai puntato. Allontanati, e quello che vedi nell’inquadratura non corrisponde più al paesaggio: il polinomio e la funzione divergono. C’è un’eccezione — le funzioni eccezionalmente regolari, dette analitiche, per cui la serie infinita coincide con la funzione su tutto un intervallo — ma è un’eccezione, non la regola, e ci torneremo.

Lo stesso angolo suggerisce anche una metafora alternativa: la serie di Taylor scompone la funzione in strati di dettaglio. Lo strato zero è la posizione grossolana. Lo strato uno è la tendenza generale. Lo strato due è la curvatura. Gli strati successivi sono rifiniture sempre più sottili. Troncare la serie al grado k significa tenere i primi k+1 strati e buttare via il resto. È la stessa logica di un’immagine caricata progressivamente: prima la forma grezza, poi i dettagli, e ci si ferma quando la qualità basta per l’uso che se ne deve fare.

I due angoli si rinforzano a vicenda. Il primo — far combaciare le derivate — dice come si costruisce il polinomio: è una ricetta operativa, eseguibile con carta e penna. Il secondo — lo strumento di zoom — dice perché la ricetta funziona e quali sono i suoi limiti: il polinomio è fedele finché la scala dello zoom contiene solo i dettagli che gli strati tenuti riescono a descrivere. Se nel primo angolo è naturale chiedersi “quanti termini servono”, nel secondo è naturale chiedersi “quanto lontano dal centro posso spingermi”. Sono le due domande che governano ogni uso pratico di Taylor, e il resto del capitolo le risponde con il formalismo.

Mettiamo insieme i pezzi. Il polinomio di Taylor di grado k della funzione f attorno al punto base a è la somma dei termini visti sopra, fino al grado k:

Pk(x)=i=0kf(i)(a)i!(xa)iP_k(x) = \sum_{i=0}^{k} \frac{f^{(i)}(a)}{i!}\,(x - a)^i

Qui f^(i)(a) è la derivata i-esima di f valutata in a (con la convenzione che la derivata zero-esima è la funzione stessa, f^(0) = f), e i! è il fattoriale di i. Scritto per esteso: P_k(x) = f(a) + f'(a)(x-a) + \frac{f''(a)}{2!}(x-a)^2 + \cdots + \frac{f^{(k)}(a)}{k!}(x-a)^k.

Quando si lascia k crescere all’infinito si ottiene la serie di Taylor, una somma infinita. Se il punto base è a = 0, la serie prende il nome di serie di Maclaurin. Per le funzioni più comuni le serie di Maclaurin hanno forme che vale la pena conoscere a memoria, perché ricorrono ovunque:

ex=1+x+x22!+x33!+e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots

sinx=xx33!+x55!cosx=1x22!+x44!\sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \cdots \qquad \cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \cdots

11x=1+x+x2+x3+\frac{1}{1-x} = 1 + x + x^2 + x^3 + \cdots

In parole povere: queste formule dicono che funzioni trascendenti, apparentemente fuori dalla portata dell’aritmetica, sono in realtà somme (infinite) di potenze. Ogni potenza è banale; è la somma a ricostruire la funzione.

Un polinomio di grado k non è la funzione: è un’imitazione. La differenza fra le due ha un nome, resto, e una notazione. Scriviamo la funzione vera come polinomio più resto:

f(x)=Pk(x)+Rk(x)f(x) = P_k(x) + R_k(x)

Il termine R_k(x) è l’errore di troncamento: quanto perdi per aver tenuto solo k+1 strati invece della serie intera. Conoscerlo, o almeno limitarlo, è ciò che separa un’approssimazione affidabile da un numero buttato lì.

La forma più usata del resto è la forma di Lagrange. Se f è derivabile k+1 volte sulla finestra fra a e x, allora esiste un punto ξ (lettera greca xi), compreso fra a e x, tale che

Rk(x)=f(k+1)(ξ)(k+1)!(xa)k+1R_k(x) = \frac{f^{(k+1)}(\xi)}{(k+1)!}\,(x - a)^{k+1}

Guardala bene: ha la stessa forma del primo termine che avresti scritto se avessi continuato la serie — il termine di grado k+1. L’unica differenza è che la derivata (k+1)-esima non è valutata in a, ma in quel punto incognito ξ da qualche parte fra a e x.

Il resto, in parole povere, dice questo: l’errore che commetti troncando al grado k è esattamente il termine successivo, a patto di valutarne la derivata nel punto giusto — punto che esiste ma che non sappiamo individuare. È un’affermazione di tipo teorema: il punto ξ non è un’approssimazione o un’analogia, è garantito esistere da una dimostrazione, una generalizzazione del teorema del valor medio.

Il fatto che ξ sia incognito sembra rendere la formula inutile. Non è così: la rende uno strumento di stima, non di calcolo esatto. Se sappiamo che sulla finestra fra a e x la derivata (k+1)-esima non supera, in valore assoluto, una certa costante M — cioè |f^(k+1)(t)| ≤ M per ogni t nella finestra — allora possiamo limitare l’errore senza sapere dove sia ξ:

Rk(x)M(k+1)!xak+1|R_k(x)| \le \frac{M}{(k+1)!}\,|x - a|^{k+1}

Questa disuguaglianza è la cosa operativamente utile. Dice che l’errore di troncamento dipende da tre fattori, e dice in che verso ciascuno spinge:

  • |x-a|^{k+1} — la distanza dal centro elevata a k+1. Più stai vicino ad a, molto meglio. A k = 2, dimezzare la distanza divide l’errore per 8.
  • 1/(k+1)! — il numero di termini che hai tenuto. Il fattoriale cresce in modo feroce: 10! ≈ 3,6 milioni. Aggiungere termini, finché si resta entro il raggio di validità, abbatte l’errore in fretta.
  • M — quanto la funzione si agita alle derivate alte. Una funzione che oscilla violentemente ha derivate grandi e quindi M grande: è più difficile da approssimare. Una funzione mansueta ha M piccolo.

C’è anche una forma più debole del resto, la forma di Peano, che si usa quando interessa solo il comportamento locale. Dice semplicemente che f(x) = P_k(x) + o((x-a)^k), dove il simbolo o(\cdot) (“o-piccolo”) significa “una quantità che, vicino ad a, va a zero più rapidamente di (x-a)^k”. È la forma con cui si afferma, per esempio, che “l’errore dell’approssimazione lineare è di ordine due”: non quantifica l’errore, ma ne fissa la rapidità con cui svanisce. Per l’ottimizzazione, dove conta sapere che vicino al punto base l’approssimazione è buona, la forma di Peano è spesso tutto ciò che serve.

Conviene fissare la differenza fra le due forme, perché rispondono a domande diverse. La forma di Lagrange è quantitativa: dà un numero, un tetto all’errore, utile quando si deve garantire una precisione — “voglio e^{0.1} con cinque cifre corrette, quanti termini bastano?”. La forma di Peano è qualitativa: non dà un numero, dice solo con quale velocità l’errore svanisce avvicinandosi al centro. Sembra meno utile, ma è esattamente l’informazione che serve quando si ragiona su un algoritmo: dire che gradient descent si fida di un modello con errore o(d) significa dire che, rimpicciolendo il passo d, l’errore relativo del modello lineare diventa trascurabile. Non serve sapere quanto vale l’errore; serve sapere che si comporta bene sotto rimpicciolimento. Le due forme non competono: si usano in contesti diversi.

Un dettaglio sul fattoriale, perché spiega un fatto che torna spesso. Il termine di grado n del resto contiene 1/(n+1)!, e il fattoriale cresce più rapidamente di qualsiasi potenza. Questo è il motivo per cui le serie di e^x, \sin, \cos convergono su tutta la retta reale: per quanto grande sia x, da un certo grado in poi il 1/(n+1)! al denominatore vince contro |x|^{n+1} al numeratore, e i termini crollano verso zero. Per \frac{1}{1-x}, invece, i coefficienti non hanno fattoriale che li smorzi — sono tutti uguali a 1 — e la serie può convergere solo dove |x| < 1 la tiene a freno. Il fattoriale, in altre parole, non è solo la chiave che fa combaciare le derivate: è anche ciò che decide quali serie convergono ovunque e quali solo entro un raggio.

Vediamo la stima dell’errore al lavoro su un caso concreto. Vogliamo approssimare e^{0.1} con il polinomio di Taylor di grado 2 attorno a 0, e sapere quanto stiamo sbagliando senza conoscere il valore vero. Applichiamo il bound |R_2(x)| \le \frac{M}{3!}\,|x-a|^3.

Qui a = 0, x = 0.1, e la derivata terza di e^x è ancora e^x. Sulla finestra fra 0 e 0.1 l’esponenziale è crescente, quindi il suo massimo è e^{0.1}, che certamente non supera e^{0.5} < 2 — usiamo M = 2 come tetto comodo. Il bound dà allora |R_2(0.1)| \le \frac{2}{6}\,(0.1)^3 = \frac{2}{6}\cdot 0.001 \approx 0.00033.

Conclusione: il polinomio di grado 2 approssima e^{0.1} con un errore garantito sotto 0.00033, quindi le prime tre cifre decimali sono sicure. E infatti l’errore vero, calcolato a posteriori, è circa 0.00017 — dentro il bound, come deve essere. Questo è il valore della forma di Lagrange: produce una garanzia prima di conoscere la risposta, e con quella garanzia si decide quanti termini servono.

Finora f aveva un solo ingresso. La loss di una rete neurale ne ha milioni: tutti i pesi del modello entrano, un singolo numero — l’errore — esce. Si scrive f: ℝ^n → ℝ. Per funzioni così, il polinomio di Taylor cambia forma ma non sostanza, e le due nozioni che lo riempiono sono esattamente quelle dei capitoli precedenti di questa Parte.

Lo spostamento dal punto base a non è più un numero ma un vettore, lo chiamiamo d. Il polinomio di Taylor di secondo ordine attorno ad a è:

f(a+d)f(a)+f(a)d+12dH(a)df(a + d) \approx f(a) + \nabla f(a) \cdot d + \frac{1}{2}\, d^\top H(a)\, d

Tre termini, e ognuno è la versione vettoriale di un termine del caso a una variabile.

Il termine costante f(a) è identico a prima: il valore della funzione nel punto base.

Il termine lineare \nabla f(a) \cdot d è il prodotto scalare fra il gradiente \nabla f(a) — il vettore delle derivate parziali prime, introdotto in Derivate parziali, gradienti, Jacobiani — e lo spostamento d. È la generalizzazione esatta di f'(a)(x-a): dove prima c’era una pendenza moltiplicata per uno spostamento scalare, ora c’è un vettore di pendenze proiettato su un vettore di spostamento. Geometricamente, questo termine da solo definisce l’iperpiano tangente alla superficie della funzione nel punto a.

Il termine quadratico \frac{1}{2}\, d^\top H(a)\, d usa la matrice Hessiana H(a) — la matrice delle derivate parziali seconde, protagonista di Hessiana, curvatura, condizionamento. L’espressione d^\top H d, un vettore per una matrice per lo stesso vettore, è una forma quadratica: il capitolo sull’Hessiana l’ha già incontrata come “curvatura lungo una direzione”. È la generalizzazione esatta di \frac{f''(a)}{2}(x-a)^2: dove prima c’era una curvatura scalare, ora c’è una matrice che racchiude la curvatura in tutte le direzioni dello spazio dei parametri.

In parole povere: in n dimensioni, l’approssimazione di Taylor di secondo ordine di una funzione è un piano inclinato più una ciotola (o una sella, o una cupola, a seconda dell’Hessiana). Il gradiente disegna il piano; l’Hessiana disegna la ciotola.

Questa formula a tre termini è la singola espressione più usata in tutta l’ottimizzazione del machine learning. Vale la pena rileggerla finché non diventa familiare, perché tutto ciò che segue ci si appoggia.

C’è un dettaglio che il passaggio a più variabili rende visibile. In una dimensione c’erano due derivate seconde possibili? No, una sola: f''(a). In n dimensioni le derivate seconde sono n^2, e l’Hessiana le raccoglie tutte. Questo significa che la curvatura, in più variabili, non è un numero ma una struttura: dipende dalla direzione in cui ci si muove. La forma quadratica d^\top H d è precisamente il meccanismo che, data una direzione d, restituisce la curvatura lungo quella direzione. Il termine quadratico di Taylor non aggiunge “una curvatura” al modello: aggiunge l’intera mappa di come la funzione si incurva in ogni direzione possibile attorno al punto base.

Facciamo un conto concreto, su due variabili, per vedere la formula al lavoro. Prendi f(x, y) = x^2 + xy + y^2 e sviluppala attorno al punto base a = (1, 1). Il valore nel punto base è f(1,1) = 1 + 1 + 1 = 3. Il gradiente è il vettore delle derivate parziali prime: \nabla f = (2x + y,\ x + 2y), che in (1,1) vale (3, 3). L’Hessiana è la matrice delle derivate seconde, e per questa funzione è costante: la derivata seconda rispetto a x è 2, rispetto a y è 2, la mista è 1, quindi

H=[2112]H = \begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix}

L’approssimazione di Taylor di secondo ordine, per uno spostamento d = (d_x, d_y) dal punto (1,1), è allora f(1+d_x,\ 1+d_y) \approx 3 + (3, 3) \cdot (d_x, d_y) + \frac{1}{2}(d_x, d_y)\, H\, (d_x, d_y)^\top.

Per questa funzione — un polinomio di secondo grado — l’approssimazione non è solo buona: è esatta, perché tutte le derivate dal terzo ordine in su sono nulle e il resto svanisce. È un caso particolare istruttivo: il polinomio di Taylor di grado due di un polinomio di grado due è il polinomio stesso. Per una funzione generale, invece, l’uguaglianza diventa un’approssimazione, tanto migliore quanto più d è piccolo.

Finora abbiamo trattato la serie di Taylor come uno strumento che, se tieni abbastanza termini, ricostruisce la funzione. È vero per molte funzioni. Non è vero per tutte, e capire dove fallisce chiarisce cosa Taylor davvero promette.

Per e^x, \sin x, \cos x la serie di Maclaurin converge su tutta la retta reale, e converge alla funzione. Per queste funzioni il troncamento è solo una questione di quanti termini hai voglia di tenere: con abbastanza termini raggiungi qualunque precisione, in qualunque punto. Sono i casi fortunati.

Secondo regime: convergenza dentro un raggio finito

Sezione intitolata “Secondo regime: convergenza dentro un raggio finito”

Prendi \frac{1}{1-x}, la cui serie di Maclaurin è la serie geometrica 1 + x + x^2 + x^3 + \cdots. Questa serie converge solo se |x| < 1; per |x| ≥ 1 la somma infinita diverge e non vuol dire niente. Il numero 1 è il raggio di convergenza: il semilato dell’intervallo, centrato nel punto base, dentro cui la serie converge. La serie di una funzione “sa” fin dove può spingersi.

Da dove esce quel 1? La funzione \frac{1}{1-x} ha un problema in x = 1: lì il denominatore si annulla, la funzione esplode. Quella singolarità limita la serie: anche se la sviluppi in x = 0, lontano dal punto problematico, la serie “sente” l’ostacolo e si rifiuta di convergere oltre la distanza che la separa da esso. Esiste una formula che lega il raggio alla crescita dei coefficienti c_k della serie, la formula di Cauchy-Hadamard, 1/R = \limsup_{k\to\infty} |c_k|^{1/k}; ma l’intuizione che conta è geometrica: il raggio di convergenza è, di norma, la distanza dalla singolarità più vicina.

C’è un caso che mette questa intuizione alla prova e merita una riga. La funzione \frac{1}{1+x^2} è liscia e mansueta su tutta la retta reale — non esplode da nessuna parte, non ha buchi. Eppure la sua serie di Maclaurin, 1 - x^2 + x^4 - \cdots, converge solo per |x| < 1.

Sulla retta reale non c’è nessuna singolarità che giustifichi quel raggio. La singolarità c’è, ma è fuori dalla retta: nel piano dei numeri complessi, dove \frac{1}{1+x^2} esplode nei punti x = i e x = -i, a distanza 1 dall’origine. Il raggio di convergenza “vede” anche gli ostacoli che non stanno sulla retta reale.

È un promemoria che il raggio di convergenza è un fenomeno del piano complesso, e che una funzione perfettamente liscia sui reali può comunque avere una serie a raggio finito per ragioni invisibili a chi guarda solo l’asse reale.

Terzo regime: la serie converge, ma non alla funzione

Sezione intitolata “Terzo regime: la serie converge, ma non alla funzione”

È il caso patologico, ed è quello da ricordare. Considera la funzione

f(x)=e1/x2per x0,f(0)=0f(x) = e^{-1/x^2} \quad \text{per } x \ne 0, \qquad f(0) = 0

Questa funzione è liscia: ha derivate di ogni ordine in ogni punto, incluso lo zero. Nulla, nel suo grafico, suggerisce un problema — è una curva morbida che si schiaccia dolcemente verso zero avvicinandosi all’origine.

Ma calcola le sue derivate in 0: la derivata prima in 0 è zero, la seconda è zero, la terza è zero, e così tutte, all’infinito. La funzione, vicino all’origine, è così piatta che ogni derivata, per quanto alta, non riesce a “vederla”. L’esponenziale negativo e^{-1/x^2} schiaccia il valore verso zero più rapidamente di quanto qualsiasi potenza di x riesca a fare, e le derivate — che sono fatte di potenze — restano cieche.

Di conseguenza, la sua serie di Taylor attorno a 0 è 0 + 0 \cdot x + 0 \cdot x^2 + \cdots: identicamente nulla. La serie converge — converge benissimo, alla funzione costante zero. Ma f non è la funzione zero: per ogni x ≠ 0 vale f(x) > 0. La serie di Taylor e la funzione coincidono solo in un punto, l’origine, e divergono ovunque altrove.

La morale è netta e va contro l’intuizione: derivabilità infinita non garantisce che la serie di Taylor rappresenti la funzione. Le funzioni per cui la serie converge alla funzione su tutto un intorno hanno un nome speciale, analitiche, e formano una classe più ristretta delle funzioni semplicemente lisce. e^{-1/x^2} è liscia ma non analitica nell’origine. Non è una curiosità da manuale: è il controesempio canonico che separa “liscio” da “analitico”, e ci ricorda che la serie di Taylor è una promessa locale, non una garanzia globale.

C’è però una conseguenza che ridimensiona il problema, per chi fa machine learning. In ottimizzazione nessuno usa mai la serie infinita. Si usa il polinomio troncato al grado uno o due, come approssimazione locale, e si tiene conto del resto come errore controllato.

La domanda “la serie infinita converge alla funzione?” è teoricamente affascinante ma operativamente marginale. Si lavora sempre con troncamenti a basso grado, in un intorno piccolo, dove anche per una funzione non analitica il polinomio di Taylor di basso grado resta un’ottima approssimazione locale. Quello che conta nella pratica non è la serie infinita: è il polinomio di grado uno o due e la stima del suo errore.

Un aspetto che è facile dare per scontato merita una sezione propria: il punto base a è una scelta, e la qualità dell’approssimazione dipende da essa quanto dal numero di termini.

La serie di Maclaurin — sviluppo attorno a 0 — è la più comune, ma 0 non ha niente di speciale se non la comodità: i conti vengono semplici perché (x-0)^n è solo x^n. La regola operativa è un’altra: sviluppa attorno al punto base più vicino a dove ti serve la funzione. L’errore di troncamento scala con |x-a|^{k+1}; rimpicciolire |x-a| scegliendo un a vicino al punto di interesse abbatte l’errore più efficacemente di qualunque termine aggiunto.

Un esempio rende l’idea concreta. Per approssimare \ln(2.1) non conviene sviluppare \ln attorno a 12.1 è lontano, e per giunta \ln ha una singolarità in 0 che limita il raggio. Conviene sviluppare attorno a 2, dove 2.1 cade a distanza 0.1: lo stesso polinomio di grado basso dà una precisione enormemente migliore. Il punto base non è un dettaglio tecnico, è la prima decisione da prendere.

Questo è esattamente il motivo per cui gli ottimizzatori sono iterativi. Un solo polinomio di Taylor è fedele solo in un intorno del suo punto base. Man mano che la discesa del gradiente si muove, il punto corrente cambia, e l’approssimazione costruita sul vecchio punto perde validità. La soluzione è ricostruire l’approssimazione a ogni passo, attorno al nuovo punto: ogni iterazione è un nuovo sviluppo di Taylor locale. L’addestramento di una rete è una lunga sequenza di approssimazioni di Taylor, ciascuna valida per un passo solo, ognuna centrata dove la precedente ha lasciato il modello.

Esempio di costruzione: ricavare la serie di e^x da zero

Sezione intitolata “Esempio di costruzione: ricavare la serie di e^x da zero”

Prima di usare le serie note, vale la pena costruirne una con la ricetta dell’intuizione 1, per vedere che non c’è magia. Prendi f(x) = e^x e sviluppala attorno ad a = 0. La ricetta chiede le derivate successive valutate nel punto base.

La derivata di e^x è e^x stessa: l’esponenziale è la funzione che coincide con la propria derivata. Quindi tutte le derivate di f sono e^x, e tutte, valutate in 0, valgono e^0 = 1. Il coefficiente di grado n è f^{(n)}(0)/n! = 1/n!. Il polinomio di Taylor è allora 1 + x + x^2/2! + x^3/3! + \cdots: esattamente la serie che avevamo enunciato a memoria. Non era una formula da imparare, era il risultato inevitabile della ricetta applicata a una funzione le cui derivate sono tutte uguali a sé stessa.

Un secondo conto, leggermente meno banale, per fissare il metodo. Prendi f(x) = \cos x attorno ad a = 0. Le derivate ciclano: f' = -\sin x, f'' = -\cos x, f''' = \sin x, f'''' = \cos x, e poi si ripete con periodo quattro.

Valutate in 0: f(0) = 1, f'(0) = 0, f''(0) = -1, f'''(0) = 0, f''''(0) = 1. I termini di grado dispari hanno coefficiente nullo — il coseno è una funzione pari, simmetrica rispetto all’asse verticale, e la sua serie contiene solo potenze pari. I coefficienti pari alternano segno.

Il polinomio è 1 - x^2/2! + x^4/4! - \cdots. La struttura della serie — quali termini ci sono, che segno hanno — è la firma della funzione: la si legge guardando come si comportano le sue derivate nel punto base. Una funzione pari produce una serie di sole potenze pari, una dispari di sole potenze dispari: la simmetria della funzione si riflette nella sua serie.

Riprendiamo il problema da cui è partito il capitolo. La serie di Maclaurin di e^x troncata, valutata in x = 0.1:

  • Grado 0: 1. Errore rispetto al valore vero: circa 0.105.
  • Grado 1: 1 + 0.1 = 1.1. Errore: circa 0.0052.
  • Grado 2: 1 + 0.1 + \frac{0.01}{2} = 1.105. Errore: circa 0.00017.
  • Valore vero: e^{0.1} \approx 1.105170918.

Ogni grado aggiunto taglia l’errore di circa due ordini di grandezza. Il motivo è la stima di Lagrange: il termine di grado n porta un fattore 0.1^n / n!, e con x = 0.1 quel fattore precipita rapidamente. Tre termini, e siamo già a quattro cifre decimali corrette.

Ora cambia il punto di valutazione: x = 3, lontano dal centro a = 0. Il polinomio di grado 2 dà 1 + 3 + \frac{9}{2} = 8.5, contro un valore vero e^3 \approx 20.09. L’errore è enorme. Stesso polinomio, stessa funzione: ma lontano dal centro l’approssimazione di basso grado crolla. È la dimostrazione numerica che Taylor è uno strumento locale. Per e^3 servirebbero molti più termini, oppure — meglio — sviluppare la serie attorno a un punto base più vicino a 3.

In computer graphics, in robotica e in fisica si usa di continuo l’approssimazione \sin x \approx x per angoli piccoli. Non è una scorciatoia inventata: è il polinomio di Taylor di primo ordine di \sin attorno a 0, perché la serie di Maclaurin del seno è x - x^3/6 + x^5/120 - \cdots e troncata al primo termine dà esattamente x.

import math
def sin_taylor(x, ordine):
# polinomio di Taylor di sin attorno a 0
if ordine == 1:
return x
if ordine == 3:
return x - x**3 / 6 # 3! = 6
if ordine == 5:
return x - x**3/6 + x**5/120 # 5! = 120
for x in [0.05, 0.3, 1.0]:
vero = math.sin(x)
e1 = abs(sin_taylor(x, 1) - vero)
e3 = abs(sin_taylor(x, 3) - vero)
e5 = abs(sin_taylor(x, 5) - vero)
print(f"x={x}: err_ord1={e1:.2e} err_ord3={e3:.2e} err_ord5={e5:.2e}")

A x = 0.05 radianti, anche il solo primo ordine sbaglia di circa 2 \times 10^{-5}: per un angolo così piccolo, \sin x \approx x è praticamente esatto. A x = 1.0 radianti, il primo ordine sbaglia di circa 0.16 — inaccettabile — il terzo ordine di circa 0.008, il quinto di circa 2 \times 10^{-4}.

La lettura è sempre la stessa: vicino al centro pochi termini bastano, allontanandosi ne servono di più. La small-angle approximation è una decisione di ingegneria — tenere un solo termine perché l’angolo in gioco è abbastanza piccolo da rendere l’errore irrilevante — e quella decisione si giustifica esattamente con il bound di Lagrange, che dice quanto grande può essere l’angolo prima che il primo ordine non basti più.

Esempio scenario reale: un passo di discesa del gradiente

Sezione intitolata “Esempio scenario reale: un passo di discesa del gradiente”

Considera una loss L(\theta) di una rete neurale, funzione di un vettore di pesi \theta con milioni di componenti. L’ottimizzatore non vede la loss intera — sarebbe un oggetto in milioni di dimensioni, impossibile da abbracciare. Vede solo la sua approssimazione di Taylor locale, attorno al punto \theta_0 in cui si trova ora.

Al primo ordine, l’approssimazione è:

L(θ0+d)L(θ0)+L(θ0)dL(\theta_0 + d) \approx L(\theta_0) + \nabla L(\theta_0) \cdot d

La discesa del gradiente sceglie lo spostamento d che fa scendere il più possibile questo modello lineare: la direzione opposta al gradiente, con un passo d = -\eta\, \nabla L(\theta_0), dove \eta è il learning rate.

Questo funziona finché lo spostamento d resta piccolo abbastanza che l’approssimazione lineare sia ancora affidabile. Se \eta è troppo grande, d esce dalla regione in cui Taylor di primo ordine descrive bene la loss, e la loss può salire invece di scendere — il training “esplode”.

Il learning rate, visto da qui, non è una manopola arbitraria: è il raggio entro cui ci si fida dell’approssimazione di Taylor di primo ordine della loss. Tarare il learning rate significa stimare, di fatto, quanto è ampia la regione in cui il modello lineare della loss regge — ed è il motivo per cui il valore giusto dipende dal modello, dai dati e dal punto del training in cui ci si trova.

L’esempio del passo di discesa del gradiente ha anticipato l’idea centrale. Vale la pena svilupparla per intero, perché è qui che Taylor smette di essere un argomento di analisi e diventa lo scheletro dell’addestramento dei modelli.

Un ottimizzatore iterativo ha un compito: trovare il punto \theta che minimizza una loss L(\theta). Non può ispezionare la loss intera — in milioni di dimensioni è inconoscibile. Può solo, nel punto \theta_0 in cui si trova, costruirne un’approssimazione di Taylor locale e decidere il prossimo passo in base a quella. La domanda “quale ottimizzatore” diventa la domanda “quale ordine di Taylor”.

Primo ordine: gradient descent. Approssima la loss con il suo modello lineare attorno a \theta_0:

L(θ0+d)L(θ0)+L(θ0)dL(\theta_0 + d) \approx L(\theta_0) + \nabla L(\theta_0) \cdot d

Questo modello, da solo, non ha un minimo: un piano inclinato scende all’infinito. Per estrarne un passo sensato bisogna aggiungere un vincolo — lo spostamento d deve restare piccolo, perché solo vicino a \theta_0 il modello lineare è affidabile.

Imponendo quel vincolo, la direzione che fa scendere il modello il più rapidamente possibile è quella opposta al gradiente. Da qui il passo d = -\eta\, \nabla L(\theta_0), dove il learning rate \eta controlla quanto ci si fida del modello lineare: piccolo, e ci si muove con prudenza dentro la regione di validità; troppo grande, e si esce, con la loss che può salire.

Gradient descent conosce la direzione di discesa ma non la curvatura: non sa se la valle davanti a sé sia larga o stretta, e per questo deve procedere a passi cauti. È il prezzo di fermarsi al primo ordine di Taylor.

Secondo ordine: il metodo di Newton. Approssima la loss con il suo modello quadratico:

L(θ0+d)L(θ0)+L(θ0)d+12dH(θ0)dL(\theta_0 + d) \approx L(\theta_0) + \nabla L(\theta_0) \cdot d + \frac{1}{2}\, d^\top H(\theta_0)\, d

Questo modello, a differenza del piano, ha un minimo: è una ciotola (se l’Hessiana è definita positiva), e il fondo della ciotola si trova esattamente. Annullando il gradiente del modello quadratico rispetto a d si ottiene il passo di Newton:

d=H(θ0)1L(θ0)d = -\,H(\theta_0)^{-1}\, \nabla L(\theta_0)

Invece di muoversi un pochino lungo la pendenza, Newton salta direttamente al fondo della parabola che approssima la loss. Poiché usa anche la curvatura, sa quanto è larga la valle e calibra il passo di conseguenza: lungo dove la valle è larga, corto dove è stretta. Il risultato è una convergenza molto più rapida — quadratica anziché lineare, vicino al minimo.

Se Newton è così superiore, perché il deep learning usa quasi sempre gradient descent? Per il costo dell’Hessiana. Per una rete con n parametri, H è una matrice n \times n: con n dell’ordine dei milioni o miliardi, formarla è impossibile, invertirla ancora di più.

Da qui due famiglie di compromessi. I metodi quasi-Newton, come L-BFGS, costruiscono un’approssimazione economica dell’inverso dell’Hessiana a partire dalla storia dei gradienti. Gli optimizer adattivi, come Adam, usano statistiche dei gradienti per scalare il passo in modo diverso lungo ogni coordinata — un surrogato grezzo dell’informazione di curvatura.

In entrambi i casi l’idea di fondo resta la stessa: avvicinarsi al secondo ordine di Taylor senza pagare il prezzo pieno dell’Hessiana. È una contrattazione costante fra la qualità dell’approssimazione e il costo per ottenerla, e quasi tutta la ricerca sugli ottimizzatori vive su questo confine.

C’è poi una ragione più ampia per cui Taylor è onnipresente nell’analisi delle reti. Una loss di deep learning è non convessa, ad altissima dimensione, impossibile da capire nel suo insieme. Ma vicino a un punto è quasi sempre ben descritta dal suo modello di Taylor di secondo ordine: un piano più una forma quadratica. Tutte le domande operative — perché un learning rate è troppo grande, perché il training rallenta su un plateau, se un punto critico è un minimo o una sella, quanto è “stretta” o “piatta” una valle di minimo — sono domande sulla quadratica di Taylor locale. Taylor è lo strumento che rende leggibile, punto per punto, un paesaggio globalmente incomprensibile.

Problemi ai minimi quadrati. Oltre a gradient descent e Newton, la famiglia degli ottimizzatori del secondo ordine include Gauss-Newton e Levenberg-Marquardt, usati quando la loss è una somma di quadrati di residui (regressione, calibrazione, bundle adjustment in visione). Approssimano l’Hessiana in modo specializzato — tramite la sola Jacobiana dei residui — evitando di calcolarne le derivate seconde. È un altro punto del compromesso fra fedeltà al secondo ordine di Taylor e costo computazionale.

Calcolo numerico. Le librerie matematiche valutano exp, log, sin con polinomi (spesso varianti minimax ottimizzate, ma l’idea base resta quella di Taylor).

I metodi numerici per le equazioni differenziali — Eulero, Runge-Kutta — derivano da espansioni di Taylor della soluzione. L’integrazione numerica e la differenziazione numerica poggiano sullo stesso strumento. Ogni volta che un computer calcola il valore di una funzione trascendente, sotto c’è una qualche forma di approssimazione polinomiale, e Taylor ne è la radice concettuale.

Linearizzazione in ingegneria e fisica. Un sistema non lineare attorno a un punto di equilibrio si studia linearizzandolo: si tiene il termine di primo ordine di Taylor e si butta il resto.

Il pendolo per piccole oscillazioni, il controllo in retroazione, i modelli a piccole perturbazioni sono tutti applicazioni di questa idea. È la stessa logica della small-angle approximation, applicata a sistemi dinamici: vicino all’equilibrio il sistema vero e il suo modello lineare si comportano nello stesso modo, e il modello lineare è incomparabilmente più facile da analizzare.

La serie di Taylor è uno strumento potente, ma i suoi modi di fallire sono numerosi e ognuno corrisponde a un fraintendimento diffuso.

“Più termini è sempre meglio” è falso, due volte. Primo: fuori dal raggio di convergenza, aggiungere termini peggiora il risultato, perché la serie diverge. Tenere tre termini di una serie divergente è meno sbagliato che tenerne trenta.

Secondo: anche dentro il raggio, per un punto x lontano dal centro, un polinomio di grado alto può oscillare violentemente fra un termine e il successivo prima di “stabilizzarsi”. Il guadagno teorico dei termini alti si paga in stabilità numerica e in sensibilità al punto di valutazione. La regola pratica non è “aggiungi termini” ma “sviluppa attorno a un punto base vicino a dove ti serve la funzione”.

Liscio non implica analitico. È il fraintendimento più sottile. Si tende a pensare che, se una funzione ha tutte le derivate, la sua serie di Taylor la ricostruisca.

Il controesempio e^{-1/x^2} dimostra che non è così: liscia ovunque, serie di Taylor in 0 identicamente nulla, eppure la funzione non è nulla. L’analiticità — la proprietà che la serie rappresenti davvero la funzione su un intorno — è strettamente più forte della semplice derivabilità infinita.

Convergenza della serie e coincidenza con la funzione sono cose diverse. Una serie può convergere benissimo, nel senso tecnico che le sue somme parziali si avvicinano a un limite, e quel limite può non essere la funzione di partenza. È esattamente ciò che accade con e^{-1/x^2}: la serie converge alla funzione nulla, che non è f. “La serie converge” e “la serie ricostruisce f” sono due affermazioni separate, e la seconda non segue automaticamente dalla prima.

Usare Taylor lontano dal centro è l’errore più comune nella pratica. Taylor è ottimo vicino ad a e può essere pessimo lontano. L’esempio di e^3 approssimato con il polinomio di grado 2 sviluppato in 08.5 contro 20.09 — lo mostra senza appello. Chi usa un’approssimazione di Taylor deve sempre chiedersi: il punto che mi interessa è davvero vicino al centro su cui ho sviluppato? Se no, l’approssimazione non vale niente, per quanti termini abbia.

La forma di Lagrange non dà l’errore esatto. Il punto ξ nel resto di Lagrange esiste — il teorema lo garantisce — ma è incognito. La forma di Lagrange serve a limitare l’errore con un bound, non a calcolarlo esattamente. Trattare ξ come se fosse noto, o sostituirgli a o x a piacere, è un errore di logica che porta a stime sbagliate.

Nell’ottimizzazione, l’approssimazione di Taylor è valida solo in un intorno, e l’intorno ha una dimensione. La discesa del gradiente si fida del modello lineare della loss; il metodo di Newton si fida del modello quadratico. Entrambi i modelli sono buoni solo vicino al punto corrente.

Un passo troppo lungo esce dalla regione di validità: per gradient descent significa loss che esplode, per Newton significa saltare in un punto dove la quadratica non descriveva più niente. Gli optimizer robusti gestiscono esattamente questo problema — il line search, le trust region, il clipping del gradiente sono tutti modi di tenere il passo dentro la regione in cui Taylor è affidabile. Quando un training diverge, la causa di fondo è quasi sempre questa: si è creduto a un’approssimazione di Taylor oltre il suo raggio di validità.

L’approssimazione lineare perde un’informazione cruciale: il segno della curvatura. Un modello di primo ordine vede solo la pendenza. Non distingue un minimo da un massimo da un punto di sella: per Taylor-1, tutti e tre sono semplicemente “punti dove il gradiente è nullo”. Per classificare un punto critico serve almeno il secondo ordine, cioè l’Hessiana. Affidarsi al solo gradiente per capire che tipo di punto si è raggiunto è un errore di principio: il gradiente sa dire dove la funzione è piatta, non sa dire perché.

La curvatura cambia da punto a punto. L’Hessiana nell’approssimazione di Taylor di secondo ordine è calcolata nel punto base. Spostandosi, la curvatura reale cambia, e il modello quadratico costruito nel vecchio punto non descrive più la funzione nel nuovo. Questo è il motivo per cui il metodo di Newton va iterato: ogni passo richiede una nuova Hessiana, calcolata nel nuovo punto. Trattare la quadratica di Taylor come se valesse globalmente è un errore concettuale che, in più dimensioni, porta a passi catastrofici.

Vale la pena chiudere con un’applicazione meno ovvia, dove Taylor non è uno strumento operativo ma una lente teorica.

Il Neural Tangent Kernel è un concetto introdotto da Arthur Jacot, Franck Gabriel e Clément Hongler nel paper Neural Tangent Kernel: Convergence and Generalization in Neural Networks (NeurIPS 2018), che studia il comportamento delle reti neurali nel limite in cui la larghezza dei layer tende all’infinito. L’idea, a livello puramente intuitivo, è questa.

Una rete neurale è una funzione f(x; \theta) che dipende dall’input x e dai pesi \theta. Durante il training i pesi cambiano. In una rete molto larga, però, ciascun peso cambia di pochissimo rispetto al suo valore iniziale \theta_0 — il cambiamento è distribuito su un numero enorme di parametri. E se i pesi si spostano poco, l’output della rete è ben descritto dalla sua approssimazione di Taylor di primo ordine attorno all’inizializzazione:

f(x;θ0+d)f(x;θ0)+dθf(x;θ0)f(x; \theta_0 + d) \approx f(x; \theta_0) + d \cdot \nabla_\theta f(x; \theta_0)

In parole povere: nel limite di larghezza infinita, la rete — vista come funzione dei suoi pesi — si comporta quasi linearmente. La formula sopra non è una somiglianza suggestiva: è letteralmente il termine lineare di Taylor che abbiamo costruito all’inizio del capitolo, applicato non a una funzione di una variabile ma alla rete come funzione del suo vettore di pesi.

Per essere precisi sulla natura del legame — la wiki chiede di dichiararla — qui non c’è analogia né filiazione storica. C’è un’identità formale: l’espressione che definisce la linearizzazione di una rete nella teoria del Neural Tangent Kernel è, per definizione, l’approssimazione di Taylor di primo ordine della rete attorno all’inizializzazione. Lo stesso oggetto matematico, sotto due nomi diversi.

Quando la rete è linearizzata in questo modo, il suo addestramento diventa analizzabile con la matematica dei metodi kernel, e da lì si ricavano risultati sulla convergenza e sulla generalizzazione. Il punto che porta via chi legge è che Taylor di primo ordine non serve solo a fare un passo di gradient descent: serve anche a capire perché gradient descent, su reti abbastanza larghe, converge in modo prevedibile. La stessa approssimazione che a inizio capitolo serviva a calcolare e^{0.1} a mano, ingrandita di scala, illumina la dinamica di addestramento delle reti moderne.

  • Analisi matematica: limiti, continuità, derivate — la derivata prima come pendenza e la seconda come curvatura sono i mattoni con cui Taylor è costruito. Prerequisito diretto.
  • Derivate parziali, gradienti, Jacobiani — il termine lineare di Taylor multivariato è il prodotto scalare con il gradiente. Senza gradiente, niente Taylor in più dimensioni.
  • Hessiana, curvatura, condizionamento — il termine quadratico di Taylor multivariato è la forma quadratica dell’Hessiana; la “ciotola che approssima” di quel capitolo è l’approssimazione di secondo ordine di questo.
  • Discesa del gradiente: SGD, momentum, Adam — un passo di discesa del gradiente è la minimizzazione del modello di Taylor di primo ordine della loss. Il learning rate è il raggio di fiducia in quell’approssimazione.
  • Gradienti e derivate direzionali — il gradiente, oggetto del termine lineare di Taylor, visto a intuizione geometrica.
  • convessità (in preparazione) — la convessità di una funzione si legge sul termine quadratico di Taylor: una funzione è convessa dove la sua Hessiana è semidefinita positiva.
  • ottimizzazione-non-convessa (in preparazione) — l’analisi locale del loss landscape, dei minimi piatti e dei punti di sella, si fa sulla quadratica di Taylor attorno a un punto.
  • equazioni-differenziali-intuizione (in preparazione) — i metodi numerici per le ODE, come Eulero e Runge-Kutta, derivano da espansioni di Taylor della soluzione.
  • Il trade-off bias-varianza — un’approssimazione locale troncata introduce un errore sistematico controllato: è la stessa logica del bias.
  • Brook Taylor, Methodus Incrementorum Directa et Inversa, Londra, 1715. L’opera originale in cui la formula compare per la prima volta in stampa. Disponibile in scansione su Internet Archive. Di interesse storico: mostra la derivazione di Taylor a partire dalle differenze finite.
  • “Taylor’s theorem”, Wikipedia. Enunciato preciso del teorema in una e più variabili, le diverse forme del resto (Lagrange, Cauchy, Peano, integrale), il controesempio della funzione liscia non analitica. Buon punto di riferimento per la parte formale.
  • Active Calculus (Boelkins et al.), capitolo 8.5 “Taylor Polynomials and Taylor Series”, su Mathematics LibreTexts. Trattazione didattica gratuita, con la costruzione del polinomio facendo combaciare le derivate e l’analisi del raggio di convergenza.
  • Arthur Jacot, Franck Gabriel, Clément Hongler, Neural Tangent Kernel: Convergence and Generalization in Neural Networks, NeurIPS 2018 (arXiv:1806.07572). Il paper che introduce l’NTK; per la parte sulla linearizzazione della rete tramite Taylor di primo ordine attorno all’inizializzazione.
  • 3Blue1Brown, serie Essence of Calculus, video sulla serie di Taylor. Esposizione visiva dell’idea di far combaciare le derivate e dello strumento di zoom; utile come complemento intuitivo al formalismo.