Aggiorna '*var' in base all'algoritmo RMSProp centrato.
L'algoritmo RMSProp centrato utilizza una stima del secondo momento centrato (cioè la varianza) per la normalizzazione, al contrario del normale RMSProp, che utilizza il secondo momento (non centrato). Questo spesso aiuta con la formazione, ma è leggermente più costoso in termini di calcolo e memoria.
Tieni presente che nell'implementazione densa di questo algoritmo, mg, ms e mom verranno aggiornati anche se il grad è zero, ma in questa implementazione sparsa, mg, ms e mom non verranno aggiornati nelle iterazioni durante le quali il grad è zero.
quadrato_medio = decadimento * quadrato_medio + (1 decadimento) * gradiente ** 2 grado_medio = decadimento * grado_medio + (decadimento 1) * gradiente Delta = tasso_di_apprendimento * gradiente / sqrt(quadrato_medio + epsilon - grado_medio ** 2)
ms<−rho∗mst−1+(1−rho)∗grad∗gradmom<−momentum∗momt−1+lr∗grad/sqrt(ms+epsilon)var<−var−mom
Classi nidificate
classe | SparseApplyCenteredRmsProp.Options | Attributi facoltativi per SparseApplyCenteredRmsProp |
Costanti
Corda | OP_NAME | Il nome di questa operazione, come noto al motore principale di TensorFlow |
Metodi pubblici
Uscita <T> | comeuscita () Restituisce l'handle simbolico del tensore. |
statico <T estende TType > SparseApplyCenteredRmsProp <T> | create ( Scope scope, Operando <T> var, Operando <T> mg, Operando <T> ms, Operando <T> mom, Operando <T> lr, Operando <T> rho, Operando <T> momentum, Operando <T > epsilon, Operando <T> grad, Operando <? estende TNumero > indici, Opzioni... opzioni) Metodo factory per creare una classe che racchiude una nuova operazione SparseApplyCenteredRmsProp. |
Uscita <T> | fuori () Uguale a "var". |
statico SparseApplyCenteredRmsProp.Options | useLocking (useLocking booleano) |
Metodi ereditati
booleano finale | è uguale a (Oggetto oggetto) |
finale int | codicehash () |
Operazione | |
stringa finale | aStringa () |
booleano | è uguale a (Oggetto arg0) |
Classe finale<?> | getClass () |
int | codicehash () |
vuoto finale | avvisare () |
vuoto finale | notificaTutti () |
Corda | aStringa () |
vuoto finale | attendere (lungo arg0, int arg1) |
vuoto finale | aspetta (lungo arg0) |
vuoto finale | Aspettare () |
ambiente di esecuzione astratto | ambiente () Restituisce l'ambiente di esecuzione in cui è stata creata questa operazione. |
Operazione astratta |
risultato astratto <T> | comeuscita () Restituisce l'handle simbolico del tensore. |
astratto T | come tensore () Restituisce il tensore in questo operando. |
forma astratta | |
Classe astratta<T> | tipo () Restituisce il tipo tensore di questo operando |
Costanti
Stringa finale statica pubblica OP_NAME
Il nome di questa operazione, come noto al motore principale di TensorFlow
Metodi pubblici
Uscita pubblica <T> asOutput ()
Restituisce l'handle simbolico del tensore.
Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.
public static SparseApplyCenteredRmsProp <T> create ( Scope scope, Operando <T> var, Operando <T> mg, Operando <T> ms, Operando <T> mom, Operando <T> lr, Operando <T> rho, Operando <T > momentum, Operando <T> epsilon , Operando <T> grad, Operando < ?
Metodo factory per creare una classe che racchiude una nuova operazione SparseApplyCenteredRmsProp.
Parametri
ambito | ambito attuale |
---|---|
var | Dovrebbe provenire da una variabile(). |
mg | Dovrebbe provenire da una variabile(). |
SM | Dovrebbe provenire da una variabile(). |
mamma | Dovrebbe provenire da una variabile(). |
lr | Fattore di scala. Deve essere uno scalare. |
Rho | Tasso di decadimento. Deve essere uno scalare. |
epsilon | Termine di cresta. Deve essere uno scalare. |
grado | Il gradiente. |
indici | Un vettore di indici nella prima dimensione di var, ms e mom. |
opzioni | trasporta valori di attributi opzionali |
Ritorni
- una nuova istanza di SparseApplyCenteredRmsProp
public static SparseApplyCenteredRmsProp.Options useLocking (useLocking booleano)
Parametri
utilizzareBlocco | Se "True", l'aggiornamento dei tensori var, mg, ms e mom è protetto da un blocco; altrimenti il comportamento non è definito, ma può mostrare meno contesa. |
---|