المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الخطوة الأولى لكيفية صنع روبوت ذكي


ألضياء
11-02-2021, 11:39 AM
الخطوة الأولى لكيفية صنع روبوت ذكي

يهدف هذا المقال لتعريف القارئ عن أهمية البرمجة و تعلم اللغة المناسبة للمبتدئين والهواة في هذا المجال. حيث أن الذكاء الاصطناعي أصبح من غزاة العالم الحديث، فالآن يتوجه الجميع إلى أن يقوموا بصناعة روبوت حديث يمكنه أن يقوم ببعض المهام الشاقة التي ترهق الإنسان، وذلك في سبيل تحسين مستوى الحياة وتسهيلها ولكن من أجل برمجة الروبوت نحتاج إلى عدة مهارات برمجية أهمهم تعلم البرمجة, ومن أهم لغات البرمجة (https://101geekology.com/courses/47ae6990-78c6-46a1-a0e8-c63de42d107c) للروبوتات هي لغتي C و البايثون.

قبل عام 2007, لم يجمع العلماء على تعريف موحد لكلمة "روبوت". فقد درج تضمن تلك الكلمة العديد من الآلات المحيطة بنا مثل غسالة الملابس و الصحون و الطائرات سواءً كانت مسيرة عبر البشر أو ذات التحكم عن بعد أو ذاتية التحكم و غير ذلك مثل الصواريخ الموجهة و الأقمار الصناعية و حتى الجوالات الذكية (1 (https://www.lexisnexis.co.uk/legal/guidance/is-there-a-definition-of-robot)).

من الأمثلة التي تبسط فهم محور جدالهم هو المسألة التالية:

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

كيف يمكننا صناعة روبوت ذكي؟

إن العالم بالكامل يعتمد على الذكاء الاصطناعي في وقتنا هذا. يجدر التفرقة بين مصطلحين هما "تعلم الآلة" و المعروف باللغة الإنجليزية بـ "Machine Learning" والذكاء الصناعي المعروف بـ "Artificial intelligence". يتلخص الأمر في برمجية تعتمد على ثلاث محاور.

أولًا) تكوين معادلة برمجية تحاكي الأداء المطلوب من الآلة مع الأخذ في الإعتبار جعل جميع معايير الأداء كمتغيرات.

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

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

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

الذكاء الصناعي وأهميته

هناك مصطلحين يفرق بينهما عمل الآلة الذكية. حيث يطلق على الآلة المتحركة ذات تعلم الآلة روبوت. ويطلق على البرنامج ذا ذكاء صناعي في الآلة الغير متحركة و يدعى بوت. بالتالي لبناء روبوت ذكي يتطلب وجود محركات آلية (مثل محركات السيرفو) وحدة تحكم مركزية أو وحدة معالجة مركزية.

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

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

ما هي أخلاقيات صناعة روبوت ذكي؟

في عام 1942 قام الكاتب إسحاق أسيموف بكتابة سلسلة من الكتب. و من أهم أعماله هو سبقه في علم الفلسفة و الأخلاقيات لعالم الروبوت. حيث قام بتعريف القوانين الثلاثة للروبوتات حسب الناحية الأخلاقية. فكانت القوانين الثلاث هي :

1. القانون الأول: لا يجوز للروبوت إيذاء البشر أو حتى يسمح بذلك.
2. القانون الثاني: يجب على الروبوت طاعة أوامر البشر باستثناء ما يتعارض مع القانون الأول.
3. القانون الثالث: على الروبوت أن يحافظ على استمراريته في العمل وسلامته من العطل إلا إذا تعارض هذا مع القانون الأول والثاني.

وقد تعرضت للكثير من الانتقاد. أبرزها صعوبة تنفيذها على أرض الواقع و تعارضها مع فلسفة معضلة العربة (https://ar.wikipedia.org/wiki/%D9%85%D8%B9%D8%B6%D9%84%D8%A9_%D8%A7%D9%84%D8%B9% D8%B1%D8%A8%D8%A9).

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

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

لغة بايثون وتطوير فكرة عمل الروبوتات

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

أ) أولا الخصائص التي تميزها عن غيرها:

● اللغة سهلة وبسيطة فهي تتكون من مجموعة من الأوامر ذات خاصية سهولة معرفة المعنى حال قراءتها
● تتوافق لغة البايثون (https://101geekology.com/) مع أكثر من لغة برمجة أخرى مثل C و C++ مما يجعلها مرنة ومميزة، فلن تعاني من وجود أخطاء عند الخلط بينهما.
● نظرا لقوة المكتبات و تعددها و سهولة الاستخدام فقد أصبحت من أفضل اللغات من ناحية الانتاجية
● هي لغة مفتوحة المصدر
● يسهل استخدامها على العديد من المنصات
● لها العديد من المكتبات مفتوحة المصدر كفيلة بتلبية الحاجة لعدد كبير جدا من التخصصات
● لها حجم جمهوري كبير و لا يزال تعاونهم يتع مما يزيد وفرة تواجد العون والوصول إلى حلول متنوعة و تطبيقات مختلفة يمكن استخدامها أو تركيبها على عمل المبرمج.
● هناك مكتبات تتضمن خوارزميات ثابتة من أجل الروبوت، والتي تم إعدادها خصيصًا من أجل التسهيل على المطور حيث أنه يمكنه التعديل عليها حسب احتياجاته، ولا يجب عليه أن يكتب الأكواد من البداية.

https://i.suar.me/P3KM0/l

ب) ثانيا عيوب اللغة الرئيسية:

● تعتبر بطيئة مقارنة بلغات مثل C
● تعتبر أقل كفاءة من ناحية ترشيد استخدام الذاكرة

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

يجدر الذكر بأن هناك العديد من لغات البرمجة (https://101geekology.com/courses/47ae6990-78c6-46a1-a0e8-c63de42d107c) التي يمكن استخدامها ولكن في الواقع لغة البايثون هي الأكثر استخدامًا بين المبتكرين لتحويل أفكارهم من خيال إلى حقيقة و اختبار صلاحيتها.

كيف يمكننا البدأ بصناعة روبوت؟

هناك الكثير من الأشياء التي يجب أن تكون بحوزتك من أجل تطوير إنسان آلي ذكي أو روبوت و تتلخص فيما يلي:

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