ยุคของ TinyML: การฟังอย่างชาญฉลาด
โปรเจกต์ Wake Word Detection เป็นบทเรียนชั้นเยี่ยมของ Embedded Machine Learning (TinyML) ผู้ช่วยเสียงแบบดั้งเดิมอย่าง Siri หรือ Alexa อาศัยเซิร์ฟเวอร์คลาวด์อันทรงพลังในการทำความเข้าใจคำพูด ในทางตรงกันข้าม โปรเจกต์นี้พิสูจน์ให้เห็นว่า Arduino Nano 33 BLE Sense ซึ่งเป็นอุปกรณ์ที่มีขนาดไม่ใหญ่ไปกว่าหัวแม่มือ สามารถรัน Neural Network ภายในของตัวเองเพื่อตรวจจับคำหลักเฉพาะ เช่น "Yes," "No" หรือคำสั่ง "Wake Up" ที่กำหนดเองได้ โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ตเลย
The Machine Learning Pipeline
การนำ AI ไปใช้กับไมโครคอนโทรลเลอร์ต้องมีขั้นตอนการทำงานแบบหลายขั้นตอนที่เชี่ยวชาญ:
- Dataset Preparation: โปรเจกต์นี้ใช้ SpeechCommands Dataset ซึ่งเป็นการรวบรวมคำพูดจำนวนมหาศาลที่ใช้ในการฝึกโมเดลให้จดจำสำเนียงและเสียงที่หลากหลาย
- Training in the Cloud: เนื่องจาก PC อาจช้าเกินไปสำหรับการเทรนโมเดลที่ซับซ้อน ผู้เขียนจึงใช้ Google Colab โดยใช้ประโยชน์จาก GPU บนคลาวด์ของพวกเขาเพื่อเทรน neural network
- Visualization: ผู้เขียนใช้ TensorBoard ในการตรวจสอบ "Loss" และ "Accuracy" ของโมเดล เพื่อให้แน่ใจว่า AI ไม่ได้แค่เดา แต่กำลังเรียนรู้รูปแบบเสียงของคำพูดของมนุษย์จริงๆ
- Compression and Conversion: เพื่อให้โมเดลพอดีกับ RAM ที่จำกัดของ Arduino ($256\text{KB}$) จึงถูกแปลงเป็นฟอร์แมต TensorFlow Lite (TFLite) ไฟล์นี้จะถูกแปลงเป็นอาร์เรย์สไตล์ C (ไฟล์
.h) ที่คอมไพเลอร์ Arduino สามารถเข้าใจได้
Hardware Edge: The Nano 33 BLE Sense
การเลือกบอร์ดเป็นสิ่งสำคัญสำหรับโปรเจกต์นี้ Nano 33 BLE Sense เป็นหนึ่งในไม่กี่บอร์ดที่ผู้ใช้งานทั่วไปเข้าถึงได้ ซึ่งมาพร้อมกับ:
- ไมโครโฟนในตัว: ไมโครโฟน PDM ดิจิทัลคุณภาพสูงที่ป้อนเสียงเข้าสู่ processing core โดยตรง
- Processor Cortex-M4: มีประสิทธิภาพมากพอที่จะทำการคำนวณทางคณิตศาสตร์หลายแสนครั้งต่อวินาทีที่จำเป็นสำหรับการทำ AI inference แบบเรียลไทม์
- การใช้พลังงานต่ำ: ช่วยให้สามารถ "ตรวจสอบสภาพแวดล้อมอย่างต่อเนื่อง" โดยที่บอร์ดจะอยู่ในสถานะพลังงานต่ำจนกว่าจะได้ยินคำวิเศษ
Collaborative Intelligence
โปรเจกต์นี้ได้รับการพัฒนาขึ้นสำหรับรายวิชา AIE605 Special Topics in AI ซึ่งเน้นย้ำถึงการเปลี่ยนแปลงในการศึกษาด้านหุ่นยนต์ที่มุ่งเน้นไปทางปัญญาประดิษฐ์ มันทำหน้าที่เป็นแผนงานที่ชัดเจนสำหรับเมกเกอร์ทุกคนที่ต้องการสร้างอุปกรณ์ "อัจฉริยะที่มองไม่เห็น" ตั้งแต่อุปกรณ์สวมใส่ที่สั่งงานด้วยเสียง ไปจนถึงเครื่องจักรอุตสาหกรรมที่ตอบสนองต่อความผิดปกติทางเสียง
Keyword spotting คือการโต้ตอบด้วยคำสั่งเสียงที่คอยตรวจสอบสภาพแวดล้อมอย่างต่อเนื่อง เมื่อมีการกระตุ้นด้วย 'wake up' ฟังก์ชันที่กำหนดไว้จะถูกดำเนินการ โปรเจกต์นี้แสดงให้เห็นถึงพลังเต็มรูปแบบของ TensorFlow Lite บน Arduino โดยเปลี่ยนแนวคิดจากนิยายวิทยาศาสตร์ให้กลายเป็นความจริงในชีวิตประจำวัน