Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
Βασίλης Μπούντρης
1. ΠΡΟΣ ΤΗΝ ΑΥΤΟΜΑΤΗ ΣΥΓΓΡΑΦΗ
ΚΩΔΙΚΑ ΜΕ ΑΝΑΔΡΑΣΤΙΚΑ
ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ
Μπούντρης Βασίλης, 7215
Ανδρέας Συμεωνίδης , Επίκουρος Καθηγητής ΑΠΘ
Κυριάκος Χατζηδημητρίου, Μεταδιδακτορικός Ερευνητής ΑΠΘ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ & ΥΠΟΛΟΓΙΣΜΩΝ
ΟΜΑΔΑ ΕΥΦΥΩΝ ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ
Εκπόνηση:
Επίβλεψη:
2. ΕΙΣΑΓΩΓΗ
Αυτόματος Προγραμματισμός:
• Επαγωγικός Προγραμματισμός (Inductive
Programming)
• Παραγωγή Κώδικα Βάσει Μοντέλων
(Model Driven Engineering)
Κίνητρο
• Ραγδαία εξέλιξη της μηχανικής μάθησης
• Διαθεσιμότητα πολλών παραδειγμάτων
3. ΣΚΟΠΟΣ
• Εξέταση ορίων μιας end-to-end
προσέγγισης για παραγωγή ακολουθιών
• Διερεύνηση συμπεριφοράς των
αναδραστικών νευρωνικών δικτύων στη
μάθηση κώδικα
• Τα προϊόντα των αναδραστικών
νευρωνικών δικτύων:
1.Να μοιάζουν με κώδικα
2.Να μην έχουν συντακτικά λάθη
3.Να μπορούν να μεταφραστούν
4.Να κάνουν κάτι χρήσιμο
7. ΜΟΝΤΕΛΑ (1)
• Μοντέλο A (char-rnn) : 3 hidden layer RNN-
LSTM, προσέγγιση κατά χαρακτήρα (Andrej
Karpathy, Alex Graves)
• Μοντέλο B (labeled-char-rnn) : Μοντέλο Α
+ είδος χαρακτήρα ως είσοδος και έξοδος
9. ΠΡΟ-ΕΠΕΞΕΡΓΑΣΙΑ & ΣΕΤ
ΔΕΔΟΜΕΝΩΝ
• Dataset Github: top 100 github JavaScript projects, 78.3M
• Dataset NPM: top 200 node.js packages, 49.1M
• Χαρακτήρες: 8 κατηγορίες (Keyword, Number, Regex,
String, Operator, Punctuator, Identifier)
Mine Relevant
Source Files
Minify Source
Code
Generate
Character &
Label
Sequences
String v a r a = 4 2 ; f u n c t i o n a d d A ( d ) n
Label K K K P I Ο N N P K K K K K K K K P I I I I P I P P
10. ΕΚΠΑΙΔΕΥΣΗ
• Συνάρτηση Λάθους: Cross Entropy Loss
• Training with Truncated Back – Propagation
Through Time & SGD
• SGD optimizer: rmsprop
• Early Stopping, Gradient Clipping, Dropout
• Hyper-parameters decided on char-rnn for
github subset
11. ΠΑΡΑΓΩΓΗ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ
• Επιλογή των μοντέλων με τις καλύτερες
επιδόσεις στο σετ επαλήθευσης
• Συνεχής δειγματοληψία από την έξοδο και
χρήση του αποτελέσματος ως είσοδο μέχρι
τους 15K χαρακτήρες
• Δυνατότητα αρχικοποίησης με κώδικα της
επιλογής μας
• Δυνατότητα ελέγχου της εξαγόμενης
κατανομής
13. ΑΠΟΤΕΛΕΣΜΑΤΑ
• 100 αρχεία κώδικα για κάθε μοντέλο &
dataset
• 100 αρχεία κώδικα για το github dataset με
ρυθμισμένη δειγματοληψία
• Αρχικοποίηση με project τις επιλογής μας
για έμμεση οδήγηση
16. ΣΥΜΠΕΡΑΣΜΑΤΑ
• Ανάγκη για άμεση οδήγηση του
συστήματος
• Δεν επιτυγχάνεται ground learning
• Εξαιρετική ικανότητα για μίμηση: μεγάλη
αναπαραστατική δύναμη
• Τα labeled μοντέλα δυσκολεύονται
περισσότερο: προβληματική η ταυτόχρονη
δειγματοληψία
17. ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ
• Δοκιμή διαφορετικών δομών μηχανικής
μάθησης
• Διαφορετική προσέγγιση στην πρόσθετη
πληροφορία για τους χαρακτήρες
• Εκμετάλλευση των χρήσιμων ιδιοτήτων της
κατά χαρακτήρα προσέγγισης