تحسينات في الشبكات العصبونية الصنعية من أجل مترجمات آلية أذكى!
المعلوماتية >>>> الذكاء الصنعي
وتؤدي الشبكات العصبونية المَهمات الحاسوبية عن طريق مُعالجة مجموعات تدريب ضخمة، وتتعلم الشبكة -في سبيل الترجمة- استخراجَ السمات اللغوية المُحتمَلة مثل: اشتقاق الكلمات، وبنية الجمل، ومعاني الكلمات، وما يُعادل ذلك. وعند إدخال نصٍّ جديد؛ تُطابِق الشبكة هذه السمات التي سبق أن تعلَّمتها بين لغة النص واللغة المقصودة لإنتاج الترجمة المناسبة.
ولكن؛ تضبط الشبكة في أثناء التدريب قيمًا وإعداداتٍ داخلية بطرائق لا يمكن أن يفسّرها المُشكِّل؛ مما يعني أنّه لن يتمكن من تحليل السمات اللغوية التي تستخرجها من مجموعة التدريب.
ولذلك؛ ذهبَ الباحثون ها هنا إلى توصيف طريقة من شأنها تحديد العصبونات المُفعَّلة في أثناء تصنيف سمات لغوية معيّنة، وصمموا تطبيقًا على الإنترنت يتيح للمستخدمين تحليلَ كيفية ترجمة الشبكات التي بنوها للنصوص وتعديلها لأغراض عدّة مثل: تغيير زمن الجمل، والتعديل المناسب لجنس الكلمات، وما إلى ذلك من عمليات تُجرَى على النص المُترجَم.
وقد عُيّنت في البحث العصبونات المستخدمة في التصنيف بدقة مثل: جنس الكلمات، وزمن الجملة (الماضي أو الحاضر)، وموقع الأعداد (في بداية الجملة أو وسطها)، وحالة الكلمات (مفردة أو جمع)، كذلك حُدِّد ما إذا كانت مَهمةٌ ما تحتاج عصبونًا واحدًا أو اثنين أو أكثر.
ويقول يوناتان بِلنيكوف Yonatan Belinkov -المؤلف المُشارك في البحث- واصفًا ما ينجزونه: "يهدف بحثنا إلى إلقاء نظرة عن كثب للشبكة العصبونية المُعالِجة للغة، ومعرفة المعلومات التي تتعلمها… إنّ هذا البحث على مقربة من إحراز فهمٍ راسخٍ لنماذج الشبكات العصبونية وتحقيق تحكُّم أفضل بسلوكها".
النظر إلى العصبونات بعدسة مجهر:
بالعودة قليلًا إلى بِنية الشبكة العصبونية؛ تجدها مكوّنةً من طبقة أو عدّة طبقات، وفي كل منها عقدة أو مجموعة من العقد المُعالِجة (العصبونات التي تكون عبارة عن توابع رياضية تُمرَّر عن طريقها البيانات)، ومرتبطة بوصلات مع عصبونات كل من الطبقتين السابقة والتالية.
تُعالَج بيانات الدخل -التي تكون مُثقلةً بأوزان (weights)- بادئ ذي بدءٍ في عصبونات الطبقة الأولى لتُعطي خرجًا ينتقل إلى عصبونات الطبقة التالية، وهكذا دواليك حتى الطبقة الأخيرة. إضافة إلى أنه في أثناء التدريب تُحدَّث هذه الأوزان باستمرار لعدد معين من دورات التدريب.
وفي أثناء تدريب الشبكات في المُترجِمات الآلية؛ تتعلم كل طبقة تضمينات (word embeddings) مختلفة من أجل كلمة واحدة، علمًا أن تضمينات الكلمة هي جداول من بضع مئات من الأعداد مُدمَجة بطريقة توافق كلمة واحدة وموقعها من الجملة، ويحسب كلُّ عصبون عددًا واحدًا في التضمين الواحد.
وقد ابتكر الباحثون في عمل سابق لهم منهجًا يُعنَى بتحليل عناصر الخرج الموزون من أجل كل طبقة؛ بغيةَ فهم كيفية تصنيف الطبقات لأي تضمين مُدخَل. ووجدوا أن الطبقات السطحية تصنِّف السمات الأبسط نسبيًّا مثل بنية كلمة معينة، ويتدرّج تعقيد السمات المُصنَّفة مع التعمّق أكثر في الطبقات مثل كيفية دمج الكلمات لتشكيل المعنى.
ويستخدم الباحثون هذا المنهج في عملهم بغية تحديد كيف يُمكن لتعلّم تضمينات الكلمات أن يحقق التصنيف اللغوي، كذلك ابتكروا تقنية جديدة يُطلق عليها اسم تحليل الارتباط اللغوي (linguistic correlation analysis) التي من شأنها تدريب الأنموذج على التضمينات الأكثر أهمية في عملية التصنيف.
وتدمج التقنية الجديدة التضمينات كلَّها التي تُلتَقَط من كل طبقة وتحوي كل منها معلومات عن تصنيف الكلمة النهائي لتكوين تضمين وحيد. وفي حين تصنّف الشبكةُ، يتعلم الأنموذج الأوزان من أجل كل عصبون مُفعَّل في التصنيف.
ويوضح بِلينكوف التقنية قائلًا: "الفكرة هي كما يأتي: إذا كان العصبون مهمًّا، يجب أن يكون الدخل الذي يتعلمه مُثقلًا بوزن مُرتفع، وتكون العصبونات ذات الوزن المُرتفع أكثر أهمية تنبئية بخاصية لغوية معينة. تخيل أن العصبونات عقدٌ تحتاجُ تفعيلَها لتحقيق الدمج الصحيح للأعداد في تضمين كلمة ما؛ تكون بعض العقد أكثر أهمية من غيرها، لذا؛ تكون هذه التقنية طريقةً لتعيين أهمية تلك العقد".
إقصاءٌ لعصبونات، وتعديلٌ على الأنموذج:
نظرًا إلى أن العصبونات موزونة فيمكن تصنيف أهميتها باستخدام تطبيق على الإنترنت ابتكره القائمون على البحث -قد أشرنا إليه آنفًا- أطلقوا عليه اسم (NeuroX) الذي يُصنّف العصبونات تبعًا لأهميتها، ومن ثم يعرض النتائج على الواجهة. وينجز التطبيق ذلك بعد أن تحمّل الشبكةَ التي درّبتَها إلى التطبيق، إضافةً إلى نص جديد؛ ليعرض التطبيق النصَ وإلى جانبه قائمة من عصبونات مُرفَقة بأرقام تعريف.
والمميز في الأمر أنّه عندما تختار عصبونًا من القائمة تُحدَّد -في النص الذي أرفقتَه- الكلمات والعبارات التي فُعِّل هذا العصبون من أجلها؛ أي العصبونات التي شاركت في إنتاج الأعداد الموجودة في تضمين هذه الكلمة، وبذلك تكون قادرًا على إقصاء العصبونات أو تعديل حيّز تفعيلهم بُغيةَ التحكُّم في كيفية إنجازِ الشبكة للترجمة.
إنّ الغاية من مَهمة الإقصاء هي التأكد من صحة النتائج التي يعطيها التطبيق في تحديد العصبونات المُفعَّلة من أجل كلمة معينة، ولكن؛ كيف يحدث ذلك؟
يجيب بِلينكوف على هذا السؤال بقوله: "بعد تصنيف العصبونات من حيث أهميتها، تحتاجُ إلى معرفة ما يحدث عند قتل هذه العصبونات ومعرفة مدى سوء تأثير ذلك في الأداء. إن هذه النتائج مُهمة جدًّا، وفي الحقيقة؛ أظهرت أن العصبونات التي يُحددها تطبيقنا مُهمة فعلًا في عملية التصنيف".
وإنّ إحدى الاستخدامات المثيرة للاهتمام لهذه الطريقة هي المُساعدة على التحكم في الانزياحات (biases) في بيانات اللغة، ونحيطك علمًا حضرة القارئ أنّ الانزياحات ذات أهمية في إضفاء مرونة على بيانات التدريب.
وفي المُترجِمات الآلية -مثل مترجم غوغل- قد يكون التدريب على بيانات مع انزياح خاص بجنس الكلمة (التذكير والتأنيث)؛ مما يسبب إشكالية بخصوص اللغات الحاوية على كلمات مُجنَّسة، وتظهر هذه الإشكاليات عند الحاجة إلى الإشارة لجنس الكلمة حيث ورودها في أثناء الترجمة.
وقد حقق التطبيق في الاختبارات الأولية نتائج لا بأس بها؛ إذ تمكن الباحثون من تغيير الزمن في النص المُترجَم من الماضي إلى الحاضر عن طريق تعديل العصبونات، وذلك مع دقة بلغت نحو 67 بالمائة.
إنّه بحثٌ غاية في الأهمية، ومن شأنه قلب موازين المنظومات الذكية في تعاملها مع اللغات لصالح التفاعل مع البشر.
وإذا نال البحثُ إعجابك، يُمكنك الاطلاع على كود برمجية NeuroX مُتاحًا لك على موقع GitHub هنا .
Image: http://www.aaai.org/Papers/AAAI/2019/AAAI-DalviF.5894.pdf
شكل يوضِّح تقنية تحليل الارتباط اللغوي؛ تُستخرَج فيها العصبونات المُفعَّلة من أنموذج شبكة مُدرَّب مُسبقًا، ويُدرَّب مُصنِّف (classifier)، وتُستخدَم أوزانه في استخراج العصبونات البارزة الأهمية.
المصادر:
هنا
هنا
هنا Principles of Neurocomputing For Science and Engineering