قراءة موجّهة · الملاحظات

الذكاء الاصطناعي: الذكاء الاصطناعي

اقرأ للفهم، ثم دوّن المصطلحات الإنجليزية التي تحتاج إلى تذكّرها أثناء التطبيق.

جلسة دراسة مقترحة: حتى 55 دقيقةArtificial Intelligence
محاور هذه الخطوة
  • النماذج اللغوية
  • التعلّم الآلي
  • القيود
  • الاستخدام المسؤول

ترجمة آلية تحت المراجعة

الذكاء الاصطناعي: الذكاء الاصطناعي

المصدر الأصلي على CS50

الذكاء الاصطناعي (Artificial Intelligence)

مرحبًا! (Welcome!)

  • في دوائر علوم الحاسوب والبرمجة، البط المطاطي أو تصحيح أخطاء البطة المطاطية هو فعل التحدث إلى كائن غير حي لتتمكن من ذلك تحدث من خلال مشكلة صعبة مثل خطأ في الشيفرة الخاصة بالشخص.
  • في الآونة الأخيرة، أنشأ CS50 مصحح أخطاء البطة المطاطية الخاص بنا في CS50.ai، والذي يستخدم الذكاء الاصطناعي (AI) كوسيلة للتفاعل مع الطلاب لمساعدتهم في حل مشكلاتهم الصعبة.
  • يمكن للطلاب الذين يتعاملون مع هذه الأداة أن يبدأوا في فهم إمكانات ما يمكن أن يقدمه الذكاء الاصطناعي للعالم.

الذكاء الاصطناعي التوليدي (Generative Artificial Intelligence)

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

الهندسة السريعة ومساعد الطيار (Prompt Engineering and Copilot)

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

    # Adds to system prompt.
    
    from openai import OpenAI
    
    client = OpenAI()
    
    user_prompt = input("Prompt: ")
    system_prompt = "Limit your answer to one sentence. Pretend you're a cat."
    
    response = client.responses.create(
        input=user_prompt,
        instructions=system_prompt,
        model="gpt-5"
    )
    
    print(response.output_text)
    

    يمكنك تشغيل هذا الشيفرة باستخدام python chat.py. يمكنك تنزيل هذا الرمز هنا

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

الذكاء الاصطناعي (AI)

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

أشجار القرار (Decision Trees)

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

    While game is ongoing:
      If ball is left of paddle:
        Move paddle left
      Else if ball is right of paddle:
        Move paddle right
      Else:
        Don't move paddle
    
  • في معظم الألعاب، يحاولون تقليل عدد العمليات الحسابية المطلوبة للتنافس مع اللاعب.

الحد الأدنى (Minimax)

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

    If player is X:
      For each possible move:
        Calculate score for board
      Choose move with highest score
    
    Else if player is O:
        For each possible move:
            Calculate score for board
        Choose move with lowest score
    
  • يمكن تصوير ذلك على النحو التالي:

    tictactoe with outcomes as 1 or -1 or 0

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

التعلم الآلي (Machine Learning)

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

    epsilon = 0.10
    
    If random() < epsilon:
        Make a random move
    Else: 
        Make the move with the highest value
    

    لاحظ ذلك تم الآن إنشاء epsilon يمثل معدل العشوائية.

التعلم العميق (Deep Learning)

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

    blue dots and red dots separated by a line

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

    Nodes connected to nodes

نماذج اللغات الكبيرة (Large Language Models)

  • نماذج اللغات الكبيرة (LLMs) عبارة عن نماذج ضخمة تقوم بالتنبؤات بناءً على كميات هائلة من التدريب.
  • قبل بضع سنوات فقط، لم يكن الذكاء الاصطناعي جيدًا في إكمال الجمل وتوليدها. نشرت Google بحثًا في عام 2017 بخصوص كيفية حصول أنظمة الذكاء الاصطناعي هذه على وظائفها انتباه ينجذب إلى العلاقات بين الكلمات المختلفة.
  • يتم تدريب المحولات التوليدية المدربة مسبقًا (GPT للاختصار) على العلاقات بين الكلمات.
  • يقوم الذكاء الاصطناعي بتشفير الكلمات إلى التضمينات للعثور على العلاقات بين الكلمات. وبالتالي، من خلال قدر كبير من التدريب، يمكن لشبكة عصبية ضخمة التنبؤ بالارتباط بين الكلمات - مما يؤدي إلى قدرة الذكاء الاصطناعي التوليدي على إنشاء محتوى وحتى إجراء محادثات مع المستخدمين.
  • في بعض الأحيان، يستطيع حاملو ماجستير إدارة الأعمال ذلك هلوسة وتقديم معلومات غير صحيحة.

التلخيص (Summing Up)

في هذا الدرس، تعرفت على بعض التقنيات المستخدمة CS50.ai. على وجه التحديد، ناقشنا…

  • الذكاء الاصطناعي التوليدي
  • الهندسة السريعة
  • الذكاء الاصطناعي
  • أشجار القرار
  • الحد الأدنى
  • التعلم الآلي
  • التعلم العميق
  • نماذج اللغات الكبيرة

كان هذا هو CS50!

أنهيت قراءة الملاحظات؟

يمكنك قراءة الدورة كاملة دون حساب. يصبح حفظ التقدم متاحًا بعد تفعيل الحساب، ويبقى محفوظًا بعد انتهاء العضوية.