Download - Αναστασία Ηροδότου

Transcript
Page 1: Αναστασία Ηροδότου

Ανίχνευση αποκλίνουσας συμπεριφοράς συστημάτων λογισμικού με τη χρήση μεθόδων

μηχανικής μάθησης

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Αναστασία Ηροδότου

ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ

Υπό την επίβλεψη του Ανδρέα Λ. Συμεωνίδη

Επίκουρου Καθηγητήκαι του

Μίλτου ΑλλαμανήΥποψήφιου Διδάκτορα

Θεσσαλονίκη 2013

Page 2: Αναστασία Ηροδότου

Στόχος της εργασίας

•Ανίχνευση ανωμαλιών

•Χρήση ταξινομητών SVM και GMM

2Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 3: Αναστασία Ηροδότου

Μηχανική Μάθηση και Ανίχνευση Ανωμαλιών (1/2)

Μηχανική Μάθηση (machine learning) • Κλάδος τεχνητής νοημοσύνης•Δημιουργία μηχανών ικανών να «μαθαίνουν» •Βελτίωση της απόδοσης αξιοποιώντας προηγούμενη εμπειρία

3Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 4: Αναστασία Ηροδότου

Μηχανική Μάθηση και Ανίχνευση Ανωμαλιών (2/2)

Ανίχνευση Ανωμαλιών (fault/anomaly detection) • αναγνώριση δεδομένων τα οποία δεν ακολουθούν την

αναμενόμενη συμπεριφορά.

4Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 5: Αναστασία Ηροδότου

Τεχνολογίες που χρησιμοποιήθηκαν

Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 5

Page 6: Αναστασία Ηροδότου

Robot Operating System

Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 6

• Δίκτυο κόμβων peer-to-peer• Επικοινωνία κόμβων μέσω:

o Serviceso Messages

• Parameter Server• Bιβλιοθήκη actionlib• Package management

Page 7: Αναστασία Ηροδότου

Ταξινομητές/Classifiers

Ταξινόμηση (classification): •Φάση εκπαίδευσης •Φάση δοκιμής/ταξινόμησης

Ταξινομητές:•SVM (Support Vector Machines)•GMM (Gaussian Mixture Models)

7Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 8: Αναστασία Ηροδότου

SVM

• SVM- Βασισμένος σε διανύσματα υποστήριξης• Εκτελεί την ταξινόμηση βρίσκοντας το υπερεπίπεδο που

μεγιστοποιεί το περιθώριο μεταξύ των δύο κατηγοριών.

8Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 9: Αναστασία Ηροδότου

SVM(2/2)

• Φάση εκπαίδευσης:– Λήψη παραδειγμάτων εκπαίδευσης που ανήκουν σε κάποια από τις

δύο κατηγορίες.– Δημιουργία μοντέλου

• Φάση Ταξινόμησης:– Νέα παραδείγματα αντιστοιχίζονται στο ίδιο διάστημα– Πρόβλεψη κατηγορίας με βάση την πλευρά του διαστήματος που θα

πέσουν

Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 9

Page 10: Αναστασία Ηροδότου

GMM(1/2)

• GMM- Βασισμένο σε κατανομή μίξης Gaussian.• Συνάρτηση πυκνότητας πιθανότητας σε μια κατανομή μίξης:

• Gaussian (κανονική) κατανομή μίξης:

10Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 11: Αναστασία Ηροδότου

GMM(2/2)

• Φάση εκπαίδευσης:– υπολογίζονται οι συναρτήσεις πυκνότητας πιθανότητας των

παρατηρήσεων – δημιουργείται το μοντέλο μίξης

• Φάση ταξινόμησης:– υπολογίζεται η log-πιθανότητα για το κάθε στιγμιότυπο– καθορίζονται ανωμαλίες

11Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 12: Αναστασία Ηροδότου

Εξέλιξη διπλωματικής

– Abalone - E-coli

Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 12

Page 13: Αναστασία Ηροδότου

Το πρόβλημα των συνδαιτυμόνων

φιλοσόφων

• Ν φιλόσοφοι• t- σκέφτεται• e- τρώει• κ- πιρούνια που χρειάζεται για να φάει• F- διαθέσιμα πιρούνια

13Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 14: Αναστασία Ηροδότου

Ο κώδικας των συνδαιτυμόνων φιλοσόφων

14Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 15: Αναστασία Ηροδότου

Φάση εκπαίδευσης(1/5)

Φιλόσοφος 1 Φιλόσοφος 2 Φιλόσοφος 3 Φιλόσοφος 4 Φιλόσοφος 5t1 2.82 1.90 1.08 2.13 1.99

15Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 16: Αναστασία Ηροδότου

Φάση εκπαίδευσης(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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 17: Αναστασία Ηροδότου

Φάση εκπαίδευσης(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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 18: Αναστασία Ηροδότου

Φάση εκπαίδευσης(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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 19: Αναστασία Ηροδότου

Φάση εκπαίδευσης(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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 20: Αναστασία Ηροδότου

Ο φυσιολογικός φιλόσοφος

20Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 21: Αναστασία Ηροδότου

Φιλόσοφοι με ιδιάζουσες συμπεριφορές(1/4)

Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 21

Page 22: Αναστασία Ηροδότου

Φιλόσοφοι με ιδιάζουσες συμπεριφορές(2/4)

Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 22

Page 23: Αναστασία Ηροδότου

Φιλόσοφοι με ιδιάζουσες συμπεριφορές(3/4)

Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 23

Page 24: Αναστασία Ηροδότου

Φιλόσοφοι με ιδιάζουσες συμπεριφορές(4/4)

24Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 25: Αναστασία Ηροδότου

Φάση ταξινόμησης(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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 26: Αναστασία Ηροδότου

Φάση ταξινόμησης(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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 27: Αναστασία Ηροδότου

Φάση ταξινόμησης(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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 28: Αναστασία Ηροδότου

Φάση ταξινόμησης(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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 29: Αναστασία Ηροδότου

Φάση ταξινόμησης(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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 30: Αναστασία Ηροδότου

Φάση αξιολόγησης(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Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 31: Αναστασία Ηροδότου

Φάση αξιολόγησης(2/2)

1

1

-1

-1

.

.

.

.

.

Τελικός πίνακας συμπεριφοράς

1

1

-1

-1

1

1

-1

1

Πίνακας αποτελεσμάτων

Anomaly RecallAccuracyAnomaly Precision

31Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 32: Αναστασία Ηροδότου

Πειράματα

32Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 33: Αναστασία Ηροδότου

Το κυλιόμενο παράθυρο• Πρόβλημα collective ανωμαλιών. • Χρησιμοποιήθηκαν στους πίνακες δεδομένων κυλιόμενα

παράθυρα διαφόρων μεγεθών.

33Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 34: Αναστασία Ηροδότου

Αποτελέσματα

Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 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

Page 35: Αναστασία Ηροδότου

Αποτελέσματα

Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 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

Page 36: Αναστασία Ηροδότου

Αποτελέσματα

Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης 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

Page 37: Αναστασία Ηροδότου

Αποτελέσματα-Συμπεράσματα

Πείραμα 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%

Page 38: Αναστασία Ηροδότου

Μελλοντικές επεκτάσεις

• Διαφορετικές παράμετροι παρόντων ταξινομητών• Διαφορετικοί χρόνοι εκπαίδευσης και ταξινόμησης• Χρήση διαφορετικών ταξινομητών• Pandora Robot ???

38Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης

Page 39: Αναστασία Ηροδότου

Ευχαριστώ..

39Ανίχνευση σφαλμάτων συστημάτων λογισμικού με τη χρήση μεθόδων μηχανικής μάθησης