Perceptron: اللبنة الأساسية للشبكة العصبية الاصطناعية

عقدة المصدر: 1216283

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

الإلهام البيولوجي للشبكات العصبية

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

1: الخلايا العصبية البيولوجية مقابل الشبكة العصبية الاصطناعية

مصدر الصورة: ويليمز، ك. (2017، 2 مايو). دروس Keras: التعلم العميق في بايثون.

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

مستوحى من الأداء البيولوجي للخلية العصبية، توصل العالم الأمريكي فرانك روزنبلات إلى مفهوم الإدراك الحسي في مختبر كورنيل للطيران في عام 1957.

  • تتلقى الخلية العصبية المعلومات من الخلايا العصبية الأخرى في شكل نبضات كهربائية متفاوتة القوة.
  • يدمج العصبون جميع النبضات التي يتلقاها من الخلايا العصبية الأخرى.
  • إذا كان المجموع الناتج أكبر من قيمة عتبة معينة، فإن الخلية العصبية "تنطلق"، مما يؤدي إلى إمكانات الفعل التي تنتقل إلى الخلايا العصبية الأخرى المتصلة.

المكونات الرئيسية للبيرسبترون

إن إدراك روزنبلات هو في الأساس مصنف ثنائي. يتكون الإدراك الحسي من 3 أجزاء رئيسية:

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

وسنرى المزيد عن هذه الأمور في القسم التالي.

عمل البيرسبترون

في الخطوة الأولى، يتم ضرب كافة القيم المدخلة بأوزانها وإضافتها معًا. النتيجة التي تم الحصول عليها تسمى المبلغ المرجح ∑ثi*xi, أو ذكر بشكل مختلف  x1*w1 + x2*w2 +...w*xn. يعطي هذا المجموع تمثيلاً مناسبًا للمدخلات بناءً على أهميتها. بالإضافة إلى ذلك، مصطلح التحيز b يضاف إلى هذا المجموع ∑wi*xi + b. يعمل الانحياز كمعلمة نموذجية أخرى (بالإضافة إلى الأوزان) التي يمكن ضبطها لتحسين أداء النموذج.

في الخطوة الثانية، وظيفة التنشيط f يتم تطبيقه على المبلغ أعلاه ∑واي*الحادي عشر + ب للحصول على الإخراج Y = f(∑wi*xi + ب). اعتمادًا على السيناريو ووظيفة التنشيط المستخدمة، سيتم الناتج اما ثنائي {1، 0} أو قيمة مستمرة. 

عمل البيرسبترون

(غالبًا ما يتم تمثيل هاتين الخطوتين كخطوة واحدة في الإدراك الحسي متعدد الطبقات، ولقد أوضحتهما هنا كخطوتين مختلفتين لفهم أفضل)

وظائف التنشيط

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

إذا كان ∑wi*xi + b > 0: الإخراج = 1، وإلا: الإخراج = 0

سيكون الرسم البياني الخاص به مثل هذا:

وظائف التنشيط

هذه في الواقع هي وظيفة تنشيط خطوة الوحدة (العتبة) التي تم استخدامها في الأصل بواسطة Rosenblatt. ولكن كما ترون، هذه الدالة متقطعة عند 0، لذا فهي تسبب مشاكل في الحسابات الرياضية. النسخة الأكثر سلاسة من الوظيفة المذكورة أعلاه هي الدالة السيني. إنه يخرج ما بين 0 و 1. وهناك خيار آخر هو الظل الزائدي (tanh) ، والتي تنتج الإخراج بين -1 و 1. تعاني كل من الدالة السيني والدالة tanh من مشاكل اختفاء التدرجات. في الوقت الحاضر، تعد ReLU وLeaky ReLU من أكثر وظائف التنشيط استخدامًا. فهي مستقرة نسبيا على الشبكات العميقة.

Perceptron كمصنف ثنائي

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

استيراد بعض المكتبات –

من sklearn.datasets، قم باستيراد make_blobs، واستيراد matplotlib.pyplot كـ plt، واستيراد numpy كـ np %matplotlib في السطر

إنشاء مجموعة بيانات وهمية باستخدام make_blobs الوظائف التي يوفرها scikit Learn –

# إنشاء مجموعة بيانات X, Y = make_blobs(n_features = 2, center = 2, n_samples = 1000, Random_state = 12)
# تصور مجموعة البيانات plt.figure(figsize = (6, 6)) plt.scatter(X[:, 0], X[:, 1], c = Y) plt.title('الحقيقة الأساسية', Fontsize = 18) عرض بلت ()
Perceptron كمصنف ثنائي

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

قبل أن نمضي قدمًا، دعونا نضيف مصطلح التحيز (تلك) إلى متجه الإدخال -

# إضافة انحياز إلى متجه الإدخال X_bias = np.ones([X.shape[0], 3]) X_bias[:, 1:3] = X

ستبدو مجموعة البيانات مثل هذا

بيانات

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

w = w + (متوقع — متوقع) * x

بيرسبترون ث

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

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

# تهيئة الأوزان بقيم عشوائية w = np.random.rand(3, 1) print(w)

الإخراج:

[[0.37547448] [0.00239401] [0.18640939]]

تحديد وظيفة التنشيط للبيرسبترون –

defactivation_func(z): إذا z >= 1: قم بإرجاع 1 وإلا: قم بإرجاع 0

بعد ذلك، نطبق قاعدة التعلم الإدراكية -

for _ in range(100): for i in range(X_bias.shape[0]): y =activation_func(w.transpose().dot(X_bias[i, :])) # تحديث الأوزان w = w + (( Y[i] - y) * X_bias[i, :]).reshape(w.shape[0], 1)

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

الآن، بعد أن حصلنا على الأوزان المثالية، نحن توقع الفئة لكل نقطة بيانات باستخدام Y = f(∑wi*xi + b) أو Y = wT.x في شكل متجه.

# توقع فئة نقاط البيانات result_class = [activation_func(w.transpose().dot(x)) for x in X_bias]

تصور حدود القرار وتسميات الفئة المتوقعة -

# تحويل إلى متجه الوحدة w = w/np.sqrt(w.transpose().dot(w))
# تصور النتائج plt.figure(figsize = (6, 6)) plt.scatter(X[:, 0], X[:, 1], c = result_class) plt.plot([-10, -1], الطائرة الفائقة ([-10، -1]، w)، lw = 3، c = 'red') plt.title('تصنيف البيرسيبترون مع حدود القرار') plt.show()
تصنيف الإدراك الحسي مع حدود القرار

يمكنك مقارنة صورة الحقيقة الأرضية مع صورة النتيجة المتوقعة ورؤية بعض النقاط التي تم تصنيفها بشكل خاطئ. إذا حسبنا الدقة، تصل إلى حوالي 98% (أترك هذا كتمرين للقراء).

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

التعليقات الختامية

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

عن المؤلف

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

الوسائط الموضحة في هذه المقالة ليست مملوكة لشركة Analytics Vidhya ويتم استخدامها وفقًا لتقدير المؤلف.

المصدر: https://www.analyticsvidhya.com/blog/2021/10/perceptron-building-block-of-artificial-neural-network/

الطابع الزمني:

اكثر من تحليلات Vidhya