|
||||
|
||||
אני לא בטוח אם שלוש השנים הבאות מיוחדות, אבל שלוש השנים הקודמות (מאז שיחתך עם חברך) ראו קפיצות מדרגה בפתרון בעיות דומות (ר' אבחון באמצעות רשתית בתגובה של צפריר). צריך אולי להבהיר שה"הבטחה" שלי היא שמחשב יהיה טוב כמו מיטב המומחים האנושיים, ויותר טוב ממרבית המומחים. להבטיח שהוא יהיה יותר טוב ממיטב המומחים זה כבר סיפור אחר. זה אפשרי רק אם אתה מלמד את המחשב לא לפי תיוגים של מומחים אלא לפי מה קרה לפציינט בסוף (אבל אז אני מניח שהזיהוי לא יהיה של סוג הסרטן, אלא רק "מצב קטלני/מצב יציב בהינתן טיפול X"). אבל זה אולי יותר קשה, לפחות מבחינת השגת הנתונים. במקרה עוד יותר קיצוני, שאולי אתה רומז אליו בביקורת של החבר שלך על הפתולוגים, פשוט אין אינפורמציה של ממש שמקודדת במראה התאים במיקרוסקופ - ואז זו בעיה. במילים אחרות, אני לא חושב שמחשב יכול להיות טוב באסטרולוגיה. אבל זיהוי סרטן ממורפולוגיה של תאים היא אלף בית של אונקולוגיה, לא? |
|
||||
|
||||
תזכורת: לפני שלוש שנים אלוף העולם במשחק גו היה בנוי מתרכובות פחממניות, וכמעט כל המומחים ניבאו שזה לא הולך להשתנות בקרוב. מאז לא רק שהוא הוכה, גם התוכנה שניצחה אותו - AlphaGo - הובסה מאז בתוצאה 100:0 ע"י גירסה מתקדמת יותר שלה, שלא מתבססת על לימוד של משחקים של בני אדם. המצב שונה מפתולוגיה כי במקרה של גו קל לדעת אם ניצחת או הפסדת בכל אחד מטריליון המשחקים שאתה משחק נגד עצמך, אבל אני חושב שיש מספיק מידע על מהלך המחלה של חולים כדי להשאיר מקום לאופטימיות. שאלה למבינים: האם יש קושי עקרוני להפעיל את השיטות הקיימות של deep learning על הבעיה של תכנון רשתות טובות יותר, או שהסינגולריות כבר (כמעט) כאן? |
|
||||
|
||||
למה בדיוק אתה מתכוון ב"תכנון רשתות טובות יותר"? אני חושב שברוב הבעיות האתגר הוא לא תכנון הרשת - רשת עצבית הוא דבר גנרי למדי - אלא הניסוח המתאים של הבעיה, מציאת דוגמאות הלימוד, סטנדרטיזציה שלהן, תיוגן על-ידי אנשים, וכן הלאה - בזה יש עוד עבודה לאנשים כמה וכמה שנים. בעצם אלו בכלל לא בעיות למידה. |
|
||||
|
||||
האמת היא שאני יודע בערך כלום על רשתות נוירונים, עמוקות או רדודות, אבל דומני ש-AlphaGo, DeepBlue ו-Watson אינן בדיוק אותה ארכיטקטורה/תוכנה. אולי צריך לשאול שאלה אחרת: האם יש הוכחה שרשת נוירונים גדולה אחת יכולה לעשות כל מה שהרבה רשתות שמחוברות זו לזו ברשת-על יכולות, ובאותו סדר גודל של מספר חישובים? אני שואל כי המוח שלנו בטח דומה יותר לארכיטקטורה השניה. טוב, אני עומד לשמוע את מיכאל גלעד, אולי לפני שהוא מתחיל לכפול וקטורים מימין ומשמאל אצליח להבין משהו. |
|
||||
|
||||
כשאתה מדבר על "מה יכולה רשת נוירונים לעשות" אני לא מבין. אני אסביר מה אני כן מבין (ההשכלה שלי היא לא הרבה מעבר לאותה סדנה בת יומיים, ששילבה תיאוריה עם פרקטיקה). לרשת נוירונים נתונה יש מספר נתון של נוירונים במספר נתון של שכבות. בהתחלה היא לוח חלק. ואז מאמנים אותה על הרבה קלטים, כולם מאותו סוג, במטרה לטפל ממש ממש טוב בקלטים דומים. בסוף מקבלים רשת מאומנת, שעושה (בשאיפה) ממש טוב את אותה משימה מצומצמת. זה הסוג הנפוץ ביותר של רשתות עצביות, ומה שהוא יודע לפתור זה בעיות סיווג (איזה סוג מכונית בתמונה), או מתן ציונים (עד כמה הפודל הזה יפה). יש סוג אחר, דוגמת אלפא גו, שיודע לפתור את הבעיה "מה המהלך הבא האופטימלי". ויש סוג שלישי, שמזינים לו קלטים בלי לתת להם ציונים, והוא מצליח אולי לזהות בהם תבניות (אבל לא לומר בעצמו משהו סמנטי עליהן). בכל הסוגים, רשת נתונה שעברה אימון יודעת לפתור בעיה אחת מצומצמת ומוגדרת. חשוב לשים לב שחלק מהמשימות שהמוח האנושי עושה לא ניתנות בקלות לרדוקציה לאחד משלושת סוגי הבעיות שרשתות עצביות יודעות עקרונית לעשות. אני לא מדבר אפילו על רגש או על תכלית, אלא למשל על הוכחת משפטים במתמטיקה, או משימות תכנות. חזרה למונחים שדיברת עליהם: כשאתה שואל "מה יכולה רשת הנוירונים לעשות", השאלה אם אתה מדבר על רשת בתולה (יש לה פוטנציאל מגוון מאוד, אבל בינתיים היא לא יכולה לעשות כלום), או על רשת מאומנת (יכולה לעשות מצוין (לפעמים) משהו אחד מצומצם). בכל הסוגים, יש סיכוי מסוים שרשת עם יותר נוירונים ביותר שכבות תצליח יותר טוב (אני מנחש שאין לזה הוכחה, כי לא יודעים להוכיח כלום ברשתות עצביות. אני מניח שבקירוב מסוים זה נכון, הסתברותית). אני לא חושב שמישהו יודע לומר משהו אינטליגנטי על "רשתות שמחוברות זו לזו בעל-רשת". |
|
||||
|
||||
תודה. אחרי ששלחת את השאלה עלתה במוחי המחשבה הטריביאלית שבעצם רשת אחת גדולה מכילה באופן אינהרנטי "הרבה רשתות שמחוברות ברשת-על" (פשוט ע"י איפוס הפרמטר של עוצמת הקשר בין הנוירונים מרשת אחת לאחרת) בכל רמה או בחלק מהן, כך שהשאלה שהעליתי אולי די מטופשת. עדיין יש לי הרבה שאלות בעניין, בעיקר בשאלות הקשר בין רשתות נוירונים לבין דפוס הפעולה של המוח (מערכת הראיה מן הסתם פועלת די דומה לר"נ, אבל כפי שציינת ייתכן שהמצב שונה לגמרי לגבי פעולות חישוביות אחרות) אבל חושבני שלא אטריד בכך את הציבור עד שלא אבין קצת יותר בעצמי, אם בכלל. למעונינים, לדעתי סדרת הסרטונים שמתחילה כאן מהווה נקודת פתיחה טובה. חקסמח. |
|
||||
|
||||
צ"ל: "אחרי ששלחתי את השאלה...". |
|
||||
|
||||
משפט ששמעתי משני מרצים שונים על רשתות עצביות, אבל אני לא יודע לנמק אותו לעומק, הוא שהקשר בינן לבין המוח האנושי הוא משהו שבהתחלה חשבו שקיים, או שהיה השראה עמומה, אבל היום אף אחד לא חושב ברצינות שזה דומה. |
|
||||
|
||||
אולי זה עומד להשתנות |
|
||||
|
||||
אם למישהו יש שעתיים להשקיע בראיון פוקח עיניים בשאלה זאת, אני בהחלט ממליץ. אחחח, אילו הייתי היום בן 21... |
|
||||
|
||||
אילו היית היום בן 21...? מה? מה היית עושה? אל תשאיר אותי במתח. |
|
||||
|
||||
זה לא ברור מנוסח ההודעה? הייתי הולך ללמוד מדעי המוח. |
|
||||
|
||||
למד מדעי המוח לפני שמדעי המוח ילמדו עליך |
|
||||
|
||||
גם אני במתח. אנא ספר. |
|
||||
|
||||
או, עוד מישהו שמכיר את הסרטונים של 3blue1brown! הבנאדם גאון פדגוגי-מתמטי. סידרת הסרטונים שלו על אלגברה לינארית פתחה לי כמה צ'קרות. |
|
||||
|
||||
באמת משובח! ועכשיו אני סקרן לדעת - איך מכינים אנימציה שכזאת בתקציב סביר? |
|
||||
|
||||
הכל אצלו מתוכנת בפייתון (!), ואפשר להוריד את כל הקוד מ-github, לגמרי בחינם. הוא לא רק גאון אלא גם נשמה טובה (ואני גאה לתמוך בו ב-patreon). |
|
||||
|
||||
ביום שיותר אנשים יידעו מי זה גראנט סנדרסון מאשר מיהו דני סנדרסון נדע שהמשיח הגיע. ולא שיש לי משהו נגד דני סנדרסון. |
|
||||
|
||||
תנוח דעתך, הדור הצעיר לא יודע מי זה דני סנדרסון, כך שזה נעשה קל יותר משנה לשנה. |
|
||||
|
||||
לערוץ שלו יש 2.3 מיליון עוקבים. אני לא אתפלא אם היום שהזכרת כבר הגיע. |
|
||||
|
||||
:-) שכחתי את קיומם של 7 מיליארד גויים ימ"ש. |
|
||||
|
||||
למה אתה מתכוון בזה: ײחשוב לשים לב שחלק מהמשימות שהמוח האנושי עושה לא ניתנות בקלות לרדוקציה לאחד משלושת סוגי הבעיות שרשתות עצביות יודעות עקרונית לעשות. אני לא מדבר אפילו על רגש או על תכלית, אלא למשל על הוכחת משפטים במתמטיקה, או משימות תכנות.ײ קצת מוזר לי בהנתן שסוגים מסויימים של רשתות הן turing complete, אני מניח שהנקודה המעניינת היא ײבקלותײ. אתה יכול להרחיב? |
|
||||
|
||||
אני לא בטוח למה הכוונה ברשתות שהן טיורינג-שלמות. אם אתה רוצה תפרט, אבל בכל מקרה, אין לנו אלגוריתם להוכחת משפטים במתמטיקה או לתכנות ברמה שמתחילה אפילו לדגדג בני אדם (מומחים), אז מה עוזר אם רשת עצבית היא טיורינג-שלמה? אני לא כל כך יודע מה מעניין בטענה שלי שהבעיות האלו לא ניתנות בקלות לרדוקציה לבעיית סיווג או דירוג או איפטום-המהלך-הבא או זיהוי תבניות בקלט. זו לא טענה מלומדת. אם למישהו יש רעיון איך לעשות רדוקציה כזו, או קישור למחקרים שעשו זאת, זה יהיה מעניין. הוספתי "בקלות" כי אם מתעלמים מבעיות סיבוכיות או רמות אבסטרקציה אז זה קל. רוצה תוכנית שמסדרת רשימת מספרים, או תוכנית למשחק אנגרי בירדז? קל מאוד כבעיית סיווג: ייצר הרבה תוכניות אקראיות (או אפילו בצורה חצי-אינטליגנטית עם היורוסטיקות), תן למתכנת (או לקוד מחשב שאינו רשת עצבית) לסווג אותן ל"תוכנת אנגרי בירדז"/"לא תוכנת אנגרי בירדז". מצא פרמטרים רלוונטיים1 והזן לתוכנת רשת עצבית. אמן את הרשת העצבית, וכשהיא מוכנה הזן לתוכה עוד יותר הרבה תוכניות אקראיות. ברגע שהיא תודיע על אחת מהן "אה, זו בהסתברות גבוהה תוכנת אנגרי בירדז", עצור. הנה קיבלנו מערכת מחשב שעיקרה רשת עצבית והיא מתכנתת אנגרי בירדז (בסבירות גבוהה). 1 מה הבעיה למצוא פרמטרים רלוונטיים? כזכור, אני מתעלם מבעיות סיבוכיות או רמות אבסטרקציה, אז לצורך העניין נתייחס לקוד המחשב בקלט כמחרוזת של תווים. הפרמטרים הרלוונטיים הם (1) התו הראשון במחרוזת, (2) התו השני במחרוזת, (3)... כן, אני יכול לחשוב בעצמי על האופטימיזציה המופלאה של להתייחס ל-tokens בשפת התכנות במקום לתווים. אוקיי, "רדוקציה בקלות" היא לא המילה הכי מתאימה כאן. מה שאנחנו רוצים הוא "רדוקציה סבירה", בלי לרדת יותר מדי רמות אבסרטקציה ולעלות יותר מדי סדרי גודל ברמת הפירוט. |
|
||||
|
||||
אוקי, תודה על התשובה. אני חושב שצריך לדייק במשפט ײאין לנו אלגוריתם להוכחת משפטים במתמטיקה או לתכנות ברמה שמתחילה אפילו לדגדג.. ײ. אם מדובר על אלגוריתם שיכול להוכיח כל משפט, או לתכנת כל דבר - זה משהו שגובל בבינה כללית, לא? (בלשון המעטה. זה קשה גם למומחים אנושיים). ברור שאנחנו רחוקים מזה. אבל אם מדובר בהוכחת משפטים ספציפיים במתמטיקה, זה דווקא תחום מאד וותיק במדעי המחשב ועם הישגים (כלומר, הצליח להוכיח משפטים שבני אדם לא הצליחו). לגבי הקשר של רשתות עצביות לתחום: אני משאיר כאן קישור למאמר שהכותרת שלו היא Deep network guided proof search. לגבי תכנות.. תחשוב על האלגוריתם שמאמן רשתות ניורונים. זוהי משימת תכנות פרופר (לייצר קוד שמסווג משהו). רק כאן, דווקא המומחה האנושי לא מדגדג את ההישגים של הרובוט המאמן. בהקשר לײאפטמום המהלך הבאײ - אם אני חושב על machine learning ועל תת התחום supervised learning - הוא נשמע לי כמו בעיית אופטימזציה קלאסית. יש לך אוסף כלים כלשהו (לוח וגיר, דוגמאות אימון, פרמטרים של רשת הניורונים, מה שתרצה) ובעזרתם אתה צריך לגרום לתלמיד לקבל ציון כמה שיותר טוב - ותוך זמן סביר. כלומר אתה צריך לבחור בתבונה מה הכלי הבא אותו אתה מפעיל. דווקא נשמע לי מתבקש להשתמש ברשת נירונים כדי לתכנת (כלומר לאמן) תוכנות אחרות. |
|
||||
|
||||
אפטום המהלך הבא הוא אחד מסוגי הבעיות שהתחייסתי אליהן כבעיות מתאימות לרשת נוירונים. |
|
||||
|
||||
אבל התייחסת לתכנות כאל בעיה בלתי מתאימה. הראיתי איך היא כן - אפשר להשתמש ברשתות ל supervised learning |
|
||||
|
||||
אז לא הבנתי את כוונתך, ואני עדיין לא. "עבודה של מתכנת" היא (לצורך העניין) קבלת מפרט לתוכנה בשפה אנושית, והפקת קוד מחשב שיבצע את המפרט. האם אתה יכול להראות איך מגיעים באמצעות למידה מפוקחת לרשת נוירונים שתעשה את זה? |
|
||||
|
||||
''מפרט לתוכנה בשפה אנושית'' הוא להבנתי בעיית בינה כללית. ''מפרט למסווג שיודע לזהות הונאות כרטיס אשראי בהתבסס על אוסף דוגמאות'' הוא בעיני גם בעיה תכנות, רק בעייה ספציפית שבעבר העסיקה מתכנתים אנושיים. וכאן יש אלגוריתם שמשאיר אבק למתכנתים אנושיים. |
|
||||
|
||||
אוקיי, ברור. כשכתבתי ''משימות תכנות לא ניתנות בקלות לרדוקציה לאחד משלושת סוגי הבעיות שרשתות עצביות יודעות עקרונית לעשות.'' לא התכוונתי שאף משימת תכנות אינה ניתנת וגו' - הרי כל רשת עצבית פותרת משהו שאפשר היה לממש (פחות טוב) כמשימת תכנות קלאסית. התכוונתי שמגוון משימות התכנות שמתכנת אנושי ממוצע יכול לעשות לא ניתן וגו'. |
|
||||
|
||||
הרעיון שגם תהליך הלמידה של הרשת לא מחייב התערבות אנושית נשמע לי מגניב בהחלט. אני מתאר לעצמי שבלב הבא יוותרו על השתתפות אנושית גם בנסיעות עצמן. מכוניות אוטונומיות ללא נהג ונוסעים ישוטטו להן בדרכים בשעה שאנחנו נתפנה לדברים חשובים יותר כמו שיגור תגובות לאייל. |
|
||||
|
||||
רעיון נחמד, אבל מי ישלם על הדלק? |
|
||||
|
||||
אח, אתה בטח זוכר שלאפרים קישון זכות יוצרים על רעיון דומה. קומביין שחורש, זורע, קוצר, טוחן, אופה ואוכל. |
|
||||
|
||||
בארור. יותר קרוב לנושא שלנו, כשהוא שמע שיש מחשבים שמשחקים שח הוא אמר שהוא יקנה שניים שישחקו זה עם זה והוא יוכל ללכת לראות סרט. ברוח הדברים, פעם הדפסנו חומר כל כך סודי שהצענו לחבר את המדפסת ישירות למגרסה (קישון הציע שילוב של עיפרון ומחק לקבלת תוצאה דומה עבור מסמכים ידניים). |
|
||||
|
||||
ברוח הימים האחרונים, צריך לפתח מכונה שמוחקת את זכרונם של אנשים מסוימים מיד כשהם שומעים חומרים סודיים ביותר. בעצם, אולי זה כבר בפיתוח, כרגע נראה רק שהמכונה מוחקת תפקודים מוחיים אחרים ולאו דוקא את הזכרון. |
|
||||
|
||||
(מצטרף לדיון במקום אקראי) בלי להמעיט מהחשיבות ומהפוטנציאל של למידה עמוקה, יש פה אולי עוד שותפים לסנטימנט שלי, שרשתות נוירונים הן אובייקט מתמטי משעמם ומגושם? |
|
||||
|
||||
א. כן, יש. ב. יש כאלה שמנסים בכל זאת למצוא את התיאוריה המתימטית האסתטית יותר שעומדת מאחורי ערימת החוטים המשעממת ומגושמת - ראה למשל ההרצאה הזאת של מיקי אלעד שמנסה לקשר רשתות נוירונים עמוקות לייצוגים ספארסיים1 של תמונות. ההרצאה מומלצת גם כי היא שוטפת ומעניינת והמרצה עושה מלאכתו נאמנה, אבל אני מזהיר מראש (אחרים, לא את יובל כמובן) שבניגוד לקישור אחר ששמתי כאן, היא הופכת לטכנית די מהר ומכפילה מטריצות ווקטורים על ימין ועל שמאל2. 1 אשמח למילה עברית טובה יותר בשביל Sparse. 2 הכנס בדיחה אולטרה-גיקית על מתי זה מותר כי מרחבים דואליים, קו-וקטורים ובלה בלה בלה. |
|
||||
|
||||
תודה, אצפה בהרצאה הזו מאוחר יותר. התרגום המקובל ל-sparse בהקשר של מטריצות הוא "דליל", אבל אולי כאן יותר יתאים "חסכוני". |
|
||||
|
||||
קרוב לודאי שאתה טועה בגדול. רשתות עצביות הן נושא מרתק ומהפכני שטומן בחובו מתמטיקה מרגשת וחדשנית. מי ששם לעצמו יעד של להגיע להבנה מעמיקה של התחום, יגלה שיש כאן נושא מורכב וקשה מאד שלפחות בעבר רב היה בו הנסתר על הנגלה. הבעייה הכמעט יחידה של התחום בעבר (נניח לפני חילופי האלף), היו ההישגים והביצועים המאכזבים ממש. אומרים לי כאן שהתמונה השתנתה ומשתנה בימים אלו ממש. אומרים לי שהתשובה טמונה ב"העמקת" הרשתות. לי הדבר היחיד שזה אומר, זה הגברת הסיכוי ל- overfitting. אבל מן הסתם אני טועה. השכבות הנוספות של הרשתות יכולות לגלם בתוכן אלגוריתמים מתמטיים ופיזיקליים חזקים המסייעים לפיתרון הבעיות. אשרי המאמין. ההרצאה שממליצים עליה כאן אולי תוכל לעזור. בכל מקרה גם בעבר הלא כל כך אופטימי של התחום, אף אחד לא טען שמדובר בנושא משעמם וחסר פוטנציאל. |
|
||||
|
||||
יכול להיות שאני מזדהה, אבל האם זה משמעמם ומגושם באופן שונה ממערכות לפתרון נומרי של משוואות? |
|
||||
|
||||
בהסתייגות שאני לא מבין גדול ברשתות נוירונים או באנליזה נומרית (אבל בכל זאת מבין משהו), אז כן - רשתות נוירונים נראות לי יותר משעממות מהזווית המתמטית, כי למיטב ידיעתי כיום, בפועל, הן בעיקר אוסף של יוריסטיקות. אשמח להתבדות אחרי שאצפה בעיון בהרצאה של מיקי אלעד. |
|
||||
|
||||
למה אתה מתכוון? כארכיטקטורה כוללת, רשתות עצביות הן מנומקות היטב מבחינה מתמטית, להבנתי - כלומר, מובן היטב ברמה מתמטית למה תהליך האימון של רשת עצבית מעלה את ההסתברות שלה לסווג נכון, וזה אפילו לא לגמרי טריוויאלי אם כי גם לא מאוד מסובך, כך שאני מניח שאפשר לראות פה יופי. הבחירה של אבני הבניין לרשת (איזו פוקנציה בכל נוריון, ועוד כמה פרמטרים כאלה) היא באמת אוסף היוריסטיקות לא מנומקות. במובן הזה אני מסכים, זה מכוער. |
|
||||
|
||||
זה לא רק הבחירה של אבני הבניין, אלא גם השימוש ב-gradient descent (סטוכסטי או לא) בתור שיטת האופטימיזציה בלב תהליך הלמידה. זאת אחת היוריסטיקות היותר מבאסות, לטעמי. |
|
||||
|
||||
בלי להמעיט מהחשיבות ומהפוטנציאל של למידה עמוקה, יש פה אולי עוד שותפים לסנטימנט שלי, שהכנת רשת עצבית היא משימה תכנותית (במובן רחב של "תכנותית") משעממת ומכוערת? עדיין לא עשיתי את זה ממש. הייתי לאחרונה בסדנה שנתנה טעימה מזה, ונורא לא בא לי לעשות את זה ממש. (אני יכול לפרט יותר אם זה מעניין מישהו.) |
|
||||
|
||||
עד כמה שאני מבין אתה כבר מזמן לא מתכנת את הרשת שלך לבד, בכמה רמות: א. אף אחד כבר לא מתכנת נוירונים, קישורים לנוירונים אחרים, ואת המתימטיקה עצמה של קידום קדימה ואחורה של הרשת כדי לשנות את ערכי הקשרים. אתה משתמש בחבילות תוכנה מוכנות (Tensorflow של גוגל כדוגמה אופיינית) שאתה מספר להן כמה שכבות יש לרשת, בוחר פונקציות הפסד (loss functions) ידועות, מספר להם איפה יושבות תמונות האימון והתיוג שלהן שלך על המחשב, ומכאן אתה כמעט במרחק לחיצת כפתור מלגרום לרשת לרוץ בעצמה ולהתאמן על המידע שנתת, עד לקבלת רשת שעובדת בדיוק מסוים. ב. רמה למעלה - אפילו על סעיף א' כבר הרבה מדלגים. אתה רוצה רשת לזיהוי לטאות ירוקות עם קרניים בתמונות? אתה לוקח רשת *מוכנה* מהאינטרנט, רצוי זו שהיא מדינת-האמנות בתחום של זיהוי אובייקטים בתמונה בשנה האחרונה. עכשיו אתה לא נוגע בה, אלא רק מאמן את השכבה האחרונה שלה (טוב, אולי כמה כאלה) על תמונות הלטאות הירוקות שלך. קוראים לזה transfer learning וכבר הגיגול הקצר הזה מראה לך כמה הפרקטיקה הזאת פופולרית0. ג. אכן, ברמה מסוימת זו משימה הנדסית ולא תיאורטית, כפי שהיא מיושמת ברוב החברות היום. ד. מה, ולכתוב עוד פעם איזה אוביקט סי-פלוס-פלוסי1 עם כל פונקציות הגישה והפעולות עליו זו לא משימה תכנותית משעממת ומכוערת? הרשה לי לגחך2. 0 על קצה המזלג - ההנחה המובלעת היא שכשהרשת המקורית למדה על זיליון תמונות מבסיסי הנתונים הידועים, המידע שטמון ברוב השכבות הראשונות שלה הוא בעיקר איך לפרק תמונות לחלקים/תכונות שטובים עבור סיווג עצמים כאלה ואחרים. משזה נעשה, עכשיו רק צריך לבחור בסוף אילו תכונות כאלה מאפיינות תמונות של לטאות ירוקות ולא של כרובים סגולים. 1 השפה שכיעור ושעמום הם מעמודי התווך שלה, על פי דעתי הלא מלומדה. 2 לפחפח בשפה העכשווית. |
|
||||
|
||||
לך יצא לעשות במו ידיך משימה של אימון רשת עצבית, אבל לא תרגיל מוכן אלא באמת משימה שלא נעשתה קודם? מי שקורא את א' ו-ב' שלך יכול לתהות למה עדיין מהנדסי תוכנה מבריקים עובדים על רשתות עצביות - ואני לא מדבר על שיפור הארכיטקורה של הכלים, אלא על בעיות סיווג נתונות, עם קלטים נתונים. מהנדסים מבריקים עובדים עליהן קשה ולא תמיד מצליחים. ממה שאני הבנתי (כאמור לא מנסיון יד ראשונה, אבל זה מה שאמרו במפורש אנשים שעשו את זה כמה וכמה פעמים), במשימה כזו העבודה היא ניסוי וטעייה עם פרמטרים שונים, ניקוי והתאמה של הקלטים, ואם התוצאות לא טובות, שבירת הראש מה לא עבד ואם זה משהו שקל לתקן, או שפשוט הקלטים שלך לא מספיק טובים, ואולי אתה דווקא צריך לנסות את הקומבינציה ההיא של הפרמטרים שעדיין לא ניסית. כמו כן, "הצלחה" או "אי הצלחה" הם לא חד משמעיים - גם כשיש לך הצלחה מסוימת, ואפילו רבה, אתה יכול לנסות לשפר עוד ועוד, אבל זה כל הזמן בניסוי וטעייה. הניסיון נותן לך קצת היורסטיקות מה לנסות, והמנהל אולי אומר לך מתי להפסיק, אבל תשובות חד משמעיות אין. משימה תכנותית מהסוג שכיף לי היא "תממש פונקציונליות כזו וכזו". ואז אתה כותב קוד שאמור לפתור את זה, וכמו במקרה של הרשת העצבית הוא לא מיד עובד נכון. אבל אתה יודע שזה אפשרי, ושזה בידיך; אתה יודע שתצליח בסוף. כשיש בעיה יש לך כלים להתמקד עליה, ולהתקדם באופן שאתה יכול להיות בטוח שאתה מתקדם. וכשאתה מצליח, אתה יודע חד משמעית שהצלחת. באמת יש מידה רבה של חזרה על אותן בעיות בכל משימה, אבל לי זה כיף. ברור לי לחלוטין למה אנשים מסוימים מעדיפים את סוג המשימה של לימוד רשת עצבית. אולי אפשר לומר שתכנות אולד-סקול כמו שאני אוהב זה לחלשים. אותי הסוג האחדש מרתיע. לגמרי עניין של טעם. אגב, יכול להיות שתוך שנים מעטות אופי העבודה עם רשתות עצביות ישתנה - האתגרים שציינתי מריחים כמו בעיות שעוד קצת שפשוף של הטכנולוגיה אולי יעלים אותן. אני מחכה, בתקווה שגם כך נותרו לי עדיין כמה חודשי רלוונטיות... |
|
||||
|
||||
אני לא ממש מתמצא בנושאים האלה, אבל בגדול אני חושב שהצלחה בפתרון בעיה אחת לא בהכרח מוכיחה שתהיה הצלחה גם בבעיה אחרת. כל בעיה היא בעיה. אגב, נושא ההבחנה בין איש לאישה לפי הפרצוף עלה על דעתי כנימוק בוויכוח עם אותו חבר, כדי להראות שלא כל מה שקל לאדם קל למכונה1. חשבתי אז שלו היו מטילים עלי לפתור בעיה כזאת לא הייתי יודע מניין להתחיל ולכן הבאתי את הדוגמה הזאת. לא תיארתי לעצמי שמישהו יחשוב שפתרון הבעיה הזאת הוא כל כך חשוב ששווה להשקיע בו, והוא אף ייעשה זאת ואפילו יצליח. לעומת זה ההבחנה הפתולוגית נראית לי ממש חשובה, ואם תהיה הצלחה בה היא תביא להקלת נטל עצום ולחסכון כלכלי אדיר. 1 שהתקיים, אגב, לא לפני כשלוש שנים, כשהחבר עסק בכך, אלא לא מזמן. |
חזרה לעמוד הראשי | המאמר המלא |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |