290 likes | 580 Views
Character Recognition Using Neural Networks. Topics in Signal Processing, BGU, Winter 2003. References. Background: A Brief Introduction to Neural Networks. (R.D. De Veaux & L.H. Ungar) Simulations:
E N D
Character Recognition Using Neural Networks Topics in Signal Processing, BGU, Winter 2003.
References • Background: • A Brief Introduction to Neural Networks. (R.D. De Veaux & L.H. Ungar) • Simulations: • Methods for Enhancing Neural Network Handwritten Character Recognition. (M.D. Garris, R.A. Wilkinson, & C.L. Wilson) • OCR: Neural Network Analysis of Hand-Printed Characters. (A. Amin & S. Singh) • A Neural Network For Recognizing Characters Extracted from Moving Vehicles. (Jang-Hee Yoo, Byung-Tae Chun, & Dong-Pil Shin) • Applying Neural Networks To Character Recognition. (Eric W. Brown)
נושאים • רשתות נוירונים – מה זה? • מודלים ברשתות נוירונים. • לימוד/אימון. • אלגוריתם בסיסי. • סימולציות.
מבוא לרשתות נוירונים • ניסיון לחקות את יכולות העיבוד של המוח. • מודל לעיבוד מידע. • מורכב מרכיבי עיבוד מקושרים. • שימוש במקרים של עיבוד "מסובך" מדי לאדם או למכונה.
מבוא לרשתות נוירונים - המשך • יתרונות: • בינה מלאכותית. • יכולת לימוד. • "התמחות" בנושא אשר עליו מתאמנת הרשת. • דינמיות במבנה הרשת. • עבודה בזמן אמת. (אין צורך להכיר את הבעיה) • יכולת "שיקום" חלקית.
מבוא לרשתות נוירונים - המשך • חסרונות: • תוצאות לא צפויות. • יודעות לפתור רק מה שאומנו עליה.
מודלים ברשתות נוירונים • איך עובדות רשתות נוירונים ביולוגיות? • נוירון (תא עצב). • כניסות (דנדריטים). • יציאה אחת לאקסון. • סינפסים בקצות אקסונים. • גירוי מספק מן הסינפסים גורם לאות חשמלי היוצא מתוך הנוירונים. • הפעולות המתרחשות בסינפסים ניתנות לשינוי. (לימוד)
מודלים ברשתות נוירונים – המשך • מודל מלאכותי מנוון מקביל: • המורכבות הלא ידועה של תאי העצב הביולוגים מתורגמת למודל פשוט למימוש.
מודלים ברשתות נוירונים - המשך • "רכיבי היסוד" של המודל: • כניסות אל הרשת ויציאה ממנה. • 3 שכבות נוירונים : Input, Hidden, Output. • מטריצות משקלים בין השכבה הראשונה לשנייה, ובין השנייה לשלישית.
מודלים ברשתות נוירונים – המשך • קביעת סף גירוי בנוירון: • סף התגובה הראשוני של נוירון הוא אקראי. (תחת מגבלות) • מכיוון שמשקל ה"דנדריטים" משתנה עם זמן הלימוד, ניתן לנרמל את המשקלים, ללא שינוי בסף הגירוי.
לימוד/אימון • ברשת נוירונים, ליחידה הבסיסית (נוירון) יש: • יציאה אחת • כניסות מרובות. • קיימים שני מצבי שימוש : אימון/שימוש. • במצב של לימוד ניתן לאמן את הנוירון להגיב (או לא) עבור צירופי כניסה שונים. • כך נוצרת בנוירון LUT. • לגבי צירופים לא מוכרים בכניסה, מופעל שיקול אחר. (לרוב מובנה MSE)
Back Propogation • חזרה נשנית על אות כניסה מסוים, וביצוע שינויים במערכת, עד לקבלת output רצוי.
לימוד/אימון - המשך • קצב לימוד: • השינוי במשקלים הנשמרים ברשת נעשה בצורה איטרטיבית. • הפקטור אשר קובע את גודל ההשפעה (גודל התנודות באיטרציה) הוא קצב הלימוד. (Learning Rate) • ערך הפקטור בתחום [0,1]. • שיקולים : • קצב לימוד איטי – משאבים. • קצב לימוד מהיר – סכנת "התבדרות".
לימוד/אימון - המשך • מומנטום: • מעשית : קיימת קורלציה בין השינוי במשקלים באיטרציה כלשהי ובין השינוי באיטרציה אשר קדמה לה. • אם רוצים לשמר את הקורלציה, ניתן להגדיר פקטור מומנטום.
Back propogation – Cont. • שיקולים: • סוג המידע. • קריטריון לשינוי המשקלים. • חזרות. • ריצות. • סיכונים.
סיכונים • התכנסות ל-local minima. • לימוד ארוך מדי: • יצירת תלות גדולה מדי של הרשת בסדרת הלימוד. • הרשת תדע לזהות רק את הסדרה עליה התלמדה. • לימוד קצר מדי: • חוסר ניסיון. • מטריצות משקלים לא "מכונסות". (איטרטיבית)
אלגוריתם בסיסי • בהינתן input, חשב את יציאות ה-hidden layer. • בעזרת הנ"ל, חשב את יציאות ה-output layer. • חשב את וקטור המרחק ב-output. • חשב מטריצות משקלים מחדש בעזרת הנ"ל. • התאם offset בתוך הנוירון בהתאם לנ"ל. • המשך עד וקטור מרחק קטן כרצונך.
אלגוריתם בסיסי - המשך • או... בעברית... • i[], h[], o[]. – I/H/O layers neurons. • W1,W2 – weight matrixes. • F(x) – Sigmoid activation function. • lr, m – Learning Rate & Momentum, respectively. • For a more generalized network, layer biases can be used.
Sigmoid Functions • פונקציות הסכימה בתוך הנוירון. • פונקציות אופייניות:
Feature Extraction • רשת הנוירונים אינה נוטלת חלק ב-Preprocessing (Segmentation, Filtering, Normalization). • אותות הכניסה מהווים מידע אבסולוטי. • דוגמאות לסוגי כניסות : • Character pixels. (8x8, 16x16, 7x5) • FFT coefficients, Gabor Coefficients. (של אות הכניסה, עבור תמונה בכלל) • ייצוג של Character בעזרת קוים ישרים או קמורים.
נתונים מסימולציות • Gabor Functions: • אותות הכניסה הם מקדמי Gabor מרחביים. • נעשה שימוש בכמה סדרות של כתב, מאת 49 כותבים, בעלי שונויות גבוהות ונמוכות בכתב. • מבנה הרשת : 32 inputs, 15 hidden, 10 outputs. • עבור לימוד של 2000 ספרות, ואימון על 1400 הושג זיהוי של 92.1%. • FE – 13.7[ms]; זיהוי – 19[ms]. (לכל ספרה)
נתונים מסימולציות - המשך • ייצוג ע"י קווים ועקומים: • 4 קווים, 4 עקומים, מעגל. ייצוג אות ע"י רצף. • מבנה הרשת : 7 inputs, 120 hidden, 52 outputs. • שיטה : לימוד של 90% מהמסד, אימון על 10% הנותרים. ביצוע הנ"ל 10 פעמים. • בסימולציה נוספת בוצע כנ"ל, אך בכל שלב הוסף רעש גאוסי אקראי לאות הכניסה.
אחוז הצלחה אחוז הצלחה אימון מספר אימון מספר 85 85 1 1 87 81 2 2 74 87 3 3 84 75 4 4 71 86 5 5 86 58 6 6 56 85 7 7 51 85 8 8 48 88 9 9 85 52 10 10 65.1 85.8 ממוצע ממוצע נתונים מסימולציות - המשך • תוצאות:
נתונים מסימולציות - המשך • זיהוי לוחיות רישוי:
סטטוס נוכחי • מימוש תיאורטי של רשת נוירונים ב-OOP. • בהמשך: • מימוש של אחת מן הסימולציות אשר הובאו כדוגמה. • בדיקת יעילות הרשת תחת רעש משתנה.