เข้าร่วม Women in ML Symposium ในวันที่ 7 ธันวาคม ลงทะเบียนตอนนี้

การจำแนกเสียง

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

งานในการระบุว่าเสียงแสดงถึงอะไร เรียกว่า การจำแนกเสียง โมเดลการจำแนกเสียงได้รับการฝึกฝนให้รู้จักเหตุการณ์เสียงต่างๆ ตัวอย่างเช่น คุณอาจฝึกโมเดลให้รู้จักเหตุการณ์ที่แสดงถึงเหตุการณ์ที่แตกต่างกันสามเหตุการณ์: การปรบมือ การสะบัดนิ้ว และการพิมพ์ TensorFlow Lite นำเสนอโมเดลที่ได้รับการฝึกฝนมาล่วงหน้าซึ่งคุณสามารถปรับใช้ในแอปพลิเคชันมือถือของคุณได้ เรียนรู้เพิ่มเติมเกี่ยวกับการจัดประเภทเสียงโดยใช้ TensorFlow ที่นี่

รูปภาพต่อไปนี้แสดงเอาต์พุตของโมเดลการจัดหมวดหมู่เสียงบน Android

สกรีนช็อตของตัวอย่าง Android

เริ่ม

หากคุณเพิ่งเริ่มใช้ TensorFlow Lite และกำลังใช้งาน Android เราขอแนะนำให้คุณสำรวจแอปพลิเคชันตัวอย่างต่อไปนี้ซึ่งจะช่วยให้คุณเริ่มต้นได้

คุณสามารถใช้ API แบบสำเร็จรูปจาก TensorFlow Lite Task Library เพื่อรวมโมเดลการจัดหมวดหมู่เสียงในโค้ดเพียงไม่กี่บรรทัด คุณยังสามารถสร้างไปป์ไลน์การอนุมานที่กำหนดเองได้โดยใช้ TensorFlow Lite Support Library

ตัวอย่าง Android ด้านล่างสาธิตการใช้งานโดยใช้ TFLite Task Library

ดูตัวอย่าง Android

ดูตัวอย่าง iOS

หากคุณกำลังใช้แพลตฟอร์มอื่นที่ไม่ใช่ Android/iOS หรือหากคุณคุ้นเคยกับ TensorFlow Lite API อยู่แล้ว ให้ดาวน์โหลดรุ่นเริ่มต้นและไฟล์สนับสนุน (ถ้ามี)

ดาวน์โหลดรุ่นเริ่มต้นจาก TensorFlow Hub

คำอธิบายแบบจำลอง

YAMNet เป็นตัวแยกประเภทเหตุการณ์เสียงที่ใช้รูปคลื่นเสียงเป็นอินพุต และทำการคาดการณ์อย่างอิสระสำหรับเหตุการณ์เสียง 521 รายการจาก ontology ของ AudioSet โมเดลนี้ใช้สถาปัตยกรรม MobileNet v1 และได้รับการฝึกโดยใช้คลังข้อมูล AudioSet โมเดลนี้เปิดตัวครั้งแรกใน TensorFlow Model Garden ซึ่งเป็นซอร์สโค้ดของโมเดล จุดตรวจสอบโมเดลดั้งเดิม และเอกสารที่มีรายละเอียดเพิ่มเติม

มันทำงานอย่างไร

โมเดล YAMNet ที่แปลงเป็น TFLite มีสองเวอร์ชัน:

  • YAMNet เป็นโมเดลการจำแนกเสียงดั้งเดิมที่มีขนาดอินพุตแบบไดนามิก เหมาะสำหรับการถ่ายทอดการเรียนรู้ การปรับใช้เว็บและมือถือ นอกจากนี้ยังมีผลลัพธ์ที่ซับซ้อนมากขึ้น

  • YAMNet/การจัดประเภท เป็นเวอร์ชันเชิงปริมาณที่มีอินพุตเฟรมความยาวคงที่ที่ง่ายกว่า (ตัวอย่าง 15600) และส่งคืนเวกเตอร์ของคะแนนสำหรับคลาสเหตุการณ์เสียง 521 รายการ

อินพุต

โมเดลยอมรับ 1-D float32 Tensor หรืออาร์เรย์ NumPy ที่มีความยาว 15600 ที่มีรูปคลื่น 0.975 วินาทีซึ่งแสดงเป็นตัวอย่าง 16 kHz แบบโมโนในช่วง [-1.0, +1.0]

ผลลัพธ์

โมเดลส่งคืน 2-D float32 เทนเซอร์ของรูปร่าง (1, 521) ที่มีคะแนนที่คาดการณ์ไว้สำหรับคลาส 521 แต่ละคลาสใน AudioSet ontology ที่ YAMNet รองรับ ดัชนีคอลัมน์ (0-520) ของเทนเซอร์คะแนนถูกแมปกับชื่อคลาส AudioSet ที่สอดคล้องกันโดยใช้ YAMNet Class Map ซึ่งพร้อมใช้งานเป็นไฟล์ที่เกี่ยวข้อง yamnet_label_list.txt ที่บรรจุลงในไฟล์โมเดล ดูด้านล่างสำหรับการใช้งาน

การใช้งานที่เหมาะสม

สามารถใช้ YAMNet ได้

  • เป็นตัวแยกประเภทเหตุการณ์เสียงแบบสแตนด์อโลนที่ให้พื้นฐานที่สมเหตุสมผลสำหรับเหตุการณ์เสียงที่หลากหลาย
  • เป็นตัวแยกคุณลักษณะระดับสูง: เอาต์พุตการฝัง 1024-D ของ YAMNet สามารถใช้เป็นคุณสมบัติอินพุตของโมเดลอื่น ซึ่งสามารถฝึกกับข้อมูลจำนวนเล็กน้อยสำหรับงานเฉพาะได้ ซึ่งช่วยให้สร้างตัวแยกประเภทเสียงแบบพิเศษได้อย่างรวดเร็วโดยไม่ต้องใช้ข้อมูลที่มีป้ายกำกับจำนวนมาก และไม่ต้องฝึกโมเดลขนาดใหญ่แบบ end-to-end
  • เป็นการเริ่มอย่างอบอุ่น: พารามิเตอร์โมเดล YAMNet สามารถใช้เพื่อเริ่มต้นส่วนหนึ่งของโมเดลที่ใหญ่ขึ้น ซึ่งช่วยให้ปรับแต่งและสำรวจโมเดลได้เร็วขึ้น

ข้อจำกัด

  • เอาต์พุตตัวแยกประเภทของ YAMNet ยังไม่ได้ปรับเทียบในคลาสต่างๆ ดังนั้นคุณจึงไม่ถือว่าเอาต์พุตมีความน่าจะเป็นโดยตรง สำหรับงานที่กำหนด คุณอาจจำเป็นต้องทำการปรับเทียบด้วยข้อมูลเฉพาะงาน ซึ่งช่วยให้คุณกำหนดเกณฑ์คะแนนและมาตราส่วนแต่ละชั้นเรียนได้อย่างเหมาะสม
  • YAMNet ได้รับการฝึกอบรมเกี่ยวกับวิดีโอ YouTube หลายล้านรายการ และถึงแม้จะมีความหลากหลายมาก แต่ก็ยังมีโดเมนที่ไม่ตรงกันระหว่างวิดีโอ YouTube โดยเฉลี่ยและอินพุตเสียงที่คาดหวังสำหรับงานใดก็ตาม คุณควรคาดหวังว่าจะทำการปรับแต่งและสอบเทียบอย่างละเอียดเพื่อให้ YAMNet ใช้งานได้ในทุกระบบที่คุณสร้าง

การปรับแต่งโมเดล

โมเดลที่ได้รับการฝึกฝนมาล่วงหน้าได้รับการฝึกฝนเพื่อตรวจจับ 521 คลาสเสียงที่แตกต่างกัน สำหรับรายการคลาสทั้งหมด โปรดดูไฟล์เลเบลในที่ เก็บโมเดล

คุณสามารถใช้เทคนิคที่เรียกว่า ถ่ายโอนการเรียนรู้ เพื่อฝึกแบบจำลองใหม่เพื่อจำแนกคลาสที่ไม่ได้อยู่ในชุดดั้งเดิม ตัวอย่างเช่น คุณสามารถฝึกโมเดลใหม่เพื่อตรวจจับเพลงนกหลายเพลง ในการทำเช่นนี้ คุณจะต้องมีชุดไฟล์เสียงการฝึกอบรมสำหรับป้ายกำกับใหม่แต่ละรายการที่คุณต้องการฝึก วิธีที่แนะนำคือการใช้ ไลบรารี TensorFlow Lite Model Maker ซึ่งทำให้กระบวนการฝึกโมเดล TensorFlow Lite ง่ายขึ้นโดยใช้ชุดข้อมูลที่กำหนดเองในโค้ดไม่กี่บรรทัด ใช้การถ่ายโอนการเรียนรู้เพื่อลดปริมาณข้อมูลการฝึกอบรมที่จำเป็นและเวลา คุณยังสามารถเรียนรู้จาก ถ่ายโอนการเรียนรู้ เพื่อการรู้จำเสียง เป็นตัวอย่างของการเรียนรู้แบบถ่ายโอน

อ่านเพิ่มเติมและทรัพยากร

ใช้แหล่งข้อมูลต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับแนวคิดที่เกี่ยวข้องกับการจัดประเภทเสียง: