لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 06/19/23 في كل الموقع
-
السلام عليكم ما اهمية البيانات في تعلم الاله؟ وهل تدريب نمادج تعلم الاله مكلفه ؟2 نقاط
-
ستحتاج في البداية إلى من يرشدك ويوجهك وأن ترى كتابة الكود بعينيك والأخطاء وتصحيحاتها على الشاشة، وبعد أن تتمكن تنفيذ المشاريع بمفردك، وبالطبع ستصل لتلك المرحلة بعد الإنتهاء من مسار تعليمي كامل وبعد فترة لا تقل على 6 أشهر. لكن لا تكتفي بالدورة فقط بل ابحث وتعلم وطبق بمفردك على مشاريع أخرى. وتستطيع بعدها قراءة الكتب وهو أمر أنصحك به بشدة، لكن كما ذكرت ليس في البداية، وليس أي كتاب أيضًا فالكتب التي أرشحها لك بخصوص مجال الويب ولغة بايثون هي: JavaScript: The Good Parts by Douglas Crockford Eloquent JavaScript by Marijn Haverbeke Python Crash Course by Eric Matthes Fluent Python by Luciano Ramalho SQL for Dummies by Alan R. Simon The Pragmatic Programmer by Andrew Hunt and David Thomas Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin Grokking Algorithms Head first OOAD Good code, bad code Head First design patterns وتستطيع الإختيار من بين الكتب السابقة ما شئت لكن إذا أردت الأهم فهم: Grokking Algorithms Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin Head first OOAD Good code, bad code Head First design patterns وللأسف أغلب الكتب المفيدة باللغة الإنجليزية، وفي أكاديمية حسوب يتم محاولة توفير كتب قيمة باللغة العربية وستجد جميع الكتب في القسم الخاص بالكتب في أكاديمية حسوب. وتستطيع البحث بين قائمة أفضل الكتب مثلاً للبرمجة أو لمجال الويب أو للغة بايثون وهكذا، لكن يجب الإختيار من بينها بعناية وعن تجربة وتقييم مبرمجين آخرين، وتستطيع السؤال أيضًا، وعندما تريد قراءة كتاب يجب أن يكون الكاتب ذو خبرة تستحق الأخذ بها.2 نقاط
-
أنا مطور ويب, هل تعلم تقنية flutter هو أمر جيد لي, بالطبع لن أستعملها في مجال الويب بل أريد استعمالها في مجال تطبيقات الجوال, هل لهذا أي أثر على معرفتي بالويب أو أن هذا يمكن أن يضعف خبرتي السابقة, أم أن هذا غير صحيح وتعلمها أمر سيفيدني بشكل أكبر, وبالطبع لا أريد ترك مجال الويب.1 نقطة
-
لا يخفى عليكم فائدة قراءة الكتب في شتى المجالات لما تحتويه الكتب من شرح مسهب و تفصيل كثيرا . سؤالي هو انا كمتعلم لمسار تطوير الواجهات الامامي وانوي مستقبل تعلم تطوير التطبيقات والتقنيات التي سوف استخدامها على الاغلب هي html , css , js , pytho ,sql وغيرها من التقينات و توجد في الاكاديمية وفي اماكن اخرى كتب تشرح مثل هذه التقينات ودائما لدي رغبة في قراءة مثل هذه الكتب ولكن في داخلي تفضيل اكثر لمتابعة دوراتي على الاكاديمية وكذلك التطبيق العلمي وليس لدي دافع قوي لقرائتها هل هناك منهجيه في قراءة الكتب البرمجية التي تخص اختصاص معين ام لا احتاج الى قراءة هذه الكتب واذا كان هناك فائدة من قراءة الكتب كيف استطيع اختيار الكتاب المناسب بارك الله فيكم1 نقطة
-
قرائت قبل فترة مقال في الاكاديمية يتكلم في المدرب عن فائدة حل المشاكل البرمجية وما لها من تاثير في تقوية المنطق البرمجي وفوائد اخرى. انا حاليا اتعلم تطوير واجهات امامية ولدي مسار مستقبلي هو تطوير التطبيقات باستخدام بايثون (ضمن اكاديمية حسوب ايضا ) تراودني فكرة وهي ان قوم بتخصيص وقت لحل المشاكل البرمجية ولا ادري هل اقوم بذلك فعلا ام اصب كل تركيزي على تطوير الواجهات لامامية ثم بعد ان اصل الى مرحلة تطوير الواجهات الخلفية اقوم بذلك (والصراحة اقول لنفسي لو بدت بتخصيص قليل من الوقت للقيام بحل مسائل برمجية بلغة بايثون لعله عندما اصل لبايثون اكون قد حللت الكثير من المسائل وتطور عندي المنطق البرمجي ) اذا كان من الضروري تخصيص وقت لحل المشاكل البرمجية فانا لدي لغتي برمجة اتعامل معهما وهي لغة جافاسكربت وهي اللغة التي استخدمها حاليا في تطوير الواجهات الامامية . لغة بايثون وهي اللغة التي سوف استخدمها في تطوير الواجهات الخلفية . (مع العلم انا دارس اساسيات بايثون وعملت مشروع بها قبل ان اسجل في الاكاديمية ) باي لغة اقوم بممارسة مهارة حل المشاكل1 نقطة
-
1 نقطة
-
https://mohamed-montaser1.github.io/Typescript-XO_Game/dist/index.html لقت صنعت هذه اللعبة في وقت فراغي للتمرن علي typescript + react1 نقطة
-
نعم، حجم البيانات له أهمية كبيرة في تعلم الآلة، حتى في حالة وجود خوارزمية جيدة. إذا كان لديك حجم صغير جدًا من البيانات، فقد يكون من الصعب على النموذج التعلم منها بشكل كافٍ للحصول على نتائج دقيقة وقوية. البيانات الأكبر والأكثر تنوعًا تسمح للنموذج بتحليل أنماط مختلفة والتعرف على صورة أوضح للمشكلة التي يحاول حلها.1 نقطة
-
أهمية البيانات في التعلم الآلي تعتمد خوارزميات التعلم الآلي على البيانات للتعرف على الأنماط والعلاقات، ومن ثم استخدام تلك الأنماط للتنبؤ، وجودة وكمية البيانات هما عاملان مهمان في أداء نموذج التعلم الآلي. فالبيانات ذات الجودة هي البيانات الدقيقة والكاملة والمتعلقة بالمهمة المطروحة، وإذا لم تكن البيانات عالية الجودة، فلن يتمكن نموذج التعلم الآلي من التعلم بفعالية وستكون توقعاته أقل دقة. أي إذا كنت تحاول تدريب نموذج تعلم آلي للتنبؤ بما إذا كان العميل سيترك الشركة، فإن البيانات يجب أن تتضمن معلومات عن مشتريات العميل السابقة وتوجهاته الديموغرافية وتفاعلاته مع الشركة، وإذا كانت البيانات ناقصة أو غير دقيقة، فلن يتمكن النموذج من إجراء توقعات دقيقة. كمية البيانات أيضًا مهمة، فكلما كان لدى نموذج التعلم الآلي المزيد من البيانات للتعلم منها، كان بإمكانه أن يقدم توقعات أفضل. ولكن، هناك نقطة حيث إضافة المزيد من البيانات لا تحسن أداء النموذج بشكل كبير. مثلاً عند تدريب نموذج تعلم آلي للتعرف على صور القطط، فيجب أن يتوفر مجموعة بيانات كبيرة من صور القطط، ومع ذلك، إذا كان لديك مجموعة بيانات تحتوي على ملايين الصور، فإن إضافة المزيد من الصور لن تحسن أداء النموذج بشكل كبير. تكلفة تدريب نماذج التعلم الآلي تعتمد تكلفة تدريب نماذج التعلم الآلي على عدة عوامل، بما في ذلك حجم وتعقيد مجموعة البيانات، ونوع نموذج التعلم الآلي، والموارد الحاسوبية المستخدمة. أي تكلفة تدريب نماذج التعلم الآلي مرتفعة، ولكن الكلفة قد انخفضت في السنوات الأخيرة مع توفر موارد الحوسبة بأسعار معقولة. وإليك بعض العوامل التي يمكن أن تؤثر في تكلفة تدريب نماذج التعلم الآلي: كلما كانت مجموعة البيانات أكبر، زادت الوقت والموارد الحاسوبية التي يحتاجها التدريب، فعند تدريب نموذج تعلم آلي للتعرف على صور القطط، فسيكون لديك حاجة لمجموعة بيانات كبيرة تحتوي على صور القطط، وكلما زاد عدد الصور، زاد وقت التدريب. والنماذج المعقدة تتطلب مزيدًا من البيانات والموارد الحاسوبية للتدريب، فالنموذج قادر على التعرف على صور القطط والكلاب أكثر تعقيدًا من نموذج يمكنه فقط التعرف على صور القطط، أي كلما زاد تعقيد النموذج، زاد وقت التدريب. بعض الخوارزميات مكلفة حسابيًا أكثر من الأخرى، مثل خوارزميات التعلم العميق أكثر تكلفة حسابيًا من أشجار القرار decision trees، نوع الخوارزمية المستخدمة سيؤثر على تكلفة تدريب النموذج. وتعتمد تكلفة تدريب نموذج التعلم الآلي على نوع الموارد الحاسوبية المستخدمة، فيمكن أن تكون الحوسبة السحابية طريقة فعالة من حيث التكلفة لتدريب نماذج التعلم الآلي، ولكن الحوسبة في الموقع يمكن أن تكون أكثر تكلفة. وأيضًا التكلفة تعتمد على نوع المعالجات المستخدمة وعددها والذاكرة ووحدات المعالجة المركزية المطلوبة، وقد تحتاج إلى موارد حاسوبية قوية ومكلفة لتدريب نماذج التعلم الآلي، وهذا قد يؤثر على التكلفة الإجمالية. وإذا كنت بحاجة إلى تخزين كميات كبيرة من البيانات، فستضاف تلك التكلفة إلى تكلفة تدريب النموذج، والبعض يعتمد على خدمات التخزين السحابي أو شراء مساحة تخزين إضافية لاستيعاب حجم البيانات الضخم. وفي حال كانت عملية تدريب النموذج تتطلب نقل كميات كبيرة من البيانات عبر الشبكة أو الاتصال بخوادم بعيدة، فقد تتكبد تكلفة إضافية للشبكة والاتصال، مثل تكاليف النقل وتكاليف البنية التحتية للشبكة. وهناك عوامل أخرى يمكن أن تؤثر على تكلفة تدريب نماذج التعلم الآلي، مثل تكاليف ترخيص البرامج وتكاليف صيانة وإدارة البنية التحتية.1 نقطة
-
البيانات لها أهمية كبيرة في تعلم الآلة. فعندما يتعلم النموذج الذكاء الاصطناعي، يستند إلى البيانات المتاحة لتحليل الأنماط واكتساب المعرفة. تعتبر البيانات الموثوقة والشاملة مفتاحًا أساسيًا لتدريب نماذج تعلم الآلة قوية ودقيقة. تعتمد جودة البيانات المستخدمة في تدريب النماذج على عدة عوامل، مثل حجم البيانات وتنوعها وجودة التسميات (في حالة البيانات المشرفة) واختيار الميزات المهمة للنموذج. إذا كانت البيانات غير ممثلة للمشكلة أو غير متوازنة أو غير كافية، فقد يؤدي ذلك إلى أداء ضعيف للنموذج. بالنسبة لتكلفة تدريب نماذج التعلم الآلي، فإنها تختلف بناءً على عدة عوامل أيضًا، مثل حجم البيانات، وتعقيد المهمة، واختيار الخوارزمية المستخدمة، والتكنولوجيا المستخدمة في التدريب. بعض التدريبات الضخمة قد تتطلب موارد حسابية كبيرة ووقت طويل للتدريب، مما يرفع تكلفتها. ومع ذلك، مع تطور التكنولوجيا وظهور تقنيات تعلم الآلة الفعالة وإمكانية استفادة من التكنولوجيا السحابية، أصبح بإمكان العديد من الشركات والمؤسسات تدريب نماذج بتكلفة أقل وأكثر فعالية مقارنة بالماضي. يمكن القول بأن تدريب نماذج تعلم الآلة قد يكون مكلفًا نسبيًا في بعض الحالات، ولكن هناك تطورات تكنولوجية تساهم في تحسين الكفاءة وتقليل التكلفة.1 نقطة
-
يبدو أنك قمت بالتطبيق اللعبة بشكل جيد وبالطبع تحتاج إلى المزيد في تطوير الواجهة ، لكن لاحظت أنه عندما يحدث تعادل ولا يفوز أحد الاعبين لا يتم إعادة تحميل اللعبة من جديد بل يجب إعادة تحديث الصفحة من أجل بدء لعبة جديدة . أيضاً قم باضافة عدد لحساب عدد مرات الفوز للاعبين .1 نقطة
-
أولاً وقبل أي شيء، عليك بتعلم لغة برمجة، وطالما أنك تريد مجال تعلم الآلة فعليك بتعلم لغة بايثون، وستجد في أكاديمية حسوب دورة تطوير التطبيقات باستخدام لغة Python. وفي تلك الدورة سيتم التدرج في تعلم لغة بايثون والتطبيقات الخاصة بها، بدايًة من الأساسيات والتطبيق عليها ثم تعلم Flask وDjango وOdoo ثم وصولاً إلى تعلم أساسيات تحليل البيانات و تعلم الآلة Machine Learning. بعد ذلك تستطيع التعمق في مجال تعلم الآلة والدورات الخاصة بها، سواء عن طريق البحث على يوتيوب على دورة عربية من خلال البحث عن "كورس تعلم الآلة" وستجد بعض الكورسات. أو البحث باللغة الإنجليزية عن "machine learning course" وستجد العديد من الكورسات. وقم بنفس الأمر على جوجل أيضًا وستجد نتائج عديدة، وتستطيع التوجه إلى موقع مثل Udemy أو Coursera ثم تفقد الكورسات المتاحة هناك سواء عربية أو أجنبية.1 نقطة
-
يبدو أن الخطأ الذي تواجهه يعود إلى مشكلة في تمرير المعاملات لدالة `write_to_excel`. تحتاج إلى تمرير مسار الملف الذي تريد فتحه كمعامل لدالة `write_to_excel`، مثل هذا: file_path = "C:\\path\\to\\file.xlsx" write_to_excel(file_path) ويتم استدعاء الدالة `write_to_excel` بمعامل `file_path`. لذلك، تحتاج إلى التأكد من تمرير قيمة لـ `file_path` عند استدعاء الدالة. وإذا كان المشكلة لا تزال مستمرة، يمكنك محاولة استخدام الأكواد التالية لفحص الأخطاء: import win32com.client as win32 def write_to_excel(file_path): try: # إنشاء نسخة من تطبيق Excel excel = win32.gencache.EnsureDispatch('Excel.Application') # فتح الملف wb = excel.Workbooks.Open(file_path) # إغلاق الملف wb.Close(SaveChanges=True) except Exception as e: print("Error: ", e) # تمرير مسار الملف كمعامل للدالة write_to_excel file_path = "C:\\path\\to\\file.xlsx" write_to_excel(file_path) يجب عدم نسيان إغلاق الملف بعد الانتهاء من استخدامه باستخدام `wb.Close(SaveChanges=True)`، حيث يتم حفظ التغييرات قبل إغلاق الملف.1 نقطة
-
عند استخدام win32com للتعامل مع تطبيقات Microsoft Office مثل Excel، هناك بعض الأشياء التي يجب أن تأخذها في الاعتبار. بناءً على الخطأ الذي واجهته، يبدو أن هناك مشكلة في وظيفة `write_to_excel()` حيث تفتقد وسيطة مطلوبة واحدة وهي `file_path`. يُعد `TypeError` شائعًا عندما يتم تمرير عدد غير صحيح من الوسائط أو عدد غير صحيح من الوسائط المطلوبة إلى وظيفة معينة. لحل هذه المشكلة، تحقق من الدالة `write_to_excel()` وتأكد من أنك تمرر المسار الصحيح للملف كوسيطة لها. قم بالتحقق من النحو الصحيح للدالة والوسائط المطلوبة ومواقعها في التعليمات البرمجية. علاوة على ذلك، تأكد من أن الملف الذي تحاول الوصول إليه موجود بالفعل في المسار الذي تم تمريره. يجب أن يكون المسار الكامل للملف صحيحًا والملف نفسه قابل للقراءة والكتابة. إذا استمرت المشكلة، يمكنك مشاركة جزء من التعليمات البرمجية الخاصة بك (متضمنةً دالة `write_to_excel()`) لأتمكن من توجيهك بشكل أفضل وتحديد المشكلة بدقة أكبر.1 نقطة
-
إن النمو السريع للذكاء الاصطناعي وتطبيقاته وقدراته القوية جعلت الناس يشعرون بالرهبة بشأن حتمية نجاح ثورة الذكاء الاصطناعي وقرب دخولها في كافة أشكال الحياة. كما أن التحول الذي أحدثه الذكاء الاصطناعي في الصناعات المختلفة جعل قادة الأعمال والعامة يعتقدون أننا على وشك تحقيق ذروة أبحاث الذكاء الصناعي والوصول إلى أعظم إمكانات الذكاء الصناعي، وهذا غير دقيق تمامًا. هنا يأتي دور معرفة وفهم أنواع الذكاء الاصطناعي الممكنة والأنواع الموجودة الآن على أرض الواقع؛ إن معرفة أنواع الذكاء الصناعي سيعطي صورة أوضح لقدرات الذكاء الصناعي الحالية والطريق الطويل الذي ينتظر أبحاث الذكاء الصناعي. إن أنواع الذكاء الصناعي هي تقسيمات لها طابع فلسفي أكثر من أي شيءٍ آخر، لذا عند الحديث عن أنواع الذكاء الاصطناعي، لابد من العودة بالزمن للخلف والنظر في المسائل المتعلقة بالذكاء الاصطناعي والتي حاول الفلاسفة حلها، مثل: كيف يعمل العقل؟ هل يمكن للآلات أن تتصرف بذكاء كما البشر؟ وإذا تصرفت كالبشر هل سيكون لديهم عقول حقيقية واعية أو مدركة؟ ما هي التداعيات الأخلاقية للآلات الذكية؟ وفقَا للفلاسفة، إن الإشارة إلى إمكانية تصرّف الآلات كما لو كانت ذكية يسمى فرضية الذكاء الاصطناعي الضعيفة Weak AI، أما الإشارة إلى أن تلك الآلات التي تتصرف بذكاء يمكنها التفكير أيضًا (وليس مجرد محاكاة التفكير) يسمى فرضية الذكاء الاصطناعي القوية Strong AI. يعتبر معظم الباحثين في مجال الذكاء الاصطناعي؛ أن فرضية الذكاء الاصطناعي الضعيفة أمرًا مفروغًا منه، ولا يهتمون بفرضية الذكاء الاصطناعي القوية، فطالما أن برنامجهم يعمل، فهم لا يهتمون بما إذا كنت تسميها محاكاة للذكاء أو ذكاء حقيقي. إن المصطلحان الذكاء الصناعي الضعيف والذكاء الاصطناعي القوي يمثلان أول نوعين ظهرا من الذكاء الصناعي، أما لاحقًا فقد ظهرت أنواع جديدة وفئات سنتعرّف عليها بالتفصيل في هذه المقالة. تجدر الإشارة بدايةً إلى أن هذه المقالة هي جزء من سلسلة مقالات متعلقة بالذكاء الاصطناعي، حيث بدأنا السلسلة بإلقاء نظرة موجزة شاملة على كل مايتعلق بهذا العلم في مقالة الذكاء الاصطناعي: دليلك الشامل وسنتحدث في هذا المقال بالتفصيل عن أنواع الذكاء الاصطناعي. أنواع الذكاء الاصطناعي نظرًا لأن أبحاث الذكاء الاصطناعي تهدف إلى جعل الآلات تحاكي الأداء البشري، فإن الدرجة التي يمكن لنظام الذكاء الاصطناعي أن يكرر بها القدرات البشرية تُستخدم كمعيار لتحديد أنواع الذكاء الاصطناعي. بالتالي اعتمادًا على كيفية مقارنة الآلة بالبشر من حيث التنوع والأداء، يمكن تصنيف الذكاء الاصطناعي إلى عدة أنواع الذكاء. في ظل هذا المبدأ، سيتم اعتبار الذكاء الاصطناعي الذي يمكنه أداء وظائف بشرية بمستويات متساوية من الكفاءة -كنوع أكثر تطورًا من الذكاء الاصطناعي، في حين أن الذكاء الاصطناعي الذي لديه وظائف وأداء محدود يعتبر نوعًا أبسط وأقل تطورًا. على وجه الدقة، فإن أنواع الذكاء الصناعي يمكن وضعها ضمن قسمين، الأول يعتمد على القدرات ومحاكاة التفكير البشري والثاني يعتمد على الوظيفية. أنواع الذكاء الاصطناعي وفقًا لقدراته أولى أنواع الذكاء الاصطناعي كانت مبنية على أساس القدرات، حيث قُسّم إلى ثلاث أنواع هي الذكاء الاصطناعي الضعيف والقوي والخارق. لنبدأ مع أول نوع من أنواع الذكاء الصناعي ضمن هذا القسم وهو الذكاء الصناعي الضعيف. ذكاء اصطناعي ضعيف Weak AI: هل تستطيع الآلات التصرف بذكاء؟ للإجابة على هذا السؤال سنرجع في الزمن إلى المقترح البحثي الذي أنتج أول تعريف للذكاء الصناعي والذي قدّمه جون ماكرثي وفريقه (McCarthy et al., 1955)، حيث أُكّد على أنه "يمكن وصف كل جانب من جوانب التعلم أو أي خاصيّة أخرى للذكاء بدقة بحيث يمكن صنع آلة لمحاكاته". بالتالي فإن الذكاء الاصطناعي تأسّس على افتراض أن الذكاء الاصطناعي الضعيف أمر ممكن. عمومًا أكّد البعض على أن الذكاء الاصطناعي الضعيف أمر مستحيل (Sayre, 1993)، لكن في العقد الأخير من الزمن أصبحنا نرى أنه ممكن. الآن وبعد أن أجبنا على السؤال الذي طرحناه في البداية (إمكانية التصرف بذكاء)؛ آن الأوان لنعطي تعريفًا يوضح الذكاء الاصطناعي الضعيف نفسه. لذا يمكننا القول بأن الذكاء الاصطناعي الضعيف هو الذكاء الصناعي الذي يتخصص في مجال واحد أو الذي يستطيع تنفيذ مهمة محددة فقط، فمثلاً هناك أنظمة ذكاء اصطناعي يمكنها التنبؤ بمرض محدد أو عدة أمراض لكن لا يمكنها توقع حالة الطقس. يُسمى هذا النوع أيضًا بالذكاء الاصطناعي الضيق Narrow AI أو الذكاء الاصطناعي المتخصص Specialized AI. عمومًا كلمة "ضعيف" تعني أن أنظمة الذكاء الاصطناعي هذه ليست قوية وغير قادرة على أداء مهام مفيدة، وهذا ليس هو الحال في وقتنا الحالي، فجميع التطبيقات الحالية للذكاء الاصطناعي تندرج تحت هذه الفئة والكثير منها يتفوق على البشر في المهام المحددة له (تسميتها بالضعيف أصبح غير دقيق). يمكننا توضيح الذكاء الصناعي الضعيف بالنقاط التالية: الذكاء الاصطناعي الأكثر شيوعًا من بين جميع أنواع الذكاء الصناعي الأخرى (والمتوفر حاليًا) هو الذكاء الاصطناعي الضعيف. لا يمكن للذكاء الصناعي الضعيف أن يتعدى مجاله أو حدوده، حيث يتم تدريبه على مهمة واحدة فقط (يفشل في أي مهمة أخرى). المساعد الشخصي الذكي سيري Siri هو مثال جيد عن هذا النوع، إضافةً إلى حاسوب واتسون Watson العملاق الخاص بشركة IBM أيضًا، حيث يستخدم نهج النظام الخبير جنبًا إلى جنب مع التعلم الآلي ومعالجة اللغة الطبيعية. من الأمثلة الأخرى على هذا النوع هي السيارات ذاتية القيادة، والتعرف على الكلام، والتعرف على الصور وتصنيف النصوص والترجمة الآلية …إلخ. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن ذكاء اصطناعي قوي Strong AI: هل يمكن للآلات أن تفكر؟ ثاني نوع ضمن هذا القسم من أنواع الذكاء الصناعي هو الذكاء الصناعي القوي. يمكن تعريف الذكاء الصناعي القوي (يُعرف أيضًا بالذكاء الصناعي العام General AI أو العميق Deep AI أو الكامل Full AI) على أنه الذكاء الصناعي الذي يمتلك قدرات عقلية وعمليات تفكير ووظائف مُكافئة للدماغ البشري. أي إنشاء آلات ذكية لا يمكن تمييزها عن العقل البشري. الفلاسفة هنا مهتمون بمشكلة مقارنة بنيتين: الإنسان والآلة، لذا طرحوا السؤال التالي "هل يمكن للآلات أن تفكر؟" هذا السؤال كان عليه العديد من الاعتراضات، فإمكانية تحقيق الذكاء الاصطناعي سيعتمد على كيفية تعريف الكلمة نفسها. قال عالم الحاسب Edsger Dijkstra إن "مسألة ما إذا كانت الآلات تستطيع التفكير، يتعلق بمسألة ما إذا كانت الغواصات تستطيع السباحة". أول تعريف للسباحة في قاموس American Heritage هو "التنقل عبر الماء عن طريق الأطراف أو الزعانف أو الذيل"، وبالتالي فإن الغواصات وفقًا لهذا التعريف لايمكنها السباحة. يعرّف القاموس أيضًا الطيران بأنه "التنقل في الهواء عن طريق الأجنحة"، إلا أن معظم الناس يتفق على أن الطائرات يمكنها الطيران والغواصات يمكنها السباحة. من هنا نستنتج أن الأسئلة والإجابات ليست فكرة دقيقة لتوضيح تصميم أو قدرات الطائرات والغواصات؛ نفس الأمر ينطبق على موضوعنا. لقد رفض آلان تورينج هذا السؤال "هل يمكن للآلات أن تفكر؟" واستبدله باختبار سلوكي يُعرف باختبار تورينج. إلا أن العديد من الفلاسفة ادعوا أن الآلة التي تجتاز اختبار تورينج لن تفكر في الواقع، لكنها ستكون مجرد محاكاة للتفكير. إلا أن تورينج عاد وقدم العديد من الحجج التي تدعم كلامه، لكن لن ندخل فيها الآن. من هنا نجد أن البشر لا يمكنهم حتى الاتفاق على ماهية الذكاء والتفكير (حتى اللحظة هذه على الأقل)، وبالتالي من الصعب جدًا إعطاء معيار واضح لما يمكن اعتباره نجاحًا في تطوير الذكاء الاصطناعي القوي. يتضح لنا مما سبق أيضًا أن الذكاء الاصطناعي القوي هو نهج فلسفي أكثر منه نهج عملي. يمكننا توضيح الذكاء الصناعي القوي بالنقاط التالية: مصطلح يشير إلى فكرة وجود آلة ذات ذكاء عام يمكنها التعلم وتطبيق ذكائها لحل كل مشكلة. يمكن للذكاء الاصطناعي القوي أن يفكر ويستوعب ويتصرف بطريقة مكافئة للبشر، كما يمكنه أداء أي مهمة فكرية بكفاءة مثل الإنسان. في الوقت الحالي، لا يوجد مثل هذا النظام. يركز الباحثون في جميع أنحاء العالم الآن على تطوير الآلات باستخدام الذكاء الاصطناعي القوي. ذكاء اصطناعي خارق Super AI أخيرًا هناك مايُسمّى بالذكاء الاصطناعي الخارق وهو النوع الثالث من أنواع الذكاء الاصطناعي. يصف هذا المصطلح سيناريو يتحسن فيه الذكاء الاصطناعي ذاتيًا بطريقة متسارعة ويتجاوز الذكاء البشري -بعبارةٍ أخرى، يصبح ذكاءً خارقًا. يمكننا توضيح الذكاء الصناعي الخارق بالنقاط التالية: الذكاء الصناعي الخارق هو مستوى الأنظمة الذكية حيث يمكن للآلات فيه أن تتفوق على الذكاء البشري، ويمكن أن تؤدي أي مهمة بطريقة أفضل من الإنسان ذي الخصائص المعرفية. وهو نتيجة للذكاء الاصطناعي العام General AI. يتضمن الذكاء الصناعي الخارق أمورًا مثل الذكاء الحقيقي والتفكير والإدراك والوعي وحل الألغاز وإصدار الأحكام والتخطيط والتعلم والتواصل. يرتبط الذكاء الصناعي الخارق بمفهوم التفرد التكنولوجي، الذي يفترض أن الآلات فائقة الذكاء سوف تتفوق على الحضارة البشرية. لا يزال مفهومًا افتراضيًا للذكاء الاصطناعي. أنواع الذكاء الاصطناعي وفقًا لوظيفته يمكن تصنيف الذكاء الصناعي أيضًا وفقًا للوظيفة Functionality التي يؤديها، فيما يلي سنعرض هذه الأنواع الأربعة. نضع في البداية تعريفًا بسيطًا ثم نوضحه. 1. الآلات التفاعلية Reactive machines يمثل هذا النوع أبسط أنواع الذكاء الصناعي وهي آلات تفاعلية بحتة ليس لديها ذاكرة ولاتُخزّن أيّة معلومات سابقة (تتفاعل وفقًا لمعطيات الموقف الحالي؛ لاتستخدم خبرتها السابقة). يُعتبر الحاسب العملاق Deep Blue من شركة IBM الذي يمتلك القدرة على لعب الشطرنج، والذي تغلب على البطل العالمي غاري كاسباروف في عام 1997، أفضل مثال لهذا النوع من الآلات. يستطيع الحاسب ديب بلو الذي يستخدم تقنيات الذكاء الصناعي -التعرف على القطع الموجودة على رقعة الشطرنج ومعرفة ودراسة كيفية تحرّك كل منها. يمكنه التنبؤ بأفضل الحركات التالية له ومايمكن لخصمه أن يفعل. إلا أن هذا الحاسب لا يتذكر أي شيء من الماضي، ولا أي ذكرى لما حدث من قبل خلال اللعبة (يتجاهل كل شيء قبل اللحظة الحالية). كل ما يفعله هو الاطلاع على القطع الموجودة على لوحة الشطرنج الآن، ثم اختيار أفضل حركة ممكنة. يُعد برنامج AlphaGo من جوجل مثالاً آخر على الأجهزة التفاعلية، واستطاع هزيمة أفضل اللاعبين. أسلوب التحليل الخاص به أكثر تعقيدًا من أسلوب Deep Blue، حيث يستخدم شبكة عصبية لتقييم تطورات اللعبة. تعمل هذه الآلات على تحسين قدرة أنظمة الذكاء الاصطناعي على لعب ألعاب معينة بطريقة أفضل، لكن لا يمكن تغييرها بسهولة أو تطبيقها على مواقف أخرى. هذه الآلات ليس لها فهم للعالم (تفهم أشياء محددة للغاية)- مما يعني أنها لا تستطيع العمل خارج المهام المحددة الموكلة إليها ويمكن خداعها بسهولة. يمكن أن يكون هذا جيدًا لضمان أن يكون نظام الذكاء الاصطناعي جديرًا بالثقة: فأنت تريد أن تكون سيارتك ذاتية القيادة موثوقًا بها، فربما من السيئ أن نرغب في أن تتفاعل الآلات حقًا مع العالم وفقًا لتخيلاتها المبنية على سيناريوهات سابقة. 2. الذاكرة المحدودة Limited memory تتمثل الخطوة التالية من خطوات تطور الذكاء الاصطناعي في تطوير القدرة على تخزين المعرفة. قال رافائيل تينا، كبير باحثي الذكاء الاصطناعي في شركة التأمين Acrisure Technology Group التي مقرها أوستن، إن الأمر سيستغرق ما يقرب ثلاثة عقود قبل أن يتم تحقيق هذا التطور. أحرز مجال الذكاء الاصطناعي في عام 2012 تقدمًا كبيرًا جدًا، حيث أتاحت الابتكارات الجديدة في جوجل و ImageNet للذكاء الاصطناعي إمكانية تخزين البيانات السابقة وإجراء التنبؤات باستخدامها. يشار إلى هذا النوع من الذكاء الاصطناعي على أنه ذكاء اصطناعي محدود الذاكرة، لأنه يمكنه بناء قاعدة معرفية محدودة خاصة به واستخدام تلك المعرفة للتحسين بمرور الوقت. تندرج جميع التطبيقات الحالية التي نعرفها تقريبًا ضمن هذه الفئة من الذكاء الاصطناعي. يتم تدريب جميع أنظمة الذكاء الاصطناعي الحالية من خلال كميات كبيرة من بيانات التدريب التي تخزنها في ذاكرتها لتشكيل نموذج مرجعي لحل المشكلات المستقبلية. تعد السيارات ذاتية القيادة من أفضل الأمثلة على أنظمة الذاكرة المحدودة. يمكن لهذه السيارات تخزين سرعة السيارات القريبة ومسافة السيارات الأخرى وحد السرعة ومعلومات أخرى للتنقل على الطريق. من الأمثلة الأخرى هي روبوتات المحادثة (ChatGPT مثلًا) والمساعدين الافتراضيين. ملاحظة: يمكن لأجهزة الذاكرة المحدودة تخزين التجارب السابقة أو بعض البيانات لفترة قصيرة من الوقت. 3. نظرية العقل Theory of mind في علم النفس، تُعتبر نظرية العقل أحد فروع العلوم الإدراكية وتتمثل بالقدرة على تمييز أو توقع ما سيفعله الشخص نفسه أو أشخاص آخرون وفهم أن للناس الآخرين معتقدات ونوايا ورغبات وآراء مختلفة. إذًا في هذا النوع يجب أن تتعلم الآلات الذكية المستقبلية كيفية فهم أن كل شخص (الأشخاص وكائنات الذكاء الاصطناعي) لديهم أفكار ومشاعر. يجب أن تعرف أنظمة الذكاء الصناعي المستقبلية كيفية تعديل سلوكها لتتمكن من السير بيننا. من حيث تقدم الذكاء الاصطناعي، فإن تقنية الذاكرة المحدودة هي أبعد ما وصلنا إليه -لكنها ليست الوجهة النهائية. يمكن لآلات الذاكرة المحدودة التعلم من التجارب السابقة وتخزين المعرفة، لكنها لا تستطيع التقاط التغييرات البيئية الدقيقة أو الإشارات العاطفية. مثلًا المساعدين الافتراضيين مثل أليكسا Alexa وسيري Siri لا تُبدي أي رد فعل عاطفي إذا صرخت عليهم". إن آلات الذاكرة المحدودة يمكن أن تنجز الكثير، لكن لا يمكنها الوصول إلى نفس مستوى الذكاء البشري حتى الآن. ربما يكون أداء السيارة ذاتية القيادة أفضل من أداء السائق البشري في معظم الأوقات لأنها لن ترتكب نفس الأخطاء البشرية. ولكن إذا كنت كسائق بشري تعلم أن ابن جارك يذهب إلى اللعب بالقرب من الشارع بعد المدرسة في يوم الخميس دومًا، فستعرف غريزيًا أنه يجب عليك أن تبطئ من سرعتك أثناء عبور ذلك الشارع -وهو شيء لن تكون عليه مركبة الذكاء الاصطناعي المزودة بذاكرة محدودة. يمكن أن تجلب نظرية العقل الكثير من التغييرات الإيجابية في عالم التكنولوجيا، لكنها أيضًا تنطوي على مخاطرها الخاصة. نظرًا لأن الإشارات العاطفية شديدة الدقة، فقد تستغرق أجهزة الذكاء الاصطناعي وقتًا طويلاً لتتقن قراءتها، ويمكن أن ترتكب أخطاء كبيرة أثناء مرحلة التعلم والتطبيق في المراحل الأولى. ملاحظة: لا يزال هذا النوع من آلات الذكاء الاصطناعي غير مطوّر، لكن الباحثين يبذلون الكثير من الجهود والتحسينات لتطوير مثل هذه الآلات. 4. الإدراك الذاتي Self-awareness تتمثل الخطوة الأخيرة في تطوير الذكاء الاصطناعي في بناء أنظمة يمكنها فهم نفسها وإدراك ذاتها. في آلات الإدراك الذاتي يتعين على باحثي الذكاء الاصطناعي بناء آلات تمتلك الوعي وليس فهم الوعي فقط. هذا النوع من أنواع الذكاء الاصطناعي هو امتداد لنظرية العقل التي ناقشناها منذ قليل. الإدراك يختلف عن إدراك الذات؛ الأول هو إدراك بيئة الفرد وجسده ونمط حياته، أما الثاني هو الاعتراف بهذا الإدراك. الإدراك الذاتي هو كيف يعرف الفرد ويفهم بوعي شخصيته ومشاعره ودوافعه ورغباته ("أريد هذا العنصر" يختلف تمامًا عن "أعلم أنني أريد هذا العنصر"). نفترض أن شخصًا ما يصرخ خلفنا أثناء الانتظار من أجل حركة المرور لأنه غاضب أو غير صبور، فهذا هو ما نشعر به عندما نصرخ على الآخرين. بدون نظرية العقل، لن نتمكن من إنجاز تلك الأنواع من الاستدلالات. في حين أننا ربما نكون بعيدين عن إنشاء آلات تدرك نفسها بنفسها، يجب أن نركز جهودنا نحو فهم الذاكرة والتعلم والقدرة على اتخاذ القرارات بناءً على التجارب السابقة. هذه خطوة مهمة لفهم الذكاء البشري تلقائيًا. ومن الأهمية بمكان إذا أردنا تصميم أو تطوير آلات تكون أكثر من استثنائية في تصنيف ما يرونه أمامهم. على الرغم من أن تطوير الإدراك الذاتي يمكن أن يعزز تقدمنا كحضارة على قدم وساق، إلا أنه يمكن أن يؤدي أيضًا إلى كارثة. لأنه بمجرد إدراكه لذاته، سيكون الذكاء الاصطناعي قادرًا على امتلاك أفكار مثل الحفاظ على الذات والتي قد تحدد بشكل مباشر أو غير مباشر النهاية للبشرية، حيث يمكن لمثل هذا الكيان أن يتفوق بسهولة على عقل أي إنسان ويخطط لمخططات غير متوقعة. خاتمة على الرغم من حقيقة أن الذكاء الصناعي لا يزال في بداياته وغير مستكشف تمامًا، إلا أنه ربما يكون أكثر إبداعات البشرية تعقيدًا وإذهالًا حتى الآن. مما يعني أن كل تطبيق ذكاء اصطناعي مذهل نراه اليوم يمثل مجرد قمة جبل الجليد للذكاء الاصطناعي. تحدثنا في هذه المقالة عن جميع فئات وأنواع الذكاء الاصطناعي، وهذه التصنيفات مهمة للباحثين والمطورين لتحديد أهدافهم التقنية. ومهما كان ما يخبئه المستقبل، فإن الذكاء الاصطناعي هو مجال بحثي ضخم ومهم وسريع النمو. على الرغم من أننا بالكاد خدشنا سطح إمكاناتها، فقد غيرت بالفعل الطريقة التي تؤدي بها كبرى الشركات عملها والذي سيتمد أيضًا لتغيير أسلوب حياة البشرية ككل. إن أردت الاستزادة، فإليك مصادر إضافية عربية لتعلم الذكاء الاصطناعي توفرها أكاديمية حسوب: البرمجة بلغة بايثون: كتاب يشرح لغة بايثون تمهيدًا لكتابة تطبيقات ذكاء اصطناعي وتعلم آلة بها. مدخل إلى الذكاء الاصطناعي وتعلم الآلة: كتاب يُعرِّفك على أساسيات الذكاء الاصطناعي وتعلم الآلة. عشرة مشاريع عملية عن الذكاء الاصطناعي: كتاب تطبق فيه ما تعلمته على مشاريع ذكاء اصطناعي عملية بلغة بايثون. قسم الذكاء الاصطناعي: يحوي مقالات متنوعة عن كل ما يتعلق بمجال الذكاء الاصطناعي. مجالات الذكاء الاصطناعي أهمية الذكاء الاصطناعي برمجة الذكاء الاصطناعي فوائد الذكاء الاصطناعي1 نقطة
-
بدأنا في هذه السلسلة برمجة الذكاء الاصطناعي تعريف الذكاء الاصطناعي وارتابط البرمجة والذكاء الاصطناعي ثم تحدثنا عن البرمجة وأساسيات البرمجة بلغة بايثون، وسنكمل في هذا المقال الحديث بالتفصيل عن تخصص تعلم الآلة تحديدًا الذي يندرج ضمن الذكاء الاصطناعي. تعريف تعلم الآلة Machine Learning عرَّف البروفسور توم ميتشل Tom Mitchell -وهو عالم حاسوب أمريكي وبروفيسور في جامعة Carnegie Mellon في الولايات المتحدة- تعلم الآلة بالتعريف التالي: لا بأس إذا بدا ذلك التعريف غامضًا قليلًا، إذ سنشرحه أثناء الحديث عن الخطوات التطبيقية وعملياتها في برمجة تعلم الآلة، كما سيُعرَّف كل رمز من تلك الرموز المذكورة في التعريف بشيء من التفصيل لاحقًا لنرى موقع تلك الرموز من الجانب التطبيقي. إنّ نماذج تعلم الآلة ما هي إلا خوارزميات بُنيت على قواعد الجبر الخطي والتفاضل والتكامل وعلم الإحصاء؛ ولذلك فإنّ فروع تلك الرياضيات مهمة لدارسي تعلم الآلة ليُؤهلوا لفهم أفضل لما يحدث وراء الأحداث ولفهم ما تفعله الخوارزميات، وبالطبع ستكون محاولة فهم لماذا تعمل تلك الخوارزميات بالأمر الشاق جدًا، وذلك تخصص باحثي الذكاء الاصطناعي القائمين باختراع وتطوير تلك الخوارزميات؛ أما نحن المبرمجين فما نريده لا يزيد عن فهم آلية عمل تلك الخوارزميات. يُعَدّ تعلم الآلة Machine Learning فرعًا من فروع علم الذكاء الاصطناعي، وبالأحرى هو إحدى طرق صناعة الذكاء من بين طرق متعددة وهو الأكثر شيوعًا في العقد الحالي مع أنّ الأبحاث في ذلك العلم كانت قد بدأت منذ القرن الماضي بالفعل، لكن لم تر تلك الخوارزميات النور لعدم وجود إمكانيات حاسوبية في ذلك الوقت تتيح تنفيذ تلك الخوارزميات، فالحواسيب لم تكن قادرة على تنفيذ هذه المهام، كما أنّ الأمر يتطلب الكثير والكثير من البيانات التي لم تكن لتتوفر بالصورة المطلوبة في ذاك الوقت. يدعى ذلك العلم في وسط الرياضيات باسم التعلم الإحصائي Statistical Learning أو التحليلات التنبؤية Predictive Analytics، ويسعى ذلك العلم ببساطة إلى استخراج المعلومات من البيانات السابقة ليتنبأ معلومات أخرى بصورة دقيقة لم يتعرف عليها من قبل. نرى تطبيقات تعلم الآلة واضحةً في حياتنا اليومية على الإنترنت، إذ تُستخدَم خوارزميات تعلم الآلة في اليوتيوب ليرجِّح المقاطع أثناء تصفحك لمشاهدتها، كما أنّ أمازون تستخدِمها لترجيح المنتجات؛ أما فيسبوك فيستخدِمها في تحديد وجهك ووجه أصدقائك في صوركم معًا، فعندما تتصفح أحد تلك المواقع فستجد على الأرجح في كثير من أجزائها مهامًا تستخدِم فيها إحدى خوارزميات تعلم الآلة، ولكن بعيدًا عن تلك المواقع والمجالات الترفيهية والتجارية، فإنّ لمجال تعلم الآلة أثر عظيم في المجالات العلمية الأخرى، إذ يُستخدَم في تحليل سلاسل الحمض النووي وفي فهم النجوم وإيجاد الكواكب البعيدة وتشخيص الأمراض وإيجاد الأدوية والكثير من الأمور الأخرى. لا يعني ذلك بالضرورة أنّ كتابة أيّ برنامج تعلم آلة هو حصرًا للمشروعات الكبيرة المؤثرة في العالم، فيمكن الاستفادة من برامج تعلم الآلة على المستوى البسيط، إذ تستخدِم الكثير من الشركات الصغيرة والمتوسطة نماذج تعلم الآلة في اتخاذ القرارات المستقبلية الصحيحة لأعمالها، فلتلك النماذج استخدامات كثيرة منها البسيط ومنها المعقد والكبير. حتى هذا اليوم معظم التطبيقات الذكية التي تُصنَع دون تعلم الآلة تدعى بالأنظمة الخبيرة، وهي برامج تُستخدَم فيها قواعد اتخاذ القرارات، وهي تُستخدم في معالجة البيانات ومدخلات المستخدِم ثم محاولة كتابة تعليمات شرطية تؤدي إلى ناتج ما، كما تحتاج تلك النظم إلى معرفة دقيقة للغاية بالمهمة المطلوبة، لكن لن يكون البرنامج دقيقًا إلى حد كبير في كثير من الأحوال، كما أنه ستُعاد كتابة أجزاء كبيرة من البرنامج أو حتى إعادة كتابة البرنامج كليةً لإجراء أيّ تعديل بسيط على المنطق الأساسي في البرنامج. لن تنجح الأنظمة الخبيرة في القيام بالمهام المطلوبة في كثير من الأحوال، فلا يمكن على سبيل المثال لمثل تلك الأنظمة إجراء مهمات متعلقة بالصور مثل تحديد الوجه أو تحديد الكائنات الموجودة في الصور؛ وذلك لأنه يكاد يكون من المستحيل على البشر التوصل إلى آليات وشروط محددة يستطيع كتابتها للحاسوب ليحدد بها خصائص الوجه أو تحديد خصائص كائنات معينة في الصور، إذ أنّ طريقة معالجة البشر للصور في الدماغ تختلف عن الحاسوب، فمشكلة تحديد الوجوه البشرية في الصور تلك ظلت غير محلولة حتى عام 2001م، إذ جرى صناعة نموذج تعلم آلة يستخدم الكثير من صور الوجوه البشرية لتحديد الخصائص التي يمكن عن طريقها تحديد الوجه البشري في الصور. كما أوردنا فإن تعلم الآلة هو تخصص فرعي من تخصصات الذكاء الاصطناعي، ولكن حتى تعلم الآلة ينقسم إلى تخصصات فرعية أخرى مثل التعلم العميق Deep Learning وهو المختص بحل المشكلات والتطبيقات المعقدة عن طريق محاكاة شبكة عصبية من الدماغ البشري ويعمل ذلك الفرع على حل مشكلات مثل تطبيقات التعرف على الوجوه في الصور وغيرها. يعتمد تعلم الآلة اعتمادًا كبيرًا على البيانات الضخمة Big Data وجودة تلك البيانات؛ ولذلك يتداخل تخصص تعلم الآلة مع تخصص آخر يدعى علم البيانات Data Science، والحدود بين العلمين غير واضحة بصورة دقيقة، إلا أننا نستطيع القول بأن تعلم الآلة يعتمد على علم البيانات وليس العكس، إذ يستطيع عالم البيانات التعامل مع البيانات الكبيرة وتحسين جودتها عبر الأساليب المدروسة مسبقًا حتى تكون البيانات جاهزةً بالفعل لتدريب نموذج تعلم الآلة المراد صنعه، وذلك عادةً ما يفعله مهندس تعلم الآلة، إذ أنه في كثير من الأحوال وخاصةً في الشركات الصغيرة لا يوجد متخصص في علوم البيانات لتحسينها قبل إرسال البيانات إلى مهندس تعلم الآلة للتدريب النموذج، ولا بأس إذا بدت الأمور غير واضحة لك حتى الآن. توضح الصورة التالية العلاقة بين الذكاء الاصطناعي Artificial Intelligence وتعلم الآلة Machine Learning والتعلم العميق Deep Learning. أما الصورة التالية، فستستطيع من خلالها فهم الترابط والتداخل بين علم البيانات Data Science وعلوم الذكاء الاصطناعي المختلفة. عرَّف أرثر صامويل Arthur Samuel في عام 1959م تعلم الآلة بأنه حقل الدراسة الذي يعطي للحواسيب القدرة على التعلم دون أن تكون مبرمجةً صراحةً، ونجد أنّ ذلك التعريف معبر للغاية، وقد ظل ذلك التعريف مستخدمًا حتى اليوم، ولكن مع ذلك فإنه قد يُفهم التعريف بصورة خاطئة عند كثير من غير المتخصصين، إذ أنّ أرثر لم يقصد أنه بإمكان الآلات اتخاذ القرارات بدون برمجة مسبقة على الإطلاق لأن ذلك لم يحصل، إذ أنّ مجال تعلم الآلة يعتمد اعتمادًا كبيرًا على البرمجة، ولكن يقصد بذلك أنّ الآلة تستطيع التعلم من البيانات لاستنباط واستنتاج أنماط من خلال علم الإحصاء وخوارزميات الرياضيات المكتوبة بلغة البرمجة لتستطيع من خلالها التوقع أو أداء مهمة ما بناءً على برمجة مسبقة، ولكنها ليست برمجة صريحة بالمعنى التقليدي الذي يحدد مخرجات البرامج بصورة نوعية وكمية. كان أرثر صامويل من أوائل مَن استخدم مصطلح تعلم الآلة Machine Learning وذلك في الورقة البحثية التي نشرها في العام نفسه 1959 والذي عرف فيه المصطلح بعنوان Some Studies in Machine Learning Using the Game of Checkers، وهو يحاول في تلك الورقة إثبات أنه بإمكان الآلات تعلم لعب الألعاب وبمستوى أفضل من مبرمج الآلة نفسه. الفرق بين البرمجة الاعتيادية وبرمجة تعلم الآلة تختلف برمجة الحاسوب الاعتيادية وبرمجة نماذج تعلم الآلة في أوجه كثيرة سنناقشها في هذا القسم. البيانات الضخمة Big Data لا تحتاج البرمجة الاعتيادية في أغلب الأحوال إلى بيانات ضخمة لصناعة تطبيقاتها، فبالرغم من كونها قد تخزِّن تلك البيانات الضخمة واستخدامها، إلا أنها ليست ضرورية، ولكن تحتاج برمجة تعلم الآلة إلى البيانات الضخمة بصورة أساسية حسب ما يراد برمجته، فمثلًا في حال برمجة نموذج تعلم آلة -أو بالأحرى نموذج تعلم عميق- يحدِّد الوجوه البشرية في الصور، فسنحتاج إلى كثير من الصور التي تحتوي على وجوه بشرية حصرًا وبصورة واضحة حتى يتعلم منها النموذج خصائص الوجه البشري، أو مثلًا إذا أردنا برمجة نموذج تعلم آلة يتوقع قيمة سعر منزل في منطقة ما، فسنحتاج إلى بيانات تحتوي على خصائص العقارات وأسعارها في تلك المنطقة لنمرر بعدها تلك البيانات للنموذج وليتعلم منها خصائص كل عقار وسعره حتى يستطيع بعد ذلك توقع سعر أيّ عقار في تلك المنطقة بناءً على خصائصه حتى ولو لم يكن ذلك العقار من ضمن العقارات التي مررناها إليه مسبقًا، وبناءً على ذلك فإنّ الحاجة إلى البيانات الكبيرة في نماذج تعلم الآلة ضروري وأساسي للغاية، كما أنّ تحسين جودة تلك البيانات أيضًا ضروري. الدقة وآلية العمل تُمرَّر مدخلات المستخدِم في البرمجة الاعتيادية، ثم إجراء عمليات محددة مسبقًا من قبل البرنامج ثم إرجاع الخرج إلى المستخدِم مرةً أخرى؛ أما في تعلم الآلة فالأمر يختلف قليلًا، إذ تُستقبَل في كثير من الأحيان مدخلات من المستخدِم فعلًا، مع ذلك فإنه لا تُجرى عمليات محددة مسبقًا من قِبَل البرنامج، وإنما تُمرَّر المدخلات إلى الخوارزمية -أي النموذج- الذي دُرِّب من قبل حتى يتوقع الخرج الذي سيعاد مرةً أخرى إلى المستخدِم، ولنأخذ المثال السابق للعقارات لفهم ذلك بصورة واضح. لا يسعنا سوى استخدام قواعد اتخاذ القرارات لتحديد سعر العقار في البرمجة الاعتيادية، فإذا طلبنا مثلًا من المستخدِم إدخال عدد غرف العقار ومساحته بالمتر المربع، فكل ما يسعنا فعله هو كما يلي: إذا كان عدد الغرف أكبر من غرفتين والمساحة أكبر من 100 متر مربع، فسيكون السعر 100 ألف دولار أمريكي، فيما عدا ذلك فسيكون السعر 80 ألف دولار أمريكي، وبذلك فإنه لمن المستحيل أن يُعيد البرنامج أية قيمة سوى 100 ألف أو 80 ألف فقط، وهي القيم المبرمَجة بالفعل، ولكن مع ذلك فيمكننا تعقيد المثال بصورة أكبر حتى يُحسَب سعر أساسي تبعًا للمتر المربع ثم إجراء بعض العمليات الحسابية بناءً على عدد الغرف مثلًا، لكن في النهاية سيكون سعر المتر عددًا محددًا بالفعل من مجموعة أعداد محدَّدة من قبل المبرمِج. أما في الواقع، يختلف سعر المتر المربع من شارع إلى آخر ومن مبنى إلى آخر، في حين أن الأمر يختلف في نماذج تعلم الآلة لأننا في تلك الحالة ننشئ نموذجًا بناءً على إحدى الخوارزميات التي نختارها تبعًا للمشكلة المراد حلها، ثم ندرِّب تلك الخوارزمية على بيانات العقارات في تلك المنطقة، إذ ستحتوي تلك البيانات على مساحة وعدد غرف كل عقار ثم سعر كل عقار، بعد ذلك نختبر النموذج لمعرفة مدى دقة توقعه لأسعار العقارات عند إدخال بيانات عقار آخر، أي المساحة وعدد الغرف. الحدود النوعية كما أوردنا من قبل في هذا المقال أنه توجد الكثير من المشكلات التي من المستحيل واقعيًا تجسيدها عبر البرمجة التقليدية مثل مشكلة التعرف على الوجوه في الصور ومشكلة الترجمة من لغة إلى أخرى بصورة دقيقة ومشكلة التعرف على الصوت وتحويله إلى نص والعكس؛ أما في تعلم الآلة فالأمر مختلف، إذ أنّ تلك المهام التي تُعَدّ مستحيلةً في البرمجة العادية، أصبحت الآن متواجدة تواجدًا فعليًا في حياتنا اليومية، ويضيف الباحثون كل عام نماذج وخوارزميات جديدةً لحل مشكلات جديدة لم تحل من قبل أو خوارزميات لحل مشاكل موجودة لكن بجودة أعلى عبر تعلم الآلة حتى وصلنا اليوم إلى نماذج وتطبيقات مبهرة مثل تطبيق الدردشة ChatGPT وتطبيقات تصميم الصور بناءً على كتابة وصف لها مثل نموذج DALL-E. لنأخذ تلك الأوقات التي نتصفح فيها اليوتيوب مثالًا لتوضيح أكثر، فقد تشاهد في أحيان كثيرة مقاطعًا رياضيةً لدوري كرة القدم الإسباني ودوري كرة القدم الإنجليزي، وستلاحظ في تلك الحالة أن الموقع يرشِّح لك دائمًا ذلك النوع من المقاطع في كل فرصة، مع ذلك فلم يتخذ مبرمِجي الموقع ذلك القرار صراحةً، إذ أنهم لم يكتبوا في برمجية الموقع تعليمة مثل أنه إذا شاهد المستخدِم ذلك المقطع رقم 42 وذاك المقطع رقم 55، فاعرض له المقطع 43 و56 ، وإنما استخدموا إحدى خوارزميات تعلم الآلة التي ترشِّح المقاطع المشابهة لتلك المقاطع التي تشاهدها باستمرار بناءً على ما تقضيه من وقت في مشاهدتها وبناءً على إعجاباتك على المقاطع وعلى تعليقاتك، …إلخ. وبذلك يتضح لنا جليًا مقصد أرثر صامويل في تعريفه لتعلم الآلة. أقسام تعلم الآلة تنقسم نماذج تعلم الآلة إلى عدة أقسام تبعًا لطريقة عملها، إذ يوجد التعلم تحت إشراف Supervised Learning والتعلم دون إشراف Unsupervised Learning والتعلم المعزز Reinforcement Learning. التعلم تحت إشراف Supervised Learning أول قسم من أقسام تعلم الآلة هو التعلم تحت إشراف Supervised Learning ، ويُعرَف أيضًا بالتعلم الاستقرائي Inductive Learning، وهو من أشهر أقسام تعلم الآلة وأكثرها استخدامًا وأيسرها في الفهم والبرمجة، فالتعلم تحت إشراف عمومًا أسهل كثيرًا من التعلم دون إشراف Unsupervised Learning لأنه يعتمد على الاستقراء المبني على معرفتنا المسبقة بجميع خواص النموذج وعلى المدخلات والمخرجات المرادة. تُدرَّس الفكرة الأساسية في التعلم الاستقرائي بالفعل في مناهج الرياضيات في المرحلة الثانوية عادةً، والفكرة في الأمر كله إيجاد أفضل خط يمر بين نقاط عدة بين المدخلات ومخرجاتها لتوقع مخرجات لمدخلات جديدة، وبرغم كون الأمر يبدو مبهمًا، إلا أنه في غاية البساطة وسيتضح ذلك لاحقًا. يعمل التعلم الاستقرائي رياضيًا على دالة تستقبل مدخلات تُدخَل في معادلة جبرية لاستخراج الناتج المتوقع، وتلك المعادلة تضرب المدخلات وتجمعها مع ثوابت أخرى تمثِّل أفضل قيم ممكنة لتوقع الناتج الأقرب للواقع، وتلك الدالة تدعى دالة الفرضية Hypothesis Function وتدعى أيضًا بالمتوقِّع Predictor، فهدف النموذج في النهاية هو تعديل ثوابت دالة الفرضية لهدف تقريب ناتجها مع الناتج الحقيقي، ولمحاولة تبسيط المعنى بغض النظر عن دقة المثال، فلنفترض وجود الدالة الآتية: f(x) = x + 1 في حال كان المتغير x يساوي 1 فإن الدالة ستنتج 2، وفي حال كان المتغير x يساوي 2 فإن الدالة ستنتج 3، …إلخ، ثم بعد ذلك لنفترض أننا نحاول الإتيان بفرضية ناتجها مقارب جدًا إلى ناتج الدالة أعلاه، إذ توجد عدة فرضيات محتملة مثل: f(x) = x + 0.9 f(x) = x + 0.5 f(x) = x + 0.99 عند محاولة استخدام الفرضية الأولى في حالة كان المتغير x يساوي 1 فسيكون الناتج 1.9، وهو يقارب الناتج الحقيقي حال كون x يساوي 1 في الدالة، إذ كان الناتج الحقيقي للدالة هو 2 وناتج الفرضية 1.9، وهما ناتجان متقاربان للغاية، كما يبدو الأمر أكثر تقاربًا عند استخدام الفرضية الثالثة، ففي حال كان المتغير x يساوي 1 فسيكون الناتج 1.99، وهو أقرب للناتج الحقيقي من 1.9؛ وبناءً على ذلك نستنتج أنّ الفرضية الثالثة أفضل من الفرضية الأولى. في حين أن الفرضية الثانية هي الأقل دقة، فعند تطبيقها حال كون المتغير x يحمل القيمة 1 فإن الناتج سيكون 1.5، وهو الأبعد عن الناتج الحقيقي من الفرضية الأولى والفرضية الثالثة. إذًا الفرق بين الفرضيات الثلاثة والتي تمثِّل دورًا مفصليًا في جودة الناتج هو العدد الرقم الأخير، وهو في حالة التعلم الاستقرائي أحد الثوابت Constants في المعادلة والتي نحاول الإتيان بأفضل قيمة ممكنة له حتى تنتج دالة الفرضية ناتجًا مقاربًا للحقيقة بأكبر قدر ممكن، في مثالنا السابق اخترنا الفرضية الثالثة والتي تمثل أعلى دقة، وبالتالي يمكن تجربة دالة تلك الفرضية على مدخلات أخرى، فإذا كان المتغير x يساوي 2 مثلًا، فسيكون ناتج الفرضية 2.99 وهو قريب جدًا من ناتج الدالة الأصلية. إنّ محاولة الوصول إلى أفضل قيم للثوابت في دالة الفرضية هي ما تكون عن طريق جزء التعلم Learning في التعلم الاستقرائي، وتوجد تقنيات وطرق رياضية وخوارزميات مختلفة للوصول إلى القيم المثلى لتلك الثوابت في علم التعلم الإحصائي Statistical Learning الذي أحلنا إليه مسبقًا، ولكون التعلم الاستقرائي أو التعلم تحت إشراف هو أسهل أنواع نماذج تعلم الآلة وأكثرها شيوعًا، ففي هذه السلسلة نحاول التركيز بصورة كبيرة على ذلك النوع من التعلم، وبالرغم من كون الأمر قد يبدو لك معقدًا ومبهمًا فإن ذلك طبيعي للغاية، إذ نهدف من هذا الفصل إلى تعريف بعض المبادئ فقط؛ أما شرح تلك النقاط فسيكون في الفصول القادمة. سنورد ثلاثة أمثلة على التعلم تحت إشراف وهي تحديد نوع السرطان في الصور الطبية إذا كان خبيثًا أو حميدًا، وتحديد إذا كانت عملية تحويل الاموال سليمةً أم مشبوهةً، وقراءة أرقام مكتوبة بخط اليد في القسم التالي، مع أنه توجد أمثلة أبسط على ذلك النوع من التعلم أيضًا، فمثلًا يمكننا محاولة استقراء راتب موظف عن طريق عدد سنين خبرته، إذ يكون عدد سنين الخبرة هو الدخل الوحيد لدينا في ذلك المثال وهو يمثل قيمة المتغير x في الدالة؛ أما راتب الموظف فهو ناتج الدالة. أمثلة أخرى من قبيل استقراء سعر شقة أو عقار في المناطق، أو تصنيف الرسائل البريدية إن كانت سليمة أم مزعجة. الجدير بالذكر هنا أنه يوجد نوعان رئيسيان من مشاكل التعلم تحت إشراف أولهما هو التوقع الخطي أو ما يدعى بالانحدار الخطي Linear Regression، وهي المشاكل التي يتم فيها توقع قيمة مستمرة Continuous Value، أي قيم غير محددة مثل ثمن عقار أو راتب موظف، وثانيهما التصنيف Classification، أو ما يدعى بالتوقع اللوجيستي أو الانحدار اللوجيستي Logistic Regression، وهي المشاكل التي تقرَّب فيها القيم المتوقعة إلى تصنيف محدد، مثل تصنيف الرسائل البريدية إذا كانت صحيحةً أو مزعجةً، أو تصنيف عمليات التحويل المالية إذا كانت سليمةً أو مشبوهةً، أو تصنيف صورة ما إذا كانت تحتوي على قطة أو كلب، أو تصنيف صورة ما إذا كانت تحتوي على وجه بشري أو لا. التعلم دون إشراف Unsupervised Learning القسم الثاني من أقسام تعلم الآلة هو التعلم دون إشراف Unsupervised Learning وهو أكثر تعقيدًا من التعلم تحت إشراف؛ وذلك لكون المعطيات لا تكون واضحةً تمامًا لنا في هذا النوع من التعلم، فنحن نسعى في ذلك النوع من التعلم إلى إيجاد أنماط مشتركة بين البيانات لتُصنَّف بشكل أو بآخر. سُمِّي ذلك النوع بالتعلم دون إشراف لعدم وجود ناتج حقيقي نقييم ونعلِّم النموذج حتى يصل إلى أقرب قيمة له، ففي الأمثلة الواردة في التعلم تحت إشراف كانت لدينا دالة تحتوي على معادلة تنتج قيمة، وتلك الدالة تنتظر معاملًا أو متغيرًا يدعى x، وعندما يساوي ذلك المتغير 1 فإن ناتج الدالة يكون 2، وبذلك يصبح الرقم 2 هو الناتج الحقيقي المراد الوصول إلى أقرب قيمة له عن طريق دالة الفرضية، إذ كان لدينا في التعلم تحت إشراف مدخلات ومخرجات يراد توقعها؛ أما في التعلم دون إشراف فلا توجد مخرجات أصلًا، أي لا يوجد الناتج 2، فنحن فقط لدينا مدخلات مختلفة مثل x عندما تساوي 1 وx عندما تساوي 2 وx عندما تساوي 3 …إلخ، وبالرغم من كون تلك الأمثلة ليست دقيقةً للغاية، إلا أنها فقط لمحاولة إيضاح فكرة عامة عن التعلم دون إشراف والفرق بينه وبين التعلم تحت إشراف. يُعَدّ كل من تحويل مجموعة البيانات Dataset Transformation وخوارزميات التجميع Clustering Algorithms تقنيتَين من تقنيات التعلم دون إشراف؛ أما الأولى فهي عملية تسعى إلى تحويل البيانات التي يُدرَّب النموذج عليها حتى تكون في صورة أكثر إفادة وسهولة في التعامل، وقد يتم ذلك حتى يستطيع المبرمج فهم البيانات بشكل أفضل، أو حتى يتم تهيئة البيانات لخوارزمية تعلم آلة أخرى، ومن أهم تطبيقات ذلك النوع من الخوارزميات -أي خوارزميات تحويل هيئة مجموعة البيانات- هو تقليص الأبعاد Dimensionality Reduction، فقد تحتوي مجموعة البيانات على أبعاد كثيرة مختلفة يصعب التعامل معها، والبعد في علوم البيانات وتعلم الآلة يشير إلى الميزة أو الخاصية في البيانات والتي أشرنا إليها عند الحديث عن هندسة الميزات أو هندسة الخواص Feature Engineering، وهي ببساطة العمود إذا رسمنا البيانات على هيئة جدول، ففي حال كان لدينا مجموعة بيانات لموظفي شركة ما على سبيل المثال، وكانت تلك البيانات تحتوي على العمر والاسم وتاريخ الميلاد والمؤهل الدراسي لكل موظف، فإن كل خاصية من تلك الخواص هي بُعد من الناحية التقنية والرياضية، أي أن الاسم بُعد والعمر بُعد وتاريخ الميلاد بُعد والمؤهل الدراسي بُعد، …إلخ. إن هدف تحويل مجموعة البيانات هو تقليل عدد الخواص في البيانات عبر تعلم الأنماط المشتركة، وإنّ لتلك التقنية استخدامات عدة من أبرزها تقليل عدد الأبعاد إلى بعدين فقط لتسهيل عملية تصوير البيانات في رسوم بيانية، وهناك أيضًا بعض التطبيقات الأخرى مثل استخراج كلمة مفتاحية واحدة تعبِّر عن كل مقالة من مجموعة من المقالات بناءً على محتواها؛ أما خوارزميات التجميع فهي تهدف إلى إيجاد البيانات المتشابهة والمختلفة للتمييز بين كل مجموعة من البيانات، فيمكن مثلًا تقسيم مجموعة من الصور حسب الأشخاص الموجودين فيها، إذ تُقسَّم مجموعة من الصور لوجود الشخص 1 فيها ومجموعة أخرى من الصور لوجود الشخص 2 فيها، وعلى الرغم من أنّ الخوارزمية لا تعرف هذا ولا ذاك، ولكنها تقسِّم مجموعة البيانات إلى مجموعات أصغر بناءً على التشابهات والاختلافات الموجودة في كل صورة. التعلم شبه الخاضع للإشراف Semi-supervised Learning التعلم شبه الخاضع للإشراف Semi-supervised Learning هو مزيج بين القسمين السابقين، لذلك قد لا يُذكر في بعض الكتب والمراجع، وهو عن التعامل مع البيانات التي يحتوي بعضها وليس كلها على مخرجات، فقد يكون لدينا مثلًا بيانات لموظفي شركة ما ويوجد لدينا خواص مثل الاسم والعمر والمؤهل الدراسي لكل موظف، ومع ذلك فإن بعض هؤلاء الموظفين لدينا عنهم معلومات إضافية مثل الراتب، وبذلك أصبح لدينا معلومات إضافية لبعض الموظفين. أحد الأمثلة التطبيقية على ذلك النوع هو خدمات رفع الصور مثل خدمة Google Photos، إذ أنه بعد رفع صورك مع أفراد العائلة، ستتمكًن الخدمة من معرفة أن الشخص س ظهر في الصورة 1 و3 و6؛ أما الشخص ع ظهر في الصورة 2 و3 و4، وهذا الجزء دون إشراف، ولكن قد تتمكن الخدمة من معرفة أنّ الشخص س، هو في الحقيقة اسمه زيد، ولكنها لا تعرف اسم الشخص ع، إذ لا توجد لديها تلك المعلومة، وتستخدِِم الخدمة تلك المعلومة الإضافية لتوفر لمستخدميها خدمة البحث في الصور عن طريق الأسماء. التعلم المعزز Reinforcement Learning يُعَدّ التعلم المعزز أو التعلم التعزيزي Reinforcement Learning أكثر أنواع تعلم الآلة طموحًا وأكثرها صعوبةً وتعقيدًا بالطبع وهو وحش مختلف تمامًا عن باقي الأنواع، إذ في التعلم المعزز يُصنَع نظام تعلم يدعى بالوكيل Agent، وفي هذا الإطار يلاحظ الوكيل ما حوله في البيئة ثم يتخذ قرارًا بإجراء فعل ما، ويحصل بناءً على ذلك الفعل على نقاط مكافأة Rewards أو على نقاط عقوبة Penalties، وعن طريق تلك النقاط يجب على الوكيل تحديد الاستراتيجية المثلى للتعامل مع المواقف واتخاذ القرار الصحيح، وتلك الاستراتيجية التي يطورها الوكيل تدعى سياسة العمل Policy، والأمر هنا كما تلاحظ أشبه بتعليم طفل صغير وما يجب أن يفعله وما لا يجب أن يفعله عن طريق نظام الثواب والعقاب. تُعَدّ طريقة تطوير سياسة العمل تلك هي أنواع الخوارزميات في التعلم المعزز وتدعى Policy-Based Algorithms أي الخوارزميات القائمة على السياسة، ولكن يوجد أنواع أخرى مثل القائمة على القيمة Value-Based والقائمة على النموذج Model-Based، …إلخ، والأمثلة التطبيقية على هذا النوع من التعلم شتى، إذ أنّ الكثير من الروبوتات مبرمجة عن طريق ذلك النوع من نماذج تعلم الآلة لتتعلم كيفية المشي، ومثال آخر هو برنامج ألفا جو Alpha Go الذي تصدر الأخبار عام 2016م حين هزم بطل العالم في لعبة جو اللاعب لي سيدول Lee Sedol، وهذا البرنامج قد صُنِع من قِبَل شركة Deep Mind وهي شركة بريطانية متخصصة في أبحاث الذكاء الاصطناعي تأسست عام 2010م وقد استحوذت عليها شركة جوجل عام 2014م والتي بدورها تغير اسمها إلى Alphabet عام 2015م، لتصبح شركة جوجل شركات Alphabet بجانب Deep Mind. تعلَّم برنامج ألفا جو لعب تلك اللعبة عن طريق التعلم المعزز، إذ حلل البرنامج ملايين الاحتمالات في اللعبة ثم لعب ضد نفسه مرارًا وتكرارًا عبر نظام نقاط الثواب والعقاب، حتى أنه طوَّر السياسة المناسبة Policy والتي استخدمها في اللعب ضد بطل العالم في اللعبة، ونذكر هنا أن البرنامج أثناء اللعب ضد بطل العالم لم يكن في تلك المرحلة في إطار التعلم، وإنما كان في إطار استخدام السياسة التي طورها أثناء تعلمه السابق لمباراته ضد بطل العالم. ودونًا عن باقي أقسام تعلم الآلة، فإن التعلم المعزز لا يحتاج بصورة ضرورية إلى بيانات مسبقة للتعلم منها، وإنما يتعلم من خلال خبرته الشخصية عبر الثواب والعقاب والتجربة والخطأ كما أوردنا، والهدف النهائي لهذا النموذج هو تعظيم نقاط المكافأة على المدى الطويل، ونلاحظ أيضًا من أهم الاختلافات بين التعلم المعزز وباقي أقسام خوارزميات تعلم الآلة أنّ التعلم المعزز يقوم بالتعلم باستمرار دون توقف، في حين أنّ نماذج التعلم تحت إشراف والتعلم دون إشراف تصل إلى نقطة محددة بعد التعلم من البيانات الممررة إليها لتصل إلى ذروة ما تستطيع الوصول إليه من معدل الدقة، وعند تلك النقطة يقف النموذج عن التطور والتعلم. إنّ من أفضل طرق تخيل أمر التعلم المعزز هو تخيل لعبة حاسوبية يلعبها الوكيل Agent، إذ أنه لديه مهمة طويلة المدى مع مجموعة من الأفعال التي من الممكن أن يتخذها عند الحاجة، ولكنه عند القيام بالفعل الخاطئ، سيُخصَم من نقاطه في اللعبة، في حين أنّ أداء الفعل الصحيح سيزيد من نقاطه، وبذلك هو يقوم بتطوير وتصقيل مهاراته في اللعبة واستراتيجيته في ممارستها يومًا بعد يوم بناءً على البيانات المسبقة التي تمثلها الخبرة التي اكتسبها أثناء لعبها آلافًا من المرات، ومن التقنيات الخاصة بالتعلم المعزز هي مقايضة الاستكشاف والاستغلال Exploration and Exploitation Tradeoff وعمليات قرار ماركوف Markov Decision Processes أو MDPs اختصارًا في بعض المراجع، بالإضافة إلى تعلم كيو Q-Learning، والتعلم المعزز العميق Deep Reinforcement Learning. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن مشاكل يحلها تعلم الآلة سنتعرف الآن على التطبيقات التي يمكن حلها تبعًا لكل قسم من أقسام تعلم الآلة التي أشرنا إليها للتو. تحديد نوع السرطان إن كان خبيثا أو حميدا يمكن لنماذج تعلم الآلة بناءً على الصورة الطبية تحديد ما إذا كان يوجد سرطان خبيث أو حميد، وستحتاج لإجراء ذلك إلى عدد كبير من الصور الطبية مع تحديد كل صورة كون السرطان الموجود فيها خبيثًا أم حميدًا، وقد تحتاج لذلك إلى رأي طبيب متخصص، بعد تمرير تلك الصور مع نوع السرطان في كل صورة إلى نموذج تعلم الآلة، فسيكون النموذج قادرًا على استقبال صورة طبية جديدة تمامًا ليحدِّد نوع السرطان بناءً على ما تعلمه من قبل في النماذج التي مررتها إليه، ويندرج ذلك النوع من النماذج تحت تصنيف التعلم تحت إشراف. تحديد ما إن كانت التحويلات الائتمانية صحيحة أم مشبوهة سنحتاج في ذلك النموذج إلى بيانات فيها الكثير من عمليات تحويلات الأموال عبر البطاقات الائتمانية مع إدخال قيمة تدل على ناتج عملية التحويل إذا كانت عمليةً صحيحةً أم مشبوهةً، وبعد تدريب النموذج على تلك البيانات، سيستطيع النموذج استقبال بيانات عملية تحويل جديدة ثم تحديد ما إذا كانت العملية مشبوهةً أم صحيحةً بناءً على خبرته السابقة التي تعلمها من البيانات. قراءة أرقام مكتوبة بخط اليد نحتاج إلى كثير من الصور لتدريب ذلك النموذج، والتي تحتوي على أرقام مكتوبة بخط اليد، مع إدخال الرقم الموجود في كل صورة ضمن البيانات ليتم التدريب، إذ يصبح لدى النموذج خبرةً بقدر كاف لاستقبال صور جديدة لا يعرف الأرقام الموجودة فيها ليستخرجها هو، ارجع مثلًا إلى مقال بناء شبكة عصبية للتعرف على الأرقام المكتوبة بخط اليد باستخدام مكتبة TensorFlow لتطلع على مثال عملي. نلاحظ أن المشترك بين التطبيقات الثلاثة السابقة هو وجود مدخلات ومخرجات في البيانات الممررة إلى النموذج، ففي المثال الأول نحن لا نقوم فقط بتمرير العديد من الصور الطبية، بل نقوم بتحديد ما إن كان السرطان الموجود فيها حميدًا أم خبيثًا حتى يتعلم النموذج أنّ الصورة 1 فيها سرطان خبيث، والصورة 2 فيها سرطان حميد، والصورة 3 فيها سرطان حميد، …إلخ، وبعد التدريب تصبح لدينا إمكانية تمرير الصورة الطبية فقط دون تحديد نوع السرطان، إذ سيفعله النموذج بالفعل بناءً على ما تعلمه مسبقًا من الصور والمخرجات التي مررتها إليه. وكذلك الأمر في النموذج الثاني، إذ لا نمرر بيانات عمليات التحويل فقط، وإنما نمرر معلومة إضافية مع كل عملية تحويل -وهو الخرج- وهي إذا كانت تلك العملية عمليةً سليمة أم عمليةً مشبوهةً ليُدرَّب النموذج عليها وليتعرف على أكبر عدد ممكن من العمليات الصحيحة والعمليات المشبوهة، وبعد مرحلة التدريب تلك نستطيع تمرير بيانات عملية تحويل جديدة كليًا -دون خرجها- لم يُدرَّب النموذج عليها، حتى يحدد النموذج ما إذا كانت العملية سليمةً أم مشبوهةً بناءً على ما تدرب عليه مسبقًا، وكذلك الأمر في المثال الثالث. يدعى ذلك النوع من النماذج التي نمتلك فيها المدخلات والمخرجات المراد توقعها بعد ذلك من النموذج بالتعليم تحت إشراف، ونلاحظ أنه بالرغم من كون التطبيقات الثلاثة تحت تصنيف واحد، إلا أنّ أمر جمع وتنقية تلك البيانات اللازمة لتدريب النموذج تتباين للغاية، إذ سيكون من الصعب جمع مثل تلك البيانات في المثال الأول، كما أنه لتحسين جودة البيانات وتنقيتها فإنه يجب استخدام خبير طبي في مثل تلك الصور، لكن الأمر يختلف في نموذج عمليات التحويلات المالية، إذ قد تكون تلك البيانات متاحةً من قِبَل بعض الشركات بالرغم من كونها بيانات غاية في الدقة والحساسية بسبب خصوصيتها؛ أما المثال الثالث فإنه بسيط للغاية ولا يتطلب متخصصين، إذًا أمر تطبيقات تعلم الآلة يختلف كثيرًا باختلاف مجال التطبيق، حتى وإن تشابهت في نوع الخوارزميات، وفيما يلي أمثلة على تطبيقات أخرى. تحديد المواضيع التي تتحدث عنها المقالات لنقل أنه لديك عدد كبير من المقالات المكتوبة التي تريد استخراج المواضيع المهمة التي تتحدث عنها كل مقالة من تلك المقالات، في تلك الحالة أنت فقط لديك المدخلات -أي نصوص المقالات- ولا يوجد لديك فكرة واضحة عن المخرجات، إذ لا تعرف ما هي تلك المواضيع ولا تعرف كم عدد الموضوعات الممكن إيجادها. ارجع إلى مقال تصنيف الشخصيات بالاعتماد على تغريداتهم العربية باستخدام التعلم العميق للاطلاع على مثال عملي مشابه. تقسيم العملاء حسب تفضيلاتهم الشرائية نريد في هذا النموذج تقسيم العملاء حسب تفضيلاتهم الشرائية، وفي تلك الحالة نحن نملك بيانات العملاء، لكننا مع ذلك لا نعرف ما هي تلك التقسيمات وما عددها، لا نعلم إذا كان لدينا مَن يفضِّل شراء الأدوات المنزلية أو من يفضِّل شراء الألعاب أو كليهما؛ ولذلك لا توجد لدينا مخرجات واضحة لهذا النموذج، وارجع إلى مقال استخدام خوارزميات العنقدة لتجزئة عملاء متجر إلكتروني للاطلاع على مثال عملي. نلاحظ في كلا التطبيقين السابقين أنه لدينا المدخلات ولا نمتلك مخرجات واضحة لا من حيث النوع ولا من حيث الكم؛ وهذه التطبيقات تندرج تحت قسم التعلم دون إشراف، لكن في كلتا الحالتين لاحظ أنه علينا الحصول على بيانات المدخلات وهي القاسم المشترك بين هذا وذاك، وفي كل الأحوال من الجيد تنظيم البيانات أو على الأقل تخيلها على صورة جدول، بحيث يحتوي كل صف على بيانات عينة كاملة، وكل عمود هو خاصية Property أو ميزة Feature، ففي مثال تحديد ما إذا كانت عمليات التحويل المالية صحيحةً أم مشبوهةً مثلًا، يمكننا تخيل كل صف على أنه عملية تحويل، وقد يكون لدينا عدة أعمدة مثل عمود يحتوي على بلد التحويل وعمود يحتوي على تاريخ التحويل، …إلخ. أهمية فهم وتحسين البيانات يعتمد تعلم الآلة بجميع نماذجه وخوارزمياته بصورة أساسية على البيانات بغض النظر إذا كانت مدخلات ومخرجات أو حتى مدخلات فقط؛ ولذلك تُعَدّ جودة البيانات وفهمها من أهم الأمور، إذ سيتعين عليك في بعض الأحيان إضافة خاصية أو حذف خاصية من البيانات، وهو ما يدعى بهندسة الخواص أو هندسة الميزات Feature Engineering أو Feature Extraction، وأحيان أخرى ستدمج بعض الخواص معًا بطريقة ما، وكل تلك الأمور نجدها في علم التعلم الإحصائي Statistical Learning الذي تم الإحالة إليه من قبل. تُعَدّ مرحلة فهم البيانات وتنقيتها وتحسينها من أهم المراحل، لأنه بناءً على ذلك تستطيع كمهندس تعلم آلة اختيار الخوارزمية المناسبة للبيانات من خوارزميات تعلم الآلة المتاحة والتي ستوفِّر أفضل دقة ممكنة تبعًا للمهمة التي تريد إجراءها من خلال النموذج الذي بُرمِج، كما أنّ جودة البيانات تلعب دورًا كبيرًا في معدل الدقة Accuracy Rate للنموذج، إذ يمكننا عن طريق تحسين جودة البيانات الوصول إلى دقة 99٪ بدلًا من دقة 97٪، ونستطيع الوصول إلى دقة 97٪ بدلًا من 80٪ عن طريق تعديل قيم معامِلات الخوارزمية المختارة Algorithm Parameters، ولذلك فإن فهمك للبيانات هو أول خطوة على طريق اختيار الخوارزمية وقيم المعاملات. يُعَدّ الجزء الخاص ببرمجة نماذج تعلم الآلة مجرد نقطة من صورة أكبر، وهي المشكلة المراد حلها، ولذلك من الضروري جدًا بقاء تلك الصورة الكبيرة في ذهنك دائمًا عند برمجة نموذج، فبناءً على تلك الصورة الكبيرة ستستطيع تحديد ما إذا كنت تمتلك البيانات الصحيحة أم لا، وتلك هي أول خطوة من الخطوات، ثم بعد ذلك ستستطيع تحديد ما يجب فعله أثناء مرحلة هندسة الخواص عبر تنقية وتحسين جودة البيانات، ثم بناءً على تلك الصورة ستستطيع تحديد الخوارزمية الصحيحة للتطبيق الذي تعمل عليه. اقرأ أيضًا المقال السابق: مختصر البرمجة كائنية التوجه OOP وتطبيقها في بايثون تحليل المشاعر في النصوص العربية باستخدام التعلم العميق الذكاء البشري مقابل الذكاء الاصطناعي المفاهيم الأساسية لتعلم الآلة1 نقطة
-
حينما يستخدم أصحاب العمل خدمات VA Finder (البحث عن مساعد افتراضي) الخاصة بموقع Horkey HandBook's، فنحن نطلب منهم أن يملؤوا استطلاع رأي. هذا عادة ما يعطينا معلومات كافية تجعلنا نأخذ بيد صاحب العمل نحو المساعد الافتراضيّ المحترف، لضمان أننا نجد أفضل التناسب لكلا الجانبين. غالبًا ما يخبرنا أصحاب الأعمال كم هم متحمسون لبدء العمل مع المساعدين الافتراضيين، لكننا نسمع مرةً كل فترةٍ بعض القَلق حَيَال اختيار الشخص المناسب للعمل. هذا مفهوم بالطبع. وحيث أن المساعدين الافتراضيين وعملاؤهم يعملون بالقرب جدًا من بعضهما «غالبًا كلا الاثنين فقط هم من يديرون العمل بأسره» فمن المتعب لأعصاب صاحب العمل أن يظنّ أنه لم يختر الشخص المناسب. خصوصًا في سياق العمل عبر الإنترنت، ومع تحديد مواعيد التسليم النهائية والنتائج المتوقعة، من السهل أن يزداد التوتر إذا لم تسري عملية التعاون بسلاسة. ناهيك عن ذكر أن تأهيل المساعد الافتراضيّ، وتدريبه لإنجاز العمل بسرعة؛ يأخذ بعض الوقت والجهد، وأحيانًا يُكَلّف المال. سيقول الجميع أنهم يستطيعون إنجاز المهمة؛ لكن إعطائهم الحد الأدنى من التوجيه والتدريب سيكون فكرةً جيدة. لهذا عليك التفكير في عدة طُرقٍ تختبر بها المساعد الافتراضيّ قبل تبدآ العمل معًا . وإليك نصائحنا لكيفية الحصول على مساعد افتراضيّ: 1. ضع اختبارًا مخفيًّا في منشور الوظيفة إذا كنت قد قرأت من قبل منشورًا لوظيفة، يتحدد فيها أن تستخدم كلمة «goldfish» في موضوع البريد الإلكتروني وأنت تتقدم لها؛ فأنت تفهم ما نريد التحدث عنه. إن الشخص الذي كتب الوصف للوظيفة ليس لديه حبٌ أو تقارب خاصّ تجاه هذا الكلمة. هذا فقط اختبار لرؤية مَن مِن المتقدمين منتبهٌ للعمل، وجيّدٌ في اتباع التعليمات. لذا حين تكتب منشورَ الوظيفةِ القادم لمساعدٍ افتراضيّ، خُذْ حريّتك في وضع تحدٍّ بسيط، لترى من يأخذ الأمر على محمل الجِدِّ، ومن يقرأه فقط قراءة سريعة ويُرسل رسائل إلكترونية عامة. 2. اختبر قدراتهم وأعمالهم إذا كان المساعد الافتراضيّ محترفًا فيما تريد أن تفوّضه فيه، فيمكنه بكل بساطة أن يُثبت أنه بارعٌ في هذه المهارة؛ لا تشعر بالإهانة إذا لم يقبلوا الخضوع لأكثر من اختبار. لاحظ أن هذا المساعد الافتراضيّ من الممكن أن يكون قد أسدى لك خدمة بعدم تضييع وقتك. سنكون صُرحاء في هذا الأمر. فالمساعد الافتراضيّ المحترف، الذي يرتفع عليه الطلب، لن يأخذ وقتًا في القفز خلال الأطواق ليثبت لك أنه ماهر في عمله الذي يقوم به كل يوم لعملاءَ مختلفين. إذا كان أحدٌ ما جيّدًا في استخدام برنامج معيّنٍ، أو ماهرًا في وضع استراتيجية لوسائل التواصل الاجتماعيّ، فسوف يُظهر هذه المهارة على موقعه الشخصية، ويُضيفها في معرض عمله. وهذه هي الأماكن التي عليك أن تبحث فيها. 3. اختبر المساعد الافتراضي فيما تريد حقًا أن تُنجزه نحن نميل غالبًا إلى البحث عن شخص يمتلك مهارات أكثر مما نريد. اسأل نفسك هذا السؤال: ما هي المهارات الواجب توفرها في شخص ما حتى يساعدني في إنجاز عملي؟ إحدى الطرق الجيدة لتصنيف المهارات التي تريدها في المساعد الافتراضي هي: مهارات أساسية: لا غِنى عنها؛ فبدونها لن يستطيع المساعد الافتراضي أداء واجبه؛ وهذه مهارات «من الواجب تَوَفُّرُها». مهارات تكميلية: ليست إلزامية، لكنها مرغوبة في إنجاح عملك؛ وهذه مهارات «من الجيد تَوَفُّرُها». مهارات إضافية: من الممكن أن تُحدث هذه تأثيرًا كبيرًا في أداء عملك؛ وإذا كان مساعدك الافتراضيّ يُحسن هذه المهارات، فيُحتمل أنك سوف تكافئه ماليًا أكثر، لكن الأمر يستحق. والحيلة هي أن تقلل من الاختبارات في المهارات الأساسية. على سبيل المثال، إذا كان كل ما تريد من المساعد الافتراضيّ أن يُساعدك فيه هو إدارة البريد الوارد ، فلا تسألهم أن يتوصلوا لخطة تخص وسائل التواصل الاجتماعي الخاصة بك. بدلًا من ذلك، تحقق من أنهم يعرفون كيفية تنفيذ مهام إدارة البريد الوارد التي تحتاجها، مثل إنشاء المجلدات أو التصنيفات، أو الردود التلقائية. يمكنك حتى أن تتحقق مِمَّا إذا كانوا يعرفون كيفية إنشاء ومشاركة وثائق جوجل. إذا كنت بحاجة إلى مساعدٍ افتراضيّ لإدارة التقويم، فيمكنك أن تجعلهم يُرسلون دعوةً إلى التقويم الذي تفضله. هذا اختبار جيدٌ وكافٍ لإخبارك ما إذا كانوا يمتلكون المهارات الأساسية التي تبحث عنها «وواحدة من المهارات المُختبَرَة سوف تكون بالتأكيد قدرَتَهم على البحث عن كيفية أداء المهمة». ها قد وصلت إلى الخلاصة، تأكد من أن اختبارك هو حول شيء صغير ومحدد. 4. اختبر عن طريق مشروع تجريبي أو فترة تجريبية نحن نشجع التجارب والاختبارات التي تحدث هنا، ونوصي بها للمساعدين الافتراضيين الذي يحصلون على الدورة التدريبية الخاصة بنا 30 Days or Less to Virtual Assistant Success. إن مدةً تجريبيةً سوف تُعرّفك على طعم العمل مع شخص ما، دون الحاجة إلى الالتزام الكامل بالتعاون لفترة غير محددة من الزمن. يمكن لفترتك التجريبية أن تَقْصُرَ إلى أسبوعين، أو تَطُولَ حتى شهرين. لكن تأكد من أنها لن تسحب من وقتك أكثر من ذلك؛ فلا أحد يحب التعامل مع الأمور المحتملة غير اليقينية لفترة طويلة. ما إن تنتهي الفترة التدريبية، فينبغي عليك أن تكون قد كونت فكرةً جيدةً عن هل انتقيت المساعد الافتراضيّ المناسب أم لا؟ الأمر الجيد بشأن المشاريع التجريبية هو أنك يمكن أن تختبر فيها أكثر من شخص في نفس الوقت. على سبيل المثال، إذا كنت تُريد توظيف مساعدٍ افتراضيٍّ ليهتم بالرسومات؛ وكان هناك ثلاثة متقدمين معتَبَرِين، فيمكنك أن تسأل كلا منهم أن يقدم لك عشرة نماذج من الصور؛ وحينها ستكون قادرًا على رؤية من لديه المهارات المناسبة، وسترى أي مجموعة من الرسومات ستتماشى مع علامتك التجارية. يمكنك أيضًا إعدادُ مشاريعٍ بطرقٍ مختلفةٍ لأناسٍ مختلفين. على سبيل المثال، يقوم أحد المساعدين الافتراضيين بإنشاء رسومات لوسائل التواصل الاجتماعي الخاصة بك، بينما يقوم الآخر بإنشاء رسومات لنشرتك الإخبارية. ومن فضلك، اجعل من سياساتك دائمًا أن تدفع مقابلًا نظير هذه المشاريع التجريبية، سواء كنت ستستخدم المنتج النهائي أم لا. يُوظف المساعدون الافتراضيون أوقاتهم ومهاراتهم في تلبية متطلبات المشروع، لذا سيكون من الإنصاف تعويضهم عن ذلك. 5. تذكّر أن كل شيء «يظهر على حقيقته في النهاية» لا تختبر لأجل الاختبار في حد ذاته. كلنا محترفون هنا، أليس كذلك؟ لذا لا داعي لتضييع وقت شخص آخر «ووقتك كذلك» إذا لم تكن هناك حاجة ذلك. إن المهارات التي عليك البحث عنها في المساعد الافتراضيّ هي ما نسميها «المهارات الشخصية» (soft skills). إن المساعد الافتراضيّ المثاليّ هو من يكون سريع التَّعلُّم، ويكون استباقيًّا في إجراء البحوث عن أفضل الحلول المناسبة لعملك. وإذا كان واسع الحيلة، فيمكنه تعلُّم أي شيء آخر في الوظيفة. تريد أن تجد شخصًا مناسبًا، ولكنك تريد أيضًا أن تجد شخصًا مهاراته مكافئة لمهاراتك. أنت لا تريد نسخة من نفسك، لكنك تريد شخصًا يملأ الفراغات الموجودة في العمل. وبالتالي، يجب السماح للمساعدين الافتراضيين أن يَحُلّوا المشاكل على طريقتهم الخاصة، حتى ولو كانت تلك الطريقة مغايرةً لطريقتك في إنجاز العمل. ضع بعض التفاصيل الأخرى في الحسبان ذكرنًا للتوّ بعض هذه التفاصيل في هذا المنشور عن توظيف المساعدين الافتراضيين؛ لكنّ الانتباهَ في اختيارهم مهمٌ جدًا إذا كنت تنوي إيجادَ فريقٍ متجانسٍ مع بعضه ومع طريقتك في العمل. فكّر في هذه العناصر بينما تقوم بقراءة الطلبات المقدمة إليك: هل اتّبع المساعدُ الافتراضيّ التعليمات في منشور الوظيفة؟ هل يقوم بالتواصل بشكل واضح، وفي الوقت المناسب؟ هل سأشعر بالارتياح إذا كان هو من يُمَثِّلُنِي أو يُمَثِّلُ عملي؟ هل بدتْ منه أية مبادرة؟ هل سأكون مسرورًا إذا انضم هذا الشخص لفريق عملي، أم أنه سيكون مجرد استنزاف للطاقة لا أكثر؟ وبينما يكون كل اهتمامك مُنصبًّا على كيف سيقوم المساعد الافتراضيّ بالتأثير في عملك؛ أرجو منك أن تضع في ذهنك أن هناك إنسانًا حقيقيًا في الطرف الثاني من هذه المقايضة. عاملهُ بكامل الاحترام واللطافة المهنية. واستمع دائمًا لصوت ضميرك الداخليّ. ترجمة- وبتصرف- للمقال 5 Tips to Help You Test a Virtual Assistant لكاتبته Mickey Gast.1 نقطة