
A seconda di ciò che si vuole realizzare, esistono numerose tipologie di intelligenze artificiali, che grazie ai dati permettono di risolvere uno specifico problema. Tra le tante esistenti, Luca Martinelli, autore del Podcast, ci ha parlato di un progetto per creare una GAN, ovvero Generative Adversarial Network, o Rete Generativa Avversaria, una tipologia di intelligenza artificiale in grado di creare contenuti, in questo caso immagini delle emoji che troviamo sui nostri dispositivi.
Nella sezione delle notizie invece parleremo del processo Epic Games contro Apple per ridisegnare l’App Store e dei nuovi iPad, iPhone 13 e Apple Watch serie 7.



Brani
• Ecstasy by Rabbit Theft
• Higher by Hoober (feat. Vanessa Campagna)
Salve a tutti, siete all'ascolto di INSiDER - Dentro la Tecnologia, un podcast di Digital People e io sono il vostro host, Davide Fasoli.
Oggi Luca Martinelli, autore del podcast, ci racconterà di un suo progetto per realizzare un'intelligenza artificiale in grado di generare delle nuove emoji.
Prima di passare alle notizie che più ci hanno colpito questa settimana, vi ricordo che potete seguirci su Instagram a @dentrolatecnologia, iscrivervi alla newsletter e ascoltare un nuovo episodio ogni sabato mattina su Spotify, Apple Podcast, Google Podcast oppure direttamente sul nostro sito.
Nel processo Epic Games contro Apple, di cui avevamo parlato qualche mese fa e che era scaturito dalla volontà di Epic di non voler pagare le commissioni del 30% dei ricavi di Fortnite all'App Store per gli acquisti all'interno delle app scaricate proprio dallo store di Apple, il Tribunale distrettuale della California settentrionale ha rigettato l'accusa di posizione dominante di Apple, ma ha lasciato una porta aperta agli sviluppatori che ora potranno prevedere nelle app link esterni per gli acquisti accanto agli acquisti in app e che quindi non saranno soggetti a nessuna commissione da versare ad Apple.
Epic però ha voluto procedere in appello, sia perché non contenta del rigetto dell'accusa di posizione dominante, sia perché la sentenza ha stabilito anche il risarcimento con interessi ad Apple pari al 30% dei 12 milioni di dollari di entrate che Epic ha raccolto dagli utenti nell'app Fortnite su iOS attraverso i pagamenti diretti aggiunti contro la volontà di Apple tra agosto 2020 e ottobre 2020,
più il 30% di tutte le entrate che Epic Games ha raccolto dal 1 novembre 2020 fino alla data della sentenza.
Nell'ormai consueto evento di settembre, Apple ha finalmente presentato la nuova gamma di iPhone, che rispetto al modello del 2020 non presenta di fatto sostanziali migliorie se non per il comparto fotocamere e nello spazio di archiviazione, ma andiamo con ordine.
Ad essere mostrato per primo è stato il nuovo iPad 2021, aggiornato rispetto alla versione 2020 con chip di iPhone 11, un sensore grandangolare e i nuovi tagli da 64 e 256 GB.
La tensione si è poi spostata sul nuovo iPad Mini 6 da 8.3 pollici, che proprio come iPad Air presenta bordi curvi, sblocco Touch ID sul pulsante di accensione e connettore USB-C.
I nuovi Apple Watch serie 7 sono rimasti pressoché invariati rispetto alla versione precedente, se non per gli schermi del 20% più ampi.
I nuovi formati quindi saranno disponibili da 41 e 45 mm.
Concludiamo con gli iPhone 13, i quali oltre al nuovo chip A15 Bionic, includono uno schermo OLED da 6.1 pollici con dimensioni del notch ridotte, due fotocamere da 12 megapixel e un aumento dello spazio di archiviazione che parte da 128 e arriva a 512 GB, disponibili anche nella versione Mini.
Infine, con le nuove versioni Pro vengono finalmente introdotti i 120 Hz, con frequenza di refresh variabile per delle animazioni sullo schermo molto più fluide, mentre per quanto riguarda l'archiviazione si potrà acquistare per ben 1869 euro anche la versione da 1 TB.
Abbiamo parlato spesso di intelligenza artificiale, apprendimento automatico e di come questa tecnologia può essere integrata in altri sistemi, ma anche dei pericoli e dei rischi che questa può portare.
Torniamo quindi a parlare di questo argomento da una prospettiva leggermente diversa.
Oggi infatti siamo in compagnia di Luca Martinelli, autore del podcast, che nell'ambito di un progetto universitario ha avuto l'opportunità di realizzare proprio uno di questi algoritmi di intelligenza artificiale.
Ben tornato Luca.
Ciao a te Davide e ciao a tutti gli ascoltatori.
Innanzitutto puoi dirci in che cosa consisteva il tuo progetto e che cosa sei andato a realizzare?
Sì, certamente.
Nell'ambito della scienza digitale forense, quindi tutta quella parte di informatica che riguarda in particolar modo l'identificazione, la conservazione, ma anche la protezione e l'analisi di prove digitali che quindi possono essere utilizzate ad esempio per risolvere indagini o rintracciare cybercriminali o criminali, l'intelligenza artificiale sta dando una grossa mano in diversi campi.
E alcuni tra questi sono ad esempio il riconoscimento facciale o il riconoscimento di comportamenti sospetti per quanto riguarda la sicurezza di una rete aziendale o anche il riconoscimento di contenuti non originali o modificati.
Va poi detto che a seconda di ciò che si vuole andare a realizzare esistono ovviamente numerose tipologie di intelligenza artificiale o per meglio dire di strutture che poi grazie proprio ai dati che noi mettiamo permettono appunto di risolvere il problema che ci siamo preimpostati.
Queste sono quelle che vengono appunto definite reti neurali e che come dice il nome le possiamo immaginare esattamente come un cervello formate quindi da tanti neuroni e numerosi connessioni.
A seconda poi di come queste connessioni vengono create il risultato ovviamente sarà diverso e poi il discorso è anche molto ben più complesso, però in sintesi il funzionamento di base è proprio questo.
E tra le tante tipologie dunque quella che sono andato a realizzare io è una GAN ovvero Generative Adversarial Network o in italiano Rete Generative Avversaria che è appunto una tipologia di intelligenza artificiale in grado di creare dei contenuti e nel mio caso immagini di emoji che appunto troviamo sui nostri dispositivi.
E puoi dirci più nel dettaglio cos'è questa GAN, come funziona e come può essere utilizzata.
Si allora le reti GAN come ho appena detto sono per così dire specializzate nel creare dei nuovi contenuti simili a quelli con cui siamo andati ad addestrare l'algoritmo.
Per fare un esempio su internet esistono diversi siti che vanno a mostrare delle immagini di volti di persone che in realtà non esistono e dietro questa tecnologia c'è proprio un intelligenza artificiale di questo tipo che ben addestrata grazie appunto a volti di migliaia e migliaia di persone ha imparato a inventarne di nuove e ovviamente lo stesso discorso vale anche per qualsiasi altro soggetto come animali o vegetazione e facendo un altro esempio le reti GAN sono utilizzate anche per realizzare
i video deepfake di cui abbiamo già ampiamente parlato e ancora google ha sviluppato nella sua applicazione dedicata all'arte una funzione che proprio grazie a questo algoritmo permette appunto di ridisegnare una fotografia nello stile ad esempio di Van Gogh, di Monet o di altri pittori o artisti famosi un ultimo esempio le reti GAN possono essere utilizzate per inventare anche forme per mobili o piante per nuove case o edifici quindi una intelligenza artificiale che va a supportare quella che l'architettura o l'interior design.
Questa tecnologia, insomma, trova la sua applicazione in numerosissimi ambiti.
Basta solo un po di fantasia.
Ma venendo ora al nocciolo della questione, le reti generative avversarie sono molto interessanti per il modo in cui funzionano, perché in un certo senso possiamo dire che si addestrino da sole.
Una GAN, infatti, in realtà è costituita da due elementi.
Uno che è il generatore, e uno che si chiama discriminatore.
Come dice il nome, il generatore è quello che si occuperà poi di generare, ad esempio, partendo da una serie di numeri casuali, il contenuto che, nel mio caso, è appunto un'immagine, un emoji.
Dall'altro lato, invece, il discriminatore si occupa di distinguere un contenuto vero da uno falso.
L'obiettivo del generatore sarà dunque quello di creare dei contenuti talmente realistici da ingannare il discriminatore, mentre il discriminatore dovrà imparare a riconoscere sempre meglio un contenuto reale da uno generato.
In questo modo si crea una sorta di inseguimento per cui, man mano che l'intelligenza artificiale viene addestrata con i dati che appunto vengono immessi, il generatore genera immagini o qualsiasi altro tipo di contenuto sempre più realistici, e il discriminatore invece impara sempre di più a riconoscere e a distinguere i piccoli difetti del generatore.
Quindi abbiamo parlato in generale di come funzionano le reti GAN e perché sono importanti.
Per quanto riguarda il tuo progetto, dicevi che l'obiettivo era creare un'intelligenza artificiale in grado di disegnare delle emoji.
Puoi parlarci più nel dettaglio come sei riuscito e che strumenti hai utilizzato.
Certo, il progetto di per sé non è così complicato.
Innanzitutto, come gran parte dei progetti di intelligenza artificiale, ho utilizzato Python come linguaggio di programmazione, per cui esistono numerosi esempi già fatti da cui poter partire e inoltre questo linguaggio rende anche la programmazione molto più veloce.
Per creare delle reti neurali, poi programmare interamente il codice da zero sarebbe sia uno spreco di energie ma anche di tempo.
Per cui esistono delle librerie già pronte.
Queste librerie possiamo immaginarle come una sorta di mattoncini, ovvero pezzi di codice già pronti, già scritti, da usare poi per realizzare ciò che desideriamo.
Nel mio caso, la libreria che ho utilizzato si chiama TensorFlow ed è curata e sviluppata dalla stessa Google, per cui ha scritto anche una serie di guide, anche in italiano, e diversi esempi di come utilizzarla appunto per creare delle diverse tipologie di intelligenze artificiali.
E tra queste c'è anche un esempio molto semplice di GAN, da cui appunto sono partito per migliorare e sviluppare l'intero progetto.
E in particolare l'esempio di Google riguarda la creazione di piccole immagini in bianco e nero raffiguranti dei numeri disegnati a mano.
Va da sé che disegnare delle emoji colorate e a dimensioni maggiori è notevolmente più complesso, e quindi sono state necessarie diverse modifiche, ottimizzazioni, che si traducono in diversi test e diverse prove per poter andare a trovare dei parametri che potessero migliorare anche di poco il risultato finale.
Per quanto riguarda i dati, invece, ovvero le immagini che ho usato poi per addestrare questa rete neurale, sempre online esiste un insieme già pronto che va a raggruppare le emoji di diversi produttori, come ad esempio Google, app o il Microsoft, Samsung o Twitter.
Il problema principale delle emoji, però, è che sono molto diverse tra loro, e dunque ho scelto di raggrupparle e utilizzare solamente alcuni di questi sottogruppi.
In questo modo una volta ho destrato la GAN per produrre delle faccine, un'altra volta per produrre, ad esempio, cuori, un'altra volta per produrre le bandiere e così via.
E ovviamente non sono nemmeno mancati i problemi.
E la prossima domanda, infatti, riguarda proprio questo, ovvero quali sono i principali problemi che hai riscontrato in questo progetto?
Allora, innanzitutto il tempo è uno dei problemi principali, probabilmente.
E infatti non ci si può aspettare che, solo dopo dieci minuti e qualche immagine, l'algoritmo abbia già imparato a disegnare delle faccine perfette.
Anzi, ogni volta che la GAN ha guardato tutte le immagini che gli passiamo come input, ricomincia da capo per migliorare ancora e ancora.
E questa operazione va ripetuta non una ma migliaia e migliaia di volte prima di vedere dei risultati che siano quantomeno soddisfacenti.
Le prime immagini che disegnava il generatore, infatti, non erano altro che un insieme abbastanza casuale e astratto di colori.
E ovviamente poi dipende anche dalla potenza del computer che si utilizza, ma affinché imparasse a disegnare delle emoji realistiche, nemmeno di grandi dimensioni, ho dovuto lasciare il mio computer acceso per un paio di giorni e per ogni singolo test.
In realtà esiste anche un servizio messo a disposizione da Google che si chiama Google Collab e per cui è possibile eseguire il codice direttamente sui computer di Google che, chiaramente, sono molto più potenti rispetto a quello che avevo io a disposizione.
Tuttavia, questo servizio è gratuito ma solo per le prime ore, che decisamente non bastavano per raggiungere i risultati sperati e che mi ero prefissato.
Un altro problema era appunto, come avevo detto prima, quello delle diversità di emoji.
Questo l'ho risolto, come ho detto prima, suddividendole in vari sottogruppi, ma ovviamente questo significa diminuire anche la quantità di dati utili per addestrare la GAN e quindi ciò si traduce in risultati molto meno precisi.
Un altro problema di cui soffrono in generale tutte le GAN e che appunto anche io ho riscontrato è invece quello che viene definito collasso.
In poche parole, a un certo punto l'algoritmo inizia a creare delle immagini si vero simili, però quasi tutte uguali tra di loro.
Negli ultimi anni, poi, questo problema è stato parzialmente o completamente risolto usando altri modelli e altre soluzioni che però io non ho sfruttato completamente nel progetto.
Uno di questi metodi, ad esempio, che ho anche utilizzato è quello di utilizzare delle GAN condizionali.
E puoi dirci cosa sono e che differenza c'è con quello di cui ci hai parlato finora?
Sì, allora, finora appunto abbiamo parlato di GAN normali, ovvero quelle GAN che generano casualmente dei contenuti, nel mio caso delle immagini, in seguito a un addestramento con una quantità di dati eterogenei.
Le GAN condizionali, o C-GAN invece, a differenza delle normali GAN, utilizzano delle informazioni aggiuntive, delle informazioni in più per creare o disegnare il contenuto.
Nel caso delle emoji, questa informazione aggiuntiva era proprio il tipo di emoji, quindi se questa era una faccina, un cuore, una bandiera, una mano, eccetera eccetera.
Nel caso dei numeri, invece, questo può essere ad esempio il numero da disegnare e così via.
In pratica, ciò che si fa è, ogni volta che noi passiamo l'immagine all'intelligenza artificiale, dobbiamo dirle anche cos'è quell'immagine.
E quando invece ne richiediamo una generata, dobbiamo anche specificarne la tipologia.
Nel caso delle emoji, dunque, potevo generare in modo distinto delle immagini di specifiche categorie di emoji, risolvendo in parte dunque il problema delle immagini tutte uguali.
Per capire le potenzialità delle GAN condizionali, ad esempio, online, esiste anche un progetto sviluppato da Nvidia che permette di creare dei paesaggi più o meno realistici a nostro piacimento.
Partendo quindi da una tavola bianca con diversi colori, possiamo infatti indicare dove generare degli alberi, dove generare delle rocce, delle montagne e così via.
L'intelligenza artificiale poi si occuperà appunto di generare gli elementi corretti nei posti corretti che abbiamo indicato per creare una sorta di fotografia quasi realistica.
E allo stesso modo funziona anche l'algoritmo di Google, di cui avevo parlato prima, per creare appunto delle opere d'arte di specifici artisti, partendo da nostre fotografie.
E sempre allo stesso modo poi potremo utilizzare il discriminatore ben allenato, ad esempio, per riconoscere delle immagini false o video deepfake.
E anche in questo caso l'unica cosa che ci può fermare è proprio la nostra fantasia.
Però mi pare, anche visto alcuni esempi che mi hai mostrato di emoji realizzate appunto con questa coppia di intelligenze artificiali, che la tecnologia sia ancora c'è erba, giusto?
Sì e no, nel senso la differenza in questo caso la fa molto la potenza del o dei computer che vengono utilizzati per allenare la rete orale e anche la quantità di dati che abbiamo a disposizione.
Al momento, dunque, anche nelle migliori delle ipotesi servono ancora molti miglioramenti e molte ottimizzazioni per generare dei contenuti fedeli alla realtà.
Però si stanno facendo anche dei grandi passi in avanti.
Ritornando ad esempio all'esempio dei volti di persone che non esistono, disegnati da una di queste intelligenze artificiali, in alcuni casi è impossibile distinguere le foto reali da quelle generate.
E anche per quanto riguarda ad esempio i video deepfake, solo in particolari condizioni possiamo raggiungere dei risultati veramente realistici.
Sicuramente quindi in generale c'è ancora parecchia strada da fare prima di raggiungere un livello che possa essere ad esempio utilizzato a livello commerciale.
Va bene Luca, grazie per averci raccontato questo descritto, questo tuo progetto e alla prossima.
Grazie a te e un saluto a tutti gli ascoltatori.
E così si conclude questa puntata di INSiDER - Dentro la Tecnologia.
Io ringrazio come sempre la redazione e in special modo Matteo Gallo e Luca Martinelli che ogni sabato mattina ci permettono di pubblicare un nuovo episodio.
Per qualsiasi tipo di domanda o suggerimento scriveteci a redazione@dentrolatecnologia.it, seguiteci su Instagram a @dentrolatecnologia dove durante la settimana pubblichiamo notizie e approfondimenti.
In qualsiasi caso nella descrizione della puntata troverete tutti i nostri social.
Se trovate interessante il podcast condividetelo che per noi è un ottimo modo per crescere e non dimenticate di farci pubblicità.
Noi ci sentiamo la settimana prossima.