This header implements a form of Extended Baum-Welch training for SGMMs. More...
#include <estimate-am-sgmm2-ebw.h>
Public Member Functions | |
EbwAmSgmm2Options () | |
for an issue in some implementations of SVD. More... | |
void | Register (OptionsItf *opts) |
Public Attributes | |
BaseFloat | tau_v |
Smoothing constant for updates of sub-state vectors v_{jm}. More... | |
BaseFloat | lrate_v |
Learning rate used in updating v– default 0.5. More... | |
BaseFloat | tau_M |
Smoothing constant for the M quantities (phone-subspace projections) More... | |
BaseFloat | lrate_M |
Learning rate used in updating M– default 0.5. More... | |
BaseFloat | tau_N |
Smoothing constant for the N quantities (speaker-subspace projections) More... | |
BaseFloat | lrate_N |
Learning rate used in updating N– default 0.5. More... | |
BaseFloat | tau_c |
Tau value for smoothing substate weights (c) More... | |
BaseFloat | tau_w |
Tau value for smoothing update of phonetic-subspace weight projectsions (w) More... | |
BaseFloat | lrate_w |
Learning rate used in updating w– default 1.0. More... | |
BaseFloat | tau_u |
Tau value for smoothing update of speaker-subspace weight projectsions (u) More... | |
BaseFloat | lrate_u |
Learning rate used in updating u– default 1.0. More... | |
BaseFloat | max_impr_u |
Maximum improvement/frame allowed for u [0.25, carried over from ML update.]. More... | |
BaseFloat | tau_Sigma |
Tau value for smoothing covariance-matrices Sigma. More... | |
BaseFloat | lrate_Sigma |
Learning rate used in updating Sigma– default 0.5. More... | |
BaseFloat | min_substate_weight |
Minimum allowed weight in a sub-state. More... | |
BaseFloat | cov_min_value |
E.g. More... | |
BaseFloat | max_cond |
is allowed to change. More... | |
BaseFloat | epsilon |
very small value used in SolveQuadraticProblem; workaround More... | |
This header implements a form of Extended Baum-Welch training for SGMMs.
If you are confused by this comment, see Dan Povey's thesis for an explanation of Extended Baum-Welch. A note on the EBW (Extended Baum-Welch) updates for the SGMMs... In general there is a parameter-specific value D that is similar to the D in EBW for GMMs. The value of D is generally set to: E * (denominator-count for that parameter) + tau-value for that parameter where the tau-values are user-specified parameters that are specific to the type of the parameter (e.g. phonetic vector, subspace projection, etc.). Things are a bit more complex for this update than for GMMs, because it's not just a question of picking a tau-value for smoothing: there is sometimes a scatter-matrix of some kind (e.g. an outer product of vectors, or something) that defines a quadratic objective function that we'll add as smoothing. We have to pick where to get this scatter-matrix from. We feel that it's appropriate for the "E" part of the D to get its scatter-matrix from denominator stats, and the tau part of the D to get half its scatter-matrix from the both the numerator and denominator stats, assigned a weight proportional to how much stats there were. When you see the auxiliary function written out, it's clear why this makes sense.
Definition at line 54 of file estimate-am-sgmm2-ebw.h.
|
inline |
for an issue in some implementations of SVD.
Definition at line 80 of file estimate-am-sgmm2-ebw.h.
|
inline |
Definition at line 103 of file estimate-am-sgmm2-ebw.h.
References OptionsItf::Register().
Referenced by main().
BaseFloat cov_min_value |
E.g.
0.5– the maximum any eigenvalue of a covariance
Definition at line 71 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateVars().
BaseFloat epsilon |
very small value used in SolveQuadraticProblem; workaround
Definition at line 77 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateM(), EbwAmSgmm2Updater::UpdateN(), EbwAmSgmm2Updater::UpdatePhoneVectorsInternal(), EbwAmSgmm2Updater::UpdateU(), and EbwAmSgmm2Updater::UpdateW().
BaseFloat lrate_M |
Learning rate used in updating M– default 0.5.
Definition at line 58 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateM().
BaseFloat lrate_N |
Learning rate used in updating N– default 0.5.
Definition at line 60 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateN().
BaseFloat lrate_Sigma |
Learning rate used in updating Sigma– default 0.5.
Definition at line 68 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateVars().
BaseFloat lrate_u |
Learning rate used in updating u– default 1.0.
Definition at line 65 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateU().
BaseFloat lrate_v |
Learning rate used in updating v– default 0.5.
Definition at line 56 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdatePhoneVectorsInternal().
BaseFloat lrate_w |
Learning rate used in updating w– default 1.0.
Definition at line 63 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateW().
BaseFloat max_cond |
is allowed to change.
[this is the minimum; the maximum is the inverse of this, i.e. 2.0 in this case. For example, 0.9 would constrain the covariance quite tightly, 0.1 would be a loose setting. large value used in SolveQuadraticProblem.
Definition at line 76 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateM(), EbwAmSgmm2Updater::UpdateN(), EbwAmSgmm2Updater::UpdatePhoneVectorsInternal(), EbwAmSgmm2Updater::UpdateU(), and EbwAmSgmm2Updater::UpdateW().
BaseFloat max_impr_u |
Maximum improvement/frame allowed for u [0.25, carried over from ML update.].
Definition at line 66 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateU().
BaseFloat min_substate_weight |
Minimum allowed weight in a sub-state.
Definition at line 69 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateSubstateWeights().
BaseFloat tau_c |
Tau value for smoothing substate weights (c)
Definition at line 61 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateSubstateWeights().
BaseFloat tau_M |
Smoothing constant for the M quantities (phone-subspace projections)
Definition at line 57 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateM().
BaseFloat tau_N |
Smoothing constant for the N quantities (speaker-subspace projections)
Definition at line 59 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateN().
BaseFloat tau_Sigma |
Tau value for smoothing covariance-matrices Sigma.
Definition at line 67 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateVars().
BaseFloat tau_u |
Tau value for smoothing update of speaker-subspace weight projectsions (u)
Definition at line 64 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateU().
BaseFloat tau_v |
Smoothing constant for updates of sub-state vectors v_{jm}.
Definition at line 55 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdatePhoneVectorsInternal().
BaseFloat tau_w |
Tau value for smoothing update of phonetic-subspace weight projectsions (w)
Definition at line 62 of file estimate-am-sgmm2-ebw.h.
Referenced by EbwAmSgmm2Updater::UpdateW().