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

نظريات حول التعلم الآلي والشبكات العصبية على Habré كافية. ولكن إذا احتاج شخص ما إلى ذلك ، سأترك بعض الروابط في نهاية المقال. والآن ، سنبدأ كتابة التعليمات البرمجية مباشرةً ، وسوف نكتب في
Python ، أوصي باستخدام
Jupyter-Notebook عند كتابة التعليمات البرمجية
الخطوة 1. تهيئة الشبكة
أولاً ، بالطبع ، نحتاج إلى تهيئة جميع المكونات النشطة لشبكتنا
السيني
تنتمي هذه الوظيفة إلى فئة الوظائف المستمرة ، وتأخذ رقمًا
حقيقيًا عشوائيًا (أي ليس بالضرورة عددًا صحيحًا) عند الإدخال ،
وتعطي رقمًا حقيقيًا في النطاق من 0 إلى 1 في الإخراج .
على وجه الخصوص ،
تتحول الأرقام السالبة الكبيرة (المودولو)
إلى صفر ،
والأرقام الموجبة الكبيرة تتحول إلى واحد .
يتم تفسير ناتجها جيدًا على
أنه مستوى تنشيط الخلايا العصبية: من
غياب التنشيط (0) إلى
التنشيط الكامل
التشبع (1).
يتم التعبير عن السيني بواسطة الصيغة:

الرسم البياني للدالة السيني وفقا للشكل أدناه:

وظيفة السيني هي:
- مستمر
- زيادة رتابة.
- قابل للتمييز.
في هذا الرمز ، يوجد السيني ، كما ترون ، تحت اسم
expit (x)قليلا عن كيف تبدو العقدة في الشبكة العصبية

تُظهر الصورة أقصى هذه العقدة ، وعادةً ما يتم تقديمها في شكل دائرة فقط ، وليس مستطيلًا. كما نرى ، داخل مستطيل (بئر ، أو دائرة) - كل هذا مجرد ، هناك وظيفتان:
يتمثل النشاط الأول في حقيقة أنه يتلقى جميع المدخلات ، مع الأخذ في الاعتبار الأوزان والبيانات ، وأحيانًا مع الأخذ في الاعتبار الخلايا العصبية للإزاحة (عصبون خاص يتيح ببساطة الرسوم البيانية للتحرك ، وليس الاختلاط في مجموعة قبيحة واحدة ، هذا كل شيء)
تأخذ الدالة الثانية كمعلمة نفس القيمة التي لخصتها الوظيفة الأولى ، وهذه الوظيفة الثانية تسمى وظيفة التنشيط. في حالتنا ،
السينينواصل :
الجزء 2. تدريب الشبكة العصبية
def train(self, inputs_list, targets_list):
والآن نحن نقترب من النهايةالجزء 3. استجواب شبكة العصبية
نأتي به إلى النهاية
PS
تم تقديم نموذج أبسط حسابي لشبكة عصبية. لكن لم يظهر تطبيق محدد.
إذا كنت ترغب في ذلك ، يمكنك المضي قدمًا عن طريق إضافة القدرة على التعرف على النص المكتوب بخط اليد في رمز
MNIST ، حيث يمكنك معرفة ذلك بالكامل (والاستمتاع فقط) باستخدام
ملف jupyter هذا ، وكانت مهمتي هي توضيح الكود ومضغه على الشبكة ، وإذا أمكن ماذا يجيب
PPS
ستجد أدناه روابط مفيدة:
1. رابط إلى جيثب طارق
->2. كتابه
->3. نظرية تعلم الآلة
->4. نظرية تعلم الآلة
->5. نظرية تعلم الآلة
->