Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lelis Αthanasios

148 views

Published on

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

Published in: Education
  • Be the first to comment

  • Be the first to like this

Lelis Αthanasios

  1. 1. Deep-auto encoders για ανάκτηση κώδικα και οπτικοποίηση Φοιτητής : Λέλης Αθανάσιος ΑΜ : 5214 Επιβλέποντας Επικ. Καθ.: Συμεωνίδης Ανδρέας Συνεπιβλέποντας Μετ.: Χατζηδημητρίου Κυριάκος
  2. 2. Έμπνευση της Διπλωματικής Εργασίας • Η σημασία του διαδικτύου στην ανάπτυξη της Τεχνολογίας Λογισμικού είναι αδιαμφισβήτητη. • Το διαδίκτυο περιέχει αμέτρητα αποσπάσματα κώδικα. • Προκύπτει ανάγκη ανάκτησης της κατάλληλης πληροφορίας.
  3. 3. Στόχοι και Μεθοδολογία • Δημιουργία ευρετηρίου δημοσιεύσεων (stackoverflow), που συνδυάζουν φυσική γλώσσα και πηγαίο κώδικα • Auto-encoder νευρωνικά δίκτυα • Σύγκριση με σύγχρονες μεθοδολογίες
  4. 4. Προηγούμενη Έρευνα • Δημοσιεύσεις Reuters ως σετ δεδομένων • Δημιουργία λεξικού 2000 όρων • 2000-500-250-125-2 deep auto-encoder δίκτυο • Εύρεση ομοιότητας σε 2 διαστάσεις
  5. 5. Προ-επεξεργασία Body Tags Code
  6. 6. Προετοιμασία δεδομένων 1. Συνολικός αριθμός δημοσιεύσεων 2. Εξάγονται οι δημοσιεύσεις με tag javascript 3. Αφαιρούνται δημοσιεύσεις με λιγότερες από 5 απαντήσεις 4. Αφαιρούνται δημοσιεύσεις που δεν περιέχουν κώδικα 5. Διαχωρισμός του σετ δεδομένων σε δύο νέα • Σώματα των δημοσιεύσεων • Αποκόμματα κώδικα 21.737.948 698.918 33.848 1502
  7. 7. 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
  8. 8. 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
  9. 9. Δημιουργία Μοντέλου • Απομάκρυνση όρων με βάση τη συχνότητα εμφάνισής τους • Λιγότερες από 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 για το κομμάτι του κώδικα
  10. 10. Auto-encoder Δίκτυα • Κωδικοποιούν το διάνυσμα εισόδου τους σε ένα μικρότερων διαστάσεων και στη συνέχεια το ανακατασκευάζουν στην έξοδο. • 𝒚 = 𝑠(𝑾𝒙 + 𝒃) code layer – mapping του x. • 𝒛 = 𝑠(𝑾′ 𝒙 + 𝒃′) decoder output – πρόβλεψη του x με δοσμένο y. • Στόχος η βελτιστοποίηση των [𝑾, 𝑾′, 𝒃, 𝒃′],ώστε να ελαχιστοποιηθεί το λάθος ανακατασκευής. • Συναρτήσεις κόστους • MSE: 𝐿 𝑥, 𝑧 = 𝑥 − 𝑧 2 • X-Entropy: 𝐿 𝑥, 𝑧 = − 𝑘=1 𝑑 [𝑥 𝑘 𝑙𝑜𝑔𝑧 𝑘 + (1 −
  11. 11. Εκπαίδευση Auto-encoder Πρόβλημα • Local minima για multilayer networks. • Εύρεση αρχικών βαρών που διευκολύνουν την εκπαίδευση. Λύση • Προ-εκπαίδευση επιμέρους auto-encoder δύο επιπέδων. • Ορισμός μικρών αρχικών βαρών από κανονική κατανομή.
  12. 12. Σύσταση Auto-encoder
  13. 13. Μεθοδολογία Εκπαίδευσης • Εκπαίδευση με βάρη από κανονική κατανομή (Xavier) • 𝑊~𝑈 −4 6 𝑛 𝑗+𝑛 𝑗+1 , 4 6 𝑛 𝑗+𝑛 𝑗+1 • Αρχιτεκτονικές 6 και 8 πυκνών (dense) επιπέδων • Χρήση L2 κανονικοποίησης • 100 epochs • Προ-εκπαίδευση επιπέδων με RBM και sparse ΑΕ • Αρχιτεκτονικές 6 και 8 επιπέδων • L2 κανονικοποίηση • 50 epochs
  14. 14. Προβολή σε 2 Διαστάσεις Σετ δεδομένων κώδικα Σετ δεδομένων σχολίων
  15. 15. Αξιολόγηση Αποτελεσμάτων • Σύγκριση ομοιότητας εγγράφων με βάση τη μετρική cosine similarity: 𝑠𝑖𝑚 𝑑1, 𝑑2 = 𝑉(𝑑1)𝑉(𝑑2) 𝑉(𝑑1) 𝑉(𝑑2) • Τα αποτελέσματα εξάγονται με βάση τα tags των δημοσιεύσεων. • Επιτυχία για συμφωνία των tag. (Positive – P) • Αποτυχία σε αντίθετη περίπτωση. (Negative – N) Μετρική Εξίσωση Precision 𝑃 𝑃 + 𝑁 Recall 𝑃 𝑡𝑜𝑡𝑎𝑙 𝑃 F-Measure 2 𝑃𝑟𝑒𝑐 ∗ 𝑅𝑒𝑐 𝑃𝑟𝑒𝑐 + 𝑅𝑒𝑐 Macro Precision, Recall, F-Measure 𝑡𝑎𝑔 𝑡𝑎𝑔∈𝐶𝑜𝑙𝑙𝑒𝑐𝑡𝑖𝑜𝑛 𝑚𝑒𝑡𝑟𝑖𝑐
  16. 16. Αποτελέσματα • Τα αποτελέσματα εξάγονται με βάση τα 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
  17. 17. Συμπεράσματα • Απόδοση που ανταγωνίζεται σύγχρονες μεθοδολογίες • Πολύ γρήγορη ανάκτηση • Δυνατότητα επέκτασης με περισσότερα δεδομένα
  18. 18. Future Work • Word2Vec model • Μεγαλύτερη υπολογιστική ισχύς. • Παράλληλος προγραμματισμός.
  19. 19. Γνώσεις που Αποκτήθηκαν • Machine Learning • Information Retrieval • Deep Learning • Java – NLP, deeplearning4j. • Matlab – Auto-encoder εκπαίδευση. RBMs. • Theano (Python) – Auto-encoder για MNIST digit classification. • ElasticSearch – Επεξεργασία xml και json files.
  20. 20. Τέλος Ευχαριστώ για την προσοχή σας !!!

×