يمكن لشبكتنا العصبية القيام بذلك ، والتعرف على الشخص من خلال مقطع واحد واضح. ومع ذلك ، لا يرتبط موضوع هذه المقالة بشكل مباشر بالتعرف الصوتي ، على الرغم من أنه سيكون مرتبطًا بها. سنتحدث عن ميزات الشبكة العصبية ، ما يسمى بـ d-vector ، والتي يمكن استخدامها في مهام معالجة الصوت: من التحقق إلى التعرف على الكلام والعواطف.
العتاد
اعتمادًا على معدل أخذ العينات ، يمكن أن تحتوي ثانية واحدة من الصوت من 8 إلى 48 ألف رقم. يمكن تمثيلها على أنها انحرافات عن وضع التوازن لغشاء السماعة أو الميكروفون. في الواقع ، يعتبر مثل هذا الوصف للصوت فائضًا: يعتمد اتساع الإشارة في اللحظة التالية بقوة على الإشارة السابقة ، مما يشير إلى أنه يمكن ضغط هذه الإشارة بشكل فعال دون فقدان الكثير من المعلومات. هناك عدد كبير من الطرق لتقليل بُعد الإشارة ، ومعظمها يعتمد على الخصائص الفيزيائية للصوت وخصائص السمع البشري.
ميمي 1.قبل أن تعمل الشبكات العصبية بشكل جيد (بمعنى واسع) ، عمل المجتمع مع ما يسمى بالسمات اليدوية. أشهرها وأكثرها استخدامًا هي
Pitch و
MFCC . الأول له معنى مادي لتردد تذبذبات الحبال الصوتية ، والتي تختلف ، على سبيل المثال ، باختلاف الأشخاص ، وتعتمد أيضًا على التجويد. تستند فكرة معاملات cepstral (MFCC) إلى اللاخطية للإدراك البشري للصوت ، أي التردد والحجم. يبدو للشخص أن صوتًا أعلى من صوت آخر بمقدار ما ، إذا اختلفت تردداته في الواقع بعدد معين من المرات.
هذه وغيرها من الميزات المحسوبة يدويًا لا رجعة فيها بمعنى أن جزءًا من الإشارة يتم فقده إلى الأبد. في بعض المهام ، هذا ليس بالغ الأهمية ، ولكن أود أن أتوصل إلى نهج أكثر شمولاً وعمليًا.
المفتاح لحل هذه المشكلة هو تحويل فورييه. باستخدامه ، يمكنك تخيل إشارة صوتية كمجموع موجات بترددات وسعات مختلفة. في الواقع ، الكلام ليس ثابتًا بمعنى أن طيفه سيكون مختلفًا نوعيًا في نقاط زمنية مختلفة. هذا يسمح لنا بالنظر في تمثيل التردد الزمني ، باستخدام
الطيف .
لإنشاء مخطط طيفي ، تحتاج إلى تقسيم الصوت إلى أقسام متقاطعة (إطارات متداخلة) عدة عشرات من المللي ثانية ، لكل منها حساب تحويل Fourier وكتابة وحداتها في أعمدة على الأطياف. علاوة على ذلك ، فإن هذا التحول معكوس بشكل متبادل تقريبًا ، أي باستخدام تحويل فوريير المعكوس
وخوارزمية Griffin-Lim ، يمكنك استعادة إشارة الصوت الأصلية (في الواقع ، هناك فقدان للمعلومات ، حيث أن تحويل فورييه معقد في الحالة العامة ، ويكون الطيف ذو قيمة حقيقية ، و ، لتقريب استعادة الطور ، عادة ما يتم استخدام خوارزمية Griffin-Lim التكرارية). الإجمالي ، إذا أخذنا لوغاريتم السعات ، نحصل على هذه الصور:
التحليل الطيفي 5 ثوان من الكلام.وتتم معالجتها بشكل مريح عن طريق شبكات تلافيفية.
غالبًا ما يستخدم مثل هذا الاختراق في مهام معالجة الصور: هناك قواعد بيانات كبيرة مع أمثلة على كائنات مختلفة (على سبيل المثال ، ImageNet). يمكنك تدريب شبكة كبيرة للتعرف عليها ، ثم إعادة تدريبها على مهمتنا المحددة ، أو أخذ نتيجة الإخراج من إحدى الطبقات الداخلية المتصلة بالكامل. ويعتقد أن مثل هذه العمارة ستحسب ميزات إعلامية جيدة للصور المدخلة. تشير التجربة إلى أن النتائج ستكون دائمًا تقريبًا أفضل مما لو قمنا بتدريب الشبكة العصبية من الصفر.
تتشابه فكرة المتجهات d (المتجهات d عمومًا ، ولكن تُسمى أحيانًا المتجهات x) مع استخدام الشبكات المدربة مسبقًا على ImageNet ، باستثناء حقيقة أنه لا توجد قواعد متشابهة للطيف الطيفي. كطريقة محتملة للخروج ، يمكن التفكير في برامج الترميز التلقائية ، ولكنها بداهة لا تعرف ما الذي تبحث عنه في المخطط الطيفي ، وبالتالي فهي تعمل بشكل غير مرضٍ.
نحن بحاجة إلى التعمق أكثر
انتباه ، يبدأ الجزء الرئيسي من هذه المقالة.
إن مهمة التحقق من الشخص عن طريق الصوت معروفة على نطاق واسع ، حيث من الضروري تحديد مقطع الإدخال من الكلام من الأشخاص في قاعدة البيانات التي قالها. في الواقع ، إن بناء مثل هذه الأنظمة هو علم منفصل ، وهناك العديد من الإضافات المختلفة (مدة الكلام ؛ هل يلزم أن يتحدث الجميع نفس النص ؛ تنظيم واحد مقابل واحد أو واحد مقابل الجميع) ، وهو أمر بالغ الأهمية في ظل ظروف مختلفة ، ولكن بالنسبة لنا تحتاج إلى الانتباه إلى شيء آخر.
وهي مدى جودة الميزات إذا قمنا مسبقًا بتدريب الشبكة للتعرف على شخص ما. كل شيء يتم من أجل اللافتات.
سيساعدنا ذلك على الحدس
ومقال عام 2015. في ذلك ، يعلم المؤلفون الشبكة للتعرف على الشخص عن طريق الوجه (التعرف على الوجه). المفتاح لهذا العمل هو استخدام الخسارة الثلاثية.
فكرته بسيطة للغاية: نقوم بتطبيع الميزات من الطبقة قبل الأخيرة بحيث تقع على وحدة الوحدة ، ونطلب أن تكون النقاط من فئة واحدة قريبة وبعيدة عن مختلفة. يمكن تحقيق ذلك على النحو التالي: لكل مثال تدريب (مرساة) نجد اثنين آخرين من نفس ومن فئة أخرى في العينة - إيجابية وسلبية. ثم نشكل خسارة لهذه النقاط الثلاثية:
\ تبدأ {المعادلة}
\ Big [\ Vert f (x ^ a) - f (x ^ p) \ Vert - \ Vert f (x ^ a) - f (x ^ n) \ Vert + \ alpha \ Big] _ + ،
\ إنهاء {المعادلة}
حيث x هي صورة الإدخال ، و f ناتج الشبكة بعد التطبيع ، و alpha هي المعلمة المحددة يدويًا ، [] _ {+} هي وظيفة ReLU. من الناحية النوعية ، تكون قيمة هذه الخسارة صفرًا إذا كانت المسافة بين المرساة والنقاط الإيجابية أكبر من المسافة بين المرساة والسلبية بألفا على الأقل ، وكلما زاد الفرق بين فئتين مختلفتين.
توضيح لما يحدث للميزات بعد التدريب مع خسارة ثلاثية.بالمناسبة ، يمكنك تشكيل ثلاثيات بطريقة ذكية. في مرحلة ما ، سيصبح حجم الخسارة صغيرًا ، ولتسريع التعلم ، يمكنك البحث عن أمثلة سلبية ليس من بين جميع الفئات الأخرى ، ولكن ضع في اعتبارك فقط تلك القريبة من المرساة. ولكن بالنسبة لمجموعات البيانات الكبيرة ، يعد هذا صعبًا ، لأنك تحتاج إلى التفكير في المسافات الزوجية بين الطبقات التي تتغير بعد كل تكرار لتعلم الشبكة.
إن الخسارة الثلاثية لها ميزة تفوق التقاطع الفصلي ، والتي تستخدم في التصنيف التقليدي. سيحاول النموذج المدرب باستخدام الإنتروبيا المتداخلة حشر جميع نقاط فئة واحدة في منطقة أصغر بشكل متزايد ، وقد تفقد المعلومات غير الضرورية لمهمة معينة. لكننا لا نريد ذلك ، لأننا سنستخدم الشبكة العصبية كمولد للميزات ، وليس للتحقق. يمتلك Triplet Loss هذه الخاصية إلى حد أقل بكثير: من الأهم بالنسبة لها نشر فئات مختلفة في مناطق مختلفة في مجال واحد من تحمل فئة واحدة.
ميمي 2.آخر شيء يجب القيام به قبل تدريب مولد الميزات على الطيف هو تحديد أحجامها. من الواضح أن دقة التصنيف ستكون أعلى ، كلما زادت الفترة الزمنية التي سنأخذها بعين الاعتبار ، ولكن كلما ظهرت علامات "متوسط". لذلك ، من المعقول استخدام طول الإشارة بحيث تقع فيه 1-3 صوتيات (مقاطع) - يبدو أن نصف ثانية مناسب.
للتدريب ، نأخذ مجموعة بيانات
VoxCeleb2 ، حيث يوجد لكل من مكبرات الصوت 6300 عدة تسجيلات صوتية منفصلة لعدة دقائق لكل منها (مصنوعة في ظروف مختلفة). نحن نستخدم جزءًا من الملفات الصوتية للتدريب ، والباقي من أجل التحقق ، حدد بنية شبكة الالتفاف ، وأضف إليها ثلاثة أضعاف وتعلم.
كانت النتائج باردة جدا. في أسبوعين تقريبًا من التدريب على 1080Ti (نعم ، لفترة طويلة) ، وصلت دقة التصنيف إلى 55٪. يبدو أنه ليس كثيرًا ، ولكن دقة أعلى 5 هي 78 ٪ ، وإذا نظرنا فقط إلى النصف الأعلى من الأجزاء ، والتي هي في الغالب حروف العلة المجهدة ، فإن دقة أعلى 5 ستزداد إلى 91 ٪. يمكننا أن نقول أنه يمكننا تحديد شخص من خلال إحدى عباراته بدقة لائقة. لكن لا يهم.
ميمي 3.بعد كل شيء ، بدأ كل شيء للميزات التي يمكن الحصول عليها كمخرج من قبل الأخيرة قبل تصنيف طبقة الشبكة العصبية. قمنا باختبارها على مهامنا ، وكانت النتائج في كل مكان أفضل من استخدام الأساليب الكلاسيكية لحساب السمات. على سبيل المثال ، في مشكلة التعرف على الانفعالات ، سمح لنا استخدام ناقلات d بتجاوز الحالة الحديثة بنسبة 4٪ ، وتم قبول المقالة المقابلة في مؤتمر FICC 2019. ومع ذلك ، فإن التعرف على الانفعال هو قصة مختلفة تمامًا ، سنتحدث عنها لاحقًا.
نشرها:
غريغوري ستيرلينغ ستيرلينغ 239 ، خبير التعلم العميق ، مختبر البيانات العصبية.