Ανίχνευση αποκλίνουσας συμπεριφοράς συστημάτων λογισμικού με τη χρήση μεθόδων
μηχανικής μάθησης
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
Αναστασία Ηροδότου
ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ
Υπό την επίβλεψη του Ανδρέα Λ. Συμεωνίδη
Επίκουρου Καθηγητήκαι του
Μίλτου ΑλλαμανήΥποψήφιου Διδάκτορα
Θεσσαλονίκη 2013
Στόχος της εργασίας
•Ανίχνευση ανωμαλιών
•Χρήση ταξινομητών SVM και GMM
2Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Μηχανική Μάθηση και Ανίχνευση Ανωμαλιών (1/2)
Μηχανική Μάθηση (machine learning) • Κλάδος τεχνητής νοημοσύνης•Δημιουργία μηχανών ικανών να «μαθαίνουν» •Βελτίωση της απόδοσης αξιοποιώντας προηγούμενη εμπειρία
3Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Μηχανική Μάθηση και Ανίχνευση Ανωμαλιών (2/2)
Ανίχνευση Ανωμαλιών (fault/anomaly detection) • αναγνώριση δεδομένων τα οποία δεν ακολουθούν την
αναμενόμενη συμπεριφορά.
4Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Τεχνολογίες που χρησιμοποιήθηκαν
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 5
Robot Operating System
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 6
• Δίκτυο κόμβων peer-to-peer• Επικοινωνία κόμβων μέσω:
o Serviceso Messages
• Parameter Server• Bιβλιοθήκη actionlib• Package management
Ταξινομητές/Classifiers
Ταξινόμηση (classification): •Φάση εκπαίδευσης •Φάση δοκιμής/ταξινόμησης
Ταξινομητές:•SVM (Support Vector Machines)•GMM (Gaussian Mixture Models)
7Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
SVM
• SVM- Βασισμένος σε διανύσματα υποστήριξης• Εκτελεί την ταξινόμηση βρίσκοντας το υπερεπίπεδο που
μεγιστοποιεί το περιθώριο μεταξύ των δύο κατηγοριών.
8Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
SVM(2/2)
• Φάση εκπαίδευσης:– Λήψη παραδειγμάτων εκπαίδευσης που ανήκουν σε κάποια από τις
δύο κατηγορίες.– Δημιουργία μοντέλου
• Φάση Ταξινόμησης:– Νέα παραδείγματα αντιστοιχίζονται στο ίδιο διάστημα– Πρόβλεψη κατηγορίας με βάση την πλευρά του διαστήματος που θα
πέσουν
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 9
GMM(1/2)
• GMM- Βασισμένο σε κατανομή μίξης Gaussian.• Συνάρτηση πυκνότητας πιθανότητας σε μια κατανομή μίξης:
• Gaussian (κανονική) κατανομή μίξης:
10Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
GMM(2/2)
• Φάση εκπαίδευσης:– υπολογίζονται οι συναρτήσεις πυκνότητας πιθανότητας των
παρατηρήσεων – δημιουργείται το μοντέλο μίξης
• Φάση ταξινόμησης:– υπολογίζεται η log-πιθανότητα για το κάθε στιγμιότυπο– καθορίζονται ανωμαλίες
11Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Εξέλιξη διπλωματικής
– Abalone - E-coli
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 12
Το πρόβλημα των συνδαιτυμόνων
φιλοσόφων
• Ν φιλόσοφοι• t- σκέφτεται• e- τρώει• κ- πιρούνια που χρειάζεται για να φάει• F- διαθέσιμα πιρούνια
13Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Ο κώδικας των συνδαιτυμόνων φιλοσόφων
14Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση εκπαίδευσης(1/5)
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99
15Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση εκπαίδευσης(2/5)Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5
t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78
16Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση εκπαίδευσης(3/5)
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 1.59
17Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση εκπαίδευσης(4/5)Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5
t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 1.59t4 2.66 1.36 1.87 2.22 1.66
18Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση εκπαίδευσης(5/5)
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 1.59t4 2.66 1.36 1.87 2.22 1.66. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .
Classifier (training)
Trained Classifier Model 19Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Ο φυσιολογικός φιλόσοφος
20Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φιλόσοφοι με ιδιάζουσες συμπεριφορές(1/4)
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 21
Φιλόσοφοι με ιδιάζουσες συμπεριφορές(2/4)
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 22
Φιλόσοφοι με ιδιάζουσες συμπεριφορές(3/4)
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 23
Φιλόσοφοι με ιδιάζουσες συμπεριφορές(4/4)
24Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση ταξινόμησης(1/5)
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99
Πίνακας πείνας
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 1 1 1 1 1
Πίνακας συμπεριφοράς
25Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση ταξινόμησης(2/5)Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5
t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 1 1 1 1 1t2 1 1 1 1 1
Πίνακας συμπεριφοράς
Πίνακας πείνας
26Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση ταξινόμησης(3/5)
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 2341
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 1 1 1 1 1t2 1 1 1 1 1t3 1 1 1 1 -1
27Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση ταξινόμησης(4/5)
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 2341t4 2.66 1.36 1.87 2.22 6666
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 1 1 1 1 1t2 1 1 1 1 1t3 1 1 1 1 -1t4 1 1 1 1 -1
Πίνακας πείνας
Πίνακας συμπεριφοράς
28Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση ταξινόμησης(5/5)Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5
t1 2.82 1.90 1.08 2.13 1.99t2 2.71 1.70 1.13 2.22 1.78t3 2.97 1.52 1.63 2.48 2341t4 2.66 1.36 1.87 2.22 6666. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .
Trained Classifier Model
1
1
-1
-1
1
1
-1
1
.
.
.
.
.
Πίνακας αποτελεσμάτων
29Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση αξιολόγησης(1/2)
Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 1 1 1 1 1t2 1 1 1 1 1t3 1 1 1 1 -1t4 1 1 1 1 -1. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .
11
-1-1
.
.
.
.
.
Πίνακας συμπεριφοράςΤελικός πίνακας συμπεριφοράς
30Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Φάση αξιολόγησης(2/2)
1
1
-1
-1
.
.
.
.
.
Τελικός πίνακας συμπεριφοράς
1
1
-1
-1
1
1
-1
1
Πίνακας αποτελεσμάτων
Anomaly RecallAccuracyAnomaly Precision
31Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Πειράματα
32Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Το κυλιόμενο παράθυρο• Πρόβλημα collective ανωμαλιών. • Χρησιμοποιήθηκαν στους πίνακες δεδομένων κυλιόμενα
παράθυρα διαφόρων μεγεθών.
33Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Αποτελέσματα
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 34
Classifier: SVM SVM SVM SVM GMM GMM GMM GMMWindow: 1 3 5 7 1 3 5 7
0 0 0 0 0 0 0 0True_Negatives(tn): 527 558 567 515 540 386 402 324
49 16 5 55 36 188 170 2460 0 0 0 0 0 0 0
576 574 572 570 576 574 572 570Anomaly_Recall: 0 0 0 0 0 0 0 0Accuracy: 0,9149305556 0,9721254355 0,9912587413 0,9035087719 0,9375 0,6724738676 0,702797203 0,568421053
True_Positives(tp):
False_positives(fp):False_negatives(fn):tp+tn+fp+fn=
SVM GMMAnomaly_Recall: 0 0Accuracy: 0.95 0.72Anomaly_Precision: 0 0
Αποτελέσματα
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 35
Class ifier: SVM S VM SVM SVM GM M GM M GMM GMMWindow: 1 3 5 7 1 3 5 7True_P os it ives (tp): 0 0 0 0 0 0 0 0True_Negatives (tn): 276 290 276 173 255 170 132 65False_pos itives (fp): 325 309 321 422 346 429 465 530False_negatives (fn): 0 0 0 0 0 0 0 0tp+ tn+ fp+ fn= 601 599 597 595 601 599 597 595Anom aly_Recall: 0 0 0 0 0 0 0 0Accuracy : 0.459234609 0.4841402337 0.4623115578 0.2907563025 0.4242928453 0.2838063439 0.2211055276 0.1092436975Anom aly_Prec is ion: 0 0 0 0 0 0 0 0faulty : 19 19 19 19 19 19 19 19
SVM GMMAnomaly_Recall: 0 0Accuracy: 0.42 0.26Anomaly_Precision: 0 0
Αποτελέσματα
Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 36
SVM GMMAnomaly_Recall: 0.99 0.99Accuracy: 0.98 0.89Anomaly_Precision: 0.98 0.86
Class ifier: SV M SVM SV M S VM GM M GM M GM M GM MWindow: 1 3 5 7 1 3 5 7True_Pos itives(tp): 386 391 391 392 387 391 393 393True_Negatives(tn): 195 207 206 195 192 131 139 112False_pos it ives(fp): 15 1 0 9 18 77 67 92False_negatives(fn): 9 4 4 3 8 4 2 2tp+ tn+ fp+ fn= 605 603 601 599 605 603 601 599Anom aly_Recall: 0.9772151899 0.9898734177 0.9898734177 0.9924050633 0.9797468354 0.9898734177 0.9949367089 0.9949367089Accuracy : 0.9603305785 0.991708126 0.993344426 0.979966611 0.9570247934 0.8656716418 0.8851913478 0.8430717863Anom aly_P rec is ion: 0.9625935162 0.9974489796 1 0.9775561097 0.9555555556 0.8354700855 0.8543478261 0.8103092784faulty : 20 20 20 20 20 20 20 20
Αποτελέσματα-Συμπεράσματα
Πείραμα 2: SVM GMMΜέσος Όρος:Anomaly_Recall: 42,00% 45,00%Accuracy: 60,00% 55,00%Anomaly_Precision: 46,00% 40,00%
Πείραμα 3: SVM GMMΜέσος Όρος:Anomaly_Recall: 57,00% 54,00%Accuracy: 73,00% 70,00%Anomaly_Precision: 72,00% 62,00%
Πείραμα 4: SVM GMMΜέσος Όρος:Anomaly_Recall: 41,00% 45,00%Accuracy: 59,00% 53,00%Anomaly_Precision: 48,00% 43,00%
37Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Πείραμα 1: SVM GMMΜέσος Όρος:Anomaly_Recall: 60,00% 66,00%Accuracy: 74,00% 69,00%Anomaly_Precision: 73,00% 68,00%
Μελλοντικές επεκτάσεις
• Διαφορετικές παράμετροι παρόντων ταξινομητών• Διαφορετικοί χρόνοι εκπαίδευσης και ταξινόμησης• Χρήση διαφορετικών ταξινομητών• Pandora Robot ???
38Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Ευχαριστώ..
39Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης
Top Related