AI-For-Beginners/translations/he/lessons/5-NLP/17-GenerativeNetworks
leestott 07e1ffa96b 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00
..
lab 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00
GenerativePyTorch.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00
GenerativeTF.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00
README.md 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00

README.md

רשתות גנרטיביות

שאלון לפני ההרצאה

רשתות עצביות חוזרות (RNNs) וגרסאות התאים שלהן כמו תאי זיכרון ארוך-קצר (LSTMs) ויחידות חוזרות עם שערים (GRUs) מספקות מנגנון למידול שפה בכך שהן יכולות ללמוד את סדר המילים ולספק תחזיות למילה הבאה ברצף. זה מאפשר לנו להשתמש ב-RNNs למשימות גנרטיביות, כמו יצירת טקסט רגיל, תרגום מכונה ואפילו יצירת כיתוב לתמונות.

חשבו על כל הפעמים שבהן נהניתם ממשימות גנרטיביות כמו השלמת טקסט בזמן ההקלדה. בצעו מחקר על האפליקציות האהובות עליכם כדי לבדוק אם הן השתמשו ב-RNNs.

בארכיטקטורת RNN שדנו בה ביחידה הקודמת, כל יחידת RNN ייצרה את מצב החבוי הבא כתוצאה. עם זאת, ניתן גם להוסיף פלט נוסף לכל יחידה חוזרת, מה שיאפשר לנו להפיק רצף (ששווה באורכו לרצף המקורי). יתרה מכך, ניתן להשתמש ביחידות RNN שאינן מקבלות קלט בכל שלב, אלא רק לוקחות וקטור מצב התחלתי ומייצרות רצף של פלטים.

זה מאפשר ארכיטקטורות עצביות שונות שמוצגות בתמונה למטה:

תמונה המציגה דפוסים נפוצים של רשתות עצביות חוזרות.

תמונה מתוך פוסט בבלוג Unreasonable Effectiveness of Recurrent Neural Networks מאת Andrej Karpaty

  • אחד-לאחד הוא רשת עצבית מסורתית עם קלט אחד ופלט אחד
  • אחד-לרבים הוא ארכיטקטורה גנרטיבית שמקבלת ערך קלט אחד ומייצרת רצף של ערכי פלט. לדוגמה, אם נרצה לאמן רשת כיתוב תמונה שתפיק תיאור טקסטואלי של תמונה, ניתן לקחת תמונה כקלט, להעביר אותה דרך CNN כדי לקבל את המצב החבוי שלה, ואז שרשרת חוזרת תייצר את הכיתוב מילה-אחר-מילה
  • רבים-לאחד מתאימה לארכיטקטורות RNN שתיארנו ביחידה הקודמת, כמו סיווג טקסט
  • רבים-לרבים, או רצף-לרצף, מתאימה למשימות כמו תרגום מכונה, שבהן RNN ראשון אוסף את כל המידע מהרצף הקלט לתוך המצב החבוי, ושרשרת RNN אחרת פורסת את המצב הזה לרצף הפלט.

ביחידה זו נתמקד במודלים גנרטיביים פשוטים שעוזרים לנו ליצור טקסט. לשם פשטות, נשתמש בטוקניזציה ברמת תווים.

נאמן את ה-RNN הזה לייצר טקסט שלב אחר שלב. בכל שלב, ניקח רצף של תווים באורך nchars, ונבקש מהרשת לייצר את התו הבא עבור כל תו קלט:

תמונה המציגה דוגמה ליצירת המילה 'HELLO' באמצעות RNN.

בעת יצירת טקסט (בזמן הסקה), נתחיל עם הנחיה כלשהי, שתועבר דרך תאי RNN כדי ליצור את המצב הביניים שלה, ואז מהמצב הזה מתחילה היצירה. ניצור תו אחד בכל פעם, ונעביר את המצב ואת התו שנוצר לתא RNN נוסף כדי ליצור את הבא, עד שניצור מספיק תווים.

תמונה מאת המחבר

✍️ תרגילים: רשתות גנרטיביות

המשיכו ללמוד במחברות הבאות:

יצירת טקסט רכה וטמפרטורה

הפלט של כל תא RNN הוא התפלגות הסתברות של תווים. אם תמיד נבחר את התו עם ההסתברות הגבוהה ביותר כתו הבא בטקסט שנוצר, הטקסט יכול לעיתים להפוך ל"מחזורי" בין אותם רצפי תווים שוב ושוב, כמו בדוגמה הזו:

today of the second the company and a second the company ...

עם זאת, אם נבחן את התפלגות ההסתברות לתו הבא, ייתכן שההבדל בין כמה הסתברויות גבוהות אינו גדול, למשל תו אחד יכול להיות בעל הסתברות של 0.2, ותו אחר - 0.19, וכו'. לדוגמה, כאשר מחפשים את התו הבא ברצף 'play', התו הבא יכול להיות באותה מידה רווח או e (כמו במילה player).

זה מוביל אותנו למסקנה שלא תמיד "הוגן" לבחור את התו עם ההסתברות הגבוהה ביותר, כי בחירת השני הגבוה ביותר עדיין יכולה להוביל לטקסט משמעותי. חכם יותר לדגום תווים מהתפלגות ההסתברות שניתנת על ידי פלט הרשת. ניתן גם להשתמש בפרמטר, טמפרטורה, שיחליק את התפלגות ההסתברות, אם נרצה להוסיף יותר אקראיות, או להפוך אותה לתלולה יותר, אם נרצה להיצמד יותר לתווים בעלי ההסתברות הגבוהה ביותר.

חקור כיצד יצירת טקסט רכה מיושמת במחברות המקושרות למעלה.

סיכום

בעוד שיצירת טקסט יכולה להיות שימושית בפני עצמה, היתרונות העיקריים מגיעים מהיכולת ליצור טקסט באמצעות RNNs מוקטור תכונות התחלתי כלשהו. לדוגמה, יצירת טקסט משמשת כחלק מתרגום מכונה (רצף-לרצף, במקרה זה וקטור מצב מ-מקודד משמש ליצירת או פענוח הודעה מתורגמת), או יצירת תיאור טקסטואלי של תמונה (במקרה זה וקטור התכונות יגיע ממחלץ CNN).

🚀 אתגר

קחו שיעורים ב-Microsoft Learn בנושא זה

שאלון לאחר ההרצאה

סקירה ולימוד עצמי

הנה כמה מאמרים להרחבת הידע שלכם

  • גישות שונות ליצירת טקסט עם שרשרת מרקוב, LSTM ו-GPT-2: פוסט בבלוג
  • דוגמת יצירת טקסט בתיעוד Keras

מטלה

ראינו כיצד ליצור טקסט תו-אחר-תו. במעבדה, תחקור יצירת טקסט ברמת מילים.


כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.