שפת מכונה | טור 09
[הטור מתפרסם במקור ב-"עליית המכונות" - קבוצת פייסבוק העוקבת אחר התנודות במאזן הכוח, האימה והאושר, בין הטכנולוגיה לבני האדם.]
על העובר של טיורינג, ועל איך הופכים פיקסל לחיפושית
קשה לדעת על מה חלם אלן טיורינג בלילות הקיץ של 1952. אם חלם על לטאה, שמחצית מגופה נמחק והוא מצטייר לו מעצמו מחדש – יחלפו מעט פחות מ-70 שנה, וחלומו יתגשם. כך או כך, שמו של טיורינג מעלה בדרך כלל אסוציאציות של מכונות חישוב עתיקות, חדרים אפופי עשן, חליפות מהוהות ושרטוטי גיר על לוח. אך בתחילת שנות החמישים הוא נהג גם לטייל מדי פעם בשדות של מחוז צ'שייר, בשמש האנגלית הלא-קופחת, ולקטוף פרחים. המאמרים שפרסם בשנים שקדמו לכך בראו, כמעט לבדם, את תחום מדעי המחשב, אבל מחשבותיו נדדו כבר למקומות אחרים. הוא התעניין בביולוגיה, וטיפח רעיון בדבר "תיאוריה מתמטית של אמבריולוגיה", כלומר, שיטה שתצליח לתאר בפשטות, באותו האופן שבו תיאר קודם לכן את העקרון שיגדיר את פעולת המחשב, גם את חוקי התפתחות של העובר.
הפרחים, ובמיוחד העלים שלהם, שימשו לו השראה, ובאוגוסט 1952 פרסם מאמר יוצא דופן בשם "הבסיס הכימי של מורפוגנזה". מורפוגנזה, אותו תהליך מורכב לאין שיעור המשלב מנגנונים מן הפיזיקה, הכימיה והביולוגיה לכדי בנייתו של יצור חי, צומצמה על-ידי טיורינג ליסודותיה העירומים. הוא התמקד בדפוסים שניתן למצוא על עורות של בעלי חיים, או על פרוות – פסי הזברה למשל – ואז הדגים כיצד ניתן ליצור את אותן צורות רבגוניות, באמצעות שני אלמנטים בלבד (בשמותיהם: ריאקציה ודיפוזיה), הפועלים על-פי חוקים דטרמיניסטיים פשוטים, שרק הזמן החולף – פעימה אחר פעימה – מוליד מתוכם את העושר הזה הנראה לעינינו (והדבר מזכיר אמנם גם את התנהלותה של מכונת טיורינג; פעולה אחר פעולה). בעיניי רוחו, האמין ודאי טיורינג שגם את התפתחותו של בעל חיים שלם, ולא רק את הדפוסים שעל גופו, ניתן לתאר באמצעות אוסף מצומצם ביותר של יסודות עצמאיים, המקיימים ביניהם שיג ושיח מתמטי, בלי כל מנגנון המפקח עליהם מלמעלה. אבל הוא מת קודם שהצליח לעשות זאת.
במרחק של שעתיים נסיעה ברכבת מן השדות שבהם שוטט טיורינג, ובאותו הזמן, גדל ילד בשם ג'ון הורטון קונווי. בגיל 4 הוא כבר נהנה לחשב חזקות של 2, כך לפחות טענה אימו, וכאחד המתמטיקאים הבולטים של המאה ה-20, תרם בהמשך רבות למגוון ענפים וביניהם תורת החבורות, תורת המספרים, תורת המשחקים ותורת הקודים. אך את תהילתו קנה לו דווקא דרך העיתונות. חברו, מרטין גרדנר, פרסם אז טור קבוע ב-"סיינטיפיק אמריקן", שעסק רובו ככולו בשעשועים מתמטיים, ובאוקטובר 1970 שיתף עם קוראיו משחק שזה עתה הומצא – "משחק החיים" (Game of Life). היה זה הטור הנקרא ביותר אי-פעם מבין אלו שפרסם גרדנר, וקונווי, ממציא המשחק, הפך בן לילה לכוכב. הוא הכיר כמובן את רעיונות של טיורינג, וגם הוא הוקסם מן הרעיון בדבר אוסף חוקים מצומצם ביותר, המניב עושר גדול. המשחק של קונוווי היה, לפיכך, פשוט מאוד, ובו בזמן גם אינסופי באפשרויותיו; משחק השייך לקטגוריה משונה: משחק עבור שחקן יחיד.
את "משחק החיים" ניתן לשחק גם בבידוד נגיפי, בלי חשמל אפילו. צריך רק מחק, עפרון ודף משובץ. לכן גם אהבו אותו כל-כך הקוראים של 1970. משבצת ריקה נחשבת "מתה", ומשבצת מלאה, כלומר מושחרת – "חיה". בתחילת המשחק יש לבחור דפוס התחלתי מסוים, כלומר, להשחיר משבצות אחדות על פני הדף. משם, בכל פעימה, או תור, יש לעבור על כל המשבצות בזו אחר זו, לבחון מה מצב המשבצת הנדונה ומה מצב שכנותיה, ועל-פי שלושה חוקים פשוטים (למשל, אם המשבצת עצמה חיה, ויש לה רק שכנה חיה אחת או פחות, המשבצת תמות, וכן הלאה) לקבוע מה מצבה החדש של המשבצת, ואז למחוק או למלא אותה בעיפרון. וזה מספיק לחיים שלמים של שעשוע, אם לא למעלה מכך. משחק שיתחיל במשבצת חיה אחת בלבד, יסתיים תוך תור אחד. כך גם משחק שייפתח בשתי משבצות חיות צמודות. שלוש משבצות חיות, סמוכות בשורה או בטור, רומזות כבר לאפשרויות העומק – הן ירצדו לנצח בין מצב אופקי למצב אנכי. תצורות אחרות יביאו להתפתחויות אחרות, סדורות או כאוטיות; מבנים יצוצו וייכחדו, קבוצות תאים ינועו מצד לצד, חיים ומוות יפעפעו מכל עבר, יאזנו זה את זה או יכו אחד את השני מנה אחת אפיים.
כבר ב-1970 הבין קונווי כי המשחק שהמציא הוא בבחינת מעט המחזיק את המרובה. שפע האפשרויות העצום שנבע מדפוסי היסוד, תלוי אך ורק בהתנהגותו של כל תא בפני עצמו. לא הייתה כל מערכת חוקים "כללית", הקובעת מלמעלה, איך ייראה הלוח. ועדיין – חיים נוצרו. קונווי הניח שכל דפוס ראשוני יגווע בסופו של דבר או יינעל בלולאה, ולכן הציע פרס של $50 למי שיראה לו אחרת. ביל גוספר, מתמטיקאי, מתכנת, וגם מי שנחשב לאבי קהילת ההאקרים העולמית, ניסה לזכות בכסף ובדרכו לשם מצא דפוס מוזר, אוסף קבוצות תאים שפוזר אקראית כמעט, ושמפיק מתוכו, כל 30 תורות, משולש שבור המרחף לו אלכסונית על פני הדף. הדפוס של גוספר זכה בשם "רובה הדְּאוֹנִים", והוא המריץ מעריצים רבים למצוא עוד דפוסים כאלה. שלא במפתיע, הזיווג בין המחשב לבין "משחק החיים" התברר כפורה במיוחד, ובהמשך אף הוכח כי "משחק החיים" עצמו שקול למכונת טיורינג אוניברסלית, כלומר, מדובר במנגנון שיכול לתפקד גם כמחשב לכל דבר (וכבונוס, לא קיימת דרך לקבוע מראש עבור כל דפוס פתיחה אם הוא עתיד להגיע לידי מוות כולל, או שמא לחיי עולם; קושיה שהעסיקה את טיורינג, עשורים לפני "משחק החיים"). כיום כבר נחקרים דפוסי פתיחה בני מאות אלפי תאים, שחיים על פני מיליוני דורות; דפוס הפתיחה הענקי המפורסם ביותר, כנראה, הוא "ספינת החלל ג'מיני", שנולדת עם 846,278 תאים חיים. היא התגלתה ב-2010, וזמן המחזור שלה (כלומר מספר התורות שלוקח לה לשוב למצבה המקורי) אינו קטן מ-33,699,586. לא ברור לאן היא טסה ומדוע.
אוטומט תאי (cellular automaton). זהו השם הטכני, הקר, לסוג המשחק שהמציא קונווי. ניתן, כמובן, להמציא אינסוף אוטומטים תאיים אחרים; כל שינוי באחד החוקים, כל חוק שיתווסף או יוחסר, ייצור משחק אחר, אוטומט אחר. מה הופך דווקא את החוקים של קונווי למעניינים? אין דרך לענות על כך. קונווי עצמו הגיע אל החוקים שלו דרך ניסוי וטעיה. סט אחר של חוקים היה מוביל אולי למשחק מעניין לא פחות, וניתן לחשוב גם על שינוי באופי התאים שהיה מוסיף התרגשות – צבעים נוספים (במקום רק ריק או מלא), ממדים נוספים. אלכסנדר מורדבינצב (Alexander Mordvintsev) מי שעמד מאחורי פרויקט "חלום עמוק" (DeepDream) שנחשף ב-2015 ויצר תמונות של סיוטים והזיות באמצעות רשת נוירונים מלאכותית, שאל את השאלה ההפוכה: מה הם חוקיו של אוטומט תאי (דהיינו, ואריאציה על "משחק החיים") שיאפשרו הגעה מדפוס ראשוני פשוט, משבצת אחת חיה, אל צורה סופית שתוגדר מראש? הוא חבר לשני חוקרים נוספים מ-GoogleAI, ולמייקל לוין מאוניברסיטת Tufts, ויחד הם הציגו לפני כמה שבועות מודל הממזג בין החזון של טיורינג, העוסק בחוקי ההתפתחות של יצור שלם, לבין המשחק של קונווי. כמו בחלומו העמוק, השתמש גם כאן מורדבינצב ברשתות נוירונים מלאכותיות; תפקידן הוא למצוא את סט החוקים, שאם יפעלו על פיו הפיקסלים שעל המסך, כל אחד באופן עצמאי לחלוטין, הם יוכלו להביא פיקסל ראשוני בודד לכדי ציור מושלם.
במשחק של מורדבינצב כל תא הוא פיקסל, המוגדר באמצעות רשימה (וקטור) של 16 ערכים מספריים. שלושת הערכים הראשונים מייצגים צבעים בפורמט RGB, כלומר, יחד הם מגדירים את הצבע שבו ייצבע הפיקסל על המסך. הערך הרביעי, הקרוי אלפא, מגדיר את מצב החיים של התא (שאיננו רק בינארי כמו ב-"משחק החיים", אלא מתאר, למשל, האם התא הוא צעיר, מבוגר וכו'), ואילו שאר 12 הערכים לא מייצגים דבר; אין להם "משמעות" (אפשר לראות בהם מעין סטטוס מספרי, המתחלף לעתים מתור לתור). בדיוק כמו ב-"משחק החיים", בכל תור בודק כל פיקסל את מצבם של הפיקסלים שסביבו (כלומר, כל ערך וערך בווקטורים שלהם), ועל פי סט חוקים, המגדיר מה בדיוק הוא אמור לחפש, הוא "מחליט" כיצד ישתנה מצבו.
להדגמת המודל שלו, בחר מורדבינצב בכמה אימוג'יז כמטרות. בין השאר עלו בחכתו אימוג'יז של חיוך, חיפושית, פרפר, קורי עכביש ולטאה, ותוך שימוש באלגוריתמים של למידה עמוקה הוא אימן את המודל להגיע מן הזרע אל האימוג'י המלא. מתוך המסלול הזה נגזרו לאחור "חוקי המשחק", כלומר – מהם הכללים שעל פיהם צריך כל פיקסל ופיקסל לפעול, כך שללא כל הכוונה חיצונית, יצליח להפוך הפיקסל הבודד לתמונה מלאה של אימוג'י חיפושית, נאמר. וזה עבד. עבור כל אימוג'י-מטרה נמצאו חוקי המשחק המאפשרים לכל פיקסל ופיקסל לקבל החלטה בעצמו, רק על סמך הפיקסלים שמקיפים אותו, ולהגיע כעבור כמה מאות או אלפי תורות למצב שבו אוסף הפיקסלים יוצר בדיוק את האימוג'י שהוגדר מראש – פרפר, חיוך, או לטאה.
אלא שהזמן, כידוע, אף פעם לא עוצר. כאשר הגיעו הפיקסלים לאימוג'י המלא, בכל אחד מן המשחקים, המשיכו החוקים בפעולתם, והדימוי שכבר היה שלם הלך והשתבש – לעתים גווע, לפעמים המשיך לצמוח ללא שליטה, ובמקרים אחרים התפתחו עליו מוטציות שונות. מורדבינצב נאלץ, אם כן, לאמן את המערכת שוב כדי להסיק את החוקים שיביאו את מערך הפיקסלים לאימוג'י-מטרה שאיננו רק סופי, אלא גם יציב, בדיוק כפי שאורגניזם מתפתח לכדי צורה קונקרטית וסופית (יחסית) בגיל מסוים. גם פה, האימון השיג את יעדיו. מערכת החוקים החדשה, הצליחה להביא פיקסל יחיד לגדל סביבו אוקיינוס של פיקסלים, שיתפתחו יחדיו לכדי אימוג'י יציב, שאינו מתעוות או מת.
בשלב האחרון, והמסעיר מכולם, ניסה מורדבינצב לייצר גם מנגנון שמאפשר רגנרציה. מה פירוש? כשם שבטבע, "יודעים" אורגניזמים רבים להשלים מחדש חלקים מגופם – גפיים, זנבות, ואפילו עיניים וחלקים מן המוח – כך גם ראוי שאורגניזם הפיקסלים יידע לעשות זאת. שוב הצליח האימון מעל למשוער. אלגוריתם הלמידה העמוקה מצא סט חוקים שמאפשר לפיקסל הבודד לצמוח לכדי אימוג'י מלא, ואם חלקים מן האימוג'י נהרסים (בפועל – נמחקים מן המסך, מומתים), הפיקסלים, הממשיכים לפעול כל אחד רק על דעת עצמו ועל פי החוקים שהוגדרו מראש, בונים את האימוג'י השלם מחדש. מדהימה במיוחד היא העובדה הבאה: מורדבינצב גילה שהאימוג'י של הלטאה נוטה באופן טבעי לרגנרציה באמצעות האוטומט התאי, הרבה יותר מאשר אימוג'יז אחרים, גם ללא כל אימון מיוחד! מתברר שיש קשר מסתורי בין צורת האורגניזם בעולם האמיתי וזיקתה אל תפקודו, לבין האופן שבו חיקוי דו מימדי שלה מתנהג על פני מסך. ובל נשכח – כל זה קורה כאשר למודל עצמו, בזמן המשחק, אין כל מגנון פיקוח מלמעלה, והכל מתרחש בו אך ורק מתוך שילוב הפעולות האינדיבידואליות של כל פיקסל ופיקסל, הפועלים כולם על פי אותו סט חוקים. כך הם בונים, ואף מבצעים רגנרציה, של אימוג'י שלם.
חלומותיו של טיורינג, שנקברו עמו ב-1954, והתגלגלו אל מורדבינצב ושותפיו דרך "משחק החיים" של ג'ון הורטון קונווי, מתגשמים כעת הודות למנגנון הלימוד של רשתות הנוירונים המלאכותיות, שלטיורינג היה אף חלק מוקדם בלידתן. הפרטים נענים להוראות הניתנות להן בעיניהם הפנימיות, כמו התאים על הדף המשובץ, או הפיקסלים על המסך, ומשהו שלם נוצר כמו מעצמו; נוף שנועד לעין חיצונית. כל זאת בשעה שלאף תא יחיד אין כל תפיסה של המבנה השלם, גם לא שמץ קצה שלה – הוא רק מבצע את ההוראות המוכתבות לו, בהתאם למה שמקיף אותו. מה הצעד הבא? חוקי המשחק, עבור כל תא ותא, יכולים גם הם להיות חלק מאותה הגדרה פנימית – רשימת הערכים המתארת את התא – ומקודדים אולי בתוך וקטור ארוך במיוחד. והרי מה הוא בעצם ה-DNA אם לא בדיוק זה? כמו בשדה הפיזיקה של ראשית המאה הקודמת, שם התבהרה שקילותם של המאסה והאנרגיה, אולי אף אנחנו קרבים להבנת האופן שבו חוקי הביולוגיה מצד אחד, והאורגניזם שאותו הם מתארים מצד שני, מתערבבים זה בזה, מומרים ומתחלפים. והיה הקוד לבשר.
פורסם במקור ב-05.03.2020
בועז לביא הוא תסריטאי, יוצר קומיקס ומרצה על אלגוריתמים כותבים.