You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I noticed in ctc.py, to compute the forward/backward variable, there is normalization performed at each time step (e.g., Line32, Line54). I can't figure out the logic behind, can you guys explain what the forward variable 'alphas[s,t]' does mean after the normalization? And if I want to compute the conditional probability p(seq|params), what is the equivalent? I believe this probability can not be calculated by alphas[L-1, T-1] + alphas[L-2, T-1] after the normalization.
The text was updated successfully, but these errors were encountered:
@zxie 👍 Thank you. According to your mentioned paper I found the deduction in "A tutorial on hidden Markov models and selected applications in speech recognition" by Rabiner, 1989.
The reason I asked the question is because in Alex Gray's Ph.D. dissertation, he mentioned in Section7.3.1 "A good way to avoid this is to work in the log scale...Note that rescaling the variables at every timestep (Rabiner,1989) is less robust, and can fail for very long sequences."
I've tested various CTC implementations by @skaae (https://github.com/skaae/Lasagne-CTC), @mohammadpz (https://github.com/mohammadpz/CTC-Connectionist-Temporal-Classification), myself and you. It turns out your implementation produces the best result in estimation of probability p(l|x). The former three implementations are all in log scale. Do you have any comment on this?
Hi, I noticed in ctc.py, to compute the forward/backward variable, there is normalization performed at each time step (e.g., Line32, Line54). I can't figure out the logic behind, can you guys explain what the forward variable 'alphas[s,t]' does mean after the normalization? And if I want to compute the conditional probability p(seq|params), what is the equivalent? I believe this probability can not be calculated by alphas[L-1, T-1] + alphas[L-2, T-1] after the normalization.
The text was updated successfully, but these errors were encountered: