الذكاء الصنعيعلم البيانات
مقالة رائجة

مكتبة Gumpy : شبك الدماغ البشري في الكومبيوتر !

عن واجهات الدماغ - كمبيوتر ومكتبة Gumpy .

واجهات الدماغ – كمبيوتر ( Brain-Computer Interface ) أو الـ BCI اختصارا ، هي تقنية للتواصل المباشر بين الدماغ البشري والحاسب ، بحيث يمكن للإنسان أن يُصدِر الأوامر للأجهزة الإلكترونية عبر قراءة إشارات الدماغ الكهربائية و ترجمتها إلى أوامر برمجية يفهمها الحاسوب .

هذه التقنية الواعدة اليوم هي التقنية الوحيدة التي يمكن أن تسمح للملايين من البشر الذين يعانون من الشلل التام أو العجز الحاد بالتواصل والحركة .

واجهات الدماغ - كمبيوتر ( Brain-Computer Interface )
المصدر : OpenBCI

خلال العقدين الأخيرين لم تعد الأبحاث العلمية في  واجهات الدماغ – حاسوب موجهة فقط لذوي العجز الحركي بل أصبحت موجهة للإستخدام العام من أجل تحسين تجربة استخدامنا للحواسيب ، كما أن لها استخدامات أعمق في مجالات الذكاء الصنعي و تعليم الآلة  .

مقالنا اليوم عن واحدة من الحزم البرمجية التي تمت كتابتها لهذه الأغراض على لغة البرمجة بايثون ،  حزمة Gumpy التي توفر مجموعة من الأدوات لتجارب الواجهات الهجينة ل الدماغ – كمبيوتر  كتبها شاب تونسي يدعى زياد التايب ، أستاذ مساعد في جامعة ميونخ التقنية بألمانيا وباحث في علم الأنظمة العصبية ( Neuroscientific System Theory ) ضمن مشروع brain human الذي يموله الإتحاد الأوروبي .

Gumpy حزمة مجانية ومفتوحة المصدر لواجهات الدماغ – حاسوب في لغة البرمجة بايثون .

زياد التايب مثال عن الشاب العربي الطموح ، فرغم الظروف السياسية والإمكانيات المحدودة للتعليم الجامعي بتونس ، كان مشروع تخرجه سنة 2015 عبارة عن يد اصطناعية (روبوت) يتم التحكم بها عبر الإشارات العصبية . سنة 2017 تلقى من الهيئة الألمانية للتبادل الأكاديمي منحة الدكتوارة ليبتديء فصل جديد من مسيرة زياد الأكاديمية والعلمية كباحث في واحد من أكثر المجالات العلمية غرابة وتعقيداً ، مجال واجهات الدماغ – كمبيوتر  .

 

نبذة عامة عن آلية عمل gumpy

ارتبطت حزمة gumpy  للغة البرمجة بايثون بورقة علمية تحمل نفس العنوان ، وقد تم تقديمها كمكتبة برمجية غنية بوظائف معالجة الإشارة ( signal processing methods ) التي استُخدمت في واجهات الـ BCA خلال العشرين عاما الأخيرة ، بالإضافة إلى خوارزميات ووظائف التصنيف ( classification methods )  بداية من خوارزميات تعلم الآلة الكلاسيكية إلى الشبكات العصبية الإصطناعية العميقة .

الذكاء الاصطناعي والدماغ بايثون
المصدر :agingfree.org

استخدامات gumpy

تستخدم مكتبة gumpy في تحليل الإشارات الحيوية لتخطيط موجات الدماغ  (EEG) ، و تخطيط كهربية العضل  EMG . وفك ترميز الموجات ، كما تستخدم في العروض البيانية اللحظية .

المكتبة تم تصميمها لتعمل بكفاءة عالية ضمن تطبيقات الويب .

بالإضافة إلى الدراسات العصبية التي تتناول كهرباء الدماغ والعضلات فيمكن استخدام هذه المكتبة في قطاع الروبوت الحيوي ( Bio-Robotics ) . وفد تمت الإشارة الى المكتبة في مجموعة من الدراسات المتعلقة بالتنبوء بالحركة عبر دراسة موجات الدماغ . و في بحث آخر متعلق بتفسير وترجمة الإشارات العصبية العضلية لحركات أصابع الإنسان .

بنية مكتبة gumpy

مكتبة gumpy غنية بمجموعة من النماذج التي تستخدم في تحليل وعرض وتفسير الموجات العصبية للدماغ والعضلات :

 

شرج مكتبة gumpy الذكاء الاصطناعي ومعالجة الاشارة
المصدر : gumpy.org

 

تنقسم المكتبة إلى سبعة نماذج رئيسية :

  1.  gumpy.data  : وهو القسم الخاص بسلاسل البيانات ( datasets ) وبيانات التدريب المعدة مسبقا .
  2.  gumpy.signal : هو النموذج الخاص بمعالجة الإشارات الرقمية ( signal processing ) ويسمح للمستخدم بمعالجة إشارات الـ EEG / EMG .
  3. gumpy.plot : هو النموذج المسؤول عن العروض المبيانية  ( data visualization ) .
  4. gumpy.split : هو النموذج الخاص بتقسيم ببيانات الإختبار والتدريب، ويحتوي مجموعة من وظائف التحقق كالـ cross validation و kfold ..
  5. gumpy.features : الجزء المسؤول عن استخراج الميزات ( feature extraction ) من بيانات الـ EEG  و  EMG .
  6. gumpy.classify : يحتوي على وظائف وخوارزميات التصنيف ( classification alghorithems )  التالية :
    • SVM : آليات دعم التمييز وتسمى أيضا شبكات دعم التمييزsupport-vector machines ) .
    • LDA : تحليل التمييز الخطي (  Linear Discriminant Analysis ) .
    • KNN : خوارزمية الجار الأقرب ( K-Nearest Neighbour ).
    • Random Forest : خوارزمية الغابات العشوائية .
    • Logistic regression : الإنحدار اللوجيستي .
    • MLP : شبكة بيرسبترون العصبية ( multi-layer perceptron ) .

بالإضافة إلى هذه النماذج الستة يوجد نموذج سابع خاص بالتعليم العميق يسمى gumpy-Deep_learning ، يمكن إضافته للمكتبة من خلال هذا الرابط . ويحتوي :

  • vanilla RNN : الشبكة العصبونية التكرارية (  Vanilla Recurrent Neural Network ) .
  •  CNN-STF : شبكة عصبونية قصيرة الوقت مع تحويل فورييه ( short time Fourier transform cnn ) .
  •  deep & shallow CNN : الشبكات العصبونية الضحلة والعميقة .
  •  LSTM : شبكة اصطناعية مع ذاكرة طويلة وقصيرة المدى ( Long short-term memory ) .
  • RCNN : الشبكة العصبونية الإلتفافية ( Region-based Convolutional Network ) .

تثبيت مكتبة gumpy

ينصح المطورون بإستخدام توزيعة Anaconda من بايثون مع المكتبة لتفادي مشاكل الحُزم . ويستحسن الإلمام ببعض طرق المعالجة المتوازية لتسريع الأداء .

المكتبة تدعم النسخة الثالثة من بايثون والنسخ الأحدث فقط .

يمكن تثبيت gumpy من github عبر الأمر :

$ git clone https://github.com/gumpy-bci

يمكن تحميل الورقة العلمية لـ gumpy من هذا الرابط .

كما يمكن الولوج لأمثلة إستخدام المكتبة عبر الموقع الرسمي للمكتبة .

 

 

 

شكر خاص للأستاذ الباحث زياد التايب .

 

المصدر
Gumpy: a Python toolbox suitable for hybrid brain-computer interfacesTayeb Z profileتخطيط أمواج الدماغ
الوسوم

محمد هشوم

مبرمج عربي ، مهتم بالذكاء الصنعي وخبير بيانات .. ومدون !

تعليق واحد

  1. المقال رائع فيه معلومات مفيدة كتير بتمنى الاستمرار بنشر مقالات مشابهة شكراً محمد

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى
إغلاق