الشبكات العصبية والتعليم العميق neural network Perceptrons الجزء 19

 

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

لاحظ أيضًا أن التحيزات والأوزان مخزنة كقوائم للمصفوفات Numpy. إذن ، على سبيل المثال ، net.weights [1] هي عبارة عن مصفوفة Numpy تقوم بتخزين الأوزان التي تربط بين الطبقتين الثانية والثالثة من العصبونات. (إنها ليست الطبقات الأولى والثانية ، حيث أن فهرسة قائمة بايثون تبدأ عند 0.) بما أن net.weights [1] مطولى نوعًا ما ، دعنا فقط نشير إلى أن المصفوفة w. انها مصفوفة بحيث wjk هو الوزن للارتباط بين الخلايا العصبية في Kth في الطبقة الثانية ، والخلايا العصبية النانوية في الطبقة الثالثة. قد يبدو هذا الترتيب للمؤشرات j و k عجيبًا – بالتأكيد سيكون من الأفضل تبادل مؤشرات j و k حولها؟ الميزة الكبرى لاستخدام هذا الترتيب هو أنه يعني أن متجه التنشيط للطبقة الثالثة من العصبونات هو:
و’= σ (وا + ب). (22)
هناك بعض الشيء يجري في هذه المعادلة ، لذلك دعونا تفريغها قطعة قطعة. a هو متجه التنشيط للطبقة الثانية من العصبونات. للحصول على ′ نقوم بضرب a بمصفوفة الوزن w ، وإضافة المتجه b من التحيزات. ثم نقوم بتطبيق الوظيفة σ عنصرياً على كل إدخال في المتجه wa + b. (وهذا ما يسمى vectorizing الدالة σ.) من السهل التحقق من أن المعادلة (22) تعطي نفس النتيجة كقاعدة سابقة ، المعادلة (4) ، لحساب ناتج عصبون سيني.

نوفمبر 22, 2018

0 responses on "الشبكات العصبية والتعليم العميق neural network Perceptrons الجزء 19"

Leave a Message

× للتسجيل بالجامعة تواصل معنا الان
X