Left Logo Right Logo

Μηχανική Μάθηση και Τεχνητή Νοημοσύνη


Καλωσορίσατε στο μάθημα Τεχνητής Nοημοσύνης και Μηχανικής Μάθησης (Machine Learning).

Αυτό το μάθημα εισάγει τις βασικές και θεμελιώδεις ιδέες της Μηχανικής Μάθησης αρχίζοντας με την επιτηρούμενη μάθηση (supervised learning) και καταλήγοντας στα νευρωνικά δίκτυα (neural networks) και την τεχνική του Transfer Learning. Οι διαλέξεις αντλούν από την διδασκαλία μου στο Πανεπιστήμιο του Τέξας στο Ώστιν (UT Austin) και έχουν σχεδιαστεί για μαθητές του λυκείου (και για οποιονδήποτε άλλο διαθέτει το κατάλληλο υπόβαθρο) που έχουν κάποια γνώση προγραμματισμού και ενδιαφέρονται να μάθουν τις βασικές αρχές της Μηχανικής Μάθησης.

Το μάθημα δεν φιλοδοξεί να αναπτύξει μία πλήρη και ολοκληρωμένη παρουσίαση των ιδεών και των αλγορίθμων της μηχανικής μάθησης. Επιχειρεί να εισάγει ένα πυρήνα επιλεγμένων βασικών ιδεών που μπορεί να επεκταθεί εύκολα, αλλά και να χρησιμοποιηθεί άμεσα. Σκοπός μας είναι να προχωρήσουμε γρήγορα τόσο με τις βασικές ιδέες, όσο και με την υλοποίησή τους στην γλώσσα Python χρησιμοποιώντας ευρέως διαθέσιμες βιβλιοθήκες εντολών (Python libraries), για να εξηγήσουμε και να μεταφέρουμε το γνωστικό περιεχόμενο κάθε καινούργιας ιδέας με απτά παραδείγματα.

Θα βρείτε παρακάτω σύνδεσμους (links) σε μια σειρά διαλέξεων, οργανωμένες θεματικά σε “Modules”. Χρησιμοποιούμε διαφάνειες όταν πρωτοεισάγουμε και εξηγούμε μία καινούργια ιδέα. Στις επόμενες διαλέξεις, αναπτύσσουμε και υλοποιούμε αυτές τις ιδέες στην Python, επιλύοντας χαρακτηριστικά προβλήματα που βασίζονται κατά περίπτωση σε πραγματικά ή αληθοφανή τεχνητά δεδομένα.

Python και Colab: θα χρησιμοποιήσουμε την γλώσσα προγραμματισμού Python. Δεν καλύπτουμε τις αρχές της Python από μηδενική βάση. Ωστόσο, στις διαλέξεις εξηγούμε τις βασικές εντολές, και δίνουμε πληροφορίες για τις βιβλιοθήκες όπου οί εντολές αυτές είναι διαθέσιμες. Επίσης σε διάφορα σημεία του κώδικα, προτείνονται σύνδεσμοι (links) που περιέχουν περισσότερες λεπτομέρειες για τις συγκεκριμένες εντολές ή βιβλιοθήκες, τους οποίους μπορείτε να ακολουθήσετε ώστε να εμβαθύνετε τις γνώσεις σας. Ο προγραμματισμός γίνεται στο Colab. Το Colab είναι ένα δωρεάν, βασισμένο στο cloud εργαλείο από την Google, το οποίο επιτρέπει τη συγγραφή και την εκτέλεση κώδικα Python σε περιβάλλον Jupyter Notebook. Δουλεύει εξ ολοκλήρου στον browser, χωρίς να απαιτείται εγκατάσταση λογισμικού ή ρύθμιση περιβάλλοντος, οπότε η χρήση του εξασφαλίζει σε όλους πρόσβαση στο ίδιο υπολογιστικό περιβάλλον. Θα χρειαστείτε όμως λογαριασμό gmail.

Πως μπορείτε να χρησιμοποιήσετε την ύλη του μαθήματος:


1. Οι διαλέξεις είναι σχεδιασμένες για να τις παρακολουθείσετε με την σειρά, μαζί με το υλικό, δηλαδή, τις διαφάνειες ή τα Colab Notebook.
2. Όποιος ενδιαφέρεται για μία γρήγορη επισκόπηση του μαθήματος, μπορείτε να παρακολουθήσει μόνο τις διαλέξεις με διαφάνειες. Οι λοιπές διαλέξεις όπου υλοποιούμε αλγορίθμους σε Python έχουν στον τίτλο την επισήμανση "(Python / Colab)".
3. Εάν έχετε ήδη εμπειρία χρησιμοποιώντας την Python και έχετε κάποια επαφή με τις ιδέες και τους αλγορίθμους της μηχανικής μάθησης, μπορείτε απλά να πάτε κατευθείαν στα Colab Notebooks που σας ενδιαφέρουν.
4. Τα μαθήματα/διαλέξεις που συμπεριλαμβάνονται στην ιστοσελίδα αποτελούν έναν αρχικό αλλά εξελισσόμενο βασικό κορμό ή πυρήνα. Πρόσθετες διαλέξεις θα είναι διαθέσιμες στην ιστοσελίδα στο εγγγύς μέλλον.

Εδώ θα βρείτε λινκς για την πλήρη ύλη του μαθήματος:

  1. Βιντεοσκοπημένα μαθήματα
  2. Διαφάνειες
  3. Colab Notebooks σε Python

`

Module 1: Εισαγωγή στο Μάθημα και στην Τεχνητή Νοημοσύνη

`

Module 2: Επιτηρούμενη Μάθηση (Supervised Learning)

`

Module 3: Υπερμοντελοποίηση και Υπομοντελοποίηση (Overfitting and Underfitting)

`

Module 4: Νευρωνικά Δίκτυα (Neural Networks)

`

Module 5: Μηχανική Όραση και Συνελικτικά Νευρωνικά Δίκτυα (Convolutional Neural Networks)

`

Module 6: Transfer Learning