קורס מבוא ללמידת מכונה : פיתוח בינה מלאכותית RB207-02
שימוש ב IMAGE KERNEL עבור בינה מאלכותית
ולמידת מכונה
כאשר מפעילים פילטרים filters על רשת לומדת , נקרא לפילטרים convolution kernels
והפעלתם בפועל נקראת convolution
CNN
IMAGE KERNAL — הינו מטרציה קטנה שפועלת על תמונה שלמה
נגיד יש תמונה פשוטהמ 1 – ל 1
נפעיל עליו את הפילטר הבא
1
https://setosa.io/ev/image-kernels/
הגאונות של למידת מכונה \ בינה מלאכותית שהיא לבד מוצאת את הערכים (משקלים של הפילטר שצריך )
מה שעושה הבינה מאלכותית היא משנה את הפרמטרים (המישקלים ) בתוך המטריצה 3X3 , פועלת על התמונה
ואז מנסה שוב לבדוק אם היא מתרבת למצוא קשר בין ה X_TRAIN ל Y_TRAIN ולא בדיקה של ה ERROR LOST היא רואה שהיא מתכנסת לערך קטן ובכך יודעת שהפרמטרים שהיא בחרה טובים והם , טובים לחיזוי
הפעולה הזאת נקראת גם קונבולוציה -היא המצב שמפעילים פילטר על התמונה
המטרה שלנו שהרשת שלנו תבחר תא המשקלים (הפרמטרים בתוך ה 3X3) כך שהרשת הלומדת היא תלמד בעצמה איזה משקלים הכי טובים
נסתכל למשל על הפילטר של EDGE DETECTION
pad
הינה פעולה
נוסיף 0 או 1 מסביב כל התמונה ואז לא מאבדים מידע
ב CNN הקובולציה LAYER יהיה היא השיכבה שבמתבעצת ההתאמה של המשקלים של הפילטרים על התמונה
CONVOLUTIONAL LAYERS
ב ANN עדיף תמיד שהאובייט אותו רוצים לזהות לנבות יהיה במרכז התמונה – למרות שזה לא המצב בפעול צריך לשאוף לזה ולכן – עדיף לפהני הזנת התמונה לרשת ANN הבינה מלאכותית לדאוג אם אפשר שהתמונה תיהיה במרכז
ב RNN בנויה מראש לעיבוד תמונה ועבד את הפילטרים עם המשקלים המתאימים .
נקבל טנזור תלת מימדי
ואז נקבל פילטר שמופעל על R G B
Pooling Layers
הורדת גודל – עבור הרשת לבינה מלאכותית
כל מיני ארכטקרטוקוטת –
או למשל
FC – FULLY CONNECT layers
זיהוי ספרות על ידי למידית מכונה
בעיית קלסיפקיציה – וחשוב להגיד לרשת שזה סוג הבעיה
במקום 0 עד 255 הורדנו את הערכים מ 0 עד 1
ויש לנו מערך של 4 מימדים
1, 28 ,28, 60,000 – 4 מימדים
labels יהיה המספר של התמונה
או נמיר ל 1 ,0 לפי מרחב מדגים שי לנו 10 ספרות מ 0 עד 9
זאת אומרת 10 תאים , בתא של הסיפרה הרלונטית יהיה 1 בשאר 0
One-Hot-Encoding
עבור הסיפרה 4 ,
וזה טוב לנו לבינה מלאכותית
https://www.udemy.com/course/complete-tensorflow-2-and-keras-deep-learning-bootcamp/learn/lecture/17029924#overview
בעיית קלסיפקיציה – וחשוב להגיד לרשת שזה סוג הבעיה
נמיר אותה ל One-Hot-Encoding
נמיר :
לכן המיר את מספר 5 ל קטגוריה
אם רוצים להגדיר את כמות קטגוריות אז נגידר לו בפירוש
נירמול הנתונים – יש הרבה מאוד לנרמל ערכים מ 0 ל 255 .
אם יודעים כמו פה מה טווח ערכים אפשרי לעשות
תמונה נישארה
עבור שחור לבן שנירמלנו את הערכים
בניית מודול של למידת מכונה
סוג השכבות נגיד פה :
padding
convolution layer נגדיר שיכבת קונבולוציה :
poling layer נגדיר שיכבת קונבולוציה :
היפוך את התמונה למערך אחד מ 28 על 28 ל 784
עכשיו : נכין את השכבות
שיכבה ראשונה טובה לשיכבה של ה Flatten
קימפול המודל
ניבחר : caregorical_crossentropy
נבדוק איך הייתה תהילך הלמידה
אותנו מעניין לדעת איך הייתה הלמידה פר קטגוריה האם כולם היו טובות
עכשיו נראה לפי קטגוריה
עכשיו ניראה סיפרה אחת מתוך X_TEST[0]
עכשיו נעבוד על , פרדיקציה