קורס מבוא ללמידת מכונה : פיתוח בינה מלאכותית RB207-02

קורס מבוא ללמידת מכונה : פיתוח בינה מלאכותית 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]

 

עכשיו נעבוד על , פרדיקציה

 

כתיבת תגובה