fRNNds – רשת נוירונים לכתיבת פרקים של ׳חברים׳

מאת נביא שקר

הסדרה ׳חברים׳ נגמרה מזמן, וכרגע האנושות מוגבלת ל-10 עונות בלבד, רק 236 פרקים בהם רוס עובר מהפך, מאדם מעצבן לאדם ממש מעצבן.

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

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

 

Ross-Why-Would-You-Do-That

מדובר בערך ב-770,000 מילים, 4.3MB. הרשת היא בת 2 שכבות ו-300 נוירונים, ואימנתי אותה במשך כ-20,000 צעדים עד שטעות האימות לא השתפרה כבר ונמאס לי. אין לי ספק שאפשר לאמן רשת מוצלחת יותר, אבל לא באמת אכפת לי מספיק כדי לעשות לזה אופטימיזציה.

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

Screen Shot 2015-10-27 at 2.00.58 PM

אחרי כמה אלפי צעדים כבר מקבלים משהו כזה:

Screen Shot 2015-10-27 at 2.05.19 PM

וכזה:

Screen Shot 2015-10-27 at 2.14.21 PM

זה עדיין נשמע די ככה:

75a9e59156df70dc52031318969214ab

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

====

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

מה קורה בטמפרטורה נמוכה ב׳חברים׳?

דברים כמו זה:

Screen Shot 2015-10-27 at 2.20.03 PM

וכמו זה:

Screen Shot 2015-10-27 at 2.22.13 PM

ובחיי שאני לא ממציא את זה:

Screen Shot 2015-10-27 at 2.27.17 PM

בחזוני אני רואה text-to-speech שלוקח את המחולל הזה ומייצר פרקים שלמים בקולות של החבורה, אבל זה ידרוש קצת יותר משאבים ממה שיש לי כרגע. או כאלה שיהיו לי אי פעם.

מודעות פרסומת