SlideShare a Scribd company logo
1 of 46
Download to read offline
Dal percettrone ad AlphaGo (e SAI)
Gianluca Amato
Università “G. d’Annunzio” di Chieti–Pescara
Dipartimento di Economia Aziendale
GDG DevFest Pescara 2019
Dal percettrone ad AlphaGo (e SAI)
Gianluca Amato
Università “G. d’Annunzio” di Chieti–Pescara
Dipartimento di Economia Aziendale
GDG DevFest Pescara 2019
Ringraziamenti
Queste slide sono stare realizzate saccheggiando a mani basse le
slide dei miei coautori del team SAI, Francesco Morandin e
Maurizio Parton.
Piano del talk
1 Breve storia delle reti neurali
2 AlphaGo, Leela Zero e SAI
3 That’s all folks
Piano del talk
1 Breve storia delle reti neurali
2 AlphaGo, Leela Zero e SAI
3 That’s all folks
Il neurone biologico
Il neurone somma i segnali provenienti dai dendriti e “spara”
un impulso dagli assoni quando si supera una certa soglia.
Il vero neurone
Cibernetica
I primi esperimenti con neuroni artificiali nascono nel campo
della cibernetica.
Obiettivo: costruire cervelli artificiali per capire meglio come
funziona il cervello degli esseri viventi
Si tratta di macchine analogiche e non di computer digitali.
1948, Elmer and Elsie, le tartarughe di W. Grey Walter.
ELectroMEchanical Robot, Light-Sensitive.
Robot autonomi sensibili alla luce.
Nascita del percettrone
1957, Perceptron, Frank Rosenblatt: la prima rete neurale.
New York Times, 8 July 1958
The Navy revealed the embryo of an electronic computer today
that it expects will be able to walk, talk, see, write, reproduce itself
and be conscious of its existence.
Il percettrone
Il percettrone: un esempio
Esempio: MNIST, immagini di cifre con risoluzione 28 × 28.
Vogliamo riconoscere una cifra.
Un neurone per ogni cifra.
wi : uno per input/pixel.
Alcuni positivi, per attivarsi con la cifra cercata.
Alcuni negativi, per escludere altre cifre.
Il percettrone: un esempio
Esempio: MNIST, immagini di cifre con risoluzione 28 × 28.
Vogliamo riconoscere una cifra.
Un neurone per ogni cifra.
wi : uno per input/pixel.
Alcuni positivi, per attivarsi con la cifra cercata.
Alcuni negativi, per escludere altre cifre.
Il percettone: scegliere i pesi
Come si scelgono effettivamente i pesi?
Si impara per imitazione:
Servono esempi.
Addestramento: si adattano i pesi per far sì che, sugli esempi,
gli output dei percettroni corrispondano a quanto voluto.
Su MNIST i percettroni singoli si comportano male.
Tasso di errore del 12%.
Per migliorare servirebbe addestrare delle reti multi-strato.
Rete neurale multistrato
Struttura a strati.
Strato di input, nascosto e di output.
Maggiore complessità, prestazioni e capacità.
Pesi più difficili da interpretare (ed addestrare).
Il primo inverno delle reti neurali: 1969-1981
1969, il libro “Perceptrons”, di Marvin Minsky e Seymour
Papert: prima analisi matematica di un rete neurale.
Descrive i fallimenti (XOR), i meriti (AND, OR, NOT) e il
futuro (reti multistrato) dei percettroni.
Ma nessuno sa come addestrare efficacemente reti multistrato.
Il primo inverno delle reti neurali: 1969-1981
1969, il libro “Perceptrons”, di Marvin Minsky e Seymour
Papert: prima analisi matematica di un rete neurale.
Descrive i fallimenti (XOR), i meriti (AND, OR, NOT) e il
futuro (reti multistrato) dei percettroni.
Ma nessuno sa come addestrare efficacemente reti multistrato.
Rinascita delle reti neurali, 1982-1993
1974, Paul Werbos, Beyond Regression: New Tools for
Prediction and Analysis in the Behavioral Sciences, PhD
thesis:
algoritmo backpropagation;
è ora possibile addestrare reti neurali con più di uno strato.
1986, Geoffrey Hinton e David Rumelhart rendono popolare la
backpropagation.
Reinforcement Learning, tecnica di apprendimento che non
richiede un insieme di addestramento:
1995, TD-gammon, una rete neurale addestrata con
reinforcement learning che gioca a backgammon al livello di un
campione del mondo.
Reti Feed-Forward a strati
Una rete profonda è un rete con vari strati nascosti. Di solito,
vari vuol dire ≥ 3.
Il secondo inverno delle reti neurali: 1994-2006
1991, Sepp Hochreiter, Untersuchungen zu dynamischen
neuronalen Netzen, Diploma thesis:
la radiopropagazione applicata a reti neurali profonde soffre del
problema del “vanishing or exploding gradient”;
Effetto simile al libro Perceptrons.
Le reti superficiali (shallow) possono essere usate solo per
compiti semplici.
Le tecniche usate per il backgammon non funzionano su
scacchi e Go.
Ma Deep Blue nel 1997 sconfigge il campione del mondo di
scacchi usando tecniche più tradizionali.
Appaiono altre tecniche promettenti non basate su reti
neurali: random forests e support vector machines.
Gli irriducibili
Tabella: Geoffrey Hinton, Yann LeCun, Yoshua Bengio
Alcuni ricercatori perseverano il lavoro sulle reti neurali, grazie
al Canadian Institute for Advanced Research (CIFAR).
Popolarizzano il termine Deep Learning.
Geoffrey Hinton, Simon Osindero, Yee-Whye Teh, 2006
Alleviano il problema del vanishing / exploding gradient:
finalmente si possono addestrare le reti neurali profonde.
Dopo il 2006
Competizione MNIST per il riconoscimento di cifre scritte a
mano vinto con un tasso di errore dell’1% (2006).
Riconoscimento vocale con tasso d’errore del 23% (2011).
Riconoscimento di immagini con le reti convoluzionali: vince
la ILSVRC-2012 (Olympics of computer vision) con un tasso
di errore del 15.3% – il secondo classificato ha un tasso di
errore del 26.2%!
Traduzione in tempo reale di Skype: 2014.
Dopo il 2006
Atari Breakout:
https://www.youtube.com/watch?v=V1eYniJ0Rnk, 2015.
AlphaGo, apprendimento supervisionato e reinforcement
learning, 2016. Vince contro i migliori giocatori umani.
AlphaGo Zero, reinforcement learning, 2017. Vince contro
AlphaGo senza usare nessuna conoscenza umana.
Alpha Zero, gioca a Go, Scacchi e Shogi con reinforcement
learning: 2017, vince contro il miglior software di scacchi.
Perché sta accadendo ora?
Legge di Moore: x2 ogni 18 mesi.
Schede grafiche (GPU): potenza computazionale a basso
costo.
Capacità di addestrare le reti neurali profonde.
Big Data: sono disponibili una enorme quantità di dati per
addestrare le reti.
1998: MNIST, 60 ∗ 103
immagini.
2012: ImageNet, 1.2 ∗ 106
immagini.
Piano del talk
1 Breve storia delle reti neurali
2 AlphaGo, Leela Zero e SAI
3 That’s all folks
Il gioco del go
Il gioco del go
Il gioco del Go è stato inventato in Cina 4000 anni fa.
È un gioco a informazione perfetta e somma zero per due
giocatori.
Si gioca su una goban con 19x19 intersezioni. Una volta
piazzata una pietra, non può più essere mossa. Quando il
gioco finisce, il vincitore è determinato contando chi ha
circondato con le sue pietre più territorio. Questo è il
punteggio del giocatore.
Il Go ha rappresentato per molto tempo una sfida per
l’intelligenza artificiale: fino al 2016 non c’era nessun software
in grado di giocare a livello professionistico.
AlphaGo
2016, AlphaGo, apprendimento supervisionato e reinforcement
learning.
Vince contro i migliori giocatori umani.
2017, AlphaGo Zero, reinforcement learning.
Vince contro AlphaGo senza usare nessuna conoscenza umana.
2017, Alpha Zero, gioca a Go, Scacchi e Shogi con
reinforcement learning.
Vince contro il miglior software di scacchi.
Funzionamento di AlphaGo Zero
Reti neurali — data una configurazione di pietre nel goban,
predicono:
value, probabilità di vittoria;
policy, la bontà di ognuna delle possibili mosse successive.
Reinforcement learning — per addestrare le reti neurali,
AlphaGo Zero gioca centinaia di migliaia di partite contro se
stesso, aggiustando di volta in volta sulla base dei risultati i
pesi delle reti.
Monte Carlo Tree Search — algoritmo che gioca a Go
esplorando in maniera casuale l’albero delle mosse, guidato
dalla reti neurali per policy e value.
Reti neurali in AlphaGo Zero
Monte Carlo Tree Search in AlphaGo Zero
Leela Zero
Leela Zero è una implementazione open-source di AlphaGo
Zero (https://github.com/leela-zero/leela-zero).
Progetto creato da Gian-Carlo Pascutto, Mozilla Corporation.
Non avendo a disposizione la potenza di calcolo di Google,
Leela Zero funziona in maniera distribuita:
un server coordina le operazioni:
memorizza tutte le partite giocate;
fornisce ai client che si collegano i task da effettuare, di solito
partite di addestramento.
i client, che possono essere installati sulla propria macchina da
chiunque:
si collegano al server e scaricano le reti neurali da utilizzare;
giocano partite di allenamento e inviano il risultato al server.
Architettura di Leela Zero
Da Leela Zero a SAI
AlphaGo (normale o Zero) e Leela Zero non sono in grado di
giocare per ottenere un punteggio elevato, poiché sono
addestrati unicamente per migliorare la probabilità di vittoria
Quando sono in vantaggio, tendono a giocare mosse non
ottimali
Inoltre, non possono giocare con handicap, quindi non sono
adatti ad essere utilizzati dagli essere umani per addestrarsi
SAI è una evoluzione di Leela Zero che cerca di risolvere
questi problemi
SAI: il nome
SAI sta per Sensible Artificial Intelligence, nel senso che gioca
in maniera ragionevole, non solo per vincere...
SAI: il nome
SAI sta per Sensible Artificial Intelligence, nel senso che gioca
in maniera ragionevole, non solo per vincere...
... ma l’acronimo è solo su una scusa.
SAI: il nome
SAI sta per Sensible Artificial Intelligence, nel senso che gioca
in maniera ragionevole, non solo per vincere...
... ma l’acronimo è solo su una scusa.
Gli appassionati di Go e/o manga sapranno bene che in verità
il nome SAI deriva da lui:
SAI: il team
Gli esseri umani:
Francesco Morandin — Università di Parma
Gianluca Amato — Università “G. d’Annunzio”
Marco Fantozzi
Rosa Gini — Agenzia regionale di sanità della Toscana
Carlo Metta — Università di Firenze
Maurizio Parton — Università “G. d’Annunzio”
SAI: il team
Gli esseri umani:
Francesco Morandin — Università di Parma
Gianluca Amato — Università “G. d’Annunzio”
Marco Fantozzi
Rosa Gini — Agenzia regionale di sanità della Toscana
Carlo Metta — Università di Firenze
Maurizio Parton — Università “G. d’Annunzio”
Gli esseri digitali:
il server sai.unich.it, gentilmente offerto dal Dipartimento
di Economia dell’Università “G. d’Annunzio”;
la workstation di training, ovvero il PC desktop di Maurizio
Parton;
(adesso svolge egregiamente anche il ruolo di impianto di
riscaldamento del mio ufficio)
i client della community che ci donano risorse.
SAI vs Leela Zero
La rete neurale
La rete neurale di Leela Zero restituisce, per ogni
configurazione del goban:
probabilità di vittoria;
la policy, ovvero una misura della bontà di ogni mossa.
possibile
In SAI restituiamo anche;
la differenza stimata di punti tra i due giocatori;
il livello di incertezza nell’esito della partita.
SAI vs Leela Zero
Struttura delle partite
Leela Zero fa giocare i client a partire dalla goban vuota.
SAI può far giocare una partita:
a partire da una configurazione incontrata in una precedente
partita che sembra interessante;
con una differenza di punteggio prefissato iniziale tra bianco e
nero (tecnicamente, il komi).
SAI vs Leela Zero
Politica di promozione
In Leela Zero una nuova rete viene addestrata dopo un
numero consistente di partite giocate dalla vecchia: se si
comporta meglio della precedente viene promossa e sostituisce
la vecchia.
In SAI usiamo il principio “Release early, release often”:
aspettiamo molte meno partite per addestrare la nuova rete, e
la sostituiamo a quella precedente anche se non sembra
migliorare il gioco.
SAI vs Leela Zero
Agente più sofisticato
Sfruttando le maggiori informazioni che la rete neurale ci
fornisce, l’agente è in grado di puntare a vincere con un
punteggio alto.
Per far ciò gioca sempre massimizzando la probabilità di
vittoria, ma sottostimando deliberatamente il proprio
vantaggio, per spingersi ad aumentarlo.
Risultati di SAI
Usando solo i nostri PC, abbiamo addestrato versioni
superumane di SAI per il Go 7x7 e 9x9.
È in corso l’addestramento di SAI 19x19 cercando di
coinvolgere la community che ha sostenuto il progetto Leela
Zero:
abbiamo circa 100 macchine client che ci forniscono potenza di
calcolo;
ogni partita dura circa un paio di minuti su un PC desktop con
scheda GPU di potenza medio/alta.
SAI gioca attualmente al livello amatoriale.
Provatelo!
Client: https://github.com/sai-dev/sai
Server: https://github.com/sai-dev/sai-server
Il sito web: http://sai.unich.it/
Il server SAI: screenshot
Piano del talk
1 Breve storia delle reti neurali
2 AlphaGo, Leela Zero e SAI
3 That’s all folks
Licenza
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
License, Version 1.3 or any later version published by the Free
Software Foundation; with no Invariant Sections, no
Front-Cover Texts, and no Back-Cover Texts. A copy of the
license is included in the section entitled "GNU Free
Documentation License" at the URL:
https://www.gnu.org/licenses/fdl-1.3.en.html

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Dal percettrone ad AlphaGo (e SAI)

  • 1. Dal percettrone ad AlphaGo (e SAI) Gianluca Amato Università “G. d’Annunzio” di Chieti–Pescara Dipartimento di Economia Aziendale GDG DevFest Pescara 2019
  • 2. Dal percettrone ad AlphaGo (e SAI) Gianluca Amato Università “G. d’Annunzio” di Chieti–Pescara Dipartimento di Economia Aziendale GDG DevFest Pescara 2019 Ringraziamenti Queste slide sono stare realizzate saccheggiando a mani basse le slide dei miei coautori del team SAI, Francesco Morandin e Maurizio Parton.
  • 3. Piano del talk 1 Breve storia delle reti neurali 2 AlphaGo, Leela Zero e SAI 3 That’s all folks
  • 4. Piano del talk 1 Breve storia delle reti neurali 2 AlphaGo, Leela Zero e SAI 3 That’s all folks
  • 5. Il neurone biologico Il neurone somma i segnali provenienti dai dendriti e “spara” un impulso dagli assoni quando si supera una certa soglia.
  • 7. Cibernetica I primi esperimenti con neuroni artificiali nascono nel campo della cibernetica. Obiettivo: costruire cervelli artificiali per capire meglio come funziona il cervello degli esseri viventi Si tratta di macchine analogiche e non di computer digitali. 1948, Elmer and Elsie, le tartarughe di W. Grey Walter. ELectroMEchanical Robot, Light-Sensitive. Robot autonomi sensibili alla luce.
  • 8. Nascita del percettrone 1957, Perceptron, Frank Rosenblatt: la prima rete neurale. New York Times, 8 July 1958 The Navy revealed the embryo of an electronic computer today that it expects will be able to walk, talk, see, write, reproduce itself and be conscious of its existence.
  • 10. Il percettrone: un esempio Esempio: MNIST, immagini di cifre con risoluzione 28 × 28. Vogliamo riconoscere una cifra. Un neurone per ogni cifra. wi : uno per input/pixel. Alcuni positivi, per attivarsi con la cifra cercata. Alcuni negativi, per escludere altre cifre.
  • 11. Il percettrone: un esempio Esempio: MNIST, immagini di cifre con risoluzione 28 × 28. Vogliamo riconoscere una cifra. Un neurone per ogni cifra. wi : uno per input/pixel. Alcuni positivi, per attivarsi con la cifra cercata. Alcuni negativi, per escludere altre cifre.
  • 12. Il percettone: scegliere i pesi Come si scelgono effettivamente i pesi? Si impara per imitazione: Servono esempi. Addestramento: si adattano i pesi per far sì che, sugli esempi, gli output dei percettroni corrispondano a quanto voluto. Su MNIST i percettroni singoli si comportano male. Tasso di errore del 12%. Per migliorare servirebbe addestrare delle reti multi-strato.
  • 13. Rete neurale multistrato Struttura a strati. Strato di input, nascosto e di output. Maggiore complessità, prestazioni e capacità. Pesi più difficili da interpretare (ed addestrare).
  • 14. Il primo inverno delle reti neurali: 1969-1981 1969, il libro “Perceptrons”, di Marvin Minsky e Seymour Papert: prima analisi matematica di un rete neurale. Descrive i fallimenti (XOR), i meriti (AND, OR, NOT) e il futuro (reti multistrato) dei percettroni. Ma nessuno sa come addestrare efficacemente reti multistrato.
  • 15. Il primo inverno delle reti neurali: 1969-1981 1969, il libro “Perceptrons”, di Marvin Minsky e Seymour Papert: prima analisi matematica di un rete neurale. Descrive i fallimenti (XOR), i meriti (AND, OR, NOT) e il futuro (reti multistrato) dei percettroni. Ma nessuno sa come addestrare efficacemente reti multistrato.
  • 16. Rinascita delle reti neurali, 1982-1993 1974, Paul Werbos, Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences, PhD thesis: algoritmo backpropagation; è ora possibile addestrare reti neurali con più di uno strato. 1986, Geoffrey Hinton e David Rumelhart rendono popolare la backpropagation. Reinforcement Learning, tecnica di apprendimento che non richiede un insieme di addestramento: 1995, TD-gammon, una rete neurale addestrata con reinforcement learning che gioca a backgammon al livello di un campione del mondo.
  • 17. Reti Feed-Forward a strati Una rete profonda è un rete con vari strati nascosti. Di solito, vari vuol dire ≥ 3.
  • 18. Il secondo inverno delle reti neurali: 1994-2006 1991, Sepp Hochreiter, Untersuchungen zu dynamischen neuronalen Netzen, Diploma thesis: la radiopropagazione applicata a reti neurali profonde soffre del problema del “vanishing or exploding gradient”; Effetto simile al libro Perceptrons. Le reti superficiali (shallow) possono essere usate solo per compiti semplici. Le tecniche usate per il backgammon non funzionano su scacchi e Go. Ma Deep Blue nel 1997 sconfigge il campione del mondo di scacchi usando tecniche più tradizionali. Appaiono altre tecniche promettenti non basate su reti neurali: random forests e support vector machines.
  • 19. Gli irriducibili Tabella: Geoffrey Hinton, Yann LeCun, Yoshua Bengio Alcuni ricercatori perseverano il lavoro sulle reti neurali, grazie al Canadian Institute for Advanced Research (CIFAR). Popolarizzano il termine Deep Learning. Geoffrey Hinton, Simon Osindero, Yee-Whye Teh, 2006 Alleviano il problema del vanishing / exploding gradient: finalmente si possono addestrare le reti neurali profonde.
  • 20. Dopo il 2006 Competizione MNIST per il riconoscimento di cifre scritte a mano vinto con un tasso di errore dell’1% (2006). Riconoscimento vocale con tasso d’errore del 23% (2011). Riconoscimento di immagini con le reti convoluzionali: vince la ILSVRC-2012 (Olympics of computer vision) con un tasso di errore del 15.3% – il secondo classificato ha un tasso di errore del 26.2%! Traduzione in tempo reale di Skype: 2014.
  • 21. Dopo il 2006 Atari Breakout: https://www.youtube.com/watch?v=V1eYniJ0Rnk, 2015. AlphaGo, apprendimento supervisionato e reinforcement learning, 2016. Vince contro i migliori giocatori umani. AlphaGo Zero, reinforcement learning, 2017. Vince contro AlphaGo senza usare nessuna conoscenza umana. Alpha Zero, gioca a Go, Scacchi e Shogi con reinforcement learning: 2017, vince contro il miglior software di scacchi.
  • 22. Perché sta accadendo ora? Legge di Moore: x2 ogni 18 mesi. Schede grafiche (GPU): potenza computazionale a basso costo. Capacità di addestrare le reti neurali profonde. Big Data: sono disponibili una enorme quantità di dati per addestrare le reti. 1998: MNIST, 60 ∗ 103 immagini. 2012: ImageNet, 1.2 ∗ 106 immagini.
  • 23. Piano del talk 1 Breve storia delle reti neurali 2 AlphaGo, Leela Zero e SAI 3 That’s all folks
  • 25. Il gioco del go Il gioco del Go è stato inventato in Cina 4000 anni fa. È un gioco a informazione perfetta e somma zero per due giocatori. Si gioca su una goban con 19x19 intersezioni. Una volta piazzata una pietra, non può più essere mossa. Quando il gioco finisce, il vincitore è determinato contando chi ha circondato con le sue pietre più territorio. Questo è il punteggio del giocatore. Il Go ha rappresentato per molto tempo una sfida per l’intelligenza artificiale: fino al 2016 non c’era nessun software in grado di giocare a livello professionistico.
  • 26. AlphaGo 2016, AlphaGo, apprendimento supervisionato e reinforcement learning. Vince contro i migliori giocatori umani. 2017, AlphaGo Zero, reinforcement learning. Vince contro AlphaGo senza usare nessuna conoscenza umana. 2017, Alpha Zero, gioca a Go, Scacchi e Shogi con reinforcement learning. Vince contro il miglior software di scacchi.
  • 27. Funzionamento di AlphaGo Zero Reti neurali — data una configurazione di pietre nel goban, predicono: value, probabilità di vittoria; policy, la bontà di ognuna delle possibili mosse successive. Reinforcement learning — per addestrare le reti neurali, AlphaGo Zero gioca centinaia di migliaia di partite contro se stesso, aggiustando di volta in volta sulla base dei risultati i pesi delle reti. Monte Carlo Tree Search — algoritmo che gioca a Go esplorando in maniera casuale l’albero delle mosse, guidato dalla reti neurali per policy e value.
  • 28. Reti neurali in AlphaGo Zero
  • 29. Monte Carlo Tree Search in AlphaGo Zero
  • 30. Leela Zero Leela Zero è una implementazione open-source di AlphaGo Zero (https://github.com/leela-zero/leela-zero). Progetto creato da Gian-Carlo Pascutto, Mozilla Corporation. Non avendo a disposizione la potenza di calcolo di Google, Leela Zero funziona in maniera distribuita: un server coordina le operazioni: memorizza tutte le partite giocate; fornisce ai client che si collegano i task da effettuare, di solito partite di addestramento. i client, che possono essere installati sulla propria macchina da chiunque: si collegano al server e scaricano le reti neurali da utilizzare; giocano partite di allenamento e inviano il risultato al server.
  • 32. Da Leela Zero a SAI AlphaGo (normale o Zero) e Leela Zero non sono in grado di giocare per ottenere un punteggio elevato, poiché sono addestrati unicamente per migliorare la probabilità di vittoria Quando sono in vantaggio, tendono a giocare mosse non ottimali Inoltre, non possono giocare con handicap, quindi non sono adatti ad essere utilizzati dagli essere umani per addestrarsi SAI è una evoluzione di Leela Zero che cerca di risolvere questi problemi
  • 33. SAI: il nome SAI sta per Sensible Artificial Intelligence, nel senso che gioca in maniera ragionevole, non solo per vincere...
  • 34. SAI: il nome SAI sta per Sensible Artificial Intelligence, nel senso che gioca in maniera ragionevole, non solo per vincere... ... ma l’acronimo è solo su una scusa.
  • 35. SAI: il nome SAI sta per Sensible Artificial Intelligence, nel senso che gioca in maniera ragionevole, non solo per vincere... ... ma l’acronimo è solo su una scusa. Gli appassionati di Go e/o manga sapranno bene che in verità il nome SAI deriva da lui:
  • 36. SAI: il team Gli esseri umani: Francesco Morandin — Università di Parma Gianluca Amato — Università “G. d’Annunzio” Marco Fantozzi Rosa Gini — Agenzia regionale di sanità della Toscana Carlo Metta — Università di Firenze Maurizio Parton — Università “G. d’Annunzio”
  • 37. SAI: il team Gli esseri umani: Francesco Morandin — Università di Parma Gianluca Amato — Università “G. d’Annunzio” Marco Fantozzi Rosa Gini — Agenzia regionale di sanità della Toscana Carlo Metta — Università di Firenze Maurizio Parton — Università “G. d’Annunzio” Gli esseri digitali: il server sai.unich.it, gentilmente offerto dal Dipartimento di Economia dell’Università “G. d’Annunzio”; la workstation di training, ovvero il PC desktop di Maurizio Parton; (adesso svolge egregiamente anche il ruolo di impianto di riscaldamento del mio ufficio) i client della community che ci donano risorse.
  • 38. SAI vs Leela Zero La rete neurale La rete neurale di Leela Zero restituisce, per ogni configurazione del goban: probabilità di vittoria; la policy, ovvero una misura della bontà di ogni mossa. possibile In SAI restituiamo anche; la differenza stimata di punti tra i due giocatori; il livello di incertezza nell’esito della partita.
  • 39. SAI vs Leela Zero Struttura delle partite Leela Zero fa giocare i client a partire dalla goban vuota. SAI può far giocare una partita: a partire da una configurazione incontrata in una precedente partita che sembra interessante; con una differenza di punteggio prefissato iniziale tra bianco e nero (tecnicamente, il komi).
  • 40. SAI vs Leela Zero Politica di promozione In Leela Zero una nuova rete viene addestrata dopo un numero consistente di partite giocate dalla vecchia: se si comporta meglio della precedente viene promossa e sostituisce la vecchia. In SAI usiamo il principio “Release early, release often”: aspettiamo molte meno partite per addestrare la nuova rete, e la sostituiamo a quella precedente anche se non sembra migliorare il gioco.
  • 41. SAI vs Leela Zero Agente più sofisticato Sfruttando le maggiori informazioni che la rete neurale ci fornisce, l’agente è in grado di puntare a vincere con un punteggio alto. Per far ciò gioca sempre massimizzando la probabilità di vittoria, ma sottostimando deliberatamente il proprio vantaggio, per spingersi ad aumentarlo.
  • 42. Risultati di SAI Usando solo i nostri PC, abbiamo addestrato versioni superumane di SAI per il Go 7x7 e 9x9. È in corso l’addestramento di SAI 19x19 cercando di coinvolgere la community che ha sostenuto il progetto Leela Zero: abbiamo circa 100 macchine client che ci forniscono potenza di calcolo; ogni partita dura circa un paio di minuti su un PC desktop con scheda GPU di potenza medio/alta. SAI gioca attualmente al livello amatoriale. Provatelo! Client: https://github.com/sai-dev/sai Server: https://github.com/sai-dev/sai-server Il sito web: http://sai.unich.it/
  • 43. Il server SAI: screenshot
  • 44. Piano del talk 1 Breve storia delle reti neurali 2 AlphaGo, Leela Zero e SAI 3 That’s all folks
  • 45.
  • 46. Licenza Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License" at the URL: https://www.gnu.org/licenses/fdl-1.3.en.html