Deep learning with Tensorflow

Στο σεμινάριο διάρκειας 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 ελεύθερο αποθηκευτικό χώρο.

Διδακτέα Ύλη

  1. Tensor Basics
    The computational graph model - imperative vs declarative programming
    Basic operations with tensors
    Graph Inspection & Visualization with TensorBoard
  2. 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
  3. Tensorflow I/O
    Feeding data with placeholders
    Exporting results
    Splitting and processing inputs with minibatches
  4. 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
  5. 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

Ημέρες & Ώρες Ημ/νία Έναρξης Ημ/νία Λήξης Σύνολο Ωρών

Πέμπτη 18:00-22:00

Παρασκευή 18:00-22:00

Σάββατο 09:00-17:00

24/01/2019 26/01/2019 16