Al momento sono un po 'perplesso da come la discesa del gradiente mini-batch possa essere intrappolata in un punto di sella.
La soluzione potrebbe essere troppo banale per non averla.
Si ottiene un nuovo campione ad ogni epoca e calcola un nuovo errore basato su un nuovo batch, quindi la funzione di costo è statica solo per ciascun batch, il che significa che anche il gradiente dovrebbe cambiare per ogni mini batch .. ma secondo questo dovrebbe un'implementazione alla vaniglia ha problemi con i punti di sella?
Un'altra sfida chiave per ridurre al minimo le funzioni di errore altamente non convesse comuni per le reti neurali è evitare di rimanere intrappolati nei loro numerosi minimi locali non ottimali. Dauphin et al. [19] sostengono che la difficoltà non deriva in realtà da minimi locali ma da punti di sella, cioè punti in cui una dimensione si inclina verso l'alto e un'altra in pendenza. Questi punti di sella sono generalmente circondati da un plateau dello stesso errore, il che rende notoriamente difficile la fuga di SGD, poiché il gradiente è vicino allo zero in tutte le dimensioni.
Vorrei dire che soprattutto SGD avrebbe un chiaro vantaggio rispetto ai punti di sella, poiché fluttua verso la sua convergenza ... Le fluttuazioni e il campionamento casuale, e la funzione di costo diversa per ogni epoca dovrebbero essere ragioni sufficienti per non rimanere intrappolati in uno.
Per un gradiente di batch completo, ha senso che possa essere intrappolato nel punto di sella, poiché la funzione di errore è costante.
Sono un po 'confuso sulle altre due parti.