Στο σεμινάριο διάρκειας 16 ωρών, μαθαίνουμε πώς να προγραμματίζουμε νευρωνικά δίκτυα χρησιμοποιώντας το Tensorflow, το σημαντικότερο σήμερα API ανοικτού κώδικα που η Google χρησιμοποιεί και στην δική της μηχανή αναζήτησης.
Επισκόπηση
Το Tensorflow είναι μία βιβλιοθήκη αριθμητικής βελτιστοποίησης ανοικτού κώδικα της Google. Από πλευράς συστήματος, το σημείο διαφοροποίησης του Tensorflow είναι η ικανότητα παραλληλισμού και διανομής υπολογισμών σε χιλιάδες CPUs and GPUs, γεγονός που το καθιστά κατάλληλο για χρήση σε μεγάλα clusters. Το TensorFlow κάνει την ζωή του developer πραγματικά εύκολη: εγκαθιστούμε τοπικά, γράφουμε και ελέγχουμε τον κώδικά μας, και απλώς τον αντιγράφουμε στον server. Ο ίδιος κώδικας τρέχει στο laptop, σε μία συσκευή Android ή σε ένα massive cluster με χιλιάδες κόμβους χωρίς διαφοροποίηση. Επιπλέον το Tensorflow παραγωγίζει αυτόματα την συνάρτηση κόστους ενός προβλήματος βελτιστοποίησης εξοικονομώντας εκατοντάδες γραμμές κώδικα και δεκάδες ώρες debugging. Όλα αυτά γίνονται εφικτά μέσω της απλής αρχής διαχωρισμού της δήλωσης (declaration) από την εκτέλεση (execution) των υπολογισμών.
Το σεμινάριο είναι μία εισαγωγή στο Tensorflow και τους υπολογιστικούς γράφους, χρησιμοποιώντας το Python API του Tensorflow. Αν και εισαγωγικό, το μάθημα καλύπτει ένα σημαντικό μέρος των πρακτικών και εργαλείων του Tensorflow μέσω παραδειγμάτων και ασκήσεων.
Στόχοι εκπαίδευσης
- Εκμάθηση των βασικών αρχών προγραμματισμού δηλωτικών υπολογιστικών συστημάτων.
- Εξοικείωση με τους αριθμητικούς μετασχηματισμούς σε δηλωτικά συστήματα.
- Εκμάθηση προγραμματισμού βασικών νευρωνικών δικτύων για την επίλυση προβλημάτων βελτιστοποίησης και μηχανικής μάθησης (classification and regression).
Σε ποιούς απευθύνεται
- Μηχανικοί δεδομένων που χρειάζονται ένα εργαλείο για τη δημιουργία κατανεμημένων ροών εργασίας με περίπλοκους μετασχηματισμούς δεδομένων.
- Επιστήμονες δεδομένων που επιθυμούν να χρησιμοποιήσουν νευρωνικά δίκτυα για μηχανική μάθηση.
- Technical managers που εμπλέκονται στην αξιολόγηση τεχνολογιών, ανθρώπινου δυναμικού, ή στρατηγικών αξιοποίησης των big data στο πλαίσιο σχετικών επιχειρησιακών πολιτικών.
Προαπαιτούμενα
- Βασικές γνώσεις Python και numpy package.
- Γνώση των βασικών συστατικών στοιχείων ενός προβλήματος μηχανικής μάθησης και «εκμάθησης με παραδείγματα».
- Laptop με εγκατεστημένο Ubuntu 16.04 ή Windows 10 OS, 4GB RAM κατ’ελάχιστο και 32GB ελεύθερο αποθηκευτικό χώρο.
Διδακτέα Ύλη
- Tensor Basics
The computational graph model - imperative vs declarative programming
Basic operations with tensors
Graph Inspection & Visualization with TensorBoard - Linear Algebra with TF
Operations on sparse and dense matrices and vectors
Kronecker Products in TF
From matrices to tensors
Tensor tiling: The map Operator
Reductions on tensors
Auto-differentiation: TF’s distinguishing feature - Tensorflow I/O
Feeding data with placeholders
Exporting results
Splitting and processing inputs with minibatches - Numerical optimization In TensorFlow
Creating a symbolic objective function
Gradient computations: building a simple gradient-descent optimizer
Tweaking gradients: the compute_gradient and apply_gradient methods
Predefined TF optimizers: gradient descent, adagrad and adam optimizers
Predefined loss functions
Building a linear regression model with TF in 3 lines - Introduction to Neural Networks and deep learning
Fundamentals of Neural Nets
Stochastic gradient descent
The backpropagation algorithm
Building a neural network classifier
Learning embeddings of categorical variables
Schedules
Ημέρες & Ώρες | Ημ/νία Έναρξης | Ημ/νία Λήξης | Σύνολο Ωρών |
Παρασκευή και Σάββατο 09:00-17:00 | 06/11/2020 | 07/11/2020 | 16 |