רשת עצבית מלאכותית – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
←‏מבוא לרשת עצבית: מחקתי כי לא ידוע אם כל המידע נמצא בתדר או שיש גם חשיבות לתזמון המדוייק של האותות.
מ אחידות במיקום הערות שוליים ביחס לסימני פיסוק
שורה 4: שורה 4:
'''רשת עצבית מלאכותית''' ('''ANN'''-'''A'''rtificial '''N'''eural '''N'''etwork) או '''רשת קשרית''' הוא כינוי ל[[מודל מתמטי]] [[חישוביות|חישובי]] המאפשר לבצע [[הדמיה]] של תהליכים [[מוח]]יים או [[קוגניטיבי]]ים, ושל תהליכים המתרחשים ב[[רשת עצבית]] טבעית. רשת מסוג זה מכילה בדרך כלל מספר רב של יחידות מידע ([[קלט]] ו[[פלט]]) המקושרות זו לזו. צורת הקישור בין היחידות, המכילה מידע על חוזק הקשר, מדמה את אופן חיבור ה[[נוירון|נוירונים]] במוח. השימוש ברשתות עצביות מלאכותיות נפוץ בעיקר ב[[מדעים קוגניטיביים]], ובמערכות [[תוכנה]] שונות - בהן: מערכות רבות של [[אינטליגנציה מלאכותית]] המבצעות משימות מגוונות - [[זיהוי תווים אופטי|זיהוי תווים]], [[מערכת זיהוי תווי פנים|זיהוי פנים]], [[זיהוי כתב יד]], חיזוי [[שוק ההון]], [[ניתוח קול]], זיהוי תמונה, ניתוח טקסט ועוד.
'''רשת עצבית מלאכותית''' ('''ANN'''-'''A'''rtificial '''N'''eural '''N'''etwork) או '''רשת קשרית''' הוא כינוי ל[[מודל מתמטי]] [[חישוביות|חישובי]] המאפשר לבצע [[הדמיה]] של תהליכים [[מוח]]יים או [[קוגניטיבי]]ים, ושל תהליכים המתרחשים ב[[רשת עצבית]] טבעית. רשת מסוג זה מכילה בדרך כלל מספר רב של יחידות מידע ([[קלט]] ו[[פלט]]) המקושרות זו לזו. צורת הקישור בין היחידות, המכילה מידע על חוזק הקשר, מדמה את אופן חיבור ה[[נוירון|נוירונים]] במוח. השימוש ברשתות עצביות מלאכותיות נפוץ בעיקר ב[[מדעים קוגניטיביים]], ובמערכות [[תוכנה]] שונות - בהן: מערכות רבות של [[אינטליגנציה מלאכותית]] המבצעות משימות מגוונות - [[זיהוי תווים אופטי|זיהוי תווים]], [[מערכת זיהוי תווי פנים|זיהוי פנים]], [[זיהוי כתב יד]], חיזוי [[שוק ההון]], [[ניתוח קול]], זיהוי תמונה, ניתוח טקסט ועוד.


==רקע==
==מבוא לרשת עצבית==
{{הפניה לערך מורחב|רשת עצבית}}
רשת עצבית היא רשת של מעבדים מקושרים: כל מעבד ברשת מסוגל לבצע פעולה מתמטית פשוטה, אך בהיקשרם יחד הם מסוגלים להתנהגות מורכבת.
רשת עצבית היא רשת של מעבדים מקושרים: כל מעבד ברשת מסוגל לבצע פעולה מתמטית פשוטה, אך בהיקשרם יחד הם מסוגלים להתנהגות מורכבת.


[[קובץ:painty1.png|ממוזער|250px|שרטוט 1: רשת עצבית טיפוסית .]]
[[קובץ:painty1.png|ממוזער|250px|שרטוט 1: רשת עצבית טיפוסית .]]


במוח, [[תא עצב|תאי עצב]] או נוירונים, הם התאים שמהם מורכבת מערכת העצבים, ויש כמאה מיליארד מהם אצל אדם ממוצע. כל אחד מהם התפתח להיות מעבד אלקטרוני. אם נבחן נוירון תחת מיקרוסקופ, נראה גוף הדומה לזה המופיע בשרטוט 2.
במוח, [[תא עצב|תאי עצב]] או נוירונים, הם התאים שמהם מורכבת מערכת העצבים, ויש כמאה מיליארד מהם אצל אדם ממוצע. כל אחד מהם התפתח להיות מעבד אלקטרוני. ה[[דנדריט|דֶנדריטים]] מקבלים מידע מהעולם החיצון ומהווים את מערכת הקלט של הנוירון. כשמתקבלים מספיק גירויים בדנדריטים, גוף התא מייצר אות חשמלי שנע לאורך האַקסוֹן לדנדריטים של תאים אחרים או לשרירים ומגרה אותם. ככל שהנוירונים מקבלים יותר גירויים מהדנדריטים, הם מייצרים יותר אותות חשמליים בשנייה אחת.


[[קובץ:painty2.png|ממוזער|250px|שרטוט 2: נוירון ביולוגי .]]
[[קובץ:painty2.png|ממוזער|250px|שרטוט 2: נוירון ביולוגי .]]

ה[[דנדריט|דֶנדריטים]] מקבלים מידע מהעולם החיצון ומהווים את מערכת הקלט של הנוירון. כשמתקבלים מספיק גירויים בדנדריטים, גוף התא מייצר אות חשמלי שנע לאורך האַקסוֹן לדנדריטים של תאים אחרים או לשרירים ומגרה אותם.
ככל שהנוירונים מקבלים יותר גירויים מהדנדריטים, הם מייצרים יותר אותות חשמליים בשנייה אחת, כפי שניתן לראות בשרטוט 3.

[[קובץ:painty3.png|ממוזער|250px|שרטוט 3: כיצד נוירון מעבד מידע .]]
[[קובץ:painty3.png|ממוזער|250px|שרטוט 3: כיצד נוירון מעבד מידע .]]


שורה 25: שורה 22:
ישנם מודלים רבים של רשתות עצביות. המשותף לכולם הוא קיומן של יחידות עיבוד בדידות (המקבילה במודל לנוירונים הביולוגיים) הקשורות ביניהן בקשרים (בדומה לקשרים הקיימים בין הנוירונים הביולוגיים). הפרטים - מספר הנוירונים, מספר הקשרים, מבנה הרשת (סידור בשכבות, מספר השכבות) - משתנים ממודל למודל. מקובל להשתמש בכלים מתחום [[אלגברה לינארית|האלגברה הלינארית]] כגון [[מטריצה|מטריצות]] ו[[וקטור (אלגברה)|וקטור]]ים על-מנת לייצג את הנוירונים והקשרים ביניהם. הפעולה שמבצע כל נוירון על הקלט שלו בדרך כלל מיוצגת על ידי [[פונקציה]].
ישנם מודלים רבים של רשתות עצביות. המשותף לכולם הוא קיומן של יחידות עיבוד בדידות (המקבילה במודל לנוירונים הביולוגיים) הקשורות ביניהן בקשרים (בדומה לקשרים הקיימים בין הנוירונים הביולוגיים). הפרטים - מספר הנוירונים, מספר הקשרים, מבנה הרשת (סידור בשכבות, מספר השכבות) - משתנים ממודל למודל. מקובל להשתמש בכלים מתחום [[אלגברה לינארית|האלגברה הלינארית]] כגון [[מטריצה|מטריצות]] ו[[וקטור (אלגברה)|וקטור]]ים על-מנת לייצג את הנוירונים והקשרים ביניהם. הפעולה שמבצע כל נוירון על הקלט שלו בדרך כלל מיוצגת על ידי [[פונקציה]].


רשת נוירונים מאופיינת על ידי: אופן החיבור בין הנוירונים ברשת; השיטה הקובעת את משקלי החיבורים בין הנוירונים; פונקציית האקטיבציה. הפסקאות הבאות מסבירות כל מאפיין.
רשת נוירונים מאופיינת על ידי:
*אופן החיבור בין הנוירונים ברשת
*השיטה הקובעת את משקלי החיבורים בין הנוירונים
*[[פונקציית אקטיבציה|פונקציית האקטיבציה]]

רשתות נוירונים מורכבות ממספר רב של יחידות עיבוד פשוטות הנקראות נוירונים, אשר מחוברות באופן היררכי ומובנות בשכבות. השכבה הראשונה נועדה לקלוט מידע לרשת, השכבה האמצעית ידועה כשכבה החבויה, ולבסוף השכבה האחרונה אשר נועדה להחזיר את המידע המעובד כפלט.
הצמתים בכל שכבה מחוברים באופן מלא לצמתים בשכבות הסמוכות באמצעות חיבור ישיר בין הנוירונים, כאשר לכל קשר קיים משקל מסוים. המשקל בכל קשר קובע עד כמה רלוונטי המידע שעובר דרכו, והאם על הרשת להשתמש בו על מנת לפתור את הבעיה. כל צומת בשכבת הקלט (השכבה הראשונה) מייצג תכונה שונה מהמבנה, ושכבת הפלטים מייצגת את הפתרון של הבעיה. בשכבה האמצעית והחיצונית קיימים "ערכי סף" הניתנים לכיול במערכת ממוחשבת, וקובעים את חשיבות הקשרים השונים.{{הערה|שם=Milam1999|1=Milam, 1999{{הבהרה|יש להשלים}}}}


===מבנה הרשת והשכבות===
תהליך הלמידה מתבצע על ידי "תגמול" "וענישה" של קשרים שונים ועל ידי חשיפת רשת הנוירונים לדוגמאות רבות. "תגמול" ו"ענישה" של הקשרים מתבצע על ידי שינוי המשקל של אותו הקשר, כך שכל קשר ש"מתוגמל" משקלו יגדל וכל קשר ש"נענש" משקלו ירד, כמובן תהליך זה משפיע במידה רבה על תהליך העיבוד ברשת הנוירונים ולקבלת תוצאה שונה.כל נוירון בשכבה הראשונה מתעדכן בנתון רלוונטי הנקרא קלט, ולאחר תהליך עיבוד בשכבות הביניים כל נוירון בשכבה האחרונה מיצר פלט הנקרא פתרון. כל אחד מן הנוירונים יכול להשפיע במידה מסוימת על המידע או על תהליך העיבוד שיתבצע בתא אחר בשל הקשרים הקיימים ברשת. פעולת החשיבה נעשית על ידי הזנת נתוני קלט לנוירונים שבשכבה העליונה, והעברת הנתונים בין הנוירונים ובמורד השכבות, עד שנוצר מערך של נתוני פלט בנוירונים שבשכבה התחתונה. נתוני הפלט מהווים מערך של פתרונות הרשת לנתוני הקלט. מדוגמה לדוגמה מתעדכנים "ערכי הסף" של הנוירונים שבמערכת, כך שהפלט יהיה אופטימאלי. הערכים המתמטיים של ערכי הסף יכוילו, כך שכל קשר שצריך היה לאשרו יאושר, וכל קשר שצריך היה לדחותו יידחה. מעתה ואילך, אפשר לצפות שהרשת תקבל החלטות לאשר או לדחות באופן שמבטא בצורה מלאה את הניסיון הנצבר בתהליך הלמידה{{הערה|שם=Milam1999}}. יכולתה של רשת הנוירונים מושתתת על יכולתה לספק דיוק מקסימלי לכל פונקציה קיימת כאשר דיוק זה יכול להתבצע על ידי הגברת מורכבות הרשת והגדלת מספר השכבות החבויות.{{הערה| Davies, F., & Moutinho, L., & Curry ,B., (1996). ATM user attitudes: a neural network analysis. Journal of Marketing Intelligence & Planning , 14(2), 26-32.}}
רשתות נוירונים מורכבות ממספר רב של יחידות עיבוד פשוטות הנקראות נוירונים, אשר מחוברות באופן היררכי ומובנות בשכבות. השכבה הראשונה נועדה לקלוט מידע לרשת, השכבה האמצעית ידועה כשכבה החבויה (במודלים שונים עשויים להיות מאחת כזו), ולבסוף השכבה האחרונה אשר נועדה להחזיר את המידע המעובד כפלט. הצמתים בכל שכבה מחוברים באופן מלא לצמתים בשכבות הסמוכות באמצעות חיבור ישיר בין הנוירונים, כאשר לכל קשר קיים משקל מסוים. המשקל בכל קשר קובע עד כמה רלוונטי המידע שעובר דרכו, והאם על הרשת להשתמש בו על מנת לפתור את הבעיה. כל צומת בשכבת הקלט (השכבה הראשונה) מייצג תכונה שונה מהמבנה, ושכבת הפלטים מייצגת את הפתרון של הבעיה. בשכבה האמצעית והחיצונית קיימים "ערכי סף" הניתנים לכיול במערכת ממוחשבת, וקובעים את חשיבות הקשרים השונים.{{הערה|שם=Milam1999|1=Milam, 1999{{הבהרה|יש להשלים}}}}
<!-- הערה


===תהליך הלימוד===
=חוק הב=
תהליך הלמידה מתבצע על ידי "תגמול" "וענישה" של קשרים שונים ועל ידי חשיפת רשת הנוירונים לדוגמאות רבות. "תגמול" ו"ענישה" של הקשרים מתבצע על ידי שינוי המשקל של אותו הקשר, כך שכל קשר ש"מתוגמל" משקלו יגדל וכל קשר ש"נענש" משקלו ירד, כמובן תהליך זה משפיע במידה רבה על תהליך העיבוד ברשת הנוירונים ולקבלת תוצאה שונה. כל נוירון בשכבה הראשונה מתעדכן בנתון רלוונטי הנקרא קלט, ולאחר תהליך עיבוד בשכבות הביניים כל נוירון בשכבה האחרונה מיצר פלט הנקרא פתרון. כל אחד מן הנוירונים יכול להשפיע במידה מסוימת על המידע או על תהליך העיבוד שיתבצע בתא אחר בשל הקשרים הקיימים ברשת. פעולת החשיבה נעשית על ידי הזנת נתוני קלט לנוירונים שבשכבה העליונה, והעברת הנתונים בין הנוירונים ובמורד השכבות, עד שנוצר מערך של נתוני פלט בנוירונים שבשכבה התחתונה. נתוני הפלט מהווים מערך של פתרונות הרשת לנתוני הקלט. מדוגמה לדוגמה מתעדכנים "ערכי הסף" של הנוירונים שבמערכת, כך שהפלט יהיה אופטימאלי. הערכים המתמטיים של ערכי הסף יכוילו, כך שכל קשר שצריך היה לאשרו יאושר, וכל קשר שצריך היה לדחותו יידחה. מעתה ואילך, אפשר לצפות שהרשת תקבל החלטות לאשר או לדחות באופן שמבטא בצורה מלאה את הניסיון הנצבר בתהליך הלמידה.{{הערה|שם=Milam1999}} יכולתה של רשת הנוירונים מושתתת על יכולתה לספק דיוק מקסימלי לכל פונקציה קיימת כאשר דיוק זה יכול להתבצע על ידי הגברת מורכבות הרשת והגדלת מספר השכבות החבויות.{{הערה| Davies, F., & Moutinho, L., & Curry ,B., (1996). ATM user attitudes: a neural network analysis. Journal of Marketing Intelligence & Planning , 14(2), 26-32.}}
=חוק דלתא=
=חלחול לאחור (בק-פרופגיישן)= -->


==היסטוריה==
==לידתה של ANN==
בשנת 1943 פרסמו שני חוקרים (McCulloch and Pitts) מאמר, שהיווה בסיס להתפתחותו של מדע הרשתות העצביות. המאמר הציע מודל פשוט של פעולת הנוירון, שעליו מבוססות הרשתות המלאכותיות עד היום.
בשנת [[1943]] פרסמו שני חוקרים (McCulloch and Pitts) מאמר<ref>{{cite journal|last=McCulloch|first=Warren|author2=Walter Pitts|title=A Logical Calculus of Ideas Immanent in Nervous Activity|journal=Bulletin of Mathematical Biophysics|year=1943|volume=5|pages=115–133|doi=10.1007/BF02478259|issue=4}}</ref>, שהיווה בסיס להתפתחותו של מדע הרשתות העצביות. המאמר הציע מודל פשוט של פעולת הנוירון, שעליו מבוססות הרשתות המלאכותיות עד היום.
[[קובץ:painty4.png|ממוזער|250px|שרטוט 4: נוירון מלאכותי בסיסי]]
[[קובץ:painty4.png|ממוזער|250px|שרטוט 4: נוירון מלאכותי בסיסי]]


שורה 104: שורה 100:
[[קובץ:painty8.png|ממוזער|250px|שרטוט 11: Sigmoid Unit]]
[[קובץ:painty8.png|ממוזער|250px|שרטוט 11: Sigmoid Unit]]


הביטויים המפורשים הינם:
הביטויים המפורשים הם:
[[קובץ:painty9.png|center|300px|שרטוט 9:]]
[[קובץ:painty9.png|center|300px|שרטוט 9:]]
אם כן, הרשת בה השתמשנו הנה רשת בעלת שלוש שכבות, בכל שכבה מספר תאים כשכל תא מממש Sigmoid unit.
אם כן, הרשת בה השתמשנו הנה רשת בעלת שלוש שכבות, בכל שכבה מספר תאים כשכל תא מממש Sigmoid unit.
שורה 110: שורה 106:
==אלגוריתם ללימוד הרשת==
==אלגוריתם ללימוד הרשת==
המשקולות שעל הקשרים בין הנוירונים (המשקולות הסינופטיות) הן אלה שאוגרות את הידע של הרשת במודל המפושט, לכן אלגוריתמי הלימוד השונים מבצעים את כוונון המשקולות לערכים שנותנים תוצאות חישוב טובות עבור מערך דוגמאות הלימוד. משימה זאת אינה פשוטה בגלל השכבות החבויות.
המשקולות שעל הקשרים בין הנוירונים (המשקולות הסינופטיות) הן אלה שאוגרות את הידע של הרשת במודל המפושט, לכן אלגוריתמי הלימוד השונים מבצעים את כוונון המשקולות לערכים שנותנים תוצאות חישוב טובות עבור מערך דוגמאות הלימוד. משימה זאת אינה פשוטה בגלל השכבות החבויות.
אחד מאלגוריתמי הלימוד המקובלים ביותר הוא אלגוריתם "החלחול לאחור" (Back-Propagation).
אחד מאלגוריתמי הלימוד המקובלים ביותר הוא אלגוריתם "[[חלחול לאחור]]" (Back-Propagation).
זהו אלגוריתם ללימוד מוכוון (Supervised Learning). הוא מעביר את הקלט הלימוד במורד רשת עם משקולות אקראיים, משווה את הקלט המתקבל לקלט הרצוי בכך שהוא מחשב את הטעות עבור כל נוירון פלט.
זהו אלגוריתם ללימוד מוכוון (Supervised Learning). הוא מעביר את הקלט הלימוד במורד רשת עם משקולות אקראיים, משווה את הקלט המתקבל לקלט הרצוי בכך שהוא מחשב את הטעות עבור כל נוירון פלט.
הרעיון העיקרי של BP הוא שהטעויות מחלחלות חזרה במעלה הרשת כך שמתבצעים כוונוני משקלות בעזרת אלגוריתם Gradient descent שמנסה להקטין את הטעויות בפלט. אם תיקוני המשקולות נעשים שיעור מספיק קטן, גדלים הסיכויים להתכנסות של הרשת לטעות מינימלית. אומנם תיתכן התכנסות למינימום מקומי בלבד, אך למעשה השיטה נותנת תוצאות טובות כיוון שניתן להפעילה שוב עם משקולות התחלתיות שונות. למרות שהלימוד בשיטה זו יכול להיות איטי, השימוש ברשת אחרי הלימוד הוא מהיר מאוד.
הרעיון העיקרי של BP הוא שהטעויות מחלחלות חזרה במעלה הרשת כך שמתבצעים כוונוני משקלות בעזרת אלגוריתם [[Gradient descent]] שמנסה להקטין את הטעויות בפלט. אם תיקוני המשקולות נעשים שיעור מספיק קטן, גדלים הסיכויים להתכנסות של הרשת לטעות מינימלית. אומנם תיתכן התכנסות למינימום מקומי בלבד, אך למעשה השיטה נותנת תוצאות טובות כיוון שניתן להפעילה שוב עם משקולות התחלתיות שונות. למרות שהלימוד בשיטה זו יכול להיות איטי, השימוש ברשת אחרי הלימוד הוא מהיר מאוד.


==אלגוריתם Gradient Descent==
===אלגוריתם Gradient Descent===
את הרשת מאמנים על ידי עדכון המשקולות wi.
את הרשת מאמנים על ידי עדכון המשקולות wi.
הרשת מוזנת בווקטור כניסה מסוים ונבחן מוצאה. בהתאם למוצא הדרוש עבור וקטור כניסה זה מעדכנים את המשקולות. אנו נדון רק באפשרות של עדכון המשקולות על מנת לצמצם את השגיאה הריבועית בין מוצא הרשת למוצא הדרוש. הניסוח המתמטי ל Gradient Descent הנו:
הרשת מוזנת בווקטור כניסה מסוים ונבחן מוצאה. בהתאם למוצא הדרוש עבור וקטור כניסה זה מעדכנים את המשקולות. אנו נדון רק באפשרות של עדכון המשקולות על מנת לצמצם את השגיאה הריבועית בין מוצא הרשת למוצא הדרוש. הניסוח המתמטי ל Gradient Descent הנו:
שורה 122: שורה 118:
נשים לב כי כמו בכל שימוש באלגוריתם Gradient Descent אפשר להתכנס למינימום מקומי..
נשים לב כי כמו בכל שימוש באלגוריתם Gradient Descent אפשר להתכנס למינימום מקומי..


==אלגוריתם "החלחול לאחור" (Back-Propagation)==
===אלגוריתם חלחול לאחור (Back-Propagation)===


בסעיף הקודם קיבלנו את המשוואה לעדכון המשקולות של תא מסוים בהינתן מוצאו והמוצא הדרוש ("מטרה"). עם זאת, במהלך אימון הרשת ידוע לנו רק מוצא הרשת כולה (והמטרה שלה), ולא ידועים המוצאים\מטרות של שכבות הביניים. באמצעות אלגוריתם Back-propagation נעדכן את שכבות הביניים גם כן - שכבה אחרי שכבה.
בסעיף הקודם קיבלנו את המשוואה לעדכון המשקולות של תא מסוים בהינתן מוצאו והמוצא הדרוש ("מטרה"). עם זאת, במהלך אימון הרשת ידוע לנו רק מוצא הרשת כולה (והמטרה שלה), ולא ידועים המוצאים\מטרות של שכבות הביניים. באמצעות אלגוריתם Back-propagation נעדכן את שכבות הביניים גם כן - שכבה אחרי שכבה.

גרסה מ־22:38, 22 בפברואר 2015

תרשים המדגים את אופן הפעולה של רשת עצבית מלאכותית.

רשת עצבית מלאכותית (ANN-Artificial Neural Network) או רשת קשרית הוא כינוי למודל מתמטי חישובי המאפשר לבצע הדמיה של תהליכים מוחיים או קוגניטיביים, ושל תהליכים המתרחשים ברשת עצבית טבעית. רשת מסוג זה מכילה בדרך כלל מספר רב של יחידות מידע (קלט ופלט) המקושרות זו לזו. צורת הקישור בין היחידות, המכילה מידע על חוזק הקשר, מדמה את אופן חיבור הנוירונים במוח. השימוש ברשתות עצביות מלאכותיות נפוץ בעיקר במדעים קוגניטיביים, ובמערכות תוכנה שונות - בהן: מערכות רבות של אינטליגנציה מלאכותית המבצעות משימות מגוונות - זיהוי תווים, זיהוי פנים, זיהוי כתב יד, חיזוי שוק ההון, ניתוח קול, זיהוי תמונה, ניתוח טקסט ועוד.

רקע

ערך מורחב – רשת עצבית

רשת עצבית היא רשת של מעבדים מקושרים: כל מעבד ברשת מסוגל לבצע פעולה מתמטית פשוטה, אך בהיקשרם יחד הם מסוגלים להתנהגות מורכבת.

שרטוט 1: רשת עצבית טיפוסית .

במוח, תאי עצב או נוירונים, הם התאים שמהם מורכבת מערכת העצבים, ויש כמאה מיליארד מהם אצל אדם ממוצע. כל אחד מהם התפתח להיות מעבד אלקטרוני. הדֶנדריטים מקבלים מידע מהעולם החיצון ומהווים את מערכת הקלט של הנוירון. כשמתקבלים מספיק גירויים בדנדריטים, גוף התא מייצר אות חשמלי שנע לאורך האַקסוֹן לדנדריטים של תאים אחרים או לשרירים ומגרה אותם. ככל שהנוירונים מקבלים יותר גירויים מהדנדריטים, הם מייצרים יותר אותות חשמליים בשנייה אחת.

שרטוט 2: נוירון ביולוגי .
שרטוט 3: כיצד נוירון מעבד מידע .

מספר נוירונים, הנקראים נוירוני חישה (Sensory neurons) , אוספים את המידע מהעולם החיצון. למשל, הקנים והמדוכים בעין הם נוירוני חישה. האות מועבר למוח על ידי האקסונים של נוירוני החישה, שם הוא מעובד על ידי נוירונים נוספים, הנקראים נוירוני ביניים ומחוברים לנוירונים נוספים בלבד. הפלט של כל המערכת הזו מועבר לנוירונים מסוג אחרון - הנקראים נוירוני התנועה, ובהם האקסונים מחוברים ישירות לשרירים ולבלוטות. בדרך זו אנו יכולים לקלוט מידע מן העולם, לעבדו ולפעול על פיו.

מבנה של רשתות עצביות


שגיאות פרמטריות בתבנית:להשלים

פרמטרי חובה [ נושא ] חסרים

ישנם מודלים רבים של רשתות עצביות. המשותף לכולם הוא קיומן של יחידות עיבוד בדידות (המקבילה במודל לנוירונים הביולוגיים) הקשורות ביניהן בקשרים (בדומה לקשרים הקיימים בין הנוירונים הביולוגיים). הפרטים - מספר הנוירונים, מספר הקשרים, מבנה הרשת (סידור בשכבות, מספר השכבות) - משתנים ממודל למודל. מקובל להשתמש בכלים מתחום האלגברה הלינארית כגון מטריצות ווקטורים על-מנת לייצג את הנוירונים והקשרים ביניהם. הפעולה שמבצע כל נוירון על הקלט שלו בדרך כלל מיוצגת על ידי פונקציה.

רשת נוירונים מאופיינת על ידי:

  • אופן החיבור בין הנוירונים ברשת
  • השיטה הקובעת את משקלי החיבורים בין הנוירונים
  • פונקציית האקטיבציה

מבנה הרשת והשכבות

רשתות נוירונים מורכבות ממספר רב של יחידות עיבוד פשוטות הנקראות נוירונים, אשר מחוברות באופן היררכי ומובנות בשכבות. השכבה הראשונה נועדה לקלוט מידע לרשת, השכבה האמצעית ידועה כשכבה החבויה (במודלים שונים עשויים להיות מאחת כזו), ולבסוף השכבה האחרונה אשר נועדה להחזיר את המידע המעובד כפלט. הצמתים בכל שכבה מחוברים באופן מלא לצמתים בשכבות הסמוכות באמצעות חיבור ישיר בין הנוירונים, כאשר לכל קשר קיים משקל מסוים. המשקל בכל קשר קובע עד כמה רלוונטי המידע שעובר דרכו, והאם על הרשת להשתמש בו על מנת לפתור את הבעיה. כל צומת בשכבת הקלט (השכבה הראשונה) מייצג תכונה שונה מהמבנה, ושכבת הפלטים מייצגת את הפתרון של הבעיה. בשכבה האמצעית והחיצונית קיימים "ערכי סף" הניתנים לכיול במערכת ממוחשבת, וקובעים את חשיבות הקשרים השונים.[1]

תהליך הלימוד

תהליך הלמידה מתבצע על ידי "תגמול" "וענישה" של קשרים שונים ועל ידי חשיפת רשת הנוירונים לדוגמאות רבות. "תגמול" ו"ענישה" של הקשרים מתבצע על ידי שינוי המשקל של אותו הקשר, כך שכל קשר ש"מתוגמל" משקלו יגדל וכל קשר ש"נענש" משקלו ירד, כמובן תהליך זה משפיע במידה רבה על תהליך העיבוד ברשת הנוירונים ולקבלת תוצאה שונה. כל נוירון בשכבה הראשונה מתעדכן בנתון רלוונטי הנקרא קלט, ולאחר תהליך עיבוד בשכבות הביניים כל נוירון בשכבה האחרונה מיצר פלט הנקרא פתרון. כל אחד מן הנוירונים יכול להשפיע במידה מסוימת על המידע או על תהליך העיבוד שיתבצע בתא אחר בשל הקשרים הקיימים ברשת. פעולת החשיבה נעשית על ידי הזנת נתוני קלט לנוירונים שבשכבה העליונה, והעברת הנתונים בין הנוירונים ובמורד השכבות, עד שנוצר מערך של נתוני פלט בנוירונים שבשכבה התחתונה. נתוני הפלט מהווים מערך של פתרונות הרשת לנתוני הקלט. מדוגמה לדוגמה מתעדכנים "ערכי הסף" של הנוירונים שבמערכת, כך שהפלט יהיה אופטימאלי. הערכים המתמטיים של ערכי הסף יכוילו, כך שכל קשר שצריך היה לאשרו יאושר, וכל קשר שצריך היה לדחותו יידחה. מעתה ואילך, אפשר לצפות שהרשת תקבל החלטות לאשר או לדחות באופן שמבטא בצורה מלאה את הניסיון הנצבר בתהליך הלמידה.[1] יכולתה של רשת הנוירונים מושתתת על יכולתה לספק דיוק מקסימלי לכל פונקציה קיימת כאשר דיוק זה יכול להתבצע על ידי הגברת מורכבות הרשת והגדלת מספר השכבות החבויות.[2]

היסטוריה

בשנת 1943 פרסמו שני חוקרים (McCulloch and Pitts) מאמר[3], שהיווה בסיס להתפתחותו של מדע הרשתות העצביות. המאמר הציע מודל פשוט של פעולת הנוירון, שעליו מבוססות הרשתות המלאכותיות עד היום.

שרטוט 4: נוירון מלאכותי בסיסי

שרטוט 4 מדגים ארבעה נתוני קלט, המסומנים ב: i1 עד i4. אלו מייצגים את הדנדריטים ויכולים להיות מחוברים לעולם החיצון או לנוירונים אחרים. לקלט "משקל" יחסי, המבוטא על ידי משקולות המסומנות ב: w1 עד w4. משקולות אלו מייצגות את עוצמת הקשרים בין הדנדריטים של נוירון אחד לגוף התא בנוירון אמתי שני. במציאות יכול כמובן להיות כל מספר של נתוני קלט. המערכת פועלת באופן המתואר להלן. ראשית, כל נתון נשקל על ידי הכפלתו במשקולת המתאימה לו, כאשר התוצאה הסופית מתקבלת מחיבור כל הנתונים השקולים יחד:

סכום = (i1 x w1) + (i2 x w2) + (i3 x w3) + (i4 x w4).

אם סכום זה (המהווה במובן הביולוגי את הגירוי הכולל המגיע לנוירון) גבוה מסף ידוע כלשהו, הנוירון מעביר פלט "1"; אם לא, הפלט הוא "0".

נניח כי הסף הוא 0.5:

אם סכום > 0.5, אז פלט = 1.

אם סכום < 0.5, אז פלט = 0.

תהליך זה מזכיר פעולה של נוירון אמתי, המפיק אות חשמלי כשהגירוי מספיק. נניח כי יש לנו נוירון עם קלט ומשקולות כמוצג בשרטוט 5. מה יהיה הפלט במקרה זה?

נחַשֵב את הפלט של הנוירון בשרטוט בהתאם להנחה כי ערך הסף הוא 0.5::

סכום = 0.1x 0.5) + (0.5 x 0.2) + (0.3 x 0.1) = 0.18).

כיוון ש-0.18 קטן מ-0.5, הפלט = 0.

קובץ:Painty5.png
שרטוט 5: דוגמה מפורטת

נבחן תבנית ויזואלית כמו זו המופיעה בשרטוט 6א' ונאמר כי אנו מעוניינים במכשיר היודע לזהות תבנית זו. נוכל לקודד את הפיקסלים הכהים ב-1 ואת הבהירים ב-0. כעת, אם נחבר את הנוירון שלנו כמוצג בשרטוט 6ב', הוא ייתן פלט "1" בכל פעם שיראה תבנית זו. אם תבחנו את השרטוט המוצע ודאי תשימו לב, כי גם אם התבנית אינה מושלמת - האחדים אינם בדיוק אחד, והאפסים אינם בדיוק אפס - הנוירון עדיין יזהה את התבנית (במקרה זה נאמר, כי הנוירון עמיד לרעש). אולם, אם נכניס תבנית שונה לחלוטין כמו זו המוצגת בשרטוט 6ג', הנוירון לא יזהה אותה. זיהוי תבניות, גם כשאינן מושלמות, הוא אחת התכונות הבסיסיות של בינה. מתוך כך יש חשיבות רבה בזיהוי תבניות. יש האומרים כי רשתות עצביות הן הדרך הטובה ביותר למשימה זו. הן אף יכולות לזהות תבניות בזמן, אם הן נדגמות ומוזנות לרשת.

שרטוט 6: שימוש בנוירון לזיהוי תבנית

דבר נוסף העולה מהדוגמה לעיל הוא שסידור המשקולות מהותי לתפקוד הרשת. המשקולות הן אלו שקובעות מהי התבנית שתזוהה, וקביעתן היא המשימה המרכזית של תוכנית הרשת העצבית. בדוגמה לעיל המשקולות נקבעו בעזרת היגיון פשוט, וכאשר מדובר במשימה פשוטה כזו הדבר אכן אפשרי. אולם, למשימות מורכבות כמו זיהוי מאות תבניות בעזרת רשת נוירונים, הדבר בלתי אפשרי. אנו גם רוצים שהמשקולות ייקבעו לבדן ללא התערבות מפעיל אנושי.

רקע היסטורי

הרשתות העצביות הלכו התפתחו מאז הימים בהם הציעו מקלוך ופיטס את קיומן. אולם, בשנת 1969 פרסמו מינסקי ופפרט (Minsky and Papert) את ספרם "תפיסות" (“Perceptions”), שבו תקפו את הרעיונות העומדים מאחורי הרשתות העצביות. הספר הציג פגם בנוירון הבסיסי. הבעיה הייתה זו: לא משנה אילו משקולות נשים על הקלט, לא נוכל ליצור את השער הלוגי " Exclusive OR" (XOR) כמוצג בשרטוט 7. טיעון זה וטיעונים נוספים שהוצגו בספר, עיכבו את המשך התפתחותן של הרשתות העצביות במשך שנים רבות. חוקרים רבים נטשו את התחום בחשבם כי אם הנוירון לא יכול לבצע משימה פשוטה זו, אין טעם בהמשך המחקר.

שרטוט 7: נוירון יחיד אינו יכול לדַמוֹת שער XOR .

למעשה, מה שהיה נחוץ כדי להתגבר על בעיה זו ועל בעיות דומות לה הוא לא נוירון אחד, כי אם רשת של נוירונים. למען האמת, מתמטיקאי רוסי בשם קולמוגורוב (Kolomogorov) כבר הראה, כי רשת נוירונים בשלוש שכבות (ראה שרטוט 8) תוכל לפתור כל בעיה מסוג זה.

שרטוט 8: רשת עצבית רב-שכבתית

בכל זאת, למרות שהפתרון היה ידוע, רק בשנים 1983-1982 התעורר שוב העניין במחקר הרשתות העצביות. בזמן זה, "אלגוריתם הצעידה לאחור" זכה לפרסום נרחב.

הנוירונים ברשת עובדים בצורה זהה בדיוק לזו שתוארה קודם, נדגים זאת בעזרת ניורוני סיגמואיד (ראה שרטוט 9):

קובץ:Painty15.png
שרטוט 9: דוגמה לרשת עצבית .

מבנה רשת עצבית ופונקציית סיגמואיד

רשת נוירונים מורכבת ממספר רב של תאי בסיס, כך שכל תא בסיס מבצע חישוב פשוט יחסית. לכל תא מספר כניסות ויציאה אחת שערכה הוא פונקציה כלשהי של הכניסות. יציאה של תא מסוים יכולה להזין מספר כניסות של תאים שונים. ברשת שממשנו ישנן שלוש שכבות של תאים:

שכבת הכניסה (Input Layer) - לכל תא בשכבה זו כניסה אחת. וקטור הכניסות הנו הקלט לרשת.

שכבה מוסתרת (Hidden Layer) - לכל תא בשכבה זו מספר כניסות, כמספר תאי הכניסה (Fully Connected ).

שכבת המוצא (Output Layer) - לכל תא בשכבה זו מספר כניסות, כמספר תאי השכבה המוסתרת (Fully Connected). וקטור מוצאי התאים בשכבה זו הוא וקטור המוצא של הרשת.

שרטוט 10: מערך השכבות בתצורת "Feed Forward"

בדומה לנוירון הטבעי, ישנם קלטים רבים (Dendrites) ופלט יחיד (Axon) בנוירון המלאכותי. המשקולות על הקלטים מדמות רמות תגובה שונות בסינפסות. הקלטים לנוירון מסוכמים בסכום משוקלל, ואם התוצאה עוברת ערך סף מסוים, הקלט מועבר ליציאה. תצורת הרשת המקובלת ביותר היא Feed Forward – זאת אומרת, שכבות של נוירונים עם חיבור של כולם עם כולם בין שכבות צמודות. השכבות שבין שכבת הקלט לשכבת הפלט נקראות שכבות חבויות. בהינתן רשת בה כוונו המשקולות, חישוב על ידה מתבצע על ידי הזנת הקלטים לשכבת הקלט וקבלת התוצאה שחלחלה ברשת לשכבת הפלט. מספר נוירונים רב מידי בשכבות החבויות יכול לגרום להתמקצעות יתר על סדרת הלימוד. ישנה חשיבות לכך שפונקציית הסף ביציאה מהנוירון תהיה לא לינארית כדי לפתור בעיות ברמת קושי גבוהה בעזרת הרשת.

הפונקציה אותה מממש כל תא הנה פונקציית סיגמואיד המתוארת בשרטוט 11:

שרטוט 11: Sigmoid Unit

הביטויים המפורשים הם:

שרטוט 9:
שרטוט 9:

אם כן, הרשת בה השתמשנו הנה רשת בעלת שלוש שכבות, בכל שכבה מספר תאים כשכל תא מממש Sigmoid unit.

אלגוריתם ללימוד הרשת

המשקולות שעל הקשרים בין הנוירונים (המשקולות הסינופטיות) הן אלה שאוגרות את הידע של הרשת במודל המפושט, לכן אלגוריתמי הלימוד השונים מבצעים את כוונון המשקולות לערכים שנותנים תוצאות חישוב טובות עבור מערך דוגמאות הלימוד. משימה זאת אינה פשוטה בגלל השכבות החבויות. אחד מאלגוריתמי הלימוד המקובלים ביותר הוא אלגוריתם "חלחול לאחור" (Back-Propagation). זהו אלגוריתם ללימוד מוכוון (Supervised Learning). הוא מעביר את הקלט הלימוד במורד רשת עם משקולות אקראיים, משווה את הקלט המתקבל לקלט הרצוי בכך שהוא מחשב את הטעות עבור כל נוירון פלט. הרעיון העיקרי של BP הוא שהטעויות מחלחלות חזרה במעלה הרשת כך שמתבצעים כוונוני משקלות בעזרת אלגוריתם Gradient descent שמנסה להקטין את הטעויות בפלט. אם תיקוני המשקולות נעשים שיעור מספיק קטן, גדלים הסיכויים להתכנסות של הרשת לטעות מינימלית. אומנם תיתכן התכנסות למינימום מקומי בלבד, אך למעשה השיטה נותנת תוצאות טובות כיוון שניתן להפעילה שוב עם משקולות התחלתיות שונות. למרות שהלימוד בשיטה זו יכול להיות איטי, השימוש ברשת אחרי הלימוד הוא מהיר מאוד.

אלגוריתם Gradient Descent

את הרשת מאמנים על ידי עדכון המשקולות wi. הרשת מוזנת בווקטור כניסה מסוים ונבחן מוצאה. בהתאם למוצא הדרוש עבור וקטור כניסה זה מעדכנים את המשקולות. אנו נדון רק באפשרות של עדכון המשקולות על מנת לצמצם את השגיאה הריבועית בין מוצא הרשת למוצא הדרוש. הניסוח המתמטי ל Gradient Descent הנו:

קיבלנו את המשוואה לפיה נעדכן את המשקולות בכל איטרציה כדי להביא למינימום את השגיאה הריבועית במוצא. נשים לב כי כמו בכל שימוש באלגוריתם Gradient Descent אפשר להתכנס למינימום מקומי..

אלגוריתם חלחול לאחור (Back-Propagation)

בסעיף הקודם קיבלנו את המשוואה לעדכון המשקולות של תא מסוים בהינתן מוצאו והמוצא הדרוש ("מטרה"). עם זאת, במהלך אימון הרשת ידוע לנו רק מוצא הרשת כולה (והמטרה שלה), ולא ידועים המוצאים\מטרות של שכבות הביניים. באמצעות אלגוריתם Back-propagation נעדכן את שכבות הביניים גם כן - שכבה אחרי שכבה.

תהליך "הלימוד"

תהליך זה הוא הקובע את המשקולות לזיהוי אוטומטי של תבניות ברשת העצבית. להלן דוגמה פשוטה על האופן בו התהליך עשוי להתבצע, דמיינו אלגוריתם הנועד ללמד את הנוירון לעיל לזהות את התבנית המיועדת לו:

  1. אם הפלט נכון, אל תעשה כלום.
  2. אם הפלט גבוה אך אמור להיות נמוך, הנמך את המשקולות הקשורות לנתוני הקלט הגבוהים.
  3. אם הפלט נמוך אך אמור להיות גבוה, הגבה את המשקולות הקשורות לנתוני הקלט הגבוהים.

כל זאת, כאשר המצב ההתחלתי של ערכי המשקולות אקראי. חלקי המאמר הבאים עוסקים בשיטות שונות לאימון הרשת. יש שתי נקודות נוספות, שכדאי לשים לב אליהן כאן. ראשית, בעזרת קביעת משקולות מתאימה, נוכל ליצור מהרשתות כמעט כל שער לוגי. לכן, אל לנו להתייחס לרשתות העצביות כאמצעי לזיהוי בלבד - הן דבר יותר גמיש מכך. למעשה, הן יותר כמו מעגל לוגי מצרפי הניתן לאימון. שנית, במקום שימוש בפלט בינארי בלבד, כפי שנעשה בכל הדוגמאות בהן עסקנו, נשתמש ככלל בפונקציה המתמטית הנקראת "סיגמואיד" לפלט הנוירונים שלנו. כלומר הפלט יהיה:

למעשה פונקציה זו מחזירה תמיד מספר בין אפס לאחד, ולכן היא מתנהגת בדומה לפונקציית המדרגה הבינרית היא בעלת יתרון במקרים בהם קיימות שתי תבניות דומות מאוד. במקרים אלו ניתנת לנוירון בדרך זו האפשרות להחזיר ערך ביניים. זו בעצם דרכו להגיד: "אני לא בטוח". שרטוט 12 מדגים את הרעיון.

שרטוט 12: הנוירון הבינארי ונוירון הסיגמואיד.

יישומים

ניתן ליישם רשתות עצביות בחומרה אנלוגית או דיגיטלית - ראו דיאגרמת בלוקים של יישום אנלוגי בשרטוט 13. שלושה מגברים פשוטים נותנים את המשקל לקלט. אם אנו רוצים שהמערכת תלמד בזמן אמת, המגברים צריכים להיות בעלי הגברה דיגיטלית אלקטרונית. הפלט מסוכם, והסַף מופעל על ידי מַשוֶוה - Comparator. מעגל מסוג זה נבנה בעזרת רכיבים בדידים דוגמת מגברים אופטיים - Op Amps - כחלק ממעגל משולב. החיסרון בגישה זו הוא הצורך ברכיבים רבים, במידה שבמערכת נוירונים רבים. בדרך זהה ניתן לייצר מעגלים דיגיטליים: מגברי המשקולות יוחלפו במכפילים דיגיטליים, מגבר הסכום יוחלף בסוֹכֵם, והמשווה יוחלף במפענח, שיעביר אות אם פלט הסוכם יהיה גבוה מערך סף קבוע. בדומה לרשתות האנלוגיות, גם הרשתות הדיגיטליות בזבזניות מבחינת מקום ומשאבים, כיוון שהן נשענות על מכפילים בינאריים, שהם לרוב מעגלים גדולים ומורכבים.

שרטוט 13: יישום נוירון בחומרה

לכן, הדרך הנפוצה ביותר לממש רשת עצבית היא על ידי הדמיה בתוכנה. דרך זו מאפשרת למתכנת לשנות פרמטרים, דוגמת מספר הנוירונים והאופן בו הם מחוברים; פעולה זו יכולה להיעשות בקלות וללא חיווט מחדש שעלותו גבוהה, ובכך מאפשרת הדמיה של חיבור נוירונים רבים בדרך פשוטה. לגישת התכנה יתרונות רבים, שכן ניתן בקלות לתכנת רשת עצבית בשפה ברמה גבוהה ואף במספר רב של שפות סף.

מימוש רשת עצבית בתוכנה

מימוש של המודל התאורטי שהוצג לעיל כתוכנת מחשב הוא למעשה אלגוריתם בינה מלאכותית ללמידה חישובית ממשפחת הלמידה המונחית.

בניגוד לפיתוח תוכנה קלאסי, אשר מתמקד במציאת פתרון אלגוריתמי לבעיות, פיתוח בעזרת רשת עצבית מתמקד באימון הרשת, הזנתה במידע מתאים וניתוח הפתרון. משימות אלו הן אמנם מורכבות וקשות לפחות כמו הגישה המסורתית, אך לעתים קרובות ניתן למצוא בעזרת טכניקה זו פתרונות או קירובים לבעיות קשות.

הדרך הפשוטה היא לאחסן את כל הפרמטרים במערכים: את הקלט והפלט מהרשת ניתן לאחסן במערך אחד ואת המשקולות בשני. לדוגמה, נוכל לאחסן את כל המשקולות במערך תלת-ממדי עם שלושת הפרמטרים הבאים:

[Weights[layer_number, neuron_number, connection_number (מספר שכבה, מספר נוירון, מספר חיבור).

הפלט (כמו גם הקלט) מכל נוירון במערך דו-ממדי עם הפרמטרים הבאים הוא:

[Output[ layer_number, neuron_number (מספר שכבה ומספר נוירון).

מימוש בדרך זו ייתן רשת דומה לזו המוצגת בשרטוט 14.

שרטוט 14: אחסון המשקולות ברשת טיפוסית

נשים לב כי השדות (O(1,1 ו-(O(1,2 הם קלט הרשת, והשדה (O(3,1 הוא הפלט.

נוכל לגרום למחשב לחשב את הפלט מרשת כזו על ידי אלגוריתם פשוט:

  1. התחל את כל המשקולות ושדות הפלט - השדות O ו-W להיות אפס.
  2. קבע את הקלט - שדות (O(1,1 ו- (O(1,2 - לערכים הרצויים כאשר שכבה 1 היא הקלט.
  3. קבע את המשקולות הרצויות לרשת.
  4. חשב את הפלט מהרשת (בדומה לרשימה 1).
רשימה 1: חישוב פלט הרשת .

למעשה יש דרכים רבות לתכנת רשת מסוג זה. דרך אחרת, אולי גמישה מעט יותר, היא לכתוב קוד בצורה הבאה:

Weight[neuron_number_is_coming_from, neuron_number_is_going_to]

Output[neuron_number]

כלומר, המשקולות יסודרו לפי הנוירון שממנו יצאו ושאליו הלכו, והנוירונים פשוט ימוספרו לפי סדר ובהתאם לכך גם הפלט (והקלט). קוד זה ייתן רשת דומה לזו המופיעה בשרטוט 15.

שרטוט 15: קוד גמיש יותר לרשת

במקרה זה (O(1), O(2 הם הקלט ו- (O(5 הוא הפלט.

האלגוריתם לחישוב הפלט יהיה הפעם:

  1. התחל את כל המשקולות ושדות הפלט - השדות O וW- - להיות אפס.
  2. קבע את הקלט - שדות (O(1 ו- (O(2- לערכים הרצויים.
  3. קבע את המשקולות הרצויות לרשת שאתה רוצה.
  4. חשב את הפלט מהרשת (בדומה לרשימה 2).
רשימה 2: תכנות פלט חלופי .

מספר שפות תכנות (דוגמת C ו- C++) מאפשרות שינוי דינמי של גודלֵי המערך בהם אתם מעוניינים - דבר היכול להיות שימושי ברשתות מורכבות שמשנות את גודלן. שפות תכנות אחרות כמו MATLAB ו-FORTRUN, מאפשרות טיפול במטריצות - דבר שיכול להקל על ביצוע הפעולה, כיוון שכל משוואות הרשת ניתנות לכתיבה מטריצית. שפות המיועדות לתכנות מונחה עצמים מאפשרות להגדיר את הנוירונים והרשת כעצמים ולהעביר את הפרמטרים של הנוירונים לרשת בעזרת הורשה. בשפות סף המשקולות והפלטים ניתנים לאחסון ישר בזיכרון וכן ניתן לכתוב שגרות, לגשת אליהם ולשנותם. חישוב הפלט ברשת נודע כ"מסירה קדימה". השלב הבא הוא לשנות את המשקולות כך שהרשת תלמד לבצע טוב יותר את ה"מסירה קדימה" הבאה. זוהי הדרך בה הרשת מאומנת, והיא נקראת "מסירה אחורה".

יתרונות וחסרונות בשימוש ברשתות נוירונים

יתרונות:

  • בינה מלאכותית.
  • יכולת לימוד.
  • "התמחות" בנושא אשר עליו מתאמנת הרשת.
  • דינמיות במבנה הרשת.
  • עבודה בזמן אמת (אין צורך להכיר את הבעיה).
  • יכולת "שיקום" חלקית.
  • פשטות, ייצוג בצורה ישירה (מהסתכלות) של קשרים לינאריים או לא לינאריים.
  • היכולת לשמש כמנגנון קירוב פונקציה שרירותי שלומד מנתונים שנצפו. עם זאת, השימוש בהם הוא לא כל כך פשוט והבנה טובה יחסית של התאוריה הבסיסית היא חיונית.

חסרונות:

  • תוצאות לא צפויות.
  • יודעות לפתור רק מה שאומנו עליה.
  • לא ניתן לראות את הרציונל שמאחורי ההחלטות של המודל. כלומר, לא מתקבל סט של חוקים ברורים, אלא קופסה שחורה שיודעת לקבל החלטות נכונות אך ללא הסבר. בדיוק כמו המערכת העצבית שיושבת בין הכתפיים שלנו – המוח.

ראו גם

לקריאה נוספת

  • Supervised learning in multilayer feedforward networks - "backpropagation", Bruno A. Olshausen, 1998.
  • Neural Networks for Pattern Recognition , Bishop, C.M., 1996
  • Elektor Electronics 1/2003 C.McLeod and G.Maxwell
  • Davies, F., & Moutinho, L., & Curry ,B., (1996). ATM user attitudes: a neural network analysis. Journal of Marketing Intelligence & Planning , 14(2), 26-32.

קישורים חיצוניים

הערות שוליים

  1. ^ 1 2 Milam, 1999[דרושה הבהרה]
  2. ^ Davies, F., & Moutinho, L., & Curry ,B., (1996). ATM user attitudes: a neural network analysis. Journal of Marketing Intelligence & Planning , 14(2), 26-32.
  3. ^ McCulloch, Warren; Walter Pitts (1943). "A Logical Calculus of Ideas Immanent in Nervous Activity". Bulletin of Mathematical Biophysics. 5 (4): 115–133. doi:10.1007/BF02478259.