أسهل طريقة لتعلم الذكاء الاصطناعي هي فهم الشبكات العصبية الاصطناعية. وأسهل طريقة لفهم الشبكات العصبية هي فهم شبكة بيرسيبترون البسيطة.
بيرسيبترون إسم أطلقه عالم الأعصاب فرانك روزنبلات على مجموعة تجاربه لمحاكاة العقل البشري في عملية التفكير بين عامي 1957- 1962.
وأدت لابتكاره أول شبكة عصبية اصطناعية في التاريخ، التي ستصبح بعد ذلك الأساس للذكاء الإصطناعي والتعلم العميق الذي نعرفه اليوم.
كيف تعمل شبكة بيرسيبترون
قبل أن نبدأ بالشرح الرياضي والتطبيقي لهذه الشبكة يجب الإشارة:
أولاً بأنها عبارة عن مُصنف خطي. بمعنى أن هذه الشبكة تحل المشاكل التي يمكن فصلها بشكل خطي فقط.
ثانياً هناك نماذج متعددة من شبكة بيرسيبترون ونحن سنقوم بشرح النموذج الأصلي الذي قدمه روزنبلات.
لا تزعج نفسك بالتفكير في هاتين النقطتين لأن الشرح التالي سيوضحهما.
من أين جاءت فكرة البيرسيبترون
القصة بدأت مع والتر بيتس الطفل المتشرد الذي يقضي نصف يومه في المكتبة للدراسة ويقضي النصف الآخر شارداً في الشوارع.
قام والتر بدراسة كل مؤلفات عالم الرياضيات والمنطق برتراند راسل وقام بتصحيح أخطائه وهو لم يتجاوز آنذاك 12 من عمره.
تفاجأ راسل بذكاء بيتس وألحقه إلى صفه بالجامعة، وبعد سنوات وفي نفس الكلية سيلتقي بيتس بالبروفيسور وارن مكالوك.
وبعد نقاش طويل عن علم الأعصاب اتفقا بأن الدماغ مجرد آلة، وقررا العمل معاً في المختبر لفهمه وفك غموضه .
سنة 1943 نشر الإثنان ورقتهما البحثية التفاضل والتكامل المنطقي للأفكار الأساسية في النشاط العصبي.
الورقة أثارت ضجة كبيرة في الأوساط الأكاديمية آنذاك، حيث اقترحت نموذجاً رياضياً منطقياً لتمثيل عملية التفكير في الخلايا العصبية البيولوجية.
بعد 15 سنة قام عالم الأعصاب فرانك روزنبلات بمراجعة أبحاث وارن وبيتس، فراودته فكرة مجنونة مفادها أنه:
بما أننا نعلم كيف تشتغل الشبكة العصبية البيولوجية، والعقل ليس إلا مجرد آلة، فلماذا لا نقوم بعمل شبكة عصبية اصطناعية؟
وفعلاً، في سنة 1958 قام روزنبلات بإخراج ابتكاره للوجود تحت مسمى شبكة بيرسيبترون الاصطناعية، فقامت الدنيا ولم تقعد.
وبدأت الصحف تنشر الإشاعات عن ابتكار يسمح للآلة بالتفكير والتعلم.
كيف يعمل بيرسيبترون رياضياً
هل يجب أن يكون لدينا خلفيات رياضية جيدة لفهمه يا ترى؟
أريدك أن تعرف أن الرياضيات الموجودة في بيرسيبترون يستطيع طفل من المدرسة الابتدائية التعامل معها.
شبكة بيرسيبترون ترسم بالشكل التالي:
نرسم دوائر والتي سنرمز لها فيما بعد بالمدخلات وهي الطبقة الأولى. نقوم بربطها مع الطبقة الثانية وهي عبارة عن دائرتين.
لدينا مدخلات الطبقة الأولى ونرمز لكل واحدة منها برمز: x1 x2 x3 حتى xn حيث n هو عدد المدخلات لدينا.
ولدينا الأوزان والتي سنكتبها بالشكل التالي: w1 w2 w3 حتى حتى wn حيث n هو عدد الأوزان لدينا.
ثم نضيف مقدار الانحياز إلى الأوزان، وهو 1 في بيرسيبترون ونرمز إليه بـ w0، هذه الأوزان تبدأ بقيم عشوائية صغيرة.
أخيراً لدينا دالة التجميع SUM ودالة التفعيل أو العتبة T والمُخرجات التي سنرمز لها بالحرف y.
الصيغة الرياضية لبيرسيبترون هي كالتالي:
- المخرجات Y تساوي خارج العتبة T
- T لمجموع قيم الأوزان ضرب قيم المدخلات X
- دالة التجميع sum أوضح من أن نشرحها
- ودالة التفعيل T تُحول مجموع قيم الأوزان ضرب قيم المدخلات إلى 0 إذا كان المجموع يساوي أو أقل من 0.
- وتحوله إلى 1 إذا كان الناتج أكبر من 0، أي أن جميع المخرجات من الشبكة ستكون إما 0 أو 1.
هذا كل شيء.
يتم إعادة عملية التدريب كل مرة وضبط الأوزان حتى نصل إلى أقل نسبة ممكنة للخطأ.
إذا لم تفهم لا تقلق، قم بتثبيت مكتبة scikit learn، بعد تثبيت المكتبة نقوم باستيراد نموذج البيرسيبترون عبر السطر التالي:
ثم نقوم بتعريف بيانات التدريب x و y
نستدعي النموذج، ثم نقوم بتدريبه باستخدام بيانات x و y، وأخيراً نقوم بإدخال بيانات x جديدة ليقوم النموذج بتنبؤ نتيجتها.
لدينا خطوة إضافية، وهي معرفة دقة النموذج، ثم نأمره بطباعتها، وتظهر لنا النتائج.
خاتمة
أريد الإشارة مرة أخرى إلى أن بيرسيبترون ليس سوى شبكة عصبية اصطناعية بدائية جداً ومحدودة.
ولكن فهمها هو أسرع طريقة لفهم الشبكات العصبية العميقة والمتقدمة مثل شبكة الـ GAN والاوتو انكودر.
المصادر
Old video explaining the Perceptron
https://doi.apa.org/doiLanding?doi=10.1037%2Fh0042519
How To Implement The Perceptron Algorithm From Scratch In Python
A perceptron learns to perform a binary NAND function
Dr. Frank Rosenblatt Dies at 43; Taught Neurobiology at Cornell
جميع الحقوق محفوظة لموقع ماكتيوبس للنشر والتوثيق 2020 / MakTubes.com