Vsebina
SLO:
V uvodnem delu delavnice bomo predstavili osnove strojnega učenja s posebnim poudarkom na globokem učenju. Umetne nevronske mreže tu predstavljajo osrednji model, ki v zadnjem desetletju premika meje v strojnem učenju in umetni inteligenci. Predstavljeni bodo koncepti strojnega učenja in kaj je osnovni problem v umetni inteligenci skupaj s pomembnostjo učnih podatkov. Pridobljeno znanje bomo uporabili na nizu praktičnih zgledov z uporabo knjižnice Keras in TensorFlow, ki omogočata uporabniku prijazno grajenje modelov globokega učenja in rokovanja z različnimi vrstami podatkov potrebnih za učinkovito učenje. Omenjeno programsko okolje omogoča tudi enostavno paralelizacijo učenja in pospeševanje na grafičnih in tenzorskih procesorskih enotah, kar bomo v praksi pokazali tudi na delavnici z uporabo oblačne storitve Google Colaboratory. Preko zledov bomo predstavili in uporabili najpomembnejše metode globokega učenja kot so gradientni spust, zgodnja ustavitev, najuporabnejše funkcije izgube, renormalizacija, paketna normalizacija in tako dalje. Praktični del delavnice bomo začeli s standardno enosmerno nevronsko mrežo, jo implementirali v Kerasu in uporabili na dveh primerih iz strojnega učenja, problemu regresije in razvrščanja. Prikazali bomo kako se arhitekturo nevronske mreže prilagodi glede na tip in obliko tako vhodnih kot izhodnih podatkov, ki so na voljo pri danem problemu. Dotaknili se bomo najpogostejših upodobitev podatkov za uporabo pri nevronskih mrežah in kako jih primerno zakodirati, da je učenje kar se da učinkovito. Nadalje se bomo osredotočili na konvolucijske nevronske mreže, ki predstavljajo posebno arhitekturo znotraj globokega učenja, in so še posebej uporabne na podatkih z znano topološko strukturo kot so slike in zaporedja. Natančneje bomo predstavili značilne sestavne dele takšne mreže in kakšne so splošno sprejete smernice pri zasnovi takšnega modela. Delovanje konvolucijske mreže in njeno učenje bomo predstavili na primeru problema klasifikacije slik. Delavnico bomo zaključili z zgledom uporabe vložitev, uporaba katerih v globokem učenju v zadnjih letih izkazuje izjemen uspeh pri podatkih, ki vsebujejo veliko število diskretnih objektov, kot so besedila, (obteženi) grafi, relacijske baze in tako dalje. Na delavnici bomo implemetirali realističen model za priporočila, ki ima za vhodno plast vložitev in predstavili smernice kako prilagoditi model za globoko učenje za uporabo vložitev ob podatkih, ki so pri danem problemu na voljo.
ENG:
In the introductory part of the workshop, we will present the basics of machine learning with a special emphasis on deep learning. In this scope artificial neural networks represent a central model that has pushed the boundaries in machine learning and artificial intelligence over the last decade. We will present the concepts of machine learning and the basic problem in artificial intelligence together with the importance of training data. We will use the acquired knowledge on a set of practical examples using Keras and TensorFlow libraries, which enables user-friendly construction of deep learning models and handling different types of data needed for efficient model training. The mentioned software environment also enables easy parallelization of training and its acceleration on graphics or tensor processing units, which will also be shown in practice at the workshop using Google Colaboratory cloud service. Through different examples, we will present and apply the most important methods of deep learning such as gradient descent, early stopping, the most useful loss functions, renormalization, batch normalization and so on. We will start the practical part of the workshop with a standard feed-forward neural network, implement it in Keras and use it on two examples from machine learning, the problem of regression and classification. We will show how to adapt the neural network architecture with regards to the type and format of both input and output data that is available for a given problem. We will present the most common representations of data for use in neural networks and how to appropriately encode them to make training as efficient as possible. We will continue with convolutional neural networks, which represent a special architecture within deep learning, and are particularly useful on data with a known topological structure such as images and sequences. We will present in more detail the typical components of such a network and what are the generally accepted guidelines for the design of such a model. The operation of the convolutional network and its training will be presented on an example of image classification problem. We will conclude the workshop with an example of the use of embeddings. In recent years the use of embeddings in deep learning has shown remarkable success when using data which includes a large number of discrete objects such as text, (weighted) graphs, relational databases and so on. In the workshop, we will implement a realistic model for recommendations and present guidelines on how to adapt the deep learning model to use an embedding layer given the data available for a given problem.
Potek tečaja
Tečaj bo potekal preko sistema Zoom. Izvedli ga bomo v dveh popoldnevih. Povezavo na sejo Zoom bomo prijavljenim sporočili naknadno.
Prvi dan / 17.Maj: 13.00-17.00: Deep learning with Keras 1
- Presentation of EuroHPC JU and EuroCC (Janez Povh)
- Introduction to machine learning and deep learning (Janez Povh, Primož Godec)
- Neural networks with Keras: regression (Rok Hribar)
Drugi dan / 18.Maj: 13.00-17.00: Deep learning with Keras 2
- Neural networks with Keras: classification (Primož Godec)
- Convolutional neural networks (Primož Godec)
- Embeddings (Rok Hribar)
Udeleženci
Delavnica je namenjena raziskovalcem, inženirjem, študentom in drugim, ki ste spoznali, da potrebujete več računskih virov, kot vam jih ponujajo običajni računalniki.
Število prijav je omejeno na 30.
Zaželena predznanja
SLO:
Za udeležence je priporočljivo poznavanje osnov strojnega učenja in jezika Python.
ENG:
Knowledge of the basics of machine learning and Python language is recommended for participants.Pridobljena znanja
Po končanem tečaju boste:
- razumeli v kakšnih primerih je globoko učenje koristna metoda
- razumeli kako na podlagi narave problema in oblike podatkov izberemo primerno arhitekturo nevronske mreže
- osvojili kako transformiramo podatke v obliko primerno za globoko učenje
- osvojili tehnike, ki pomembno vplivajo na učinkovitost učenja
- sposobni implementirati in izučiti nevronsko mrežo znotraj okolja Keras