0Pricing
Learn AI with Python · درس

شبكات GAN الشرطية ونقل الأسلوب

‏cGAN مع التكييف حسب الفئة، ومفهوم CycleGAN، ونقل الأسلوب العصبي باستخدام VGG

شبكات GAN الشرطية ونقل الأسلوب درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

التحكم في ما تولّده نماذج GAN

ينتج GAN العادي عينات عشوائية، ولا يمكنك أن تطلب منه فئة محددة. يغطي هذا الدرس التوليد المشروط (cGANs)، والترجمة غير المتزاوجة (CycleGAN)، ونقل الأسلوب العصبي.

نماذج GAN المشروطة (cGAN)

يضيف cGAN شرطًا، مثل تسمية الفئة، إلى كل من المولّد والمميّز. ويمكنك الآن طلب «توليد الرقم 7» بتمرير التسمية إلى جانب الضوضاء.

تكييف المولّد بالشرط

يعمل المولّد على ضم التسمية (بترميز one-hot أو بتمثيل مضمَّن) إلى متجه الضوضاء. ويتيح الإدخال المدمج له توليد عينات من الفئة المطلوبة.

label_emb = embedding(label)        # e.g. dim 10
z = torch.randn(batch, 100)
gen_input = torch.cat([z, label_emb], dim=1)
fake = generator(gen_input)

تكييف المميّز بالشرط

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

d_input = torch.cat([image, label_emb], dim=1)
score = discriminator(d_input)

ترجمة الصور غير المتزاوجة

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

مولّدان ومجالان

يستخدم CycleGAN مولّدين: G: A to B وF: B to A، ولكل منهما مميّزه الخاص. ويترجمان معًا في الاتجاهين بين المجالين.

# G: photo -> painting
# F: painting -> photo

خسارة الاتساق الدوري

الفكرة الأساسية هي أن ترجمة A إلى B ثم إعادتها إلى A يجب أن تعيد الصورة الأصلية. وتفرض خسارة الاتساق الدوري الشرط F(G(a)) == a، مما يقيّد عملية التعيين من دون الحاجة إلى بيانات متزاوجة.

cycle_loss = (
    l1(F(G(a)), a) +
    l1(G(F(b)), b)
)

نقل الأسلوب العصبي

يمزج نقل الأسلوب العصبي بين محتوى صورة وأسلوب صورة أخرى، مثل صورة فوتوغرافية مرسومة بأسلوب Van Gogh. ويُحسّن صورة الناتج مباشرةً باستخدام سمات من CNN مدرَّب مسبقًا.

خسارة المحتوى

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

content_loss = mse(features_out, features_content)

خسارة الأسلوب ومصفوفة Gram

يُلتقط الأسلوب باستخدام مصفوفة Gram، التي تمثّل الارتباطات بين قنوات السمات. وتنقل مطابقة مصفوفات Gram الأنسجة والألوان. وتقارن خسارة الأسلوب بين مصفوفتي Gram للناتج وصورة الأسلوب.

def gram(f):
    b, c, h, w = f.size()
    f = f.view(c, h * w)
    return f @ f.t()

style_loss = mse(gram(features_out), gram(features_style))

دمج الخسائر

الخسارة الكلية هي مجموع موزون: alpha * content_loss + beta * style_loss. ويؤدي ضبط الأوزان إلى الموازنة بين مقدار حفاظ الناتج على المحتوى وقوة تبنّيه للأسلوب.

total = alpha * content_loss + beta * style_loss
total.backward()  # gradients update the output IMAGE

اختبار سريع

اختبر معرفتك بالتوليد المشروط.

مراجعة: نماذج GAN المشروطة ونقل الأسلوب

تعلّمت أن cGANs تضم تسمية الفئة إلى إدخال المولّد (والمميّز) للتحكم في التوليد، وأن CycleGAN يستخدم خسارة الاتساق الدوري للترجمة غير المتزاوجة، وأن نقل الأسلوب العصبي يدمج خسارة المحتوى مع خسارة أسلوب تعتمد على مصفوفة Gram لإعادة رسم الصور.

الأسئلة الشائعة

هل درس «شبكات GAN الشرطية ونقل الأسلوب» مجاني؟

نعم — نص درس «شبكات GAN الشرطية ونقل الأسلوب» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

ماذا ستتعلم في «شبكات GAN الشرطية ونقل الأسلوب»؟

‏cGAN مع التكييف حسب الفئة، ومفهوم CycleGAN، ونقل الأسلوب العصبي باستخدام VGG تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟

لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «شبكات GAN الشرطية ونقل الأسلوب»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟

نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. المشفّرات التلقائية لتعلّم التمثيلات
  2. المشفّرات التلقائية التغايرية (VAE)
  3. ‏GANs: المولّد والمميّز
  4. شبكات GAN الشرطية ونقل الأسلوب
← العودة إلى Learn AI with Python