تسمى مهمة تحديد ما يمثله الصوت تصنيف الصوت . يتم تدريب نموذج تصنيف الصوت على التعرف على الأحداث الصوتية المختلفة. على سبيل المثال ، يمكنك تدريب نموذج للتعرف على الأحداث التي تمثل ثلاثة أحداث مختلفة: التصفيق ، ومقطقة الأصابع ، والكتابة. يوفر TensorFlow Lite نماذج مُحسّنة مُدربة مسبقًا يمكنك نشرها في تطبيقات الهاتف المحمول الخاصة بك. تعرف على المزيد حول تصنيف الصوت باستخدام TensorFlow هنا .
توضح الصورة التالية إخراج نموذج تصنيف الصوت على Android.
البدء
إذا كنت مستخدمًا جديدًا لـ TensorFlow Lite وتعمل بنظام Android ، فإننا نوصي باستكشاف أمثلة التطبيقات التالية التي يمكن أن تساعدك على البدء.
يمكنك الاستفادة من واجهة برمجة التطبيقات الجاهزة من TensorFlow Lite Task Library لدمج نماذج تصنيف الصوت في بضعة أسطر من التعليمات البرمجية. يمكنك أيضًا إنشاء خط أنابيب مخصص للاستدلال باستخدام مكتبة دعم TensorFlow Lite .
يوضح مثال Android أدناه التنفيذ باستخدام مكتبة مهام TFLite
إذا كنت تستخدم نظامًا أساسيًا بخلاف Android / iOS ، أو إذا كنت معتادًا بالفعل على TensorFlow Lite APIs ، فقم بتنزيل نموذج بدء التشغيل والملفات الداعمة (إن أمكن).
قم بتنزيل نموذج بدء التشغيل من TensorFlow Hub
نموذج الوصف
YAMNet عبارة عن مصنف حدث صوتي يأخذ شكل الموجة الصوتية كمدخل ويقوم بعمل تنبؤات مستقلة لكل من 521 حدثًا صوتيًا من مجموعة الصوتيات. يستخدم النموذج بنية MobileNet v1 وتم تدريبه باستخدام مجموعة AudioSet. تم إصدار هذا النموذج في الأصل في TensorFlow Model Garden ، حيث يوجد كود مصدر النموذج ونقطة فحص النموذج الأصلي ووثائق أكثر تفصيلاً.
كيف تعمل
هناك نسختان من نموذج YAMNet تم تحويلهما إلى TFLite:
YAMNet هو نموذج تصنيف الصوت الأصلي ، مع حجم إدخال ديناميكي ، ومناسب لنقل التعلم ونشر الويب والجوال. كما أن لها مخرجات أكثر تعقيدًا.
YAMNet / التصنيف هو نسخة مُكمَّمة بإدخال إطار بطول ثابت أبسط (15600 عينة) ويعيد متجهًا فرديًا للدرجات لـ 521 فئة حدث صوتي.
المدخلات
يقبل النموذج مصفوفة تعويم 1-D Tensor أو float32
بطول 15600 تحتوي على شكل موجة 0.975 ثانية ممثلة كعينات أحادية 16 كيلو هرتز في النطاق [-1.0, +1.0]
.
النواتج
يعرض النموذج float32
الأبعاد 32 Tensor من الشكل (1 ، 521) تحتوي على الدرجات المتوقعة لكل فئة من الفئات 521 في مجموعة الصوتيات التي تدعمها YAMNet. يتم تعيين فهرس العمود (0-520) من موتر الدرجات إلى اسم فئة AudioSet المقابل باستخدام YAMNet Class Map ، والذي يتوفر كملف مرتبط yamnet_label_list.txt
معبأ في ملف النموذج. انظر أدناه للاستخدام.
استخدامات مناسبة
يمكن استخدام YAMNet
- كمصنف حدث صوتي مستقل يوفر أساسًا معقولًا عبر مجموعة متنوعة من الأحداث الصوتية.
- كمستخرج للميزات عالية المستوى: يمكن استخدام إخراج التضمين 1024-D الخاص بـ YAMNet كميزات إدخال لنموذج آخر يمكن تدريبه بعد ذلك على كمية صغيرة من البيانات لمهمة معينة. يتيح ذلك إنشاء مصنفات صوتية متخصصة بسرعة دون الحاجة إلى الكثير من البيانات المصنفة ودون الحاجة إلى تدريب نموذج كبير من طرف إلى طرف.
- كبداية دافئة: يمكن استخدام معلمات نموذج YAMNet لتهيئة جزء من نموذج أكبر مما يسمح بضبط واستكشاف النموذج بشكل أسرع.
محددات
- لم تتم معايرة مخرجات المصنف في YAMNet عبر الفئات ، لذلك لا يمكنك التعامل مباشرة مع المخرجات على أنها احتمالات. بالنسبة لأية مهمة معينة ، من المحتمل جدًا أن تحتاج إلى إجراء معايرة باستخدام البيانات الخاصة بالمهمة والتي تتيح لك تعيين عتبات وقياس درجات مناسب لكل فئة.
- تم تدريب YAMNet على الملايين من مقاطع فيديو YouTube وعلى الرغم من تنوعها الشديد ، لا يزال هناك عدم تطابق في المجال بين متوسط فيديو YouTube ومدخلات الصوت المتوقعة لأي مهمة معينة. يجب أن تتوقع إجراء قدر من الضبط والمعايرة لجعل YAMNet قابلة للاستخدام في أي نظام تقوم بإنشائه.
تخصيص النموذج
تم تدريب النماذج المدربة مسبقًا المتوفرة على اكتشاف 521 فئة صوتية مختلفة. للحصول على قائمة كاملة بالفئات ، راجع ملف الملصقات في مستودع النموذج .
يمكنك استخدام تقنية تعرف باسم نقل التعلم لإعادة تدريب نموذج للتعرف على الفئات غير الموجودة في المجموعة الأصلية. على سبيل المثال ، يمكنك إعادة تدريب النموذج لاكتشاف العديد من أغاني الطيور. للقيام بذلك ، ستحتاج إلى مجموعة من أصوات التدريب لكل تسمية جديدة ترغب في تدريبها. الطريقة الموصى بها هي استخدام مكتبة TensorFlow Lite Model Maker التي تبسط عملية تدريب نموذج TensorFlow Lite باستخدام مجموعة بيانات مخصصة ، في بضعة أسطر من الأكواد. يستخدم التعلم النقل لتقليل كمية بيانات التدريب المطلوبة والوقت. يمكنك أيضًا التعلم من التعلم عن طريق النقل للتعرف على الصوت كمثال على نقل التعلم.
مزيد من القراءة والموارد
استخدم الموارد التالية لمعرفة المزيد حول المفاهيم المتعلقة بتصنيف الصوت: