lelis Αthanasios

20
Deep-auto encoders για ανάκτηση κώδικα και οπτικοποίηση Φοιτητής : Λέλης Αθανάσιος ΑΜ : 5214 Επιβλέποντας Επικ. Καθ.: Συμεωνίδης Ανδρέας Συνεπιβλέποντας Μετ.: Χατζηδημητρίου Κυριάκος

Upload: issel

Post on 05-Apr-2017

19 views

Category:

Education


6 download

TRANSCRIPT

Page 1: Lelis Αthanasios

Deep-auto encoders για ανάκτηση κώδικα και

οπτικοποίησηΦοιτητής : Λέλης Αθανάσιος ΑΜ : 5214

Επιβλέποντας Επικ. Καθ.: Συμεωνίδης ΑνδρέαςΣυνεπιβλέποντας Μετ.: Χατζηδημητρίου Κυριάκος

Page 2: Lelis Αthanasios

Έμπνευση της Διπλωματικής Εργασίας

• Η σημασία του διαδικτύου στην ανάπτυξη της Τεχνολογίας Λογισμικού είναι αδιαμφισβήτητη.• Το διαδίκτυο περιέχει αμέτρητα αποσπάσματα κώδικα.• Προκύπτει ανάγκη ανάκτησης της κατάλληλης πληροφορίας.

Page 3: Lelis Αthanasios

Στόχοι και Μεθοδολογία

• Δημιουργία ευρετηρίου δημοσιεύσεων (stackoverflow), που συνδυάζουν φυσική γλώσσα και πηγαίο κώδικα

• Auto-encoder νευρωνικά δίκτυα• Σύγκριση με σύγχρονες μεθοδολογίες

Page 4: Lelis Αthanasios

Προηγούμενη Έρευνα• Δημοσιεύσεις Reuters ως σετ δεδομένων• Δημιουργία λεξικού 2000 όρων• 2000-500-250-125-2 deep auto-encoder δίκτυο• Εύρεση ομοιότητας σε 2 διαστάσεις

Page 5: Lelis Αthanasios

Προ-επεξεργασία

BodyTags

Code

Page 6: Lelis Αthanasios

Προετοιμασία δεδομένων

1. Συνολικός αριθμός δημοσιεύσεων2. Εξάγονται οι δημοσιεύσεις με tag javascript3. Αφαιρούνται δημοσιεύσεις με λιγότερες

από 5 απαντήσεις4. Αφαιρούνται δημοσιεύσεις που δεν

περιέχουν κώδικα5. Διαχωρισμός του σετ δεδομένων σε δύο νέα • Σώματα των δημοσιεύσεων• Αποκόμματα κώδικα

21.737.948698.91833.848

1502

Page 7: Lelis Αthanasios

Natural Language Processing

Συγκρότηση λεξικού με βάση τα δύο dataset • Camel Case (πχ CamelCasing σε Camel Casing)• Lower Case (πχ LoWeR σε lower)• Stemming για το NL σετ (πχ processing σε process)• Αφαίρεση αριθμών• Αφαίρεση σημείων στίξης• Απομάκρυνση stop words (πχ at, my, the, κ.α.)

Χρήση βιβλιοθήκης PorterStemmer

Βιβλιοθήκη DocumentParser

English Stop Word List

Page 8: Lelis Αthanasios

Bag of Words Model• Χρειάζεται ένα αντιπροσωπευτικό μοντέλο των δημοσιεύσεων, κατάλληλο

για είσοδο σε νευρωνικά δίκτυα • Επιλέχθηκε το μοντέλο Bag of Words • Π.χ. το μοντέλο BoW για τα δύο αποσπάσματα “I went to the store to buy food” και “I

wanted to buy a toy” είναι

I Went To The Store Buy Food wanted A toy

1 1 2 1 1 1 1 0 0 0

1 0 1 0 0 1 0 1 1 1

Page 9: Lelis Αthanasios

Δημιουργία Μοντέλου

• Απομάκρυνση όρων με βάση τη συχνότητα εμφάνισής τους• Λιγότερες από 50 εμφανίσεις για το σετ κώδικα• Λιγότερες από 50 και περισσότερες από 600 για το σετ φυσικής γλώσσας

• Απομακρύνονται τα έγγραφα χωρίς κώδικα (40)• Τα σετ δεδομένων διαχωρίστηκαν επιπλέον σε training και test set• 32.306 έγγραφα σε 25.000 (77%) και 7.306 (23%) αντίστοιχα

• Κανονικοποίηση των συντεταγμένων σε [0,1]• Το τελικό μοντέλο που προέκυψε για τα training set είναι:

1. 25000 * 2578 για το NL κομμάτι (δημοσιεύσεις * όροι)2. 25000 * 2026 για το κομμάτι του κώδικα

Page 10: Lelis Αthanasios

Auto-encoder Δίκτυα• Κωδικοποιούν το διάνυσμα εισόδου τους σε ένα

μικρότερων διαστάσεων και στη συνέχεια το ανακατασκευάζουν στην έξοδο.• code layer – mapping του x.• decoder output – πρόβλεψη του x με

δοσμένο y.• Στόχος η βελτιστοποίηση τωνώστε να

ελαχιστοποιηθεί το λάθος ανακατασκευής. • Συναρτήσεις κόστους

• MSE: • X-Entropy:

Page 11: Lelis Αthanasios

Εκπαίδευση Auto-encoderΠρόβλημα• Local minima για multilayer networks.• Εύρεση αρχικών βαρών που διευκολύνουν την εκπαίδευση.

Λύση• Προ-εκπαίδευση επιμέρους auto-encoder δύο επιπέδων.• Ορισμός μικρών αρχικών βαρών από κανονική κατανομή.

Page 12: Lelis Αthanasios

Σύσταση Auto-encoder

Page 13: Lelis Αthanasios

Μεθοδολογία Εκπαίδευσης• Εκπαί�δευση με βα�ρη από� κανόνίκη� κατανόμη� (Xavier)• Αρχιτεκτονικές 6 και 8 πυκνών

(dense) επιπέδων• Χρήση L2 κανονικοποίησης• 100 epochs

• Προ-εκπαίδευση επιπέδων με RBM και sparse ΑΕ• Αρχιτεκτονικές 6 και 8 επιπέδων• L2 κανονικοποίηση• 50 epochs

Page 14: Lelis Αthanasios

Προβολή σε 2 Διαστάσεις

Σετ δεδομένων κώδικα Σετ δεδομένων σχολίων

Page 15: Lelis Αthanasios

Αξιολόγηση Αποτελεσμάτων• Σύγκριση ομοιότητας εγγράφων με βάση τη μετρική cosine similarity: • Τα αποτελέσματα εξάγονται με βάση τα tags των δημοσιεύσεων.• Επιτυχία για συμφωνία των tag. (Positive – P)• Αποτυχία σε αντίθετη περίπτωση. (Negative – N)

Μετρική ΕξίσωσηPrecision

Recall

F-Measure

Macro Precision, Recall, F-Measure

Page 16: Lelis Αthanasios

Αποτελέσματα• Τα αποτελέσματα εξάγονται με βάση τα tags των δημοσιεύσεων για

τα κορυφαία 50 ανακτημένα έγγραφα

80-20-2 1000-500-128-5

1000-500-128-10

500-128-30 Tf-Idf

Precision 0.384 0.359 0.367 0.35 0.371

Recall 0.03 0.019 0.018 0.019 0.02

F measure 0.056 0.036 0.034 0.036 0.038

Macro Precision

0.39 0.357 0.36 0.343 0.43

Macro Recall

0.039 0.017 0.017 0.017 0.016

Macro F-Measure

0.071 0.032 0.032 0.032 0.031

Time 1251 ms 1307 ms 1398 ms 1573 ms 9739 ms

Page 17: Lelis Αthanasios

Συμπεράσματα• Απόδοση που ανταγωνίζεται σύγχρονες μεθοδολογίες• Πολύ γρήγορη ανάκτηση• Δυνατότητα επέκτασης με περισσότερα δεδομένα

Page 18: Lelis Αthanasios

Future Work

• Word2Vec model• Μεγαλύτερη υπολογιστική ισχύς.• Παράλληλος προγραμματισμός.

Page 19: Lelis Αthanasios

Γνώσεις που Αποκτήθηκαν

• Machine Learning• Information Retrieval• Deep Learning

• Java – NLP, deeplearning4j.• Matlab – Auto-encoder εκπαίδευση. RBMs.• Theano (Python) – Auto-encoder για MNIST digit classification.• ElasticSearch – Επεξεργασία xml και json files.

Page 20: Lelis Αthanasios

Τέλος

Ευχαριστώ για την προσοχή σας !!!