Successfully reported this slideshow.
Your SlideShare is downloading. ×

Lelis Αthanasios

More Related Content

More from ISSEL

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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. Τέλος Ευχαριστώ για την προσοχή σας !!!

Editor's Notes

  • Πηγή : Hinton, G. E., &Salakhutdinov, R. (2006). “Reducing the Dimensionality of Data with Neural Networks”. Science, 313, 504–507
  • Πηγή : www.stackoverflow.com
  • RBM – Restricted Boltzmann Machines
    Sparse AE – Sparse Auto-encoder

×