Professional Documents
Culture Documents
6 - ΕΙΣΑΓΩΓΗ ΣΤΗ ΜΗΧΑΝΙΚΗ ΜΑΘΗΣΗ ΚΑΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ
6 - ΕΙΣΑΓΩΓΗ ΣΤΗ ΜΗΧΑΝΙΚΗ ΜΑΘΗΣΗ ΚΑΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ
Χατζηλυγερούδης Κωνσταντίνος
costashatz@upatras.gr
• Ανάπτυξη και αξιολόγηση αλγορίθμων που επιτρέπουν σε υπολογιστικά
συστήματα να μαθαίνουν μέσα της διαδικασίας δοκιμής-λάθους (trial and error)
• Επίσημος ορισμός από Tom Mitchell (1997): “Ένα πρόγραμμα υπολογιστή λέγεται ότι
μαθαίνει από την εμπειρία Ε σε σχέση με κάποια εργασία Τ και κάποιο μέτρο απόδοσης P,
εάν η απόδοσή του στο T, όπως μετριέται από το P, βελτιώνεται με την εμπειρία E”
2
Πηγή: https://www.datacamp.com/community/tutorials/object-detection-guide
Πηγή:
"Robots learning from robots: A proof of concept study for co-manipulation tasks."
Luka Peternel, and Arash Ajoudani.
IEEE Conference on Humanoid Robotics 2017.
3
4
• Επιβλεπόμενη Μάθηση (Supervised Learning)
• Δείγματα που έχουν είσοδο και επιθυμητή έξοδο (labeled samples)
6
• Παραμετρικά Μοντέλα
• Γραμμικά (Linear)
• Μη-Παραμετρικά Μοντέλα
• Gaussian Processes
7
• Δεδομένα = {( , ), . . . , ( , )} όπου Ν είναι ο αριθμός των δειγμάτων,
είναι οι είσοδοι και οι επιθυμητές έξοδοι.
• Στόχος να βρούμε : →
• Παλινδρόμηση (Regression)
• Συνήθως, παίρνουν συνεχείς τιμές (δηλαδή ∈ℝ )
• π.χ., = 96( )
• Κατηγοριοποίηση (Classification)
• Συνήθως, παίρνουν διακριτές τιμές που αντιστοιχούν σε κατηγορίες
• π.χ., σκύλος, γάτα, ελέφαντας, ...
8
9
10
• Υπόθεση:
• = ( ) = + + , όπου , είναι οι παράμετροι της και ~ (0, ) είναι
θόρυβος που ακολουθεί Gaussian κατανομή
• Η έξοδος είναι γραμμικά συσχετιζόμενη με την είσοδο
• = ( ) = + αν υποθέσουμε πως στο περιλαμβάνεται το και στο
βάλουμε μία επιπλέον διάσταση που είναι πάντα ίση με τη μονάδα
• Τι σημαίνει πρακτικά αυτή η υπόθεση;
11
• = {( , ), . . . , ( , )}
• = ⋮ , = ⋮
*
• = 39 . ( | , ), όπου ( | , ) η συνάρτηση πιθανοφάνειας
12
• , είναι ανεξάρτητα εάν γνωρίζουμε τα , (conditionally independent)
13
• ( ) =− 9=1
( | , )
1
• ( | , ) =− ( − ) + const
• ...
1
• ( )= −
14
1
• ( )= −
*
• = ( )
* 1
• = =1
( − )
15
• Το μοντέλο είναι γραμμικό ως προς την είσοδο
• Παραδείγμα: 1
( )=
⋮
16
17
• Πλεονεκτήματα
• Αναλυτική λύση - δεν χρειαζόμαστε βελτιστοποίηση (σχεδόν!)
• Σταθερό variance
18
• Μία επέκταση της Gaussian κατανομής σε μια στοχαστική διαδικασία άπειρης
διάστασης για την οποία οποιοσδήποτε πεπερασμένος συνδυασμός διαστάσεων
θα είναι μία Gaussian κατανομή
• Ένα Gaussian Process (GP) ορίζεται πλήρως από την συνάρτηση μέσης τιμής
(mean function), (∙), και την συνάρτηση συνδιακύμανσης (covariance function),
(∙ , ∙), και γράφουμε ότι:
( )~ 3( ( ), ( , ))
• = {( , ), . . . , ( , )}
( )
• = ⋮ , = ⋮ , = ⋮ , συνήθως ( ) = 0
( )
19
• Για κάθε σημείο ένα GP ορίζει μία Gaussian κατανομή για τις πιθανές
τιμές ( ):
Αναλυτική Λύση
( ( )| , , )= ( ( ), ( )) Δεν χρειάζεται βελτιστοποίηση!
( )= ( )+ ( − )
( )= ( , )−
= [ ( , ), . . . , ( , )]
( , ) ⋯ (, )
= ⋮ ⋱ ⋮ +
( , ) ⋯ ( , )
20
21
• Η συνάρτηση συνδιακύμανσης, k, ή αλλιώς συνάρτηση πυρήνα (kernel function)
ορίζει μία μετρική ομοιότητας (similarity metric)
• Συνηθισμένοι kernels:
• Exponential kernel
− ’
• ( , ’) = exp −
2
• Polynomial kernel
• ( , ’) = [ , , ] [ ’, ’ , ’ ]
• Rational Quadratic kernel
− ’
• ( , ’) = ( )
2
• ...
• Κάθε kernel έχει κάποιες παραμέτρους
22
23
• Εκτίμηση Μέγιστης Πιθανοφάνειας για να βρούμε τις καλύτερες παραμέτρους για
του kernel (συνήθως καλούνται υπερπαράμετροι/hyperparameters)
1 1
• log ( | , ) =− − log | | − log 2
2 2 2
1
• data-fit: −
2
1
• complexity: − log | |, | | είναι η ορίζουσα
2
• normalization: − log 2
2
24
• Πλεονεκτήματα
• Αναλυτική λύση - δεν χρειαζόμαστε βελτιστοποίηση (σχεδόν!)
25
Perceptron Modern Neuron
26
27
• Νευρωνικό δίκτυο είναι ένας γράφος νευρώνων οποιασδήποτε
μορφής οι οποίοι συνδέονται μεταξύ τους με βάρη, biases και
πιθανώς συναρτήσεις ενεργοποίησης
28
29
30
Πηγή: "Confronting machine-learning with neuroscience for neuromorphic architectures design." Khacef, Lyes, Nassim Abderrahmane, and Benoît
Miramond. IEEE International Joint Conference on Neural Networks (IJCNN), 2018. 31
• Πλεονεκτήματα
• Scale to big data
32
• Ορισμός
• Ο όρος “βελτιστοποίηση” (optimization) προέρχεται από την ίδια ρίζα με το “βέλτιστο”
(optimal), που σημαίνει το καλύτερο. Όταν βελτιστοποιούμε κάτι, το κάνουμε “το
καλύτερο δυνατό”.
• Έννοιες
• Αντικειμενική συνάρτηση (objective function) ( ), η συνάρτηση που θέλουμε να
ελαχιστοποιήσουμε ή να μεγιστοποιήσουμε
• Οι μεταβλητές ή παράμετροι (variables or parameters), οι παράμετροι είναι οι
είσοδοι, αυτές που μπορούμε να ελέγξουμε
• Περιορισμοί (constraints) είναι συναρτήσεις που θέτουν κάποια όρια στις μεταβλητές
μας (συνήθως ορίζονται ως ισότητες ή ανισότητες): ℎ( ) ή 9( )
33
• Με ή χωρίς περιορισμούς
• Ξεκινάμε από μία αρχική θέση . και ακολουθούμε την παράγωγο. Πόσο “πολύ”
θα ακολουθήσουμε την παράγωγο όμως;
• Χρησιμοποιούμε ένα βήμα (step size) ≥ 0 και έχουμε . =. − ’(. )
• Για αρκετά μικρό βήμα θα ισχύει (. ) ≤ (. ) και άρα η ακολουθία (. ) ≥
(. ) ≥ . . . ≥ (. ) θα καταλήξει σε τοπικό ελάχιστο
37
38
39
Πολύ μεγάλο βήμα Πολύ μικρό βήμα
40
• Βασικός αλγόριθμος για προσαρμογή του βήματος:
1. Αρχικοποιούμε το βήμα σε μία λογική τιμή =
2. . = . − ’(. )
3. Αν (. ) > (. ) τότε = * με 0 < < 1 και . = .
4. Αν (. ) < (. ) τότε = * με > 1
5. Πάμε στο βήμα 2 μέχρι να έχουμε σύγκλιση
• Αποδεικνύεται ότι συγκλίνει πάντα σε τοπικό ελάχιστο1. Συνήθως, = 1.2, = 0.5.
• Gradient Descent with momentum (ορμή):
= + (1 − ) ’(. )
. =. −
=
∈ [0,1]
• Γρηγορότερη σύγκλιση
• Ομαλοποίηση θόρυβου
Πηγή #1: Toussaint, Marc. 2012. Some Notes on Gradient Descent. https://ipvs.informatik.uni-stuttgart.de/mlr/marc/notes/gradientDescent.pdf 41
• Nesterov accelerated gradient
• Adagrad
• Adadelta
• RMSprop
• Adam - ίσως ο πιο δημοφιλής
• AdaMax
• Nadam
• AMSGrad
• Rprop
• .....
42
• Μαθηματικά για Μηχανική Μάθηση/Βελτιστοποίηση
• Mathematics for Machine Learning, Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon
Ong, Cambridge University Press, 2020
• Δωρεάν: https://mml-book.github.io/
• Gaussian Processes
• Gaussian Processes for Machine Learning, C. E. Rasmussen & C. K. I. Williams,
MIT Press, 2006. Δωρεάν: http://www.gaussianprocess.org/gpml/chapters/RW.pdf
• Open-source βιβλιοθήκη σε C++: https://github.com/resibots/limbo
• Open-source βιβλιοθήκη σε python: https://github.com/SheffieldML/GPy
• A visual exploration of Gaussian Processes: https://www.jgoertler.com/visual-
exploration-gaussian-processes/
• Νευρωνικά Δίκτυα
• A Neural-Network Playground: https://playground.tensorflow.org/
• Neural Networks and Deep Learning, Michael Nielsen. Δωρεάν e-book:
http://neuralnetworksanddeeplearning.com/
43
• Βελτιστοποίηση με περιορισμούς (Constrained Optimization)
• Μεταβλητές με συνεχείς τιμές
• Πολλαπλασιαστές Langrange (Langrange Multipliers)
• Κυρτή Βελτιστοποίηση (Convex Optimization)
• Γραμμικός Προγραμματισμός (Linear Programming)
• Quadratic Programming
44