Descrizione
L’insieme di tecniche, modelli e algoritmi che consentono ad una macchina di apprendere in modo autonomo ed eseguire un compito, viene conosciuto con il nome di Machine Learning. In base a questo impareremo a sviluppare i sistemi che sfruttano queste tecnologie, conosceremo gli strumenti necessarie per realizzarli e impareremo gli algoritmi base utilizzati in queste tecniche.
Il percorso è stato suddiviso in due parti, una teorica ed una pratica. La prima vuole spiegare e approfondire sui concetti e i principi di funzionamento dei sistemi usati, mentre la seconda porta il discente alla risoluzione di casi studio tramite lo sviluppo di progetti completi di AI.
Tutto il campo dell’intelligenza artificiale, con essa il machine learning, rappresentano un’opportunità di carriera importante visto l’incremento di quasi il 1000% nelle richieste di figure esperte in materia. Questa crescita è ancora in corso.
Requisiti di ammissione al corso
Per lo svolgimento del corso di formazione sono necessari i seguenti requisiti:
Connessione ad internet veloce (consigliato: ADSL, 8MB download, 512KB upload)
Web browser: Mozilla Firefox, Google Chrome, Safari, ecc.
Durata
21 ORE
Costo
250 € + IVA
Crediti formativi rilasciati
CNPI 24 c.f.p.
CNAPPC 20 c.f.p.
Attestato di rilascio
Attestato di partecipazione rilasciato da UNIPRO
Destinatari
Il percorso formativo è rivolto in primis a figure specifiche come quella dello sviluppatore web o i programmatori, ma anche per i professionisti quali ingegneri o periti industriali con una conoscenza base in matematica e in programmazione, anche a livello scolastico superiore.
Le prime unità sono state create in modo che servano di ripasso generale e garantiscono l’apprendimento delle giuste basi per affrontare le unità seguenti.
Per i Periti il corso fornisce i concetti utili per lo sviluppo di soluzioni innovative, integrandosi con altri sistemi. Per gli ingegneri o le altre figure professioniste il corso costituisce le basi necessarie per imparare l’utilizzo di tutti i nuovi strumenti utili nel proprio ambito lavorativo e per sviluppare la propria attività basata sull’AI.
In modo generale, il corso fornisce a tutte le figure gli strumenti per poter sviluppare sistemi di intelligenza artificiale in maniera autonoma e di elaborare soluzioni con un alto livello tecnologico.
Finalità
Lo scopo è quello di formare un Machine Learning Engineer, cioè la figura esperta nel mondo dell’AI e del ML; figura capace di creare un progetto usando le metodologie imparate del machine learning, autonomamente, analizzando i dati in possesso e realizzando un sistema completamente performante.
Il percorso formativo vuole insegnare i discenti ad utilizzare le tecniche principali per l’ottimizzazione numerica e la rappresentazione della conoscenza mediante macchine, ad utilizzare le reti convenzionali, reti correnti, auto-encoders, reti DQN, A3C e transformers, ad utilizzare tecnologie di apprendimento automatico quali alberi decisionali, macchine vettori di supporto, Q-learning, PCA, k-mean clustering ed altri, ed infine programmare i sistemi di machine learning usando il linguaggio Python Mediante le librerie: pandas, tensorflow, matplotlib, keras, scikit-learn, ecc…
Programma
Unità didattica 1 – Introduzione al corso
1.1 Introduzione
Unità didattica 2 – Nozioni di base
2.1 Numeri
2.2 Funzioni e limiti
2.3 Derivate
2.4 Tensori
2.5 Cenni di statistica
Unità didattica 3 – Introduzione all’AI
3.1 Definizione di intelligenza
3.2 AI forte ed AI debole
3.3 Paradosso di Moravec
3.4 Tipi di AI
Unità didattica 4 – Algoritmi di ricerca
4.1 Classificazione dei problemi
4.2 Tipi di algoritmi
4.3 Metodi euristici
4.4 Ottimizzazione di funzioni
4.5 Hill Climbing
4.6 Algoritmi genetici
4.7 Strategie evolutive (ES)
4.8 Particle Swarm Optimization
4.9 Ant Colony Optimization
4.10 Algoritmo A-star
4.11 Algoritmo MiniMax
4.12 Metodo Montecarlo
Unità didattica 5 – Rappresentazione della conoscenza
5.1 Sistemi esperti
5.2 Reti Bayesiane
Unità didattica 6 – Fondamenti di Machine Learning
6.1 Introduzione al ML
6.2 Fondamenti di ML
Unità didattica 7 – Apprendimento supervisionato
7.1 Regressione lineare
7.2 Concetti base di ML
7.3 Regressione logistica
7.4 Programmazione Genetica
7.5 Macchine a vettori di supporto
7.6 Alberi decisionali
7.7 Algoritmo knn
7.8 Ensemble Learning
Unità didattica 8 – Apprendimento non supervisionato
8.1 Apprendimento non supervisionato
8.2 Clustering
8.3 Riduzione della dimensionalità
Unità didattica 9 – Apprendimento per rinforzo
9.1 Introduzione
9.2 Credit Assignment Problem
9.3 Markov Decision Process
9.4 Equazione di Bellman
9.5 Ottimizzazione MMC
9.6 Ottimizzazione con metodi alle differenze temporali
Unità didattica 10 – Reti neurali artificiali
10.1 Introduzione
10.2 Reti neurali Multi-Layer Perceptron (MLP)
10.3 Architetture MLP
10.4 Progettazione reti MLP
Unità didattica 11 – Introduzione al Deep Learning
11.1 Introduzione al Deep Learning
11.2 Applicazioni di Deep Learning
Unità didattica 12 – Reti Neurali Convoluzionali
12.1 Introduzione alle immagini digitali
12.2 Reti neurali convoluzionali
12.3 Approfondimenti
12.4 ResNet
12.5 Architetture CNN
Unità didattica 13 – Reti Neurali Ricorrenti
13.1 Sequenze
13.2 Reti neurali ricorrenti
13.3 Modelli di linguaggio neurale
13.4 Word Embedding
13.5 Architetture LSTM e GRU
13.6 Applicazioni
Unità didattica 14 – Auto-encoders
14.1 Auto-encoders
Unità didattica 15 – Deep Reinforcement Learning
15.1 Introduzione al Deep RL
15.2 Deep Q-learning Network
15.3 Metodi di ricerca diretta
15.4 A3C e PPO
Unità didattica 16 – Modelli generativi
16.1 Introduzione
16.2 Generative Adversarial Network (GAN)
16.3 Cycle-GAN
Unità didattica 17 – Modelli Attention
17.1 Attention Model
17.2 Architetture Transformer
Unità didattica 18 – Prospettive e rischi
18.1 Introduzione
18.2 Presente e futuro
18.3 rischi dell’AI
Conclusioni
TEST FINALE
Al termine del corso è previsto un test finale.