Menu

using "bw" iteratively...

Help
2004-09-02
2012-09-22
  • danial ibrahim

    danial ibrahim - 2004-09-02

    Hi,

    can I know how to run bw iteratively using bash or csh or Perl?
    how to know the likelihood has converged?is it by manual calculation (current likelihood - previous likelihood)?
    for now, i just train the data from 1 speaker only (26 letters x 10 repeatition = 260 utterances)...is it enough or too small?

    thanks in advance :-)

     
    • Eric H. Thayer

      Eric H. Thayer - 2004-09-02

      I've used a threshold of the diff of the log likelihood to signal when to stop.

      Also, you should be aware that letter recognition is one of the harder speech recognition tasks because, for example, a subset of the vocabulary is confusible (the so called E-set: B,C,D,E,G,P,T,V) and some confusible letter combinations (e.g. "A J" vs. "H A").

      The decision when to stop gathering training data usually involves collecting a representative set of spoken utterances that are *not* used in the training set and running the recognizer over these to determine whether the estimated error rate of the models is acceptable for the task.

      The composition of a representative sample of utterances depends on how you plan to use the models (i.e. are they just for your voice, need to be used across many speakers, etc.).

      Cheers,
      ...eric

       
    • danial ibrahim

      danial ibrahim - 2004-09-03

      I plan to use the models for multi-speaker. i use Ti46 data corpus. thinking to get the whole picture of the whole process immediately, i just took data from 1 speaker (total 16 speakers) to run training.

      Actually, I couldnt understand about your explanation above...shame on me.

      "I've used a threshold of the diff of the log likelihood to signal when to stop.The decision when to stop gathering training data usually involves collecting a representative set of spoken utterances that are *not* used in the training set and running the recognizer over these to determine whether the estimated error rate of the models is acceptable for the task."

      How to run bw command iteratively and how many times is it for my data?

      thanks in advance.

       
    • The Grand Janitor

      Hi Daniel,
            Read and think about my answer before you respond again.

            There are two senses of your question, one is whether you want to iteratively technically, one is waht's the best way to run it.   

            The answer of the first question is to write some kind of for-loop. Both Eric and I assume you know these stuffs.  We don't bother to mentioned.

            The answer of the second question is slightly tougher.
            The program bw you were using is a program that try to estimate the models' parameter by optimizing a quantity called likelihood (noun of likely).   In a very loose term, the intuition is that, the higher the likelihood, the more your model looks like the feature.  

      Another good thing, people proof that if you put a model previously trained by a set of data and then rerun Baum-Welch again on that model using those set of data.  The likelihood of the model on the train set will actually increase.  The intuition is if you train more iteration, your model will look more alike your training data.

      Still follow?
      So, you may ask, is training more iteration is better? Notice that what I told you is that iterative training will only increase the train set likelihood but not the test set.  So somehow you need to stop the training ,right?  That is why you ask "how many times is it for my data" (Actually what does it mean? :-) )

      What Eric telling you is a way to solve this problem, what you need to is just to compare the likelihood between each iterations (do a subtraction) and see whether the difference is smaller than a certain threshold (the meaning of "threshold of the diff" in Eric's mail) . The intuition is when you train more iteration, the likelihood increment will be decreased. In that case, using a particular value of likelihood threshold is a sound way to stop your training.

      I am pretty surprised that you don't know these stuffs.  Usually, it is there in the first course of machine learning and pattern recognition.  

      Arthur

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.