בתשובה לירדן ניר-בוכבינדר, 29/03/18 15:11
תשע (מליון) בכיכר ביום שישי 698298
האמת היא שאני יודע בערך כלום על רשתות נוירונים, עמוקות או רדודות, אבל דומני ש-AlphaGo, DeepBlue ו-Watson אינן בדיוק אותה ארכיטקטורה/תוכנה.

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

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

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

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

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

אני לא חושב שמישהו יודע לומר משהו אינטליגנטי על "רשתות שמחוברות זו לזו בעל-רשת".
תשע (מליון) בכיכר ביום שישי 698324
תודה.

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

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

חקסמח.
תיקון 698326
צ"ל: "אחרי ששלחתי את השאלה...".
תשע (מליון) בכיכר ביום שישי 698333
משפט ששמעתי משני מרצים שונים על רשתות עצביות, אבל אני לא יודע לנמק אותו לעומק, הוא שהקשר בינן לבין המוח האנושי הוא משהו שבהתחלה חשבו שקיים, או שהיה השראה עמומה, אבל היום אף אחד לא חושב ברצינות שזה דומה.
תשע (מליון) בכיכר ביום שישי 699823
אולי זה עומד להשתנות
תשע (מליון) בכיכר ביום שישי 707809
אם למישהו יש שעתיים להשקיע בראיון פוקח עיניים בשאלה זאת, אני בהחלט ממליץ.

אחחח, אילו הייתי היום בן 21...
תשע (מליון) בכיכר ביום שישי 707810
אילו היית היום בן 21...? מה? מה היית עושה? אל תשאיר אותי במתח.
תשע (מליון) בכיכר ביום שישי 707812
זה לא ברור מנוסח ההודעה? הייתי הולך ללמוד מדעי המוח.
תשע (מליון) בכיכר ביום שישי 707816
למד מדעי המוח לפני שמדעי המוח ילמדו עליך
תשע (מליון) בכיכר ביום שישי 707811
גם אני במתח. אנא ספר.
תשע (מליון) בכיכר ביום שישי 698445
או, עוד מישהו שמכיר את הסרטונים של 3blue1brown! הבנאדם גאון פדגוגי-מתמטי. סידרת הסרטונים שלו על אלגברה לינארית פתחה לי כמה צ'קרות.
תשע (מליון) בכיכר ביום שישי 698447
באמת משובח!

ועכשיו אני סקרן לדעת - איך מכינים אנימציה שכזאת בתקציב סביר?
תשע (מליון) בכיכר ביום שישי 698450
הכל אצלו מתוכנת בפייתון (!), ואפשר להוריד את כל הקוד מ-github, לגמרי בחינם. הוא לא רק גאון אלא גם נשמה טובה (ואני גאה לתמוך בו ב-patreon).
תשע (מליון) בכיכר ביום שישי 698452
באמת יפה מאוד!
תשע (מליון) בכיכר ביום שישי 712059
ביום שיותר אנשים יידעו מי זה גראנט סנדרסון מאשר מיהו דני סנדרסון נדע שהמשיח הגיע. ולא שיש לי משהו נגד דני סנדרסון.
תשע (מליון) בכיכר ביום שישי 712066
תנוח דעתך, הדור הצעיר לא יודע מי זה דני סנדרסון, כך שזה נעשה קל יותר משנה לשנה.
תשע (מליון) בכיכר ביום שישי 712070
לערוץ שלו יש 2.3 מיליון עוקבים. אני לא אתפלא אם היום שהזכרת כבר הגיע.
תשע (מליון) בכיכר ביום שישי 712071
:-)

שכחתי את קיומם של 7 מיליארד גויים ימ"ש.
תשע (מליון) בכיכר ביום שישי 698325
למה אתה מתכוון בזה:

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

קצת מוזר לי בהנתן שסוגים מסויימים של רשתות הן turing complete, אני מניח שהנקודה המעניינת היא ײבקלותײ. אתה יכול להרחיב?
תשע (מליון) בכיכר ביום שישי 698334
אני לא בטוח למה הכוונה ברשתות שהן טיורינג-שלמות. אם אתה רוצה תפרט, אבל בכל מקרה, אין לנו אלגוריתם להוכחת משפטים במתמטיקה או לתכנות ברמה שמתחילה אפילו לדגדג בני אדם (מומחים), אז מה עוזר אם רשת עצבית היא טיורינג-שלמה?

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

הוספתי "בקלות" כי אם מתעלמים מבעיות סיבוכיות או רמות אבסטרקציה אז זה קל. רוצה תוכנית שמסדרת רשימת מספרים, או תוכנית למשחק אנגרי בירדז? קל מאוד כבעיית סיווג: ייצר הרבה תוכניות אקראיות (או אפילו בצורה חצי-אינטליגנטית עם היורוסטיקות), תן למתכנת (או לקוד מחשב שאינו רשת עצבית) לסווג אותן ל"תוכנת אנגרי בירדז"/"לא תוכנת אנגרי בירדז". מצא פרמטרים רלוונטיים‏1 והזן לתוכנת רשת עצבית. אמן את הרשת העצבית, וכשהיא מוכנה הזן לתוכה עוד יותר הרבה תוכניות אקראיות. ברגע שהיא תודיע על אחת מהן "אה, זו בהסתברות גבוהה תוכנת אנגרי בירדז", עצור. הנה קיבלנו מערכת מחשב שעיקרה רשת עצבית והיא מתכנתת אנגרי בירדז (בסבירות גבוהה).

1 מה הבעיה למצוא פרמטרים רלוונטיים? כזכור, אני מתעלם מבעיות סיבוכיות או רמות אבסטרקציה, אז לצורך העניין נתייחס לקוד המחשב בקלט כמחרוזת של תווים. הפרמטרים הרלוונטיים הם (1) התו הראשון במחרוזת, (2) התו השני במחרוזת, (3)...
כן, אני יכול לחשוב בעצמי על האופטימיזציה המופלאה של להתייחס ל-tokens בשפת התכנות במקום לתווים.

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

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

אבל אם מדובר בהוכחת משפטים ספציפיים במתמטיקה, זה דווקא תחום מאד וותיק במדעי המחשב ועם הישגים (כלומר, הצליח להוכיח משפטים שבני אדם לא הצליחו). לגבי הקשר של רשתות עצביות לתחום: אני משאיר כאן קישור למאמר שהכותרת שלו היא Deep network guided proof search.

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

בהקשר לײאפטמום המהלך הבאײ - אם אני חושב על machine learning ועל תת התחום supervised learning - הוא נשמע לי כמו בעיית אופטימזציה קלאסית. יש לך אוסף כלים כלשהו (לוח וגיר, דוגמאות אימון, פרמטרים של רשת הניורונים, מה שתרצה) ובעזרתם אתה צריך לגרום לתלמיד לקבל ציון כמה שיותר טוב - ותוך זמן סביר. כלומר אתה צריך לבחור בתבונה מה הכלי הבא אותו אתה מפעיל. דווקא נשמע לי מתבקש להשתמש ברשת נירונים כדי לתכנת (כלומר לאמן) תוכנות אחרות.
תשע (מליון) בכיכר ביום שישי 698340
אפטום המהלך הבא הוא אחד מסוגי הבעיות שהתחייסתי אליהן כבעיות מתאימות לרשת נוירונים.
תשע (מליון) בכיכר ביום שישי 698341
אבל התייחסת לתכנות כאל בעיה בלתי מתאימה.
הראיתי איך היא כן - אפשר להשתמש ברשתות ל supervised learning
תשע (מליון) בכיכר ביום שישי 698353
אז לא הבנתי את כוונתך, ואני עדיין לא. "עבודה של מתכנת" היא (לצורך העניין) קבלת מפרט לתוכנה בשפה אנושית, והפקת קוד מחשב שיבצע את המפרט. האם אתה יכול להראות איך מגיעים באמצעות למידה מפוקחת לרשת נוירונים שתעשה את זה?
תשע (מליון) בכיכר ביום שישי 698357
''מפרט לתוכנה בשפה אנושית'' הוא להבנתי בעיית בינה כללית.
''מפרט למסווג שיודע לזהות הונאות כרטיס אשראי בהתבסס על אוסף דוגמאות'' הוא בעיני גם בעיה תכנות, רק בעייה ספציפית שבעבר העסיקה מתכנתים אנושיים. וכאן יש אלגוריתם שמשאיר אבק למתכנתים אנושיים.
תשע (מליון) בכיכר ביום שישי 698359
אוקיי, ברור. כשכתבתי ''משימות תכנות לא ניתנות בקלות לרדוקציה לאחד משלושת סוגי הבעיות שרשתות עצביות יודעות עקרונית לעשות.'' לא התכוונתי שאף משימת תכנות אינה ניתנת וגו' - הרי כל רשת עצבית פותרת משהו שאפשר היה לממש (פחות טוב) כמשימת תכנות קלאסית. התכוונתי שמגוון משימות התכנות שמתכנת אנושי ממוצע יכול לעשות לא ניתן וגו'.

חזרה לעמוד הראשי המאמר המלא

מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים