الخلايا العصبية في 5 دقائق

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

فكر في المثال الأساسي للشبكات العصبية - الإدراك. أنا نفسي فقط بعد هذا المثال أدركت تمامًا كيف تعمل الشبكات العصبية ، لذلك إذا لم أخطئ ، ويمكنك فهمها. تذكر: لا يوجد سحر هنا ، الرياضيات البسيطة في الصف الخامس من المدرسة الثانوية.

لنفترض أن لدينا ثلاثة شروط ثنائية مختلفة (نعم أو لا) وحل ثنائي واحد عند الإخراج (نعم أو لا):

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

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

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

كل إدخال على اليسار له قيمة: 0 أو 1 ، نعم أو لا. دعنا نضيف هذه القيم إلى المدخلات ، لنفترض أنه لن يكون هناك فودكا في الحفلة ، سيكون هناك أصدقاء ، دعها تمطر:

لذا ، اكتشفنا ذلك. ماذا نفعل بعد ذلك؟ وهنا هناك متعة: دعنا نستخدم أقدم طريقة لتعيين الحالة الأولية للخلايا العصبية - العشوائية العظيمة:

الأرقام التي نضعها هي أوزان السندات. تذكر أن الخلايا العصبية هراء فارغة؟ لذا ، الاتصالات هي بالضبط ما تتكون الشبكة العصبية. لكن ما هي أوزان السندات؟ هذه هي الأشياء التي نضرب بها قيم الإدخال ونخزنها مؤقتًا في الخلايا العصبية الفارغة. نحن لا نقوم بتخزينه في الواقع ، ولكن من أجل الراحة ، سنتخيل أنه يمكن وضع شيء ما في الخلايا العصبية:

كيف تحب الرياضيات؟ يمكن أن تتكاثر؟ انتظر ، لقد بدأ الجزء الأصعب للتو! بعد ذلك ، نضيف القيم (في أحد تطبيقات الإدراك):

حسنًا ، هذا كل شيء! يتم إنشاء العصبون ، ويمكنك استخدامه لأي احتياجات. إذا كان المبلغ أكثر من 0.5 ، فعليك الذهاب إلى الحفلة. إذا كان أقل أو يساوي ، لا تحتاج للذهاب إلى الحفلة. شكرا لكم على اهتمامكم!

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

وتحقق مرة أخرى: حسنًا ، مرة أخرى يقول للذهاب إلى الحفلة ، عندما لا أريد الذهاب إلى هناك! وتقوم مرة أخرى بتغيير الأوزان قليلاً (في نفس الاتجاه ، على الأرجح) قليلاً ، وتمرير بيانات الإدخال هذه مرة أخرى عبر الخلايا العصبية ، ومقارنة النتيجة مرة أخرى - وإما ترك الأوزان بمفردها أو نقلها مرة أخرى. وهكذا تريليونات ، كوادريليون مرة ، وبجميع أنواع بيانات الإدخال المختلفة. هنا ، بالطبع ، لدينا 8 مجموعات إدخال فقط ، ولكن هناك مهام مختلفة (المزيد عنها أدناه).

هذا هو المبدأ الرئيسي لعمل الشبكات العصبية - كلا الضرب ضروري للتمايز ، وفهم عمل المفهوم ضروري لإنشاء شبكات تلافيفية ، والخلايا العصبية العودية ، وحتى بعض الألعاب الغريبة.

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

كان المجهول الثلاثة فقط في أوزاننا هو أوزان اتصالات الخلايا العصبية ، وعلى وجه التحديد ، انتقلنا. لذلك ، أقول أن الخلايا العصبية هي دمى لا تحل أي شيء ، وملوك المأدبة هم أوزان الاتصالات.

ثم كل شيء بسيط: بدلاً من طبقة واحدة من الخلايا العصبية ، نقوم بعمل اثنين ومرة ​​أخرى نفرز كل شيء وفقًا لنفس المبادئ بالضبط ، فقط جميع الخلايا العصبية تعطي بالفعل قيمًا للخلايا العصبية الأخرى. إذا كان لدينا في البداية 3 اتصالات فقط ، الآن 3 + 9 اتصالات بالأوزان. ثم ثلاث طبقات ، أربع ، طبقات تعاودية ، مثبتة على نفسها وعلى اللعبة المشابهة:

ولكن ، اسألني ، يقولون ، ما هي نتيجة شيء معقد في الخلايا العصبية؟ لماذا يتقاضى أخصائيو تعلُم الآلة الكثير؟ والشيء هو بالضبط كيفية تنفيذ المفاهيم المذكورة أعلاه: هناك العديد من الفروق الدقيقة المختلفة التي تعذبك لإدراجها.

ماذا لو كان لديك صورة عند المدخل وتحتاج إلى تصنيف جميع الصور على الكلاب والقطط؟ الصور بحجم 512 × 512 ، كل بكسل هو مدخل - فما عدد القيم التي سنطاردها على طول الخلايا العصبية؟ هناك خلايا عصبية تلافيفية لهذا الغرض! هذه هي shnyaga التي تأخذ 9 بكسل بجانب بعضها البعض ، على سبيل المثال ، ومتوسط ​​قيم RGB الخاصة بها. اتضح ، يضغط الصورة لمعالجة أسرع. أو ، على سبيل المثال ، يتخلص تمامًا من اللون الأحمر في الصورة ، لأنه ليس مهمًا (نحن نبحث ، على سبيل المثال ، فقط عن الفساتين ذات اللون الأزرق والأخضر). هذه شبكات تلافيفية - طبقة إضافية من "الخلايا العصبية" عند المدخلات التي تعالج المدخلات من أجل رؤية واضحة ومبسطة للشبكة.

تحتاج أيضًا إلى فهم مقدار وأي اتجاه لتغيير الأوزان - لهذا توجد جميع أنواع الخوارزميات البسيطة للفهم ، والتي تأخذ في الاعتبار الخطأ من النهاية - من اليمين (من النتيجة) إلى اليسار (إلى الطبقة الأولى من الخلايا العصبية) - تسمى إحدى الخوارزميات Back Backagation.

هناك كل أنواع الخوارزميات البسيطة لتطبيع القيم - بحيث تحصل على أرقام ليس من 0 إلى 500000 ، ولكن من 0 إلى 1 عند الإخراج أو في المنتصف عند الإضافة - فهي تبسط العمليات الحسابية والرياضيات الحسابية بشكل كبير.

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

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

في المرة القادمة ، عندما يطلبون منك المال لمشروع تعلم الآلة ، هز المتسولين من المتسولين مع الخطوط العريضة لعمل الشبكات العصبية - ما هي الطبقات ، وكيف يتم تنظيمهم ، ولماذا ولماذا ، ها هي ، وليس هناك. كل هذا على مستوى 11 فصلاً كحد أقصى سيكون (هذا عن التكاملات والفروق) - وبعد ذلك سيحدث في الوصف مرة واحدة ، ربما فصلين. في حين أن المشروع لا يحتوي على هذا النموذج (أي الطبقات وكيف يتم تحديد موقعها) - لا يحتوي المشروع على منتج ، لأن هذا الهيكل هو الأسابيع 2-4 الأولى من أخصائي التعلم الآلي.

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

Source: https://habr.com/ru/post/ar416211/


All Articles