ผมใกล้ต้องส่งการบ้านอีกแล้วและคราวนี้เป็นการทบทวนวรรณกรรมครับ คือแบบว่า การจะทำวิจัยต้องมีการทบทวนวรรณกรรมก่อนครับ เพื่อตรวจสอบว่ามีนักวิจัยท่านอื่นได้วิจัยในหัวข้อที่เราสนใจไปบ้างหรือเปล่า และการวิจัยเหล่านั้นได้ก้าวหน้าไปถึงไหนแล้ว เพื่อให้เราได้วิจัยส่วนที่เป็นช่องโหว่ให้ครบถ้วนสมบูรณ์ต่อไป
ส่วนตัวผมเองก็รู้ทฤษฎีการคำนวณสำหรับคอมพิวเตอร์เพียงไม่กี่เรื่องครับ ดังนั้น ก็เลยต้องเลือกทบทวนวรรณกรรมในหัวข้อที่ตนเองถนัดที่สุด นั่นคือ แบบจำลองทางสถิติที่ชื่อว่า Hidden Markov Models และเพื่อให้ไม่เป็นการเสียเวลา มาลองอ่านงานทบทวนวรรณกรรมฉบับร่างของผมดูกันครับ
ทบทวนวรรณกรรม
นับตั้งแต่งานวิจัย Hidden Markov Model [1][2][3][4] ซึ่งเป็นโมเดลที่เหมาะกับการอนุมานความน่าจะเป็นของลำดับที่ซ่อนอยู่ โดยการวิเคราะห์จากลำดับที่สังเกตได้ ๆ ถูกตีพิมพ์เผยแพร่ออกสู่สาธารณชน และ มีงานวิจัย [5][6][7] ที่ได้บุกเบิกนำ Hidden Markov Models มาปรับใช้สำหรับงานด้าน Speech Recognition เพื่อเปรียบเทียบระหว่างเสียงพูดกับชุดข้อความอย่างมีประสิทธิภาพ ก็ได้ทำให้ Hidden Markov Models กลายเป็นโมเดลที่ถูกประยุกต์ใช้อย่างกว้างขวาง ในการแก้ปัญหาต่าง ๆ ที่เกี่ยวกับการอนุมานความน่าจะเป็นของลำดับที่ซ่อนอยู่ โดยการวิเคราะห์จากลำดับที่สังเกตได้ เช่น งานวิจัย [8] การจับคู่สายรหัสพันธุกรรม ซึ่งเป็นงานด้าน Bioinformatics, งานวิจัย [9] [10][11] การจับคู่ระหว่างข้อความกับรูปแบบของการวาดมือ ซึ่งเป็นงานด้าน Gesture Recognition, งานวิจัย [12] การหาทิศทางเดินให้กับหุ่นยนต์ในสภาพแวดล้อมปิดในอาคาร ซึ่งเป็นงานด้าน Robotics, งานวิจัย [13] [14] [15] ตรวจสอบการบุกรุกระบบคอมพิวเตอร์ ซึ่งเป็นงานด้าน Computer Security เป็นต้น
โดยพื้นฐานแล้วถ้าเราไม่สนใจประสิทธิภาพในการคำนวณ เราจะพบว่า Hidden Markov Models เป็นโมเดลที่ใช้ประโยชน์ได้ดีและไม่มีปัญหา แต่หากเราสนใจประสิทธิภาพในการคำนวณ เราจะพบว่า Hidden Markov Models มีปัญหาพื้นฐานอยู่ 3 ข้อ อันได้แก่ 1) การหาผลรวมสุทธิของความน่าจะเป็นของโมเดล เมื่อเทียบกับลำดับที่สังเกตได้, 2) การหาลำดับที่ถูกซ่อนในโมเดล ซึ่งให้ค่าความเป็นไปได้สูงสุด เมื่อเทียบกับลำดับที่สังเกตได้ และ 3) การปรับค่าพารามิเตอร์ในโมเดล เพื่อให้โมเดลมีผลรวมสุทธิของความน่าจะเป็นเพิ่มขึ้น
สำหรับปัญหาพื้นฐานข้อแรก คือ การหาผลรวมสุทธิของความน่าจะเป็นของโมเดล เมื่อเทียบกับลำดับที่สังเกตได้ ซึ่งโดยพื้นฐานแล้วสามารถใช้วิธีการ Brute Force เพื่อคำนวณหาได้ แต่มันเป็นการคำนวณที่ไม่มีประสิทธิภาพ เพราะใช้เวลาเป็น O(2TN^T) ดังนั้นจึงมีงานวิจัยหลายชิ้นที่นำเสนอวิธีการลดเวลาในการคำนวณ เช่น งานวิจัย [2][3] ที่เสนอให้ใช้เทคนิค Dynamic Programming มาช่วยลดเวลาในการคำนวณ เรียกว่า Forward-Backward Algorithm ซึ่งสามารถลดเวลาในการคำนวณลงเหลือ O(TN^2) และต้องเสียพื้นที่เพิ่มเติมเท่ากับ O(TN), งานวิจัย [16] ที่คิดค้นแปลง Hidden Markov Models ให้เป็น Probabilistic Independent Network เพื่อสะดวกในการคำนวณ ซึ่งสามารถลดเวลาในการคำนวณลงเหลือ O(TN) และต้องเสียพื้นที่เพิ่มเติมเท่ากับ O(TN), งานวิจัย [17] ที่ใช้เทคนิค Divide and Conquer ซึ่งลดเวลาในการคำนวณลงเหลือ O(TN log(N)) และต้องเสียพื้นที่เพิ่มเติมเท่ากับ O(T log (N)) เป็นต้น
สำหรับปัญหาพื้นฐานข้อที่สอง คือ การหาลำดับที่ถูกซ่อนในโมเดล ซึ่งให้ค่าความเป็นไปได้สูงสุด เมื่อเทียบกับลำดับที่สังเกตได้ ซึ่งเป็นปัญหาที่ไม่แตกต่างจากปัญหาแรก นั่นคือ หากคำนวณตรง ๆ ก็จะใช้เวลาเป็น O(2TN^T) เพราะต้องคำนวณให้ครบทุกลำดับที่ซ่อนอยู่ที่เป็นไปได้ จึงจะสามารถเลือกลำดับที่ให้ค่าความน่าจะเป็นสูงสุดมาเป็นผลลัพธ์สำหรับแก้ปัญหาที่สองนี้ และเนื่องจากการแก้ปัญหาแบบนี้ไม่มีประสิทธิภาพ จึงได้มีการประยุกต์ใช้เทคนิคอื่นเพื่อแก้ปัญหา เช่น งานวิจัย [18][19] ซึ่งจัดวางโมเดลให้อยู่ในรูปของ Trellis Diagram และใช้เทคนิค Dynamic Programming ซึ่งเรียกว่า Viterbi Algorithm โดยสามารถลดเวลาคำนวณลงเหลือ O(TN^2) และต้องเสียพื้นที่เพิ่มเติมเท่ากับ O(2TN), งานวิจัย [20][21] ที่นำ Viterbi Algorithm มาต่อยอด โดยการลดรูปของ Trellis Diagram ด้วยวิธีการจัดกลุ่ม State ที่คล้ายกัน ทำให้ลดเวลาการคำนวณลงเหลือ O(TN^2/G^2) และยังเพิ่มประสิทธิภาพเพิ่มเติมด้วยการกำหนด Threshold เพื่อข้ามการคำนวณบาง State ที่ไม่จำเป็น เป็นต้น
สำหรับปัญหาพื้นฐานข้อที่สาม คือ การปรับค่าพารามิเตอร์ในโมเดล เพื่อให้โมเดลมีผลรวมสุทธิของความน่าจะเป็นเพิ่มขึ้น ซึ่งเป็นปัญหาที่ยากที่สุดและไม่มีขั้นตอนวิธีตายตัว โดยนักวิจัยได้แบ่งการค้นคว้ากันไปใน 2 แนวทาง ได้แก่ 1) แบบที่ให้ผลลัพธ์เป็น Local Optimum เช่น งานวิจัย [4] ที่ใช้การประมาณการแบบ Iterative Method ด้วยเทคนิคแบบ Expectation Maximization [22] เรียกว่า Baum-Welch Algorithm, งานวิจัย [23] ที่ใช้เทคนิคการปรับตัวเลข เรียกว่า Gradient Descent Algorithm, งานวิจัย [24] ที่ใช้ Ant Colony Optimization ร่วมกับ Baum-Welch Algorithm และ 2) แบบที่ให้ผลลัพธ์เป็น Global Optimum โดยการใช้ขั้นตอนวิธี Metaheuristic เข้ามาช่วยคำนวณ เช่น งานวิจัย [25][26][27] ที่ใช้ Genetic Algorithm, งานวิจัย [28] ที่ใช้ Particle Swarm Optimization, งานวิจัย [29] ที่ใช้ Modified Gravitational Search Algorithm เป็นต้น
ผู้เขียนวิเคราะห์ว่าแนวโน้มในการแก้ปัญหาพื้นฐานข้อที่สามด้วยวิธี Metaheuristic เพื่อให้ได้ผลลัพธ์เป็น Global Optimum กำลังเป็นที่นิยมแพร่หลายมากขึ้นเรื่อย ๆ เนื่องจากเป็นวิธีการหาคำตอบโดยการสุ่มคำตอบที่ดีที่สุดจากค่าที่เป็นไปได้ทั้งหมดจริง ๆ แทนที่จะใช้วิธีการหาคำตอบที่ดีที่สุดแบบ Local Optimum จากชุดของตัวแทนที่ถูกเลือกมาด้วย Forward-Backward Algorithm ซึ่งคำตอบที่ได้จากตัวแทนอาจจะไม่ใช่คำตอบที่ดีที่สุด เมื่อเทียบกับการหาคำตอบจากค่าที่เป็นได้ทั้งหมด
นอกจากปัญหาในแง่การคำนวณเพื่อให้มีประสิทธิภาพสูงสุดแล้ว ยังมีปัญหาท้าทายอีกอย่างหนึ่งนั่นคือ ปัญหาการออกแบบ Topology ให้มีความเหมาะสม ดังนั้น จึงมีงานวิจัยหลายตัวที่ถูกคิดค้นขึ้น เพื่อการทำให้ Topology ของ Hidden Markov Model มีความหลากหลาย เช่น งานวิจัย [30][31] ที่คิดค้น Hierarchical Hidden Markov Model (HHMM) เพื่อสร้าง Topology ของ Hidden Markov Model ใหม่ โดยการจัดกลุ่มของลำดับที่ซ่อนอยู่ซึ่งมีรูปแบบวนซ้ำ ให้อยู่ในรูปโครงสร้างแบบต้นไม้ จุดประสงค์เพื่อนำไปใช้สำหรับแก้ปัญหาซับซ้อนเชิงโครงสร้างหลายระดับ ที่ Topology แบบเรียงลำดับไม่สามารถแก้ปัญหาได้อย่างมีประสิทธิภาพ หรืองานวิจัย [32] ที่คิดค้น variable-length Hidden Markov Model (VLHMM) ซึ่งเป็น Topology ที่เพิ่ม Context Set เข้ามาช่วยในการคำนวณการเชื่อมโยงของลำดับที่ซ่อนอยู่ จากเดิมที่เคยเชื่อมลำดับที่ซ่อนอยู่ปัจจุบันกับลำดับที่ซ่อนอยู่ก่อนหน้าแบบ First Order ก็ให้เปลี่ยนเป็นลำดับที่สูงกว่า First Order แทน โดยขึ้นกับการคำนวณเพื่อเปลี่ยนแปลงค่าความน่าจะเป็นในโมเดล เพื่อให้โมเดลมีผลรวมของความน่าจะเป็นเพิ่มขึ้น โดยอิงกับลำดับที่สังเกตได้
ผู้เขียนวิเคราะห์ว่าการออกแบบ Topology ให้เหมาะสม จะส่งผลทางอ้อม ทำให้ไม่ต้องแก้ปัญหาพื้นฐานของ Hidden Markov Models ให้ครบทั้ง 3 ข้อ หากแต่เลือกเพียงบางข้อเพื่อแก้ปัญหาก็ได้ เช่น ในงานแก้ปัญหา Speech Recognition ซึ่งมักจะใช้ Topology แบบ Left To Right นั้น ใช้เพียงวิธีแก้ปัญหาพื้นฐานของข้อที่หนึ่งกับข้อที่สามก็เพียงพอแล้ว เนื่องจากรูปแบบของ Topology แบบ Left To Right นั้น ได้บังคับทิศทางของลำดับที่ถูกซ่อนในโมเดลเอาไว้อยู่แล้ว จึงไม่จำเป็นต้องใช้วิธีแก้ปัญหาพื้นฐานของข้อที่สองเพื่อแก้ปัญหาเพิ่มเติมอีก
เอกสารอ้างอิง
- L. E. Baum, T. Pretrie. “Statistical Inference For Probabilistic Functions Of Finite State Markov Chains.” The Annals of Mathematical Statistics. (April 1966) : 1554-1563.
- L. E. Baum, J. A. Eagon. “An inequality with applications to statistical estimation for probabilistic functions Markov processes and to a model for ecology.” Bull. Amer. Math. Soc. (1967) : 360-363.
- L. E. Baum, G. R. Sell. “Growth Transformations For Functions on Manifolds.” Pacific Journal of Mathematics, vol. 27, No. 2. (1968) : 211-227.
- L. E. Baum, et al. “A maximization technique occurring in the statistical analysis of probabilistic functions of Markov chain.” The Annals of Mathematical Statistics, vol. 41. No. 1. (1970) : 164-171.
- L. R. Rabiner, B. H. Juang. “An Introduction to Hidden Markov Models.” IEEE ASSP Magazine. (January 1986) : 4-16.
- L. R. Rabiner. “A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition.” Proceeding of the IEEE, vol. 77, No. 2. (February 1989) : 257-286.
- L. R. Rabiner, B. H. Juang. Fundamentals of speech recognition. New Jersey : Prentice-Hall Inc, 1993.
- Richard Durbin, et al. Biological sequence analysis: Probabilistic models of proteins and nucleic acids. New York : Cambridge University Press, 1998.
- T. Starner, A. Pentland. “Real-time American Sign Language recognition from video using hidden Markov models.” Proceeding of the International Symposium on Computer Vision. (November 1995) : 265-270.
- Hyeon-Kyu Lee, Jin H. Kim. “An HMM-Based Threshold Model Approach for Gesture Recognition.” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 21, issue 10. (October 1999) : 961-973.
- Martin J. “Automatic handwriting gestures recognition using hidden Markov models.” Proceeding of IEEE International Conference. (March 2000) : 403-409.
- Aycard O. “Place Learning and recognition using hidden Markov models.” Proceeding of IEEE/RSJ International Conference, vol. 3. (September 1997) : 1741-1747.
- S. B. Cho, S. J. Han. “Two Sophisticated Technique to Improve HMM-Based Intrusion Detection Systems.” RAID2003, (2003) : 207-219.
- T. Lane, C. E. Brodley. “An Empirical Study of Two Approaches to Sequence Learning for Anomaly Detection.” Machine Learning, 51 (2003) : 73-107.
- C. Warrender, et al. “Detecting Intrusions Using System Calls: Alternative Data Models.” Proceedings of the IEEE Computer Society Symposium on Research in Security and Privacy, (1999) : 133–145.
- P. Smyth, D. Heckerman, M. Jordan. “Probabilistic Independence Networks for Hidden Markov Probability Models.” Technical Report MSR-TR-96-03, Microsoft Research, Redmond, Washington, (1996).
- J. Binder, K. Murphy, S. Russell. “Space-efficient inference in dynamic probabilistic networks.” Proceedings of 5th IJCAI97, vol. 2, (1997) : 1292-1296.
- J. Viterbi. “Error bounds for convolutional codes and anasymptotically optimal decoding algorithm.” IEEE Trans. Informat. Theory, vol. IT-13, (April 1967) : 260-269.
- G. D. Forney. “The Viterbi algorithm.” Proc. IEEE, vol. 62. (March 1973) : 268-278.
- Y. Fujiwara, Y. Sakurai, M. Yamamuro. “SPIRAL: Efficient and Exact Model Identification for Hidden Markov Models.” KDD’08, (August 2008) : 247-255.
- Y. Fujiwara, Y. Sakurai, M. Kitsuregawa. “Fast Likelihood Search for Hidden Markov Models.” ACM Transaction Knowledge Discovery from Data, vol. 3, no. 4, Article 18, (November 2009) : 1-37.
- P. Dempster, N. M. Laird and D. B. Rubin. “Maximum Likelihood from incomplete data via the EM algorithm.” J. Roy. Stat. Soc., vol. 39, no. 1. (1977) : 1-38.
- S. E. Levinson, L. R. Rabiner, M. M. Sondhi. “An introduction to the application of the theory of probabilistic functions of a Markov process to automatic speech recognition.” Bell System Technical Journal. 62 (1983) : 1035-1074.
- Q. Wang, S. Ju. “ACO-based BW algorithm for parameter estimation of hidden Markov models.” International Journal of Computer Applications in Technology, vol. 41, issue 3/4, (September 2011) : 281-286.
- Fang Sun, Guangrui Hu. “Speech recognition based on genetic algorithm for training HMM.” Electronics Letters, vol. 34, 16 (August 1998) : 1563-1564.
- C. W. Chau, et al. “Optimization of HMM by a Genetic Algorithm.” IEEE ICASSP-97, vol. 3, (1997) : 1727-1730.
- Chan, S. Kwong. “Analysis of Parallel Genetic Algorithm on HMM based speech recognition system.” IEEE Conf., (1997) : 1229-1233.
- L. Xue, et al. “A Particle Swarm Optimization for Hidden Markov Model Training.” Proceeding of 8th International Conference on Signal Processing, 1 (2006).
- A. R. Hosseinabadi, M. R. Ghaleh, S. E. Hashemi. “Application of Modified Gravitational Search Algorithm to Solve the Problem of Teaching Hidden Markov Model.” IJCSI, vol. 10, issue 3, no. 2, (May 2013) : 1-8.
- S. Find, Y. Singer, N. Tishby. “The Hierarchical Hidden Markov Model: Analysis and Applications.” Machine Learning, 32 (1998) : 41-62.
- Lin-Yi Chou. “Techniques to incorporate the benefits of a Hierarchy in a modified hidden Markov model.” Proceeding of the COLING/ACL06, (July 2006) : 120-127.
- Y. Wang, et al. “Mining Complex Time-Series Data by Learning Markovian Models.” Proceeding of the Sixth ICDM06, (2006) : 1136-1140.
ก็จบคร่าว ๆ ประมาณนี้ครับ ซึ่งถ้าใครสนใจแบบจำลองทางสถิติที่ชื่อว่า Hidden Markov Models ก็สามารถหาอ่านเพิ่มเติมได้ทางเว็บไซต์ต่าง ๆ ครับ แต่ก็เป็นอะไรที่น่าสับสนนิดนึงนะครับ ทางที่ดีถ้าอยากเรียนรู้เร็ว ก็คงต้องให้คนที่แตกฉานในแบบจำลองมาอธิบายนั่นแหล่ะครับถึงจะเข้าใจได้
สวัสดีครับ
ตอนนี้ผมกำลังทำวิทยานิพนต์เกี่ยวกับ HMM ไปใช้ใน Gesture Recognition อยู่ครับ แต่ว่ายังไม่เข้าใจว่าจะสามารถนำข้อมูลที่ได้รับมาแปลงเป็น State แต่ละ State ได้อย่างไร
และจะกำหนด Prob ของแต่ละ State ได้อย่างไรครับ
พอจะมีแนะแนวทางได้มั่งมั้ยครับ
ขอบคุณครับ