أقدم انتباهكم إلى سلسلة من المقالات حول الشبكات العصبية ، قريبة من الناحية النظرية من سلسلة من المقالات التي كتبها Alexei Redozubov . لفهم المادة ، يوصى بالتعرف على الدورة الكاملة لمقالاته. يحتوي الرابط على مقالة واحدة فقط من الدورة ، مفيدة لهذا النص.
ستكون النماذج الموصوفة للشبكات العصبية (المشار إليها فيما يلي باسم NS) أعلى مستوى قليلاً من أليكسي. وهذا يسمح لنا بتبسيط العرض التقديمي وفهم العمليات التي تحدث في NS ، والتي ستسمح لنا بعد ذلك بالانتقال إلى ضبط أدق لـ NS ذات المستوى الأدنى. أيضا ، العمل على مثل هذه NSs يجعل من الممكن استخدامها بشكل أسرع. على وجه الخصوص ، استخدمتها لتحليل النصوص ، ومحاكاة المشي بالماوس من خلال متاهة وتفسير لغة تشبه اللغة ، يمكن أن يكون هناك العديد من التطبيقات الأخرى. سوف نقترب من مثل هذا السلوك المعقد بسلاسة في نهاية الدورة.لنبدأ بتوضيح مثل هذا النهج عالي المستوى. تحتوي مقالة أليكسي حول الحصين على جملة: "يشكل الحصين معرفات فريدة للذكريات". لنبدأ برمز بسيط يؤدي هذه الإجراءات - قم بإنشاء معرف فريد وربطه بالأحداث الموصوفة. كود C ++. لا أحمل شفرة المصدر حتى الآن - بدون تفسيرات تحضيرية ، لا يزال لديهم استخدام قليل.NC & hippocampNewId = newNC () ،
بدلاً من الخلايا العصبية الفردية ، فإن وحدة البرنامج الرئيسية هي مجموعة / عمود عصبي. اسم الفئة هو NC (اختصار لـ NeuroCluster). نظرًا لأن عددًا كبيرًا من الحشائش العصبية يتم إنشاؤها في NS (في تجاربي ، مئات الآلاف) ، فمن غير المرغوب فيه استخدام عامل جديد لعزل الحشائش العصبية الجديدة - فهو يعمل ببطء ولديه ذاكرة كبيرة علوية. لذلك ، يتم استخدام وظيفة newNC ، والتي تستخدم مجموعة من الخلايا العصبية ، وتخصصها من هناك. بدلاً من المؤشر ، ترجع هذه الوظيفة مرجع إلى NC ، مما يجعل الكود أكثر ملاءمة وأمانًا.من الناحية المفاهيمية ، يتوافق هذا الرمز مع هذا النهج تقريبًا: في الجمعية الوطنية هناك العديد من الأعمدة العصبية ، من الضروري تخصيص العمود التالي ضعيف الاستخدام ، وسيكون مسؤولًا عن المعرف الجديد. إن تحديد الطريقة التي ستحدث بها هذه العزلة هي مهمة ذات مستوى أقل لأخصائيي الحصين. من المثير للاهتمام أيضًا ، لدي أفكار حول كيفية حلها ، ولكن هذه المهمة منخفضة المستوى للغاية ، لذلك سننتقل.دعنا نكتب دورة مرور عبر جميع الكريات العصبية:لـ (NC & nc: _listNC) {
if (nc.isActive ())
// هنا نحن بحاجة لربط هذه الخلايا العصبية بطريقة أو بأخرى مع hippocampNewId
}}
الكتلة العصبية النشطة هي على سبيل المثال أي إحساس حالي ، وعلامة من القشرة الحسية ، والعمل الحالي ، وما إلى ذلك.في نموذج أليكسي ، سيتم إنشاء مثل هذا الاتصال من خلال الضبط - ستتعلم المجموعة التعرف على موجة تحديد جديدة. لإنشاء مثل هذا الاتصال غير المباشر ، تحتاج إلى الكثير من موارد الحوسبة - تحتاج إلى الكثير من الخلايا العصبية والاتصالات (مائة أو اثنين من الخلايا العصبية لكل كتلة عصبية) ، والكثير من الحسابات ، تحتاج إلى محاكاة مرور موجة تحديد عبر القشرة بأكملها ، وسوف يستغرق هذا المقطع الكثير من الوقت. سنفعل ذلك بسهولة - إنشاء اتصال برنامج مباشرة:لـ (NC & nc: _listNC) {
if (nc.isActive ())
hippocampNewId.createLinkTo (nc) ؛
}}
بعد ذلك ، يجب ربط علامة الحصين الجديدة في الوقت المناسب بذكريات الماضي: hippocampNewId.createTimeLinkTo (_prevHippocampId) ؛
وأخيرًا ، في الدورة التالية ، سنستبدل: _prevHippocampId = hippocampNewId ،
بالطبع ، لا يزال هذا هو الرمز الزائف. من المفهوم أن هذا هو رمز في فئة ANN. لذلك ، تعد وظيفة newNC وظيفة عضو لفئة HC. إذا بدأ المتغير بشرطة سفلية ، فسيكون هذا المتغير عضوًا في الفصل (شيء مثل البادئة m_ ، ليس عليك نطق الحرف m ، مما يجعل البرمجة أكثر ملاءمة).ميزة Alexei هي أن اكتشافه يسمح لك بكتابة كود مثل createLinkTo. قبل مقالاته ، كان يمكن للمرء أن يخمن فقط كيفية ربط الذكريات معًا بسرعة. بعد كل شيء ، لا يمكن للدماغ أن يولد على الفور اتصالًا من محور عصبي واحد إلى نصف الكرة الآخر ، وهكذا مائة مرة كل ثانية. تعمل تقنية أليكسي على تحويل الدماغ بأكمله بالحُصين إلى مفتاح يمكنه إنشاء روابط اعتباطية بسرعة كبيرة. قبل حوالي 15 عامًا ، قبلت وجود مثل هذه الآلية كعملية معينة ، وعملت على أمل أن يتم فتحها يومًا ما. بقي فقط لكتابة الرمز مع بعض الشكوك - ولكن كم هو كل هذا معقول بيولوجيًا؟ وأشارت حقائق مختلفة إلى وجود مثل هذه الآلية ، وأخيرًا ، تم الكشف عن التفاصيل.حسنًا ، لقد ربطنا بطريقة أو بأخرى أكثر الذكريات الحالية نشاطًا وعلامة الحُصين الجديدة. ماذا يعطينا هذا؟ دعونا نجعل ذلك حتى عند استلام سلسلة من الأحداث المشابهة لتلك التي تم تذكرها سابقًا ، يمكن للطوابع الزمنية المحفوظة أن تتعرف على هذه السلسلة الجديدة على أنها شيء واجهته بالفعل. ثم سيكون من الممكن القيام بأشياء مختلفة - على سبيل المثال ، لبدء التنبؤ بناءً على الخبرة.للقيام بذلك ، انتقل مؤقتًا إلى مهمة أخرى. دع قشرة المستشعر لـ ANN (NS الاصطناعية) تدرك الحروف. على سبيل المثال ، يقرأها من ملف. المهمة هي إنشاء سلاسل عصبية تتعرف على الكلمة - على سبيل المثال ، كلمة "معترف بها". علاوة على ذلك ، يجب أن يكون هذا الاعتراف من عدة مكونات - من ثلاث سلاسل منفصلة من "الأجناس" ، "يطرح" ، "النقد".المبدأ العام للحل واضح بشكل عام ، ويتم وصفه ، على سبيل المثال ، في الذاكرة الزمنية الهرمية لهوكينز. ولكن بالنسبة للصورة أدناه ، تحتاج إلى تقديم تفسيرات (يمكن سحب الصورة بواسطة الفئران في شريط علامة التبويب لفتحها في علامة تبويب جديدة):
1) في نماذج ANN القديمة ، تم استخدام مجموعات الخلايا العصبية ، ولكن الخلايا العصبية (كما هو الحال هنا ) ، ولكن الآن رفع هذه المصادر القديمة للمختبر العصبي 3 وتجعلهم يتعبون جدًا ، لذلك سأوضح بالصور التي تم إنشاؤها في أحدث إصدار من المختبر العصبي 4. لذلك ، على الرغم من أنه سيتم عرض تجريدات الخلايا العصبية ، فسأطلق عليها الخلايا العصبية - يجب أن تكون واضحة من السياق ما الذي نتحدث عنه.2) تخلق هذه النافذة - علامة التبويب "سلسلة ثنائية الأبعاد" - تصورًا ملائمًا لجزء من الشبكة العصبية. من غير المريح أن ننظر إلى الشبكة العصبية كيف تبدو في الصورة الأولى في المقالة. وتتيح لك هذه النافذة تحديد كتلة عصبية منفصلة ، وتحليل اتصالاتها ، وتظهر فقط تلك المجموعات التي يمكن الوصول إليها عن طريق الاتصالات من المجموعة المحددة. يرتب المجموعات على التوالي ، ويظهر علامات الابنة أدناه ، وله اتصالات زمنية أفقيا. أصبح من السهل الآن رؤية أن هذه السلسلة تحلل كلمة "معترف بها".3) يمكن ملاحظة أن المجموعات المختلفة لها أنواع مختلفة ، وأنواع مختلفة مطلية بألوان مختلفة. تظهر الصورة المجموعات العصبية المعتادة (إذا) والحسية (المستشعر) - فهي تتوافق مع القشرة الحسية. لا يتم تصميم الاتصالات من مجموعة المستشعر إلى المستشعر الحقيقي لعدم الحاجة. في هذه الحالة ، هناك حاجة إلى نوع منفصل من العنقود فقط لتسهيل التصحيح - على سبيل المثال ، عدم التفكير ، "لماذا لا تتعرف هذه المجموعة على أي علامات ، هل هي غير مجدية؟" لا ، ليس عديم الفائدة ، فهو يتعرف على الرسالة الموضحة في التعليق.4) في تلميح الأدوات الأخضر المنبثق (عند تمرير الماوس) ، يتم عرض حقول مختلفة. في الجزء السفلي من تلميح الأداة ، يتم عرض مخطط التصور العنقودي. يمكن لنماذج ANN المختلفة تصور التكتلات بطرق مختلفة.، نظرًا لأنها يمكن أن تحتوي على محتويات مختلفة جدًا (جميع أنواع المتغيرات العددية ، وعدد الخلايا العصبية الداخلية ، وما إلى ذلك) ، ولتوضيح هذه الأرقام ، قررت إعطاء الصورة مع تلميح.5) دعونا نحلل التعرف على "الأجناس" من المقاطع الأولى. يتضمن الخلايا العصبية الحسية 6 و 7 و 9 ، يتم التعرف عليها في التسلسل المطلوب بسبب الخلايا العصبية 8 و 10. إذا كانت تعمل بترتيب مختلف ، أو على الأقل مع تأخير دورة ساعة واحدة ، فلن تصل الإشارة إلى العصبون 10.6) وفقًا للمخطط أعلاه ، قد يعتقد المرء أنه بعد أن يرسل العصبون رقم 10 بالحرف "c" إشارة إلى العصبون رقم 20 من مقطع آخر ، فإن الإشارة ستصل مبكرًا جدًا وستخرج قبل التعرف على المقطع الثاني. في السابق ، لحل هذه المشكلة ، استخدمت "الخلايا العصبية المتأخرة" ، التي كانت ترسل إشارة بحيث تصل بالضبط في نفس الوقت الذي تحتاجه الخلايا العصبية الأخرى. الآن تعلمت كيفية استخدام إعدادات الاتصال الصحيحة ، والتي سيتم وصفها في مقالة منفصلة ، لذلك لا حاجة للخلايا العصبية المتأخرة. لذلك ، فهي ليست في الصورة.7) هذه الدائرة مع الخلايا العصبية ، من أجل التعرف على كلمة بشكل صحيح ، ترسل إشارات "إلى اليمين" و "أعلى". هذا يتوافق مع مرور الوقت وزيادة مستوى السمة في التسلسل الهرمي. لكن تلميح الأدوات يظهر أن عدد الاتصالات الواردة والصادرة يجعل من المرجح أن تؤدي الاتصالات "للأسفل". هذه هي ميزات تشغيل الخلايا العصبية ، لا تولي اهتماما ، بالنسبة لدائرة مع الخلايا العصبية ، تذهب الاتصالات إلى اليمين وما فوق.8) من أجل الراحة ، ترسم هذه النافذة أرقام الصفوف والأعمدة على طول حواف الشاشة ، بالإضافة إلى الإزاحة الزمنية ، المتعلقة بتشغيل المجموعة الرئيسية المحددة - أي ، الذي يتم إدخال معرفه في حقل الإدخال والذي يتم تمييزه بإطار سميك في أعلى اليمين9) سيتم وصف تنسيق زمني معقد (وقت إنشاء عصبون من النوع 0: 0.0-0) في وقت لاحق. نظرًا لأنه يتم إنشاء NS هذا للتوضيح ، فإن وقت إنشاء جميع الخلايا العصبية هو نفسه هنا. في الدوائر الحقيقية ، ستعرض هذه المرة الساعة التي يتم فيها ضبط عمود عصبي معين للتعرف على سمة معينة. هذا هو الوقت الذي يتم فيه استدعاء دالة newNC. يمكن بعد ذلك استخدام هذه المعلومات لتصحيح الأخطاء والمزيد.10) بالطبع ، يمكن لهذه السلاسل حفظ أكثر من صفة واحدة في أي وقت (يمكن أن يكون للخلايا العصبية أي عدد من الاتصالات). في هذه الحالة ، يكون للخلايا العصبية اتصال واحد لكل خطوة زمنية ، حيث يتم التعرف على الحروف. إذا كانت هناك سلاسل مرئية ، فستكون الصورة مختلفة تمامًا ، مع عدد كبير جدًا من الاتصالات. لأغراض تعليمية ، من الأسهل العمل مع الحروف. حتى عند التعرف على الحروف ، في طابع واحد ، يمكن تذكر الروابط بالعديد من المجموعات - بحرف ، بنهاية مقطع معروف ، بنهاية كلمة معترف بها ، عن طريق أفكار متوازية مصاحبة للتفكير في النص. هذا فرق كبير بين الخلايا العصبية والليسب ، حيث تحتوي السيارة / قرص مدمج على مؤشر واحد فقط. مثل هذه الدلالات في العلاقات في lisp أقل ملاءمة للذكاء الاصطناعي - حيث لا يمكن اعتبار الخلية الواحدة ارتباطًا كاملاً ،للقيام بذلك ، تحتاج إلى استخراج قائمة منفصلة من السمات من الخلية ، والتي يمكن توصيلها بطرق مختلفة جدًا. لذلك ، فإن محاولات العمل مع AI على Lisp تعطي حلًا واضحًا على الفور - شخصية منفصلة = خلية منفصلة ، وهذا مستوى منخفض للغاية للعمل ، فمن غير المريح إنشاء AI على lisp.في القسم التالي نناقش بعض الخوارزميات لتخصيص ردود الفعل مكيفة.