oa::FnMatrix::vqEmaUpdate
vqEmaUpdate: EMA codebook update + dead-code reinit (van den Oord 2017). The codebook is NOT gradient-trained; each entry tracks the running mean of encoder outputs assigned to it, and dead codes are revived from live encoder rows. inZe [N,D], inIdx [N] int32 (from vqAssign), ioEmbedSum [K,D], ioClusterSize [K], outCodebook [K,D]. inDecay = EMA γ; inEps = division floor; inDeadThreshold = revive codes whose EMA count falls below it; inSeed = per-step seed; inNormalize rescales each codebook row to unit RMS (cosine VQ).
Function Documentation
vqEmaUpdate: EMA codebook update + dead-code reinit (van den Oord 2017). The codebook is NOT gradient-trained; each entry tracks the running mean of encoder outputs assigned to it, and dead codes are revived from live encoder rows. inZe [N,D], inIdx [N] int32 (from vqAssign), ioEmbedSum [K,D], ioClusterSize [K], outCodebook [K,D]. inDecay = EMA γ; inEps = division floor; inDeadThreshold = revive codes whose EMA count falls below it; inSeed = per-step seed; inNormalize rescales each codebook row to unit RMS (cosine VQ).
Parameters
inZeconst Matrix &—
inIdxconst Matrix &—
ioEmbedSumMatrix &—
ioClusterSizeMatrix &—
outCodebookMatrix &—
inDecayoa::F32—
inEpsoa::F32—
inDeadThresholdoa::F32—
inSeedoa::U32—
inNormalizebool—
Returns
voidThe declared return value.