אלגוריתמים אבולוציוניים וחיים מלאכותיים

תרגיל מס' 4

מגישים:  יאיר פילד 33612557

אורי לוביץ' 31387293

דוגמאות קוד ניתן למצוא בקיצורים הבאים:

Edge.java

Engine.java

ExcelWriter.java

Layer.java

NeuralNetwork.java

Neuron.java

NeuronInput.java

NeuronOutput.java

Point.java

 

 

 

צ'ופר קטן להמחשת אבולוציה: אפליקציה של תמונות לאורך הלימוד של רשת עצבית (2-50-1)

2-50-1.exe

 

 

              שכבה אחת (One Hidden Layer)

 

 


2-1-1

 

2-2-1

 

2-5-1

 
 


                                                                                                                                                                                                                                                                                               

 

 

2-10-1

 

2-15-1

 

2-20-1

 
 


2-30-1

 

2-50-1

 

2-100-1

 
 


2-200-1

 
 


 

 

ניתוח תוצאות

·        לא מספיקה רשת עם Hidden Layer אחת בכדי לפתור את הבעיה.

·        עבור קונפיגורציות גדולות 200,000 Epochs אינם מספיקים בכדי להתכנס לתוצאה.

·        בתמונות אשר הרשת מזהה ניתן עדיין לראות את הקווים הליניאריים (הישרים) אשר מהווים את יכולת ההפרדה של Neuron בודד.

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

 

 

 

שתי שכבות בטופולוגיה 2-N-5-1 (Two Hidden Layer)

 

·      בכל ההרצות בטופולוגיה זו המערכת הצליחה להגיע לזיהוי מושלם

 

(לתשומת ליבכם- הגרף הבא הינו מימין לשמאל, סקאלת ה-Mean Square Error מימין, סקאלת Performance משמאל)

2-40-5-1

 

2-30-5-1

 

2-35-5-1

 

 

 

2-45-5-1

 

2-50-5-1

 
 


 

 

ניתוח תוצאות

·        טופולוגיה זו הינה טובה מאוד לפתירת הבעיה.

·        כפי שצוין בהתחלה, כל הטופולוגיות הצליחו בריצות מסוימות להגיע לזיהוי מלא.

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

·        ניתן לראות שרוב המערכות מגיעות לזיהוי אשר מכיל בניה סביב קו אנכי (למעשה, מס' קוים אנכים אשר יוצרים "קו אנכי עגלגל")

·        המדד של יכולת הזיהוי אינו מלמד נכונה על התקדמות הלימוד של הרשת, דוגמאות לכך ניתן למצוא בהשוואה למדד שכיח יותר-

Mean Square Error, אשר בקטעים מסוימים מראה שיפור הדרגתי בעוד מס' הפגיעות מבצע קפיצות חדות עם קטעים סטטיים ביניהם.

 

 

 

 

שתי שכבות בטופולוגיה 2-N-10-1 (Two Hidden Layer)

 

·      בכל ההרצות בטופולוגיה זו המערכת הצליחה להגיע לזיהוי מושלם

 

 

2-30-10-1

 

2-25-10-1

 

2-20-10-1

 

 

 

 

 

2-35-10-1

 

2-40-10-1

 
 


 

ניתוח תוצאות

·        טופולוגיה זו פחות טובה לפתירת הבעיה.

·        כפי שצוין בהתחלה, כל הטופולוגיות הצליחו בריצות מסוימות להגיע לזיהוי מלא.

·        ידוע כי כוח החישוב של מערכות אלו הינו גבוה יותר, מאשר המע' שצוינו לעיל, ולכן הינן רגישות יותר לרעש.

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