למידה עמוקה עבור משימות של ראיה
ממוחשבת. חילוץ הפיצ'רים באמצעות
של הכלי ניתן לביצוע
activations
מתודת
בלבד (החל מגרסת
CPU
תוך שימוש ב-
(מצריך גם
GPU
) או תוך שימוש ב-
R
2016
b
Parallel
Computing
Toolbox
את כלי ה-
תוצרת
CUDA
וכן כרטיס מסך תומך
3.0
של
Compute Capability
בעל
nVIDIA
R
2016
b
ומעלה). שימו לב שהחל מגרסת
ניתן לחלץ פיצ'רים מתוך תמונות בעלות
גודל שונה מאלה אשר שימשו לצורך אימון
.
CNN
ה-
כעת, לאחר שחולצו פיצ'רים, ניתן
לאמן בעזרתם מסווג למידת מכונה
שנקרא
App
מסורתי, למשל באמצעות ה-
, שמאפשר
Classification
Learner
לאמן ולהשוות כל מיני מודלים בצורה
אינטראקטיבית, ואשר מהווה חלק מתוך
Statistics
and
Machine
Learning
הכלי
.
Toolbox
לרשת
Fine Tuning
ביצוע
מאומנת
)
Transfer Learning
(
הינה שיטת עבודה
Transfer
Learning
Deep
מאוד נפוצה באפליקציות של
. הרעיון שעומד מאחוריה הוא
Learning
שבמקום לאמן רשת "מאפס" (האייטם
הבא) או להשתמש ברשת מאומנת רק
לצורך חילוץ פיצ'רים שיוכנסו למסווג
שאותו נאמן (האייטם הקודם), ניתן לקחת
רשת שאומנה על אוסף גדול של תמונות
), ולבצע לה התאמה
ImageNet
(כמו מאגר
- שינויים קטנים למשקולות)
Fine Tuning
(
כדי שאפשר יהיה לפתור בעזרתה בעיית
סיווג או גילוי חדשה. הרי הרשת המאומנת
כבר למדה סט עשיר של פיצ'רים, אשר ניתן
ליישום על מגוון רחב של תמונות, אז מדוע
לא להעביר את הידע שנרכש (הלמידה)
לצורך ביצוע משימה חדשה?
היתרונות בשיטה הנ"ל הם שהיא חוסכת
את הצורך להשתמש בכמות גדולה של
תמונות עבור תהליך האימון, ובשל כך
- זמן האימון קטן משמעותית (כמובן
תלוי במידת הדמיון בין הבעיה המקורית
והבעיה החדשה).
תכנון רשת ואימון שלה
מורכבת משכבות (כל שכבה
CNN
מגדירה חישוב ספציפי), והחל מגרסת
Neural
Network
Toolbox
כלי ה-
R
2016
a
מספק פונקציונליות לתכנן רשת בקלות
שכבה-אחר-שכבה ולאמן את הרשת.
אפשר
reluLayer
למשל, בעזרת הפקודה
Rectified
Linear
Unit
להוסיף שכבת
אשר מוסיפה אי-לינאריות (הופכת לאפס
,
Convolutional
ערכים שליליים). שכבת ה-
אשר מגדירה סטים של משקולות
לפילטרים שמתעדכנות במהלך תהליך
האימון, ניתנת להגדרה בעזרת הפקודה
Max
. את שכבת ה-
convolution
2
dLayer
למידע
Downsampling
, שמבצעת
Pooling
הזורם ברשת, ניתן להגדיר עם הפקודה
. וכמובן שעומדות
maxPooling
2
dLayer
לרשותכם גם פקודות להגדרת יתר
השכבות ברשת.
כעת, כשהרשת מוגדרת, ניתן להגדיר גם
את הגדרות האימון באמצעות הפונקציה
(למשל, אפשר להגדיר
trainingOptions
- שהוא
Epochs
מה המספר המרבי של
המספר המרבי של מעברים מלאים
על כל סט האימון, לשלוט על פרמטר
וכו').
initialLearnRate
ה-
וכאשר הכל מוכן - אפשר להתחיל בתהליך
«
«
בתור מחלץ פיצ'רים
CNN-
סיווג חיה ל"כלב" או "חתול" בעזרת שימוש ב
R-CNN
גילוי תמרור עצור בשיטת
IoT
מוסף מיוחד
New-Tech Magazine l 74