אדם ומכונה תושיע ה': ב. רשתות נוירונים (טור 695)
בס"ד
בטור הקודם עסקתי בשאלה מהו מחשב והאם ניתן לדמות אותו לאדם. הדיון התמקד במחשב ספרתי ובתוכנות חישוב קלסיות. הדור החדש של הבינה המלאכותית פועל בדרכים אחרות לגמרי, וכפי שנראה לא בכדי שאלת ההבדלים בין מחשב לאדם מתעוררת שוב במלוא עוזה. נכון להיום מבחני טיורינג כבר הרבה מאחורינו, אך כפי שנראה כאן עדיין לא השתכנענו (ראו בסיכום שבסוף הטור על מבחני טיורינג והלכותיהם הכלליות יותר). שוב, אני צריך לתת כאן הקדמות שמתארות את הטכנולוגיה עצמה, לפחות באופן סכמטי ופשטני, כדי שנבין על מה מדובר. אני מקווה שלא טעיתי כאן (שכן איני מומחה), ובכל אופן עם המומחים הסליחה על ההיזקקות לדברים בסיסיים.
מכונות מהדור החדש: בינה מלאכותית מודרנית
בכמה עשרות השנים האחרונות נכנס לעולם המחשבים קונספט חדש, שפועל אחרת לגמרי מצורת החישוב שתיארתי עד כאן. הרעיון המקורי מבוסס על שילוב בין תובנות על מבנה המוח שלנו לבין תוצאות של מודלים של רשתות בפיזיקה סטטיסטית (כך אני הכרתי לראשונה את כל העניין). מתברר שניתן לבנות מכונת חישוב שעובדת בצורה מוזרה ועקיפה לגמרי, ולא בצורת ביצוע ישירה כמו שתיארתי בטור הקודם. אני אתן כאן תיאור פשטני וסכמטי, שמטרתו רק להעביר את הרעיון העקרוני ולהבהיר למי שאינו מתמצא מה בעצם קורה בתוך ומאחורי הפלא הזה שתופס את הכותרות בשנתיים האחרונות.
מודלים של AI בנויים בצורה של רשת נוירונים, בדומה למוח האנושי. מדובר במבנה שבנוי מקודקודים (sites) וענפים שקושרים ביניהם (bonds).כל קודקוד מקביל לנוירון במוח, והוא יכול להיות במצב מופעל – 1, או מכובה – 0. לכל אחד מהקשרים בין הקודקודים צמוד משקל כלשהו, זהו מספר שיכול להשתנות במהלך הזמן (ראו להלן). מצבו של כל נוירון (דולק או מכובה) נקבע על ידי פונקציה כלשהי (פונקציית אקטיבציה) שמסכמת באופן משוקלל את כל הקשרים שנכנסים אליו: אם הסכום המשוקלל הזה עובר רף מסוים אז המצב של הנוירון הוא 1, אחרת הוא 0.
ניטול כדוגמה רשת חד ממדית פשוטה. היא בנויה משרשרת של קודקודים שמחוברים ביניהם בענפים כאלה, למשל בצורה הזאת:
זוהי שרשרת של חמישה קודקודים, והקשרים ביניהם מתוארים באמצעות הקווים שמחברים ביניהם. לכל קו כזה יש משקל מספרי. ניתן לראות שהקשרים בין הקודקודים יכולים להיעשות בכל מיני צורות. לא כל שני קודקודים מחוברים זה לזה (ניתן כמובן לצייר שכל הקודקודים מחוברים זה לזה אלא שהמשקל של חלק מהקשרים הוא 0). בציור שלמעלה, מצבו של הנוירון השלישי למשל, מוגדר על ידי סכום של שני הקשרים משני הנוירונים שנכנסים אליו (הראשון והשני). מצבו של הנוירון החמישי מוגדר על ידי סכום על הקשרים מהשני ומהשלישי.[1]
במערכות מודרניות, יש סדרה של שכבות נוירונים (layers) שכל שכבה היא שורת נוירונים שמחוברת לשורה שלפניה ולזו שלאחריה. התפקוד שלהם נעשה כסדרה של רשתות שאחת מזינה את השנייה וכך זה מתקדם (בשנים האחרונות גילו שהעדכון היעיל ביותר מתבצע כשהמידע מוזן קדימה ונעשה גם פידבק אחורה). השכבה הראשונה מקבלת את הקלט (סדרת 0 ו-1 כלשהי), השכבה האחרונה מוציאה את הפלט (גם הוא סדרה של 0 ו-1), ובאמצע יש כמה שכבות חבויות שעושות את העיבוד. זוהי תמונה לדוגמה של מבנה כזה (מתוך ויקיפדיה):
אימון (training) של רשת נוירונים
חשבו על רשת נוירונית כזאת שמיועדת לבצע משימה כלשהי. כדי לבצע את המשימה אנחנו 'מאמנים' אותה. אימון כזה מטרתו לעצב את המכונה באופן כזה שכשתקבל שאלה עתידית היא תענה עליה נכון ככל האפשר (ממש כמו אימון אנושי). מבנה המכונה הוא בדרך כלל נתון, ולכן מטרתו של האימון היא בעיקר לקבוע את המשקלות של הקשרים השונים בתוך המכונה. מכונה עם המשקלים הנכונים בכל קשר תוציא בדרך כלל את התשובות הנכונות (כמה טעויות תמיד יהיו. גם לבני אדם יש מדי פעם טעויות). ברור שככל שהמכונה מכילה יותר קודקודים ויותר קשרים יש סיכוי גבוה יותר להצלחה כי יש לנו יותר משקלים (משתנים) לשחק איתם. לפעמים ניתן גם להתאים את המבנה של הרשת (ולא רק את המשקלים) במיוחד למשימה שלשמה היא נבנית, אבל המבנה המקובל הוא בערך מה שמתואר למעלה. יש כמה צורות אימון, והידועה שבהן היא אימון מבוקר (supervised training). שאר צורות האימון לא משנות מהותית לענייננו, ולכן אתמקד בה כי היא הכי אינטואיטיבית. אציין שגם אותה אני מתאר כאן באופן מאד סכמטי (לדוגמה, לא אכנס להבדלים בין תהליך שכולל התקדמות קדימה בלבד, לבין תהליכים שמתנהלים בצורה מעגלית, כלומר התקדמות קדימה ואחורה לאורך הרשת).
אימון מבוקר נעשה לפי דוגמאות ידועות. למשל, נניח שאני רוצה לאמן רשת שתזהה את הפנים של סבתי. המטרה היא שאם תוצג בפניה תמונה כלשהי של סבתי, בכל רקע בכל גיל ובכל הנסיבות (זכרו את מאגרי התמונות של גוגל שיודעים לעקוב אחרי אדם מסוים בכל התמונות. הם תוצאה של רשת כזאת), היא תדע לומר שזאת היא (כלומר תוציא פלט "כן"), וכמובן שאם יוצגו בפניה תמונות אחרות היא תדע שזו לא היא (כלומר לא תוציא פלט "כן"). כדי לאמן את הרשת לביצוע המשימה, אני מתחיל במצב שבו יש משקלות אקראיים על הקשרים ברשת, ואז מתחיל להזין לתוכה תמונות שונות, חלקן של סבתי בכל מיני מצבים וחלקן של דברים אחרים או אנשים אחרים (עדיף אנשים או אפילו נשים, כדי לשפר את הרזולוציה. כמה שהדוגמאות השגויות קרובות יותר לתמונה הנכונה האימון יהיה יותר יעיל). תמונה כזאת מיוצגת על ידי מספרים (למשל תיאור מספרי של צבעם של הפיקסלים שלה), ואני מכניס לרשת (לשכבת הקלט) את המספר הרלוונטי כקלט. עבור כל קלט כזה הרשת מוציאה (בשכבת הפלט) פלט של כן או לא, שנוצר על ידי חישוב מצבי הנוירונים השונים כפי שתיארתי. הכנסתי תמונה של סבתי, אם הרשת זיהתה אותה נכון (ענתה 'כן'), אני לא משנה כלום. אם היא לא זיהתה אותה נכון (ענתה 'לא'), אני משנה את המשקלות של החיבורים ברשת כדי שהתוצאה שתתקבל עבור המקרים שנבדקו עד עתה תצא נכונה. בשלב הבא אני מכניס תמונה נוספת ועושה אותו תהליך. בין היתר יהיו תמונות שאינן של סבתי, ושם העדכון הוא הפוך: אם הרשת מזהה אותן כסבתי עליי לעדכן את המשקלות, ואם לא – אז איני נוגע בהן. עד כאן אני בעצם נותן לרשת את המידע, שכן אני נותן לה פידבק האם היא צדקה או לא (שימו לב שאני זה שזיהה את התמונה ונותן לה מידע האם זו אכן תמונה של סבתי או לא). מתברר שאחרי כמות גדולה מספיק של דוגמאות שאני מזין ונותן פידבק, הרשת מאומנת למשימה. במצב כזה היא נדרשת לזהות תמונות חדשות של סבתי, כלומר תמונות שהיא לא פגשה קודם (כאן היא צריכה לפתור בעצמה את הבעיה). מתברר שאחרי האימון היא מצליחה בזה בצורה מאד מרשימה.
חשוב להבין שתוכנה קלסית (מהסוג שתואר בטור הקודם) לא תוכל להצליח במשימה כזאת. בתוכנה קלסית הלוגיקה היסודית בנויה על התנייה (if_… than_). אנחנו צריכים להאכיל אותה בכל התמונות שאותן היא צריכה לזהות והתוכנה אומרת לה שאם התמונה החדשה שבפניה היא אחת מהתמונות שהיא 'ראתה' קודם עליה לענות 'כן', ואם לא – אז שתענה 'לא' (אתם יכולים לראות שברמה העקרונית אלו בעצם אוסף של הוראות תנאי: אם זו אחת מהתמונות שראית – פלטי "כן"). מכאן תוכלו להבין שעבור כל תמונה שהיא לא פגשה לא תוכלו לקבל ממנה תשובה נכונה. משמעות הדבר היא שהכנת המכונה לפעולה אינה 'אימון' אלא האכלה בכפית. אני בונה אותה כך שתעשה בדיוק את מה שאני הכנסתי לתוכה, לא פחות ולא יותר. זה ממש כמו שראינו במעגלים החשמליים בטור הקודם. יציאה מחוץ לתחומים שעליהם התוכנה התאמנה היא תכונה של רשתות ה-AI החדש, והיא אינה קיימת בחישוב קלסי. משיגים אותה באמצעות תהליך ה'אימון' שתואר למעלה. המכונה החדשה אינה מיישמת הוראות תנאי באותו מובן כמו התוכנה הישנה. בונים אותה כך שהיא תפעל בעצמה, כלומר 'תדע' לפעול נכון במשימות המדוברות. בניגוד לחישוב הישן, רשת הנוירונים מזהה גם תמונות שלא פגשה בעבר. שימו לב שזה לגמרי דומה לאימון של אדם למשימות מסוימות על ידי תרגולים של פתרון בעיות ידועות (אצל המורה או המרצה), במטרה שהוא יידע לפתור בעיות חדשות מהסוגים הללו שיפגוש בעתיד. אין פלא ששאלת היחס בין מכונה כאת לבין אדם עולה ביתר שאת ביחס למכונות הללו.
משימה אחרת של רשת נוירונים יכולה להיות מציאת היחס בין כוח (F) לתאוצה (a) עבור גוף כלשהו שמסתו m (ראו על כך מהיבט אחר בטור 426). החוק השני של ניוטון קובע שיש ביניהם יחס ישר (F = m*a). אנחנו רוצים לאמן את הרשת כך שהיא תוכל לקבל עוצמה של כוח ולתת לנו מה תהיה התאוצה של הגוף תחת פעולת הכוח הזה. ושוב נותנים לה דוגמאות מניסויים שנעשו (עבור כוח כזה התקבלה תאוצה כזאת, וכך לגבי עוד הרבה דוגמאות), זה מעדכן את המשקלים שבתוך הרשת, כשבסופו של דבר מוצאים ערכי משקלות כאלה שייתנו לנו את התשובה הנכונה בכל (או במירב) המקרים, כולל ערכי כוח כאלו שהרשת טרם פגשה.
עד כאן בנינו (או בעצם אימנו) רשת למשימה ספציפית אחת: זיהוי פנים של אישה מסוימת, או מציאת היחס בין כוח לתאוצה עבור עצם מסוים. כעת נרצה לבנות רשת יותר אינטליגנטית, כזאת שתעשה משימות רבות מאותו סוג. למשל שתזהה פנים של כל אדם ולא רק של סבתי (כלומר תקבל פנים של אדם ותוכל לזהות האם תמונות אחרות מתארות את אותו אדם או לא), או יחסים בין שני משתנים כלשהם ולא רק כוח ותאוצה של גוף מסוים. אנחנו מאמנים רשת בדיוק כמו שעשינו במקרה של המחשב הקלסי הישן שתואר למעלה. בגלל שהמשימה יותר כללית ויותר מורכבת, הרשת עצמה צריכה להיות כנראה יותר מורכבת (עם יותר קשרים וקודקודים). כעת נאמן אותה באותה צורה על הרבה תמונות של הרבה אנשים (בכל פעם שמזינים לתוכה שתי תמונות של אותו אדם היא אמורה לענות "כן", אחרת "לא"). ההנחה היא שהרשת תגיע למצב שבו היא תדע לזהות תמונות של אנשים בכלל, ולא רק של סבתי. אני מזכיר שוב את הפיצ'ר של גוגל תמונות, שיודע לעקוב אחרי אדם ולזהות את כל התמונות שלו בכל רקע ובכל גיל. זוהי תוכנה שאומנה בדיוק כך. לאחר מכן אפשר להרחיב את היריעה ולאמן את אותה רשת לזהות תמונות של דברים כלשהם, ולא רק של אנשים. בהמשך היא גם תדע ליצור תמונות לפי בקשה (איש רוכב על סוס על רקע השקיעה ומולו בית קומתיים). המכונה שלנו כבר מבצעת טווח רחב מאד של משימות, ושימו לב שזו אותה מכונה עצמה. התוכנות השונות ששימשו אותנו בחישוב הישן, מוחלפות כאן על ידי אוספים שונים של דוגמאות אימון למשימות השונות. אחרי כל האימונים יש לנו רשת אחת שיודעת לעשות את כל המשימות הללו.
הצעד הבא הוא לנסות וליצור מכונה נוירונית אוניברסלית, כלומר רשת אחת שתוכל לבצע את כל הפעולות כולן, ממש כמו בני אדם. גם זיהוי של סבתי, או של כל פנים אחרות, או של כל אובייקט שהוא, וגם חישובים מתמטיים, וגם מציאת יחס בין כוח לתאוצה של כל הגופים, וגם לשוחח איתי על כל נושא שבעולם ולתת לי כל מידע שאצטרך, לפתור בעיות בפיזיקה, להעניק טיפול פסיכולוגי ועוד ועוד. עקרונית נראה שזו משימה בת השגה, אם ניקח רשת מאד מאד מורכבת ונאכיל אותה בהמוני דוגמאות מכל הסוגים של כל המשימות (אוסף דוגמאות לכל סוג של משימה, אבל כולן ישמשו לאימון של אותה רשת), ובעצם 'נאכיל' אותה בכל המידע שקיים עלי אדמות. בשנתיים שלוש האחרונות התברר שרשתות נוירונים כאלה הן בהישג ידינו. המכונות החדשות מצליחות להגיע ליכולות המדהימות הללו. כך נוצרו המודלים של חברת OpenAi, שמכונים Chat gpt, שפרצו לעולם בשנת 2022, ובעקבותיהם מודלים דומים של חברות אחרות, עד deepseek הסינית שפרצה ממש בשבועות האחרונים ומעוררת מהומות טכנולוגיות וכלכליות בכל העולם (ראו למשל כאן וכאן). אפילו היוצרים של המכונות הללו לא ציפו להישגים ברמה כזאת. הם נדהמו לגלות שאחרי שהכניסו למכונה אל כמויות המידע המפלצתיות הללו נוצרו להם מכונות שיכולות לעשות הכל. הן יכולות לשוחח איתנו בכל התחומים, כולל תחומים מקצועיים כבדים, הן כבר יכולות לכתוב תוכנות, לפתור בעצמן בעיות מתמטיות (בלי צורך במתכנת שיכתוב תוכנה, הן מוצאות את הדרך לבד) ומדעיות, לתרגם טקסטים, לכתוב מאמרים ועבודות ברמה טובה מאד בכל התחומים, ליצור יצירות אמנות ומוזיקה, לזהות תמונות וכמובן לשלוף מידע מדויק בכל התחומים. אין צורך לומר שמבחן טיורינג לגמרי קטן עליהן. המכונות הללו כבר טובות מאיתנו ברוב התחומים.
האם רשת נוירונים משוכללת היא אדם?
עקרונית הגענו למצב שיש לנו מכונה שיודעת לעשות כל מה שאנחנו יודעים לעשות, ובעצם מכונה אחת עושה כל מה שהאנושות כולה יודעת לעשות (ולא רק מה שאדם בודד יודע). יתר על כן, ראינו שאנחנו כבר לא מאכילים את המכונות הללו בפתרון הבעיה כמו שראינו בחישוב הקלסי. המכונה מוצאת בעצמה את הפתרונות לכל סוגי הבעיות ועושה הכל בהחלטות שלה ובעצמה. לכאורה בנינו כאן ממש אדם שלומד מהניסיון ממש כמונו (אלא שהוא מעכל הרבה יותר מידע מאיתנו ליחידת זמן ולכן יודע ומיומן יותר מאיתנו ברוב המשימות). אין פלא שהשאלה בדבר היחס בין רשת כזאת לבין בני אדם עולה ביתר שאת ביחס למכונות החדשות הללו.
שימו לב שהאימון שתואר כאן מקביל לחלוטין לתהליך שתיארתי בחדר הסיני. האדם שיושב בחדר הסיני מקבל שאלות בסינית ומאמן את עצמו לענות תשובות רלוונטיות בסינית, כשהמטרה בסוף היא שהוא יענה נכון גם לשאלות שלא פגש. ההנחה היא שאחרי מספיק זמן האדם הזה יוכל לעשות זאת גם בלי שנלמד אותו מאומה לגבי סינית ומשמעות המילים בה. ניתן לומר שרשת הנוירונים במוח שלו מתעדכנת דרך הפולסים החשמליים שהוא חוטף על תשובות לא נכונות. התהליך הזה מקביל לפידבק שמקבלת רשת הנוירונים על תשובות לא נכונות שמעדכנות את הקשרים שבתוכה. ג'ון סרל הקדים את זמנו, ובעצם ממש תיאר אימון של רשת נוירונים (אנושית). שימו לב שגם במקרה של רשת נוירונים וגם בחדר הסיני, הגורם המאומן הוא גורם מכני, ואין מאחורי התקשורת אתו ממד מנטלי-קוגניטיבי. בחדר הסיני יושב אדם בשר ודם, אבל במקרה שלו הממד הקוגניטיבי שלו לא משתתף בתהליך (אין אצלו הבנה). זהו בעצם מחשב. במחשב או ברשת נוירונים כמובן שאף פעם אין ממד קוגניטיבי שכזה.
המורכבות והגיוון של המשימות שמבצעת המכונה והיעדר הצורך באלגוריתם ובחשיבה של המתכנת על התוכן (אלא רק על מבנה הרשת והאימון שלה), באמת מחדדות את השאלה שלנו. אבל כדי לגבש עמדה לגביה עלינו להתייחס לשני המאפיינים של המחשב שתיארתי בטור הקודם:
- המאפיין הראשון, שהמתכנת (ולא המכונה) הוא שפתר את הבעיה, לא קיים כאן. במקרה הזה, המכונה היא שפותרת את הבעיה. המתכנת לא יודע את הפתרון ולא פותר את הבעיה. הוא גם לא כותב אלגוריתם שפותר את הבעיה, אלא רק מאכיל את המכונה בדוגמאות ובתשובות.
- המאפיין השני, היעדר ההבנה והמשמעות שמאחורי הפעולה המכנית, כמובן קיים גם כאן. הרשת המשוכללת הזאת בעצם לא באמת מוצאת פתרונות לבעיות ולא מחזיקה מידע ולא חושבת ולא מבינה. היא פשוט עונה את התשובה הנכונה, ממש כמו האדם בחדר הסיני. היא יודעת להצמיד תשובה רלוונטית לשאלות שהיא מקבלת, אבל מבחינתה זהו יחס מכני בין קלט לפלט שהוא תוצאה של חישוב מכני ולא של הבנה. האינטרפרטציה של התשובות והבנת התוכן נעשות כולן אצל המשתמש. המכונה רק מזרימה חשמל מהכא להתם, והמשתמש הוא שמעניק לפעולות ולתוצאות הללו את הפשר והמשמעות. כל מה שתיארתי עד כאן ביחס לרשתות הללו, נוגע רק ליכולות שלהן (מה הן יודעות לעשות), אבל הממדים המנטליים כנראה לא קיימים גם בהן, ואם רואים בהבדל הזה הבדל מכריע בין אדם למכונה, אזי גם רשתות נוירונים אינן אדם. אבל כעת תוכלו להבין מדוע רשתות נוירונים מעוררות את השאלה מחדש ובצורה חזקה יותר. לגביהן נכון רק המאפיין השני ולא הראשון. הן קרובות יותר לחשיבה האנושית.
אם אשוב לדיון שערכתי בתחילת הטור הראשון, רשת נוירונים היא כמו מים. גם את המים לא אנחנו בנינו ולא אנחנו הכנסנו לתוכם את היכולת לזרום "נכון" (כלומר לפתור את משוואות נאווייר טוקס), אלא זה טבוע במבנה שלהם. זה באשר למאפיין הראשון. אבל ראינו שם שלא סביר לומר שהמים פותרים את משוואות נאווייר סטוקס למרות שהם זורמים לפי המשוואות הללו והדינמיקה שלהם היא בעצם הפתרון למשוואות במצב הזה. המים פשוט זורמים כך כי זהו טבעם. העובדה שמדובר כאן בפתרון משוואות מסוימות רלוונטית רק לנו כצופים. ההבנה והחשיבה נוצרת רק אצלנו. המים לא באמת פותרים שום דבר הם פשוט עושים מה שטבעם מכתיב להם. אין להם שיקול דעת ולא מחשבה ולא הבנה. כשאנחנו מתבוננים בהם אנחנו מפרשים את השטח והמים בתוכו כמשוואת תנועה (נאווייר סטוקס) ואת זרימת המים במצב הזה כפתרון של המשוואות הללו. כל זה נעשה רק במוחנו שלנו. כל זה לגמרי נכון גם לגבי רשת הנוירונים. רשת הנוירונים לא פותרת מאומה. היא מזרימה חשמל. אנחנו המתבוננים או המשתמשים בה, מפרשים זאת כפתרון בעיה וכהוצאת פלט שהוא הפתרון.
בשורה התחתונה, למיטב שיפוטי השאלה אינה באמת מטרידה גם ביחס לרשת נוירונים משוכללת כמו אלו שהזכרתי. ברור שעדיין מדובר בגולם שאינו אדם. שלושת הטענות שהצגתי בטור הקודם לטובת ההשוואה בין מחשב לאדם (שלושת השטרות והשוברים שבצידם), רלוונטיות גם לגבי רשתות נוירונים, וכולן נדחות גם כאן באותן צורות בדיוק. לחשוב שרשת נוירונים היא אדם, זה בערך כמו לחשוב שה-Strandbeest הוא בעל חיים (ראו בטור ההוא). בסך הכל בנינו מכונה שמצליחה לחקות חשיבה של בני אדם. במקום לעשות זאת על ידי אינספור מכונות קלסיות, או מכונה קלסית עם אינספור תוכנות, הצלחנו לבנות חיקוי שעושה את כל הדברים הללו במכונה אחת. זה לא הבדל עקרוני. אף אחד לא היה מעלה בדעתו להגדיר את אינספור המכונות הללו כאדם. המכונה האוניברסלית לא שונה מהן מהותית. זה רק מבנה יעיל יותר.
יתר על כן, לתהליך האימון יש משמעות חשובה בדיון הזה. בחישוב הקלסי ראינו שהמתכנת בונה את המכונה והוא שגורם לה לבצע את המשימה. אבל גם ברשת נוירונים המתכנת הוא שעושה זאת. אמנם לא באופן ישיר, אבל הוא זה ש'מאכיל' את המכונה במידע עצום דרך תהליך האימון. לכן דה פקטו המתכנת כן מכניס את המידע הרלוונטי למכונה. הוא גם נותן את הפידבקים בתהליך האימון, כלומר הוא אפילו מכניס את הידע שרלוונטי לבעיה הנדונה. משמעות הדבר היא שפשוט מצאנו דרך לאמן את המכונה בלי להכניס לתוכה את כל המידע באופן ישיר אלא בצורה עקיפה. מתברר שהמכונה מארגנת את עצמה לאור המידע שהיא מקבלת, והמבנה שנוצר יודע לענות על אתגרים חדשים (מעבר לדוגמאות שקיבל). זו רק דרך מתוחכמת יותר לבנות במו ידינו את אוסף המכונות הקלסיות (שהיו מפוזרות על פני כל שטח כדור הארץ) שכל אחת מאומנת לעשות משימה מסוימת. העובדה שאנחנו בונים מכונה שמצליחה לחקות אותנו, אינה מספיקה בכדי להכריז שהמכונה הזאת היא אדם. גם המטאטא חוסך לנו לאסוף את הלכלוך ביד, ואף אחד לא מעלה בדעתו לומר שהוא אדם. ואם נבנה מטאטא אוטומטי הוא גם לא יהיה אדם. ואם נבנה עוד מכונה שמבצעת משימה נוספת שלנו ועוד מכונה ועוד מכונה, ואז נחבר את כולן והכל יבוצע במכונה אחת, גם אז לא נקבל אדם אלא מכשירים שמשמשים בני אדם ואולי גם מחקים אותם. הצירוף של כל אלו למכונה אחת הוא רק יותר יעיל, אבל הוא לא אמור לשנות את המסקנה הזאת באופן מהותי.
בקיצור, מחשבה אמנם נתפסת כפונקציה אנושית משמעותית יותר מטאטוא, אבל חיקוי של מחשבה אינו שונה מהותית מחיקוי של טאטוא. בשני המקרים החיקוי אינו המקור עצמו, ולמרות הדמיון – ערבוב בין חיקוי לבין המקור הוא טעות. במונחי הדוגמאות מהטור הקודם, כמו שחיקוי של אבטיח מפלסטיק שיהיה אדום מבפנים וירוק מבחוץ ובעל גרעיני אבטיח (וגם יילך ויגעגע כברווז) אינו אבטיח, וכמו שהיושב בחדר הסיני אינו מבין סינית ולא דובר סינית, כך מכונה שמחקה אותנו אינה אנחנו.
מבט נוסף על סמנטיקה וסינטקס
בטור הקודם עסקנו בהבחנות כלליות בין מחשב לבין חשיבה אנושית, ואחד ההבדלים המשמעותיים שעמדתי עליהם היה באופי ובמשמעות הפעולה. ראינו שהמחשב עובד סינטקטית (מכנית-צורנית) והאדם עובד סמנטית (דרך המשמעות). הדגמתי זאת דרך ההבחנה בין שימוש למשמעות (של ויטגנשטיין) ובאמצעות הדוגמאות של מבחן טיורינג והחדר הסיני. אחרי שערכנו היכרות כללית עם דרך פעולתם של מחשבים ניתן כעת לשוב לרעיונות הללו ולחדד אותם.
אדם שמקבל בעיה מנתח אותה ומטפל בה לפי סדר הגיוני כלשהו. החלוקה הזאת לשלבים יסודה בהבנה של הבעיה והפעלת ההיגיון לגביה. מודלAI של רשת נוירונים לא פועל כך. הוא לא באמת חושב על הבעיה, ולכן גם לא מפרק אותה למרכיביה. הוא פשוט מקבל קלט ומוציא פלט שנוצר באמצעות חישוב של סכומים משוקללים של מספרים. הקשר בין הפלט לקלט הוא מכני לגמרי, והמעבר ביניהם אינו קשור לשלבי פתרון הגיוניים לבעיה הזאת (כפי שזה נעשה אצל האדם). המכונה בנויה כך, שלמרות שהיא עושה דברים אחרים לגמרי (מעדכנת את המשקלות ברשת, מחשבת ומוציאה פלט), הפלט יוצא נכון ביחס לקלט שהתקבל. התשובה היא התשובה הנכונה, אבל ה"חשיבה" שהביאה אליה אינה באמת חשיבה אלא סתם חישוב, שבמקרה יוצר תוצר שמתאים לתוצר שחשיבה שיטתית של בני אדם הייתה מניבה ביחס לשאלות כאלה. זה כל הטריק כאן.
חשבו על המעגל החשמלי שתואר בטור הקודם, ותבינו שהוא לא באמת מחשב סכום או כפל של מספרים אלא עושה פעולות טכניות שיוצרות את התשובה ה'נכונה', כלומר יוצר תוצר חשמלי כלשהו (שכלל אינו תשובה, ובטח לא תשובה נכונה), ורק המשתמש מפרש את התוצר הזה בתור התשובה הנכונה. חשבו למשל על מסך מחשב שמציג בפניכם את התרגיל 1+2=3. ברור שהתצוגה הזאת היא תוצאה של הפניית קרניים למסך שמדליקות עליו נוריות בצורה המורפולוגית הזאת: 1+2=3. המתכנת או יוצר המחשב בנה אותו כך שהמורפולוגיה של הצורה הזאת תייצג כלפי המשתמש את התשובה הנכונה לבעיה שלו. זו המחשה מדוע הפעולה שעושה המחשב אין לה שום משמעות מצד עצמה. המחשב רק זורק אלקטרונים למסך ומדליק נקודות מסוימות עליו. יוצר המחשב עושה כאן טריק שמייצר פלט שהמשתמש יוכל למצוא בו את התשובה שהוא מחפש.
כדי להבין זאת טוב יותר, אסביר מעט יותר את ההבחנה בין סמנטיקה (פשר, או משמעות) לסינטקס (צורה, מבנה). הופשטדטר בספרו גדל אשר בך, מציג את המשחק הבא. יש לנו שפה שהאלפבית שלה הוא בן שלוש אותיות: {M,I,U}. אבל לא כל צירוף של שלוש האותיות הללו יוצר מילה חוקית בשפה. את אוסף המילים החוקיות ניתן ליצור על ידי כללי טרנספורמציה שבנויים כך: נתון לנו שהצירוף MI הוא מילה חוקית בשפה. יש לנו ארבעה כללים שמסייעים לנו לקחת מילה חוקית אחת וליצור ממנה מילה חוקית אחרת. לדוגמה, יכול להיות כלל שמילה שמסתיימת ב-I ניתן להוסיף אחריה עוד I. כלל אחר יכול להיות שמילה שכולל II, ניתן להחליף את הצמד II ב-MU. אגב, אפשר היה ליצור את המילה MIII באמצעות הכלל הראשון ואז להחליף II ב-U, כך שמתקבלות המילים MIU או MUI. כלל אחר יכול להיות שמילה שמסתיימת ב-U ניתן ליצור מילה שמשעתקת אותה (כלומר לכתוב שוב את אותה מילה, למשל ליצור מהמילה MU את המילה MUMU), או שמילה שיש בה UU ניתן למחוק את שני ה-U. אלו אינם הכללים שהופשטדטר מציג בחידה שלו, אלא רק דוגמאות לסוג הכללים שבו מדובר. אוסף המילים החוקיות בשפה הוא קבוצת המילים שניתן ליצור באמצעות הפעלת ארבעת הכללים הללו על המילה MI ועל כל מילה אחרת שנוצרת ממנה באמצעות הכללים הללו. לכן גם המילה MMU היא חוקית בשפה (מפעילים את הכלל הראשון שמראה שהמילה MII חוקית), ואחריו את הכלל השני (שמחליף את II ב-MU). החידה שמציג הופשטדטר היא לבדוק האם המילה MU היא חוקית (כזכור, הכללים שלו הם אחרים, לא אלו שהוצגו כאן. אל תנסו לפתור). קשה מאד להגיע לתשובה בדרך רגילה, והופשטדטר מוכיח אותה על ידי ניתוח של הכללים.
נעזוב לרגע את החידה של הופשטדטר, ונרחיב עוד קצת את היריעה. נוסיף כעת למשחק הזה גם כללי תחביר. הכללים הללו מורים לנו איך לבנות משפטים מתוך המילים החוקיות. יש דרכים מסוימות שמותרות ודרכים אחרות שאסורות (המשפט שיוצא אינו תקני, אינו בנוי כהלכה. חשבו למשל על אוסף המילים "הלך על סוס יוסי לרכב". זה משפט שאינו בנוי תקנית בעברית. אוסף מילים שאינו משפט). כעת כבר יש לנו ממש שפה, עם אלפבית, עם אוסף מילים ועם תחביר ודקדוק.
נשוב כעת מהמשפטים בחזרה למילים. טלו כעת את כל המילים החוקיות בשפה הזאת. האם ייתכן שקיים אוסף של כללי טרנספורמציה אחרים לגמרי שייצרו בדיוק את אותו סט של מילים חוקיות (ולא ייצרו אף אחת מהמילים הלא חוקיות)? אין סיבה לחשוב שלא. ומה על כללי התחביר? האם ייתכן שיהיה אוסף אחר של כללים שייצור את אותו סט של משפטים חוקיים בשפה? גם כאן אין סיבה לחשוב שלא. אם כן, אנחנו יכולים ליצור את אותה שפה באמצעות כללים אחרים לגמרי.
לאחר מכן הופשטדטר מציע דרך אחרת להסתכל על החידה שלו, ובאמצעותה להשתמש במחשב כדי לפתור אותה. חשבו על שלוש האותיות הללו כספרות. נניח ש-M מיוצג על ידי 3, I מיוצג על ידי 1, ו-U מיוצג על ידי 0. כעת יש לנו מערכת מספרים שכוללת את {3,1,0}. המילה MI תהיה כעת המספר 31. המילה MIU תהיה 310. כלל שמעביר אותי מהמילה MI למילה MIU יכול להיות מוצג גם בדרך אריתמטית: אם יש מספר שמסתיים ב-1 ניתן לכפול אותו ב-10. הכלל שמרשה להוסיף I למילה שמסתיימת ב-I יאמר בשפה הזאת: מספר שמסתיים ב-1 ניתן לכפול אותו ב-10 ולהוסיף 1. לכן 31 יכול להפוך ל-311. אתם יכולים לראות שכל כלל טיפוגרפי שמדבר על מחיקת והוספת צורות יכול להיות מיוצג כעת על ידי כלל אריתמטי שמדבר על פעולות חשבוניות על מספרים. ישנה התאמה מלאה בין שתי צורות ההתייחסות הללו. כעת ניתן להציג את החידה שלנו בפני מחשב ולשאול אותו האם המספר 30 (הייצוג של MU) נמצא בקבוצת המספרים שנוצרת על ידי הכללים הללו. זו שאלה מתמטית שמחשב יכול לנסות ולפתור. הוא יעשה זאת בלי להבין בכלל שמדובר במילים ושהשאלה עוסקת בחוקיות של מילה בשפה. כל זה לא מעניין אותו. מבחינתו זוהי בעיה במתמטיקה.
כעת חשבו על קבוצת אנשים שזו באמת השפה שלהם. למילים הללו יש משמעות מבחינתם, והם מדברים את השפה. מבחינתם יש כללי דקדוק שמורים להם אילו מילים הן חוקיות וכיצד מצרפים אותן למשפטים (כללי תחביר). כעת מציע מישהו מהם לבנות מחשב שייצור את המילים החוקיות בשפה אבל בדרך אריתמטית, ויתרגם את כללי הטרנספורמציה והתחביר לכללים אריתמטיים. המחשב ייצור משפטים ומילים בדיוק כמו האדם שהוא מחקה, אבל הוא עושה זאת בצורה שונה לחלוטין. אגב, המחשב יכול גם להשתמש במערכת דקדוקית אחרת לגמרי (ראינו למעלה שאין סיבה לשלול את קיומן של מערכות כאלה) ולתרגם אותה לאריתמטיקה. זה כמובן ייצור בדיוק את אותה שפה. מבחינת המחשב אלו רק אוסף של פעולות אריתמטיות ולא העברת מידע על ידי שפה. מי שישתמש במחשב יוכל לפרש את המספרים שהמחשב מדפיס כמילים ומשפטים בשפה ולהבין מתוכם מסרים שונים (שהמחשב כמובן לא "מתכוון" להעביר. המסר קיים רק במוחו של המשתמש, ואין לו קשר לפעולות שעשה המחשב). ניתן לומר שהמחשב פועל בדרך סינטקטית, כלומר צורנית, והאדם פועל בצורה סמנטית, כלומר מבחינתו אלו טענות שיש להן משמעות. אם כן, מה שמבחין את האדם מהמחשב הוא שבמחשב אין סמנטיקה אלא רק סינטקס. הוא מעביר מבנה אחד למבנה אחר, אבל עניין המשמעות לא קיים שם, אלא במוחו של המשתמש. עקרונית אני יכול אולי ליצור את המילים והמשפטים בשפה בכלל לא באמצעות תרגום אריתמטי של הכללים שתיארתי אלא באמצעות כללים אחרים לגמרי שייצרו את אותן מילים ואותם משפטים. מבחינת המחשב זה לא משנה כלום כל עוד נוצרות אותן מילים ואותם משפטים. אבל מבחינת האדם התחביר מייצג תוכן כלשהו שהוא רוצה לבטא. לכן כשהוא יבנה את המילים ואת המשפטים הוא יעשה זאת בהכרח באמצעות כללי התחביר ה"נכונים". יתר על כן, קבוצת אנשים אחרת שתשתמש בכללי תחביר וטרנספורמציה אחרים, תוכל לדבר את אותן מילים ואותם משפטים, אבל משמעותם תהיה שונה לגמרי (הסמנטיקה תהיה שונה, למרות שהסינטקס זהה). המחשב שישמש את אותה קבוצה יהיה אותו מחשב עם אותה תוכנה בדיוק. למחשב לא משנה באיזו סמנטיקה אתה מפרש את הפלט שלו. כל קבוצה תעשה עם הפלט שלו משהו אחר, אבל המחשב יפעל בדיוק באותה צורה עבור משתמשים משתי הקבוצות. זה ממחיש את ההבדל בין הסמנטיקה (המשמעות) לבין הסינטקס, כלומר מניפולציות צורניות על מילים או מספרים. חשבו על ראובן מקבוצה א שמשוחח עם שמעון מקבוצה ב, הם יכולים לנהל שיחה ערה כשאין שום קשר בין המשמעויות בתודעתו של ראובן לאלו שבתודעתו של שמעון (בדיוק כמו בעיית הערמון של הפילוסופים. ראו עליה בטור 251, בכל הסדרה 379 – 381 ובטור 399).
משמעות הדברים היא שהמחשב מייצר את הפלט שלו בצורות שאינן קשורות בשום מובן לדרך שבה האנשים חושבים או מדברים. ההקבלה בין המחשב לאדם היא בשלב הראשוני (הקלט) ובשלב האחרון שמותאם לקלט (הפלט), וכמובן בהתאמה ביניהם. המתאם הזה יישמר גם במחשב וגם אצל האדם. אבל הדרך שבה אנחנו עוברים מזה לזה שונה לחלוטין אצלנו ואצלו. וכפי שראינו הדרך היא חשובה, שכן היא מבוססת על ההבנה. אדם שמנתח בעיה או בונה משפט בשפה עושה זאת מתוך זיקה לתכנים ולמשמעותם. המחשב עושה זאת בדרך מכנית-צורנית, והמשמעות לא משחקת אצלו שום תפקיד. זו עוד זווית שבה ניתן לראות את ההבדל בין דרך הפעולה של המחשב לדרך פעולתנו כבני אדם. כאמור, זה מחזיר אותנו להבחנות בין שימוש למשמעות (ויטגנשטיין) ובין סמנטיקה לסינטקס שעלו בתחילת הטור הקודם. אחרי שאנחנו מבינים את אופן פעולתו של המחשב ניתן להבין טוב יותר את ההבחנות הללו.
דא עקא, כעת המצב מסתבך שוב. ישנן תוכנות חדשות שדווקא כן חושבות ממש לפי השלבים שמופיעים בחשיבה האנושית. כאן ההקבלה בינם לביננו כבר נראית ממש מושלמת. אין פלא שלגבי המכונות הללו אנשים רבים יותר סבורים שניתן לומר עליהן שהן ממש חושבות.
חשיבה בשלבים
העניין המחודש בכל השאלות הללו התעורר אצלי כעת בגלל סרטון שראיתי לא מזמן, שמסביר מה ההבדל בין מודל deepseek הסיני שיצא לשוק ממש כעת (כפי שכבר הוזכר למעלה), לבין המודלים הקודמים. הטענה היסודית היא שדיפסיק חושב ממש לפי השלבים שעוברת החשיבה האנושית (גם המודל החדש של chat gpt, שמכונה o1, עושה זאת). לאור מה שטענתי למעלה, זה נראה מפתיע. המכונה הזאת כן מנתחת את הבעיה ופותרת אותה באופן שיטתי, ולא רק יוצרת פלט שהוא במקרה התשובה הנכונה, מה שמעורר מחדש את שאלת ההבדל בינה לביננו. האם ניתן לומר שבמכונות הללו יש כבר משמעות והבנה ולא רק מניפולציות סינטקטיות?
כשראיתי את הסרטון ניסיתי לברר עם מישהו שמצוי בתחום קצת יותר פרטים על העניין. העליתי בפניו שתי אפשרויות לאופן פעולתה של מכונה כמו דיפסיק: 1. המכונה שלהם עוברת אימון רגיל, אלא שכשנותנים לה שאלה כלשהי ובודקים בקרביה את הדרך שבה היא מטפלת בה, מתברר להפתעתנו שהיא חושבת ממש לפי השלבים האנושיים (פשוט מפני שכך באמת הגיוני לטפל בבעיה). 2. המכונה עוברת אימון שונה ממה שתיארתי עד כאן. מכניסים לה שאלה מסוימת, אבל היא נדרשת לתת תשובה שונה: לא רק מה הפתרון הסופי לבעיה (כמו שתיארתי עד כאן), אלא את כל שרשרת השלבים בדרך לפתרון. אם היא לא ענתה נכון על שרשרת השלבים (כלומר זו לא שרשרת השלבים האנושית) בדרך לפתרון היא מקבלת פידבק שלילי, כלומר מעדכנים את המשקלות שלה. זוהי מכונה שהפלט המצופה ממנה אינו הפתרון לבעיה אלא כל הניתוח והפתרון בסופו. מאמנים אותה כדי שתוציא את הפלט הזה ולא רק את הפתרון הסופי. ניתן להמחיש זאת על ידי תלמיד שענה נכון על שאלה בחשבון בגלל שקיזז שתי טעויות. המכונות הקודמות שתיארתי יקבלו על מבחן כזה ציון 100, כי מה שנדרש מהן הוא התשובה הנכונה, והדרך לא משנה. לעומת זאת, המכונה הזאת תיכשל במבחן כי נדרשת ממנה גם הדרך ה'נכונה' (כלומר האנושית) ולא רק הפתרון.
מבירוריי עלה שהתשובה הנכונה היא 2. כבר בשלב האימון המכונה נדרשת להוציא את שלבי הניתוח ולא רק את הפלט הסופי. סתם מכונה שתאומן להוציא פלט נכון כמו שתיארתי למעלה, לא תעבוד לפי שלבי הניתוח האנושיים. המסקנה היא שאין כאן שום דבר שונה ממה שראינו קודם. עדיין המכונה מאומנת לביצוע המשימה הזאת, אלא שהמשימה אינה לפתור את הבעיה אלא למצוא את שלבי הניתוח האנושיים לפעול לפיהם ולהגיע לפתרון. זוהי משימה ככל משימה אחרת, והמכונה מטפלת בה באותה דרך מכנית שתיארתי עד כאן. בעצם מצאנו דרך לבנות מכונה שתחקה אותנו טוב יותר. לא רק שתגיע במקרה (אבל בדרכים אחרות מאיתנו) לפלט הנכון, כמו שתיארתי למעלה, אלא שתגיע אליו כמו שאדם מגיע אליו. ברגע שזה הפלט הנדרש באימון אנחנו כמובן מצליחים גם בזה. זו לא בעיה שונה מאימון של רשת למצוא פתרון לכל הבעיות שתיארתי למעלה. גם למצוא שלבי ניתוח אנושיים זה סוג של משימה שניתן לתת לה לבצע.
אמנם בסוג כזה של אימון קשה להגדיר מראש סט כללים אחד כדרך של פתרון של בעיה כלשהי. זה דורש הצגה כללית של דרך החשיבה האנושית. אבל משתמשים בכל מיני שיטות כמו חיזוק למפרע או ניבוי של סך הדרכים האפשריות וכדומה. כך או כך, זהו קושי של המתכנת ולא של המכונה. בשורה התחתונה המכונה הזאת אינה שונה מהמכונות שתיארתי למעלה.
עוד הערה צדדית, שנותנת לנו הבנה היכן טועים אלו שרואים במכונה כזאת חשיבה אנושית. המגיש בסרטון חוזר ואומר שהניתוח הזה מלמד אותנו איך מודלים כאלה פועלים/חושבים. אבל כעת תוכלו לראות שזו הצהרה מוטעית לחלוטין. הניתוח הזה לא מלמד אותנו שום דבר כזה. האכלנו את המכונה בכפית איך אנחנו חושבים, והיא אומנה לכך ולמרבה הפלא היא אכן 'חושבת' כמונו. הדרך שבה היא עצמה הייתה פועלת לולא האימון הזה, כלומר אם היינו דורשים ממנה באימונים רק את התשובה הנכונה, הייתה שונה לגמרי. חשבו על תוכנה קלסית (לא ai) שבנויה לענות לשאלה איך לגשת לפתרון משוואה (תוכנת מורה) לעומת תוכנה שבנויה לפתור את המשוואה (תוכנת מתמטיקאי). אין שום קשר ביניהן, והראשונה לא בהכרח מלמדת אותי על השנייה.
אם כן, בעצם לא גילינו כאן כלום, פרט לעצמנו. הכנסנו באימון את הדרך שבה אנחנו חושבים וגילינו את… הדרך שבה אנחנו עצמנו חושבים. לא למדנו שום דבר חדש על אופן פעולתן של המכונות עצמן. זה ממש מזכיר לי את פו הדב שראה עקבות בחול והלך אחריהן בכדי לגלות את היצור המסתורי שטבע אותן שם, ואז גילה שהוא הולך במעגלים ושאלו העקבות שלו עצמו.
מה עדיף? מבט נוסף על מכונות ובני אדם
אחרי שהתבררה לי דרך הפעולה של מודל דיפסיק, שאלתי את אותו אדם האם הדרך הזאת מביאה לתוצאות טובות יותר, לעומת הדרך שלא פועלת לפי שלבים. אסביר יותר את משמעות השאלה.
ישנן שתי גישות לתורת המשחקים: 1. מטרתה היא לחפש את הפתרון הנכון והיעיל ביותר לבעיה. 2. מטרתה היא לחפש את הדרך שבה פועל אדם שפותר את הבעיה (לחקות חשיבה אנושית). לפי גישה 1, תורת המשחקים היא ענף של המתמטיקה. לפי גישה 2, זה ענף של הפסיכולוגיה. ברור מאליו שזו לא רק שאלה פילוסופית. גם דרכי הפתרון לבעיה לפי שתי הגישות לא בהכרח תהיינה זהות. הרייש לבני אדם נקודות עיוורון, כלומר סוג משימות שבהן האדם, בגלל צורת החשיבה שלו, יפעל בצורה לא נכונה או לפחות לא יעילה. לפי גישה 1, תורת המשחקים תחפש את הפתרון היעיל והנכון ביותר (לאו דווקא האנושי), ואילו לפי גישה 2 נמצא פתרון של בני אדם, ואז לעתים זה לא יהיה הפתרון הכי טוב (כי יש לנו באג בחשיבה בסוג בעיות כזה).
אם נשוב אלינו, השאלה לגבי דיפסיק היא האם המכונה שמחפשת את הפתרון האנושי מגיעה גם לפתרון הכי נכון? האם היא יעילה ואפקטיבית יותר מהמכונות הישנות שלא פעלו בשלבים?מתברר שבמקרה שלנו דיפסיק נותנת גם את הפתרון הנכון יותר (כלומר קולעת לאמת באחוז גבוה יותר של המשימות). ראו על כך למשל כאן, לגבי מודל o1 של chat gpt (שמקביל לדיפסיק מבחינת האלגוריתם). מתברר שבפועל הוכח שהתוצאות של פעולה בשלבים (כלומר מכונה שמחקה אותנו) הרבה יותר טובות מאשר תוצאות של מכונה שפועלת בדרך הישירה (לא כמו בני אדם).
אם כן, לא רק שהמכונה שפועלת בשלבים לא קרובה יותר להיות אדם, אלא הניתוח הזה מראה לנו בצורה חדה עוד יותר את ההבדלים ומערער עוד יותר את ההשוואה בין המכונה לבין אדם. ראינו שהמכונה לא מתחרה באדם ולא מגיעה בעצמה לדרך הפתרון האופטימלית. אם אנחנו בונים אותה באופן שמחקה אותנו, היא פותרת את הבעיה בצורה הכי טובה. כלומר בנינו כאן מכונת חיקוי. נכון שלא עשינו זאת בדרך של העתקת מוח אנושי אחד לאחד, אלא בדרך עקיפה של אימון של רשת נוירונים לפי המון מידע ודוגמאות, ועדיין זו רק דרך עקיפה לבנות חיקוי של אדם. בסוף בסוף, מדובר במכונה שאולפה לעשות מה שאנחנו עושים, סוג של תוכי, ורק בגלל זה היא מגיעה לתוצאות הטובות ביותר. לולא זה הביצועים שלה היו ירודים יותר.
אם כן, קשה לקבל שגם במודלים המתוחכמים הללו יש משהו אנושי. ראינו שהפעולה בשלבים מעוררת את הספק בצורה חדה יותר, אבל ההבנה של משמעות הדרך שבה משיגים את השלבים הללו מעידה שמבחינת היחס בין אדם למכונה אנחנו עדיין באותו מקום. זהו בעצם מכשיר שבנה אדם לפי הלוגיקה האנושית רק יותר מהיר ומדויק. לא שונה מהותית מתוכנה קלסית. הרבה פחות מאיים על הגדרת האדם ומותר האדם. כפי שנראה בסיכום, הפעולה בשלבים אפילו מחדדת יותר את ההבדל בין אדם למכונה.
אנלוגיה לוויכוח על האבולוציה
הניתוח הזה של הפעולה בשלבים, מקביל לטיעון שהעליתי בוויכוח על אלוהים והאבולוציה. כידוע, המאמינים טוענים שלא סביר שהעולם המשוכלל שלנו נוצר בלי יד מכוונת (זהו הטיעון הפיזיקו-תיאולוגי). הדבר דומה לקופים שקופצים על מקלדת ויוצאת סונטה של שייקספיר. הם טוענים שהסיכוי לקבל דבר כזה בלי יד מכוונת הוא אפסי, והוא הדין ליקום שלנו ובפרט לחיים. לכן ברור שיש יד מכוונת, כלומר יש אלוהים. רבים מהניאו דרוויניסטים מביאים כטיעון נגד (פירכא) את הניסוי הבא. תנו לתוכנת מחשב להגריל באופן אקראי 14 אותיות בזו אחר זו. מה הסיכוי שיתקבל הביטוי השייקספירי הידוע (מהמלט) "להיות או לא להיות" (הניסוי נערך על הביטוי בלי הרווחים)? אפסי ממש. מחשב שיגריל 14 אותיות בכל פעם לא יצליח להגיע לצירוף הזה במשך אלפי שנים. לעומת זאת, אם נותנים למחשב להגריל אות אחת וכשהוא מגיע לאות למ"ד עוצרים ועוברים להגרלה של האות הבאה. כשהוא מגיע לה"א עוצרים ועוברים לאות הבאה, עד שנבנה הצירוף "להיותאולאלהיות". במקרה כזה הניסוי יסתיים תוך זמן קצר למדיי (לא שאני מבין מדוע נדרש לזה ניסוי. זה חישוב פשוט שאפשר לעשות על הנייר. זה כמו ניסוי שיבדוק האם סכום הזוויות במשולש הוא 180 או האם קובייה הוגנת אחרי הרבה מאד הטלות תיפול על 5 בשישית מהפעמים). המסקנה, טוענים הניאו דרוויניסטים, היא שכשיש חוקי טבע ששולטים על העולם ויוצרים תהליך אבולוציוני אזי הסיכוי להיווצרות חיים עולה פלאים, כלומר הזמן שייקח לחיים להיווצר באופן מקרי הוא קצר יותר מאשר בסתם הגרלה בוואקום (בלי חוקי טבע). הניסוי הזה מוצג כהדגמה לטענתו של דוקינס נגד הטיעון הפיזיקו-תיאולוגי, שלפיה המאמינים אינם מבינים שחוקי האבולוציה "ממתנים את שיפועו של ההר הבלתי סביר".
בספרי אלוהים משחק בקוביות הסברתי מדוע הטיעון הזה אווילי. לא רק שהוא לא פורך את הטיעון הפיזיקו-תיאולוגי אלא הוא מהווה הדגמה מצוינת לטיעון עצמו. מה שקרה בניסוי השני הוא שהמתכנת כיוון את התהליך ולכן הוא נעשה אפשרי. כלומר שבלי מעורבות של המתכנת זה באמת היה שיפוע בלתי סביר, אלא שהייתה מעורבות אנושית שמיתנה אותו. לא המכונה עשתה את התוצא הזאת אלא האדם שתכנת אותה. בסופו של דבר, זו לא הייתה היווצרות מקרית של שרשרת האותיות אלא הייתה מעורבת שם יד מכוונת (ידו של זה שכתב את התוכנה הוביל את התהליך ליעד המכוון מראש: ליצור את הצירוף "להיותאולאלהיות"). הוא הדין למקרה של האבולוציה. גם שם חוקי הטבע (כלומר האבולוציה) לא באמת מהווים ערעור על הטיעון הפיזיקו-תיאולוגי. אלוהים שיצר את חוקי הטבע יצר אותם באופן כזה שהתהליך הבלתי אפשרי של היווצרות מקרית של חיים, נעשה אפשרי בזכותם. החוקים מכוונים את התהליך ומאפשרים לחיים להיווצר בסיכוי סביר ובזמן סביר. פירוש הדבר שהיווצרות החיים מוכיחה שהיה מישהו שיצר את החוקים הללו, וזהו בדיוק הטיעון הפיזיקו-תיאולוגי. האבולוציה אינה תחליף לאלוהים, אלא הדגמה מצוינת לקיומו, שכן בלי שהייתה כאן יד מכוונת הסיכוי של אבולוציה מקרית לגמרי ליצור חיים הוא אפסי.
בעבר ניסחתי זאת כך: הטיעון הפיזיקו-תיאולוגי אינו טיעון 'בתוך החוקים' אלא 'מחוץ לחוקים'. השאלה שבבסיס הטיעון אינה כיצד נוצרו החיים (בהינתן החוקים ובמסגרתם), שעל כך עונה האבולוציה, אלא כיצד נוצרו החוקים שאפשרו את האבולוציה ואת היווצרות החיים, וזו שאלה פילוסופית שלא קשורה בשום צורה למחקר מדעי ולתורת האבולוציה. ובמשל, השאלה היא איך נוצרה התוכנה, ולא איך נוצרה שרשרת האותיות על ידי התוכנה.
שימו לב שזהו בדיוק מה שקורה באימון של רשת AI לפעול לפי שלבים. המתכנת גורם לתהליך שלא היה קורה לבד להתרחש על ידי זה שהוא מכתיב למכונה כיצד לפעול (והוא עושה זאת על ידי פירוק התהליך לשרשרת של שלבי חשיבה עוקבים, כלומר הפירוש לשלבים גורם למיתון השיפוע הבלתי סביר). לכן גם כאן המסקנה היא שהמכונה אינה אלא ידו הארוכה של המתכנת, ובלעדיו היא לא באמת הייתה מצליחה לבצע את המשימה. מוזר מאד לטעון שאם המכונה מצליחה לבצע את המשימות שעושים בני אדם אז גם היא אדם שלם בפני עצמה. הטיעון הזה מתעלם מהעובדה שהמכונה עושה זאת רק בגלל מעורבותה של יד האדם שמכוונת את התהליך הזה ומחוללת אותו. המכונה אינה באמת מקרית (כמו שהאבולוציה אינה באמת עיוורת), שכן היא פועלת תחת הכוונה של יד אנושית (מה שבמקרה של האבולוציה עשתה היד האלוהית).
הטיעון הזה עולה ונדחה באותה צורה גם לגבי מכונה מהדור הקודם, כלומר כזאת שפועלת ישירות ולא בשלבים. גם מכונה כזאת מגיעה להישגים מופלאים (כזכור, גם היא עוברת את מבחני טיורינג), ולכן כבר שם יש שרוצים להתייחס אליה כאדם. אבל כפי שראינו האימון הוא שיצר את היכולת של המכונה הזאת לפעול (המידע שהוכנס אליה בתהליך האימון והפידבקים שהיא מקבלת), לכן בעצם הייתה יד אדם מעורבת בפעולת המכונה. המכונה אינה מתחרה באדם אלא מבצעת את מה שהוא מכניס לתוכה ומכתיב לה (גם אם באופן עקיף). לגבי מכונה שפועלת בשלבים, ראינו שהיא מגיעה לתוצאות טובות יותר מהמכונה הקודמת, וכשאנחנו מבינים שזה רק מפני שהיא מחקה באופן מדויק וצמוד יותר את חשיבתו של האדם (של המתכנת שלה), הדבר מדגים בצורה חדה עוד יותר מדוע אין בסיס להתייחסות אליה כאל אדם. זו פעולה אינטנסיבית יותר של האדם באמצעות המכונה, ולכן ההישגים כאן משתפרים. היא פשוט מחקה אותנו יותר טוב ולכן מצליחה יותר.
המסקנה היא שהמכונות הללו הן חקיינים שמאולפים על ידי בני אדם לעשות את מה שהם עושים, הגם שהאילוף במקרה זה הוא עקיף, שלא כמו במחשב עם חישוב קלסי שתואר בטור הקודם. אין הבדל מהותי בין המכונות החדשות הללו לבין מחשבים שפועלים בצורות הישנות, וקשה לקבל את הטענה שמדובר בבני אדם או אפילו בחשיבה אנושית.
לקח כללי: עד כמה אפשר לדון בסיטואציות היפותטיות
במבט אחורה ניתן לראות שלמרות שהמכונות הללו עוברות לגמרי את מבחן טיורינג (כל אחד מאיתנו ששוחח עם מודל כזה יכול להעיד על כך), הספק האם מדובר באדם עדיין בעינו. לדעתי הדיון כאן מראה בבירור שאין אפילו ספק ממשי בעניין. לסיום רציתי להראות שהדיון הזה מלמד אותנו לקח כללי יותר.
מבחינת טיורינג, מצב שבו מכונה עוברת את המבחן שלו היה בגדר מדע בדיוני. הוא לא היה יכול לדמיין מצב כזה אלא בדמיונו הפרוע ביותר. הוא קבע קביעה שנשמעה מאד הגיונית בזמנו, ולפיה מחשב שיעבור את המבחן שלו הוא בעצם אדם. אבל כשהגענו בפועל למצב הזה וחווינו אותו באופן בלתי אמצעי (כיום כולנו משוחחים עם המכונות הללו) מתברר לנו שהקביעה הזאת מופרכת בעליל. משמעות הדבר היא שעלינו להיזהר בהסקת מסקנות לגבי מצבים שנדמה לנו שאנחנו מבינים אותם כל עוד לא חווינו אותם באופן בלתי אמצעי. טיעונים וניסויים מחשבתיים הם כלי מצוין, אבל בבחינת כבדהו וחשדהו.
דוגמה יפה לכך היא החדר של מרי. בכמה טורים בעבר (למשל 142, 446, 452, 493, 662, 686 ועוד) הסקתי ממנה מסקנות דומות, בין היתר לגבי פסיקת הלכה בסיטואציות שרחוקות מאד מעולמו של הפוסק (כמו בשואה). טענתי הייתה שאסור לפוסק להכריע בשאלות שעוסקות בסיטואציות שרחוקות מעולמו, כלומר שהוא לא יכול לדמיין את החוויה של מי שחי בסיטואציה. הבנה תיאורטית מנותקת, גם אם מדובר בידע מוחלט ומיומנות ניתוח מושלמת וגאונית, לא מספיקה כדי לפסוק הלכה. הוא הדין לגבי שאלות על משמעותם של קורבנות. לא פעם נשאלתי האם אני מייחל לבניית המקדש, ועניתי שממש לא. אין לי שום רצון לראות כוהנים טובחים עדרי בהמות בעזרה ומבוססים שם עד ארכובותיהם בדם. זה ממש לא חלום חיי. אבל הוספתי שאי אפשר לקבוע עמדה לגבי מצב כזה עד שלא נחווה אותו. ייתכן שכשנחיה בתקופה שבה יהיה מקדש ויהיו קורבנות, נבין שזה תורם משהו לממד הרוחני והדתי של חיינו שאין לנו יכולת לתפוס אותו בעולם שבו אנחנו חיים כעת. לכן לדעתי לא ראוי לקבוע עמדה נחרצת בעניין.
זוהי דוגמה נוספת לאותו לקח שכדאי להסיק גם לגבי מכונות ובני אדם. טוב וחשוב לחשוב מראש על סיטואציות ועל בעיות כאלה, גם לפני שפגשנו אותם. זה חלק מההכנה הדרושה לקראת המפגש הזה. זוהי עתידנות, ויש לה ערך כלשהו (לא 'הדיסציפלינה האקדמית', עאלק, כמו דוד פסיג. זהו כישוף חסר כל ערך. ראו על כך למשל בטור 88 ו-663), אבל צריך מאד להיזהר ביחסנו למסקנות שעולות מחשיבה כזאת. כל עוד לא חווינו משהו באופן בלתי אמצעי, כל עוד העתיד הזה לא הגיע בפועל, לא נכון לגבש לגביו עמדה נחרצת. יש משהו מאד משמעותי במגע בלתי אמצעי עם הסיטואציה, הרבה מעבר להבנה מופשטת ותיאורטית שלה.
בשני הטורים האחרונים עסקתי בשאלה האם המכונה היא אדם. המסקנה היא שהמכונה היא מכונה ולא אדם. אבל זה כמובן מניח שמדובר באמת בשני יצורים שונים. בטור הבא אעסוק בשאלה ההפוכה, שאינה מעניינת פחות ובעצם עולה מתוך אותם הקשרים עצמם: האם אדם הוא מכונה. ההישגים של המכונות החדשות מעוררות שאלה האם ההבחנה הבסיסית שלנו בין אדם למכונה בכלל קיימת. אולי האדם אינו אלא מכונה משוכללת (מחשב ביולוגי, כלומר מחשב שהחומרה שלו עשויה מבשר ודם), מה שעשוי לייתר את הדיון בשני הטורים האחרונים (שכאמור הניח שאלו שני יצורים שונים).
[1] זוהי רשת חד ממדית. יכולה להיות רשת בכל ממד שתרצו (במצב קשרים כזה לא באמת מדובר על רשת חד ממדית כמובן. ניתן היה לצייר זאת כרשת דו ממדית שהקשרים עוברים גם באותה שורה וגם משורה לשורה).
האדם הוא לא מכונה כי יש לו רגשות ואידך חפירות
תודה רבה על הטורים!
האם (ע"פ ההבדל שהצגת) אפשר לחשוב על פעולות שבהם בני האדם יהיו טובים יותר תמיד (ע"פ המודל הקיים עכשיו)?
זה הנושא של טורים 590-2. אין לי דרך לענות על זה באופן ברור.
האם זה שהאדם הוא בעצם מי שחשב זה האדם ורק האכיל בכפית את המכונה (בצורה עקיפה וכו) אומר שרק האדם יכול לחדש חידוש אמיתי? (כי בעצם הבינה תמיד בנויה על החומר הקיים ורק יכולה לשכלל אותו עוד ועוד)
זה נושא הטור הבא (697)
האם יש לדעת הרב יש מקצוע שתמיד יצטרכו בו אדם? (לפחות בפוטנציה)
לא יודע