איך הענקנו לבינה המלאכותית את חוש הראיה?
היום נצלול אל הCNN, לא רשת הטלוויזה, רשת נוירונים (NN) שעושה.. קונבולוציות (C).
קוֹנְ - בּוֹ - לוּ - צִיּוֹת.
כן.
מוכנים? בואו איתי 🧵>> #פידטק#פידאטה#פידטכנולוגיה
(אה כן, אם שמתם Bookmark - תוסיפו איזו הקלקת לייק, זה סופר עוזר לי 🥰)
כדי להבין מה קורה בשרשור הזה, אני בונה על זה שאתם יודעים בגדול איך עובדת רשת נוירונים בסיסית. לא יודעים?
הנה!
נמשיך >>
1. אפשר להכניס תמונות לרשת נוירונים רגילה.
הן אוסף של פיקסלים.
"נשטיח" אותן לטור מספרים ונכניס אל הרשת.
העניין הוא שזה עובד.. לא משהו.
הקלט ענק, וקשה לרשת להתמודד עם שונות בו.
ה9 הזה יכול להיות ממוקם בכל מקום על מפת הפיקסלים הזו.
בקיצור, קונבולוציות! >>
(אנימציה של 3b1b)
2. קונבו.. מה?
וול, קונבולוציה היא פעולה מתמטית שסורקת תמונה באופן מאד מיוחד.
בואו נדמיין תמונה שחור לבן.
נגדיר שחור מוחלט כ0, לבן מוחלט כ255.
הכנתי הפתעה, מוכנים?
אנחנו הולכים לעשות קונבולוציות יחד, באקסל!
עוד לפני המתמטיקה וה"איך", בואו נראה "מה" עושה קונבולוציה, לאינטואציה. >>
3. שימו ♥️ לציור האקסלי הבא - הספרה אחת.
בנוסף לספרה, יש גם פס שחור בצד שמאל, כי יהיה מעניין לראות איך הוא נתפס בקונבולוציה.
כמו שאמרתי, נתחיל מלראות מה התוצאה של הקונבולוציה, ואחרי שתהיה לנו תפישה טובה למה קורה - נדבר על איך זה קורה.
לכל קונבולוציה יש גרעין, Kernel >>
4. במקרה הזה בחרתי גרעין מיוחד, בגודל 2x2 - גרעין שידוע כמזהה קצוות אנכיים, בצהוב בתמונה.
בואו נסתכל על התוצאה.
שימו לב לאיך הפעולה "זיקקה" את הקצוות.
זה לא בדיוק מאורגן, כי יש שם את ה0 הזה וה255 בשני הצדדים, נטפל בזה בהמשך.
אבל איזה מגניב?!
מצאנו קצוות אנכיים! >>
5. מה קרה כאן מתמטית?
אז אותו גרעין סרק את התמונה (בסרטון בצבע, אצלנו שחור לבן), ובכל פעם כפל את ערכי הפיקסלים בערכי הגרעין - וחיבר אותם ביחד.
מטעמתי ויזואליה, נירמלתי את התוצאה בין 0 ל255.
התוצאה היא בעצם "זיקוק" של מאפיין ספציפי בתמונה, קצה.
אחרי שעושים קונבולוציה, >>
6. נהוג לבצע פעולה בשם Max Pooling, שתזקק את הזיקוק עוד יותר.
אותו מקס פולינג הוא בעצם לקחת בלוקים מהתמונה לפי סדר ובכל פעם להחזיר את הערך המקסימלי.
הפעם בלי חפיפה, הצבעים הם דוגמא למה ממופה לאן, האדום החזיר 128, הכחול 177.
אנחנו רואים טור של 177, שמייצג גבול בין השחור לאפור. >>
7. ואת זיקוק הגבול השמאלי של ה1.
אפשר לבצע אותו דבר גם על גבול ימני עם גרעין מתאים.
בגדול, הפולינג מקטין את התמונה ושומר על ה"זיהוי" של המאפיינים.
תמונה קטנה = רשת מהירה יותר.
הנה עוד המחשה בפייתון, עם שני גרעינים שונים.
הקוד בגיטהאב שלי, בסוף הציוץ. >>
8. בכל מקרה, הקונבולוציות עם הגרעינים המוכנים שירתו אלגוריתמי ראיה ממוחשבת במשך שנים, הנה עוד דוגמא למה קורה ברזולוציות גבוהות.
יש זיהוי ממש ברור של הקצוות, זה לפני פולינג.
אבל.. זה סתם גרעין מהונדס שאני בחרתי.
אז מה חדש ב"רשתות קונבולוציה"?
איך הן משתמשות בעיקרון הזה? >>
9. רשתות קונבולוציה כוללות שכבות קונבולוציה - שמבצעות את הפעולה הזו המון פעמים, ולומדות איזה גרעין יתן להן את התוצאות הכי טובות.
המספרים בגרעין - הם המשקולות הנלמדות!
פעולת הקונבולוציה מזקקת מאפיינים, וכמובן שאפשר לקחת גרעינים גדולים מ2x2, ולעבוד בצורה היררכית.
אם נסתכל >>
10. על התוצאות של הקונבולוציות בתוך רשתות מסוג CNN, נראה דבר מדהים.
ככל שנכנסים יותר לעומק רשת הקונבולציה, מגלים שהן הופכות להיות סורקות שמחפשת רעיונות מופשטים.
הביצוע שלהן במקביל ואחת אחרי השניה עם גרעינים שונים ונלמדים הופך את הסורק למזהה צורות, ולא סתם קצוות.
מה שרואים כאן >>
11. הוא חלק ממה שנמצא ב"מוח" שהרשת. לא AI גנרטיבי.
זה ה"פרצוף הסטטיסטי" שהרשת לומדת.
לא משוגע?
רשתות CNN בנויות ככה שעל התמונה נעשות הרבה קונבולציות עם גרעינים שונים (יותר מפעם אחת), על כולן עושים פולינג ומכניסים לרשת נוירונים קלאסית שהכל מחובר להכל.
וזה. עובד. >>
12. מבחינת כוונון, יש כל מיני משתנים (היפרפרמטרים) להתאים כשמחליטים על קונבולציות מעבר לגודל הגרעין (במקרה שלנו היה 2x2).
המעבר יכול להיות גס - אפשר להזיז את הקונבולציות בקפיצות של יותר מ1 כל פעם, זה מכונה Stride.
אפשר לשמר את גודל התמונה, ולהוסיף "ריפוד" לקונבולוציה, Padding.
13. אפשר לבצע גם קונבולוציה מורחבת, מה שמכונה Dilation, נזקק מאפיינים באותה רזולוציה, אבל על שטח רחב יותר.
מאפשר לתפוס מאפיינים גסים יותר בלי "לשלם" על גרעין גדול יותר.
14. יש גם סוגים שונים של Pooling, לאו דווקא שלוקחים את המקסימום.
יש כאלה שסוכמים, עושים ממוצע ומה לא.
בקיצור - יש הרבה דברים שאפשר לכוונן כשבונים רשת קונבולוציה.
התכלית?
אפשר לבחור כל משימה שרוצים, זיהוי חיות או אנשים, כל תיוג שהתמונות מגיעות איתו, רגרסיה, מה שתרצו!>>
15. ארכיטקטורת הקונבולוציה היא "חוש הראיה" של הרשת, בלי קשר למשימת הלמידה והנה תראו,
עכשיו אנחנו יודעים איך רשתות נוירונים רואות.
וכן, כן, אני יודע, בא לכם לנסות לשחק באקסל הזה.
אז כמובן שתוכלו, הוא בקבוצת הטלגרם שלי! >>
16. ככה גם תוכלו לעשות קונבולציות על פיקסל-ארט של סבתא וגם לא לפספס תוכן חדש!
קדימה בואו: linktr.ee/tsoofbaror
מה שווה לנסות?
מה קורה אם כל הערכים בגרעין הם 1? מה הגרעין עושה?
(זה גם קישור לגיטהאב, לקוד של הקונבולוציה)
אם זה השרשור הראשון שלי שאתם קוראים, היי!
מוזמנים לחקור איתי את הקישקע של הAI,
כל פעם קצת אחרת.
זה הזמן לעקוב אחרי: twitter.com/tsoofbaror
אהבתם את מה שקראתם?
התמורה הכי טובה מכם היא לרטווט את הציוץ הראשון.
אני רואה אתכם, מרטווטים, אם אבנה AI שישתלט על העולם הוא יחוס עליכם.
הערות ומקורות!
אם בא לכם להעמיק בקונספט של קונבולוציה, ממליץ מאד על הסרטון של @3blue1brown:
אה כן,
וגרעין לפעמים נקרא גם "פילטר".
סתם כדאי לדעת.
מחילה ענקית:
קונבולוציות עם ב לא דגושה, נהגת כV כמובן
עמכם הסליחה
• • •
Missing some Tweet in this thread? You can try to
force a refresh
עוד לגמרי באקדמיה, לא מבין בזה דבר וחצי.
תנו לי כמה שנים...
אני לא בטוח שהבנתי נכון, בהנחה שפרמטרים=מאפיינים.
זה הרעיון בכל מודל - כל דגימה מאופיינת במספר מאפיינים, והמודל לוקח בחשבון את כולם בביצוע המשימה.
או שלא הבנתי את השאלה? 🫠
אם תחפרו במוח של Midjourney, תוכלו למצוא אוזניים.
מסתבר שמודלי הדיפוזיה למיניהם מבינים, באמת מבינים מה הם רואים.
והרעיון? מה זה פשוט ומכונה DIFT.
אני - 🤯
תפסתי אתכם? יאללה 🧵>> #פידטק#פידאטה#פידטכנולוגיה
(אה כן, אם שמתם Bookmark - תוסיפו ככה הקלקה על הלייק, זה סופר עוזר לי 🥰)
אזהרה לפני שנתחיל.
התלבטתי אם לדבר על הנושא הזה, כי כדי להבין מה קורה בו צריך הבנה של קונספטים שלא יהיה לי תקציב להסביר פה עד הסוף.
אם אתם מרגישים שההסברים הם.. 60%.. זה מה יש, אבל אני מספיק בטוח שהרעיון הכללי הולך לעבור ושווה את זה.
אז גם אם יש משהו שחצי ברור, זרמו איתי. >>
1. נתחיל במודלי דיפוזיה.
אלה שמייצרים תמונות.
עוד יגיע שרשור רק עליהם, אנסה לזקק כאן את מה שחשוב כדי להבין את מה שהחוקרים הראו.
מודל דיפוזיה הוא מודל שלומד לנקות רעש.
בתהליך האימון שלו מכניסים לו תמונה, ולאט לאט "מרעישים" אותה עד שהיא בלאגן מוחלט והמודל לומד לשחזר אותה. >>
מורה נבוכים לAI!
שמעתם על המאמר החדש שטוען ש"יש אופטימייזר חדש לטרנספורמר שעוקף את אדם במזעור הלוס"?
נמאס לכם מכל מילות הבאזז האלה?
בשרשור הארוך מידי הזה נעשה דיבאזינג לכל הבאז.
מוכנים? 25 מושגים ומונחים, שרשור ע-נ-ק לסופ"ש 🧵>> #פידטק#פידאטה#פידטכנולוגיה
1. דאטהסט ומודל.
המודל הוא בעצם הAI שפועל על הדאטהסט, שהוא הנתונים מהם הAI לומד.
המודל הוא ה"איך", הדאטהסט הוא ה"ממה" לומדים.
הדאטהסט הוא טבלה עם עמודות ושורות.
בדרך כלל מחלקים דאטהסט ל3 חלקים.
הראשון הוא סט האימון עליו המודל מתאמן. השני הוא >>
סט הולידציה, עליו תוך כדי תהליך האימון בודקים את ביצועי המודל, בלי שהוא מתאמן עליו.
השלישי הוא סט הבחינה, שנשמר בצד עד הרגע האחרון, לא נוגעים בו באימון. עושים עליו בדיקה פעם אחת בסוף כדי לייצג כמה המודל באמת למד.
השורות בדאטהסט הן הדגימות השונות, והעמודות מובילות אותנו ל: >>
הAI שפותר בעיות במתמטיקה, ועושה את זה נפלא!
אני יודע שזה הוכרז הרגע, אבל אני מכה בברזל כל עוד הוא חם.
מה פשר ההכרזה של OpenAI?
איך זה שונה ממודל שפה רגיל?
בואו איתי 🧵 >> #פידטק#פידאטה#פידטכנולוגיה
כדי להבין מה קורה כאן, צריך תפישה טובה של מה זה מודל שפה, לשירותכם בשרשור המצורף.
אני גם ממליץ לקרוא את השרשור על AutoGPT כרקע, שמקושר בציוץ הבא.
מודלי שפה חובה.
AutoGPT אפשר בלי.
נתחיל >>
1. דיברנו כבר על Complex Reasoning בשרשור על AutoGPT.
אפשר להסביר למודל שפה "איך לחשוב".
להגיד לו שהוא צריך לתכנן, לבקר את עצמו, לתת סיבות ורק אז לפעול.
הבעיה העיקרית היא תופעת ה"הזיות", הקטע הזה שמודל שפה אומר לכם שבנימין נתניהו הוא רקדנית בלט רומנייה >>
הGPT בצלמנו ובדמותנו - AutoGPT.
האם זה הAI שסוף סוף ידע להכין לנו קפה?
לא.
האם הGPT פתאום מרגיש כמו מוח אנושי?
קצת כן.
היום נשוט בין המדהים לקצת מפחיד ונדבר על סוכן הAI האישי שלכם, AutoGPT 🧵>> #פידטק#פידאטה#פידטכנולוגיה
שימו לב.
כדי להבין מה קורה כאן, נצטרך תפישה רעיונית של מה זה מודל שפה (LLM).
אנסה להיות ברור ככל האפשר, אבל אני ממליץ בחום לעבור על השרשור הזה לפני שאתם מתקדמים לAutoGPT.
1. שבת שטופת שמש והחלטתם לבלות אותה בהרכבת רהיט מאיקאה.
כיף גדול.
הארגז עומד מולכם.
"טוב, צריך לפתוח את הארגז", אתם חושבים.
"בלי לפתוח את הארגז אי אפשר להתחיל בכלל", אתם ממשיכים לחשוב.
"אוקי, אני אחתוך פה את נייר הדבק".
"רק אזהר לא להחתך בדרך".
נשמע מוכר? >>
תהיתם פעם מה קורה אם נותנים לשני מודלי AI להלחם זה בזה?
נשמע כמו מתכון לסוף העולם?
יכול להיות, But Not Today.
למרות שהיה נראה שהן מתחילות להעלם מהעולם, רשתות אדוורסריאליות (GANs) חזרו ובגדול עם DraGAN, הכלי המטורף לעיבוד תמונה.
אז איך זה עובד? 🧵>> #פידאטה#פידטק#פידטכנולוגיה
1. נתחיל בהערה חשובה.
ה-GANs, קיצור של Generative Adversarial Networks, היו ה-מודלים הגנרטיביים של "פעם", כש"פעם" בAI זה לפני שנים ספורות.
היה באז גדול על thisxdoesnotexist.com, מודל גנרטיבי אמיתי (כמשתמע, GANs הם GenAI) שיצר כל מיני דברים שלא קיימים.
היה מדהים, אבל אז הגיחו >>
2. הDiffusion Models לעולם והדיחו את הGANs מגדולתן.
הם המודלים שבבסיס מידג'רני, Dalle2 וחבריהם.
היום לא נדבר על דיפוזיה אלא על אותן GANs שעושות קאמבק היסטורי (כלומר, היסטוריה מ2014). arxiv.org/abs/1406.2661
מוכנים?
נתחיל! >>