UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"

Pagina creata da Domenico Di Stefano
 
CONTINUA A LEGGERE
UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"
UNIVERSITÀ DEGLI STUDI DI NAPOLI
                              “FEDERICO II”

                     Scuola Politecnica e delle Scienze di Base

         Area Didattica di Scienze Matematiche Fisiche e Naturali

                     Dipartimento di Fisica “Ettore Pancini”

                            Laurea Magistrale in Fisica

               E-GAN for DBT data augmentation

Relatore:                                                               Candidato:
Giovanni Mettivier                                                Lorenzo D’Errico
Correlatore:                                                      Matr. N94000545
Mariacarla Staffa

                         Anno Accademico 2019/2020
UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"
UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"
Indice

Elenco delle figure                                                                iii

1   Deep learning e imaging medico: analisi del problema                            1
    1.1 Carcinoma mammario: cos’è, quanto è diffuso e la prevenzione .         .    1
         1.1.1 Gli esami diagnostici: la mammografia e la DBT . . . .          .    4
    1.2 Intelligenza artificiale in medicina . . . . . . . . . . . . . . . .   .    8
    1.3 Obiettivi del lavoro . . . . . . . . . . . . . . . . . . . . . . . .   .   10

2   Tecniche e strumenti utilizzati: lo stato dell’arte                            11
    2.1 Il data augmentation: un overview . . . . . . . . . . . . . . . . .        11
    2.2 Tecniche di data augmentation per le immagini . . . . . . . . . .          13
         2.2.1 Data augmentation basato sulla manipolazione di immagini            13
         2.2.2 Data augmentation basato sul deep learning . . . . . . . .          19
         2.2.3 Confronto . . . . . . . . . . . . . . . . . . . . . . . . . .       23
    2.3 GAN: il framework . . . . . . . . . . . . . . . . . . . . . . . . .        24
         2.3.1 Il generatore . . . . . . . . . . . . . . . . . . . . . . . .       25
         2.3.2 Il processo di training . . . . . . . . . . . . . . . . . . . .     25
    2.4 GAN: le funzioni di costo . . . . . . . . . . . . . . . . . . . . . .      25
         2.4.1 La funzione di costo del discriminatore . . . . . . . . . .         25
         2.4.2 La funzione di costo del generatore . . . . . . . . . . . .         27
    2.5 GAN: un esempio di architettura . . . . . . . . . . . . . . . . . .        29
    2.6 Data augmentation basato sulle GAN . . . . . . . . . . . . . . . .         30

3   L’esperimento: l’architettura EGAN e i risultati ottenuti                      33
    3.1 EvolutionaryGAN per il data augmentation: cosa c’è di nuovo?       .   .   33
         3.1.1 L’algoritmo evoluzionistico . . . . . . . . . . . . . .     .   .   34
         3.1.2 Le mutazioni . . . . . . . . . . . . . . . . . . . . . .    .   .   35
         3.1.3 Valutazione . . . . . . . . . . . . . . . . . . . . . . .   .   .   37
         3.1.4 L’algoritmo . . . . . . . . . . . . . . . . . . . . . . .   .   .   37
         3.1.5 Gli esperimenti . . . . . . . . . . . . . . . . . . . . .   .   .   38
    3.2 EGAN per il data augmentation di immagini DBT . . . . . . .        .   .   42
         3.2.1 Descrizione del dataset e del network utilizzati . . . .    .   .   42
         3.2.2 Apparato strumentale e ottimizzazione del dataset . . .     .   .   44

                                         i
UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"
3.3   Risultati e discussione . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   44
          3.3.1 Prove con l’intero dataset .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   44
          3.3.2 Ulteriori test . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   46
    3.4   Analisi dei dati . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   49

4   Conclusione                                                                                                       54

Bibliografia                                                                                                          55

                                          ii
UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"
Elenco delle figure

 1.1    Anatomia della mammella . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   1
 1.2    Tumore duttale in situ . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   2
 1.3    Incidenza tumori in Europa . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   2
 1.4    Mortalità del tumore alla mammella nel tempo .       .   .   .   .   .   .   .   .   .   .   3
 1.5    Attenuazione dei raggi X nei tessuti . . . . . .     .   .   .   .   .   .   .   .   .   .   4
 1.6    Schema dell’apparato per mammografie . . . .         .   .   .   .   .   .   .   .   .   .   4
 1.7    Viste mammografia. . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   5
 1.8    Schema di acquisizione di una DBT . . . . . .        .   .   .   .   .   .   .   .   .   .   6
 1.9    Mammografia Vs DBT . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   6
 1.10   Confronto tecniche di imaging . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   7
 1.11   Architettura di una CNN. . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   8

 2.1    Flipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       13
 2.2    Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       14
 2.3    Noise injection . . . . . . . . . . . . . . . . . . . . . . . . . . .                        14
 2.4    Color space transformation . . . . . . . . . . . . . . . . . . . . .                         15
 2.5    Geometrical Vs Photometric transformation . . . . . . . . . . . .                            16
 2.6    Esperimenti mixing . . . . . . . . . . . . . . . . . . . . . . . . .                         17
 2.7    Esempio di applicazione della tecninca di mixing [50] . . . . . . .                          18
 2.8    Random erasing . . . . . . . . . . . . . . . . . . . . . . . . . . .                         18
 2.9    Cutout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       19
 2.10   Autoencoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        20
 2.11   GAN publications . . . . . . . . . . . . . . . . . . . . . . . . . .                         21
 2.12   Neural style transfer . . . . . . . . . . . . . . . . . . . . . . . . .                      22
 2.13   Confronto accoppiamenti tecniche . . . . . . . . . . . . . . . . .                           23
 2.14   GAN framework . . . . . . . . . . . . . . . . . . . . . . . . . .                            24
 2.15   Discriminatore . . . . . . . . . . . . . . . . . . . . . . . . . . .                         26
 2.16   Varianti di gioco GAN . . . . . . . . . . . . . . . . . . . . . . .                          28
 2.17   DCGAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          29
 2.18   DCGAN bedrooms . . . . . . . . . . . . . . . . . . . . . . . . .                             30
 2.19   CycleGAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           31
 2.20   Risultati dei test visivi di Turing su immagini generate da DCGAN
        e WGAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           32

                                        iii
UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"
3.1    EGAN . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   34
3.2    Mutazioni . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   35
3.3    Algoritmo EGAN . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
3.4    Dataset sintetici . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   39
3.5    Inception Score . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40
3.6    LSUN . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40
3.7    CelebA . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
3.8    CelebA interpolate . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
3.9    Slice DBT . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   43
3.10   Risultato prima epoca . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   45
3.11   Risultato cinquantesima epoca       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   45
3.12   Risultato novantesima epoca .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   46
3.13   Risultato immagini iniziali . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   47
3.14   Risultato immagini centrali . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   48
3.15   Risultato immagini finali . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   48
3.16   Tabella dati raccolti . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   49
3.17   Heatmap DBT . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   50
3.18   Pair Plot dati DBT . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   51
3.19   Heatmap cifar-10 . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   52
3.20   Pair Plot dati CIFAR-10 . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   52

                                       iv
UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"
Sommario

Le tecniche di deep learning, ed in particolare le reti neurali convoluzionali (Con-
volutional Neural Network, CNN), hanno portato ad un ampio miglioramento in
diversi campi della computer vision, principalmente utilizzando dataset "etichetta-
ti" su larga scala. Ottenere un tale tipo di dataset nel settore dell’imaging medico
per la diagnostica risulta tutt’ora una sfida aperta. Il motivo principale è che i da-
ti sensibili di questo genere sono sottoposti a stringenti limitazioni in materia di
privacy, inoltre le annotazioni specialistiche come la segmentazione di organi o
lesioni su multi-slices 2D o volumi 3D eseguite da osservatori esperti sono opera-
zioni complesse e tempisticamente esose. La dimensione limitata dei dataset per
l’addestramento delle reti neurali può inficiare le performance degli algoritmi di
apprendimento supervisionato che necessitano di grandi quantità di dati per evitare
il problema del sovra-campionamento (overfitting). Da qui, la maggior parte degli
sforzi in tale ambito è orientata all’estrazione del maggior numero di informazioni
possibili dai dati disponibili. Le reti generative avversarie (Generative Adversarial
Network, GAN) rappresentano una possibile soluzione innovativa per l’estrazione
di informazioni aggiuntive da un dataset poiché sono in grado di generare campio-
ni sintetici indistinguibili dai dati reali. Il presente lavoro di tesi esplora l’utilizzo
delle GAN nel campo della Digital Breast Tomosythesis (DBT) ed in particolare
l’utilizzo di un approccio di ottimizzazione del processo di apprendimento delle reti
GAN basato su tecniche evoluzionistiche che, simulando i meccanismi di mutazio-
ne ed evoluzione di una popolazione di generatori, sono in grado di selezionare
generatori di campioni sintetici sempre più accurati. In particolare, una misura di
performance (funzione obiettivo/fitness function) viene utilizzata al termine di ogni
ciclo di apprendimento per misurare la qualità e la diversità dei campioni generati
in modo tale che solo i generatori performanti vengano preservati ed utilizzati per
il successivo ciclo di allenamento della rete.
UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"
Capitolo 1

Deep learning e imaging medico:
analisi del problema

1.1    Carcinoma mammario: cos’è, quanto è diffuso e la
       prevenzione
Il tumore del seno (carcinoma mammario o tumore alla mammella) è una forma-
zione di tessuto costituito da cellule che crescono in modo incontrollato e anomalo
all’interno della ghiandola mammaria. Il seno è costituito da grasso, tessuto con-
nettivo e una serie di strutture ghiandolari (lobuli) organizzata nei cosiddetti lo-
bi, responsabili della produzione di latte che viene escreto attraverso sottili canali
definiti dotti mammari.

                        Figura 1.1: Anatomia della mammella [1].

Ci sono diversi tipi di tumore al seno, che possono svilupparsi in differenti parti
della mammella. Una prima importante distinzione può essere fatta tra forme non
invasive e forme invasive. Le forme non invasive, dette anche carcinoma in situ, si
sviluppano nei dotti e non si espandono al di fuori del seno: difficilmente questa

                                           1
UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"
forma dà luogo a noduli palpabili al tatto, più spesso viene identificata attraverso la
mammografia. La più comune forma di carcinoma in situ è il carcinoma duttale in
situ (Fig.1.2). Il cancro al seno invasivo ha la capacità di espandersi al di fuori del
seno, la forma più comune è il carcinoma duttale infiltrante che rappresenta circa i
3/4 di tutti i casi di cancro della mammella.

                          Figura 1.2: Tumore duttale in situ [2].

Il cancro al seno è il tumore più frequente nel sesso femminile. I numeri del cancro
in Europa nel 2020 confermano che il carcinoma mammario è la neoplasia più dia-
gnosticata nelle donne, in cui circa un tumore maligno ogni tre (30%) è un tumore
mammario. In Italia è il tumore più frequentemente diagnosticato con poco meno
di 55mila nuovi casi nel 2020, pari al 14,6% di tutte le nuove diagnosi (ref.[3]).

                  Figura 1.3: Incidenza dei tumori in Europa nel 2020 [4].

                                             2
UNIVERSITÀ DEGLI STUDI DI NAPOLI "FEDERICO II"
Dalla fine degli anni Novanta si osserva una continua tendenza alla diminuzione
della mortalità per carcinoma mammario (-0,8%/anno), attribuibile alla maggiore
diffusione dei programmi di diagnosi precoce e quindi all’anticipazione diagnosti-
ca e anche ai progressi terapeutici.

               Figura 1.4: Mortalità del tumore alla mammella nel tempo [5].

Risulta dunque evidente il ruolo fondamentale dello screening per il trattamento del
carcinoma mammario e l’esigenza di tecniche sempre più efficaci per la diagnosi
precoce.

                                            3
1.1.1      Gli esami diagnostici: la mammografia e la DBT
La mammografia rappresenta la procedura radiografica standard per la rilevazione
di patologie della mammella. L’impiego della tecnologia a raggi X è giustificata in
quanto è una procedura a basso costo e a bassa incidenza di dose. Le piccole diffe-
renze di attenuazione dei raggi X tra il tessuto sano e quello canceroso richiedono
l’utilizzo di una tecnica ottimizzata per la mammella. Le differenze di attenuazio-
ne tra questi tessuti (Fig.1.5) sono più evidenti a basse energia (dai 10 ai 15 KeV)
mentre si attenuano notevolmente per energie superiori (maggiori ai 35 KeV).

(a) Attenuazione dei raggi X per i vari tessuti in        (b) Contrasto percentuale nei tessuti in funzione
funzione dell’energia.                                    dell’energia

                                                     Figura 1.5

Per minimizzare la dose e ottimizzare la qualità dell’immagine è stato necessario
l’impiego di un apparato specifico che prevede tubi a raggi X specializzati, dispo-
sitivi di compressione, griglie antiscatter, fotimetri e sistemi di rilevazione. Lo
schema dell’apparato è rappresentato nella Fig.1.6.

                           Figura 1.6: Schema dell’apparato per mammografie.

                                                         4
Durante l’esame la mammella viene compressa per ridurne lo spessore. Questa
procedura è effettuata per:

    • ridurre il fenomeno di scattering;

    • ridurre il blurring geometrico delle strutture anatomiche:

    • ridurre la dose ai tessuti della mammella.

L’esame di routine prevede l’acquisizione di due immagini, la cranio-caudale (CC)
e la medio-laterale obliqua (MLO) (Fig.1.7).

                      Figura 1.7: Le viste di una mammografia [6].

La tomosintesi digitale della mammella (dall’inglese, Digital Breast Tomosynthe-
sis, DBT), anche nota come mammografia 3D, è una forma avanzata di imaging
per la mammella che impiega un sistema di raggi X a bassa dose e la ricostruzione
computerizzata per creare immagini tridimensionali della mammella. A differen-
za della mammografia che produce un esame, il mammogramma, bidimensionale,
nella DBT sono acquisite diverse immagini da angolazioni differenti (Fig.1.8).

                                           5
Figura 1.8: Schema di acquisizione di una DBT.

Queste immagini sono ricostruite o "sintetizzate" in un set di immagini 3D da un
computer. Tali immagini aiutano a minimizzare la sovrapposizione dei tessuti che
può rendere difficile da distinguere eventuali anomalie o addirittura nasconderle
(Fig.1.9).

Figura 1.9: Confronto tra un mammogramma 2D ed uno 3D. Nella DBT il tumore è rilevato,
a differenza della mammografia in cui il sovrapporsi dei tessuti ostacola la visuale del medico
specialista.

                                              6
Studi effettuati sulla specificità1 di tali test diagnostici (ref.[7]) evidenziano la
superiorità della DBT nella rilevazione di anomalie all’interno della mammella
(Fig.1.10).

          Figura 1.10: Confronto della specificità dei test diagnostici per la mammella [7].

Sebbene superiori, in termini statistici, questo esame produce più immagini rispetto
alla mammografia che necessitano uno sforzo maggiore da parte dello specialista
che le osserva, il senologo. Ciò comporta tempi di lettura e dunque di diagnosi più
lunghi oltre che aumentare la possibilità di commettere un errore. Per sostenere il
lavoro del senologo sono stati introdotti i sistemi CAD (Computer Aided Diagno-
sis)2 basati su reti neurali come i classificatori di immagini. Ottenere un sistema
CAD affidabile nell’ambito delle DBT rappresenta un problema tutt’oggi ancora
aperto e questo lavoro di tesi si inserisce in tale contesto.
   1
      In termini statistici, la specificità di un test è la probabilità di un risultato negativo in soggetti
sicuramente sani e si esprime come il rapporto fra i veri negativi e il totale dei sani. La specificità di
un test sarà inversamente proporzionale alla quota di falsi positivi, cioè dei soggetti sani identificati
però dal test come malati. Un test molto specifico, in definitiva, diminuisce la probabilità che un
soggetto sano risulti positivo al test
    2
      Sono piattaforme informatiche che aiutano il medico radiologo nella formulazione della diagno-
si, ad esempio evidenziando le più probabili sedi di malattia e/o suggerendo la natura, benigna o
maligna, di un reperto. In generale si riferisce a un sistema computerizzato che rileva (in maniera
automatica o assistita da un operatore) una serie di sospetti sulle immagini segnalandole al radiologo,
al quale spetta di determinare quali delle segnalazioni sono lesioni e quali falsi positivi del sistema.
Tutti i sistemi si pongano come aiuto al medico (e non come sostituto dello stesso), ponendosi come
strumento atto a ridurre l’enorme mole di lavoro al quale il medico radiologo è sottoposto nella fase
di analisi delle immagini biomedicali.

                                                     7
1.2      Intelligenza artificiale in medicina
L’avvento dell’intelligenza artificiale, ed in particolare le tecniche di deep learning
(DL), in ambito medico hanno raggiunto traguardi incredibili negli ultimi anni [8],
basti pensare all’applicazione in task di analisi di immagini mediche per classifica-
zione di lesioni epatiche, analisi di scansioni al cervello, etc. Questo è stato possibi-
le dallo sviluppo di architetture "profonde" (deep architecture) sempre più avanzate
e complesse, dal potenziamento delle prestazioni di calcolo e l’accesso ai big data.
Le reti neurali profonde sono state applicate con successo a task di computer vi-
sion come la classificazione di immagini, rilevamento di oggetti e la segmentazione
grazie allo sviluppo delle CNN (Convolutionary Neural Network, [9]). Queste reti
neurali (Fig.1.11) utilizzano dei filtri (kernel) parametrizzati debolmente connessi
tra loro che preservano le caratteristiche spaziali dell’immagine.

                            Figura 1.11: Architettura di una CNN [10].

I layer convoluzionali, ossia gli strati più interni che compongono la rete, sotto
campionano in maniera sequenziale la risoluzione dell’immagine mentre estendo-
no la profondità delle loro feature map3 . Questa serie di trasformazioni può creare
una rappresentazione delle immagini a dimensioni molto inferiori e più utili di
quanto possa essere gestito manualmente. Molte branche di studio cercano di mi-
gliorare le attuali performance applicando reti neurali profonde a task di computer
vision: la capacità di generalizzare di un modello di rete si riferisce alla differen-
za, in termini di accuratezza, delle performance valutate sul training set (il dataset
contenente i dati di allenamento) rispetto al test set (il dataset contenente dati sco-
nosciuti alla rete su cui viene appunto testato il modello ottimizzato). Modelli poco
generalizzabili incorrono nella problematica del overfitting (sovra campionamen-
to), il fenomeno per cui un modello statistico molto complesso (nel caso in esame,
una rete neurale) si adatta ai dati osservati (il campione) perché ha un numero ec-
cessivo di parametri rispetto al numero di osservazioni. L’ipotesi largamente diffu-
sa è che dataset più ampi conducano a risultati e modelli di DL migliori [11], [12].
   3
   Rappresenta l’output di un filtro applicato da un layer precedente, in tal senso è anche conosciuta
come mappa di attivazione.

                                                  8
Purtroppo però costruire dataset così grandi può essere eccessivamente complicato
a causa degli sforzi necessari per collezionare ed etichettare i dati. In particolar
modo questo è un problema di primaria importanza nell’ambito delle immagini
mediche. Fornito il dataset adeguato, infatti, il successo dei modelli di DL in tale
ambito è notevole (si veda ad esempio il lavoro di Esteva et al [13]). La maggior
parte delle immagini studiate provengono dalla tomografia computerizzata (CT) e
imaging di risonanza magnetica (MRI), tecniche costose e che necessitano di un
lavoro intensivo per essere collezionate e annotate. Inoltre, costruire un dataset di
immagini mediche risulta un lavoro complesso anche a causa dei problemi legati
alla privacy dei pazienti, alla necessità di medici esperti che refertino le immagini
e ai costi e agli sforzi manuali necessari a processarle. Un’ulteriore problematica
è legata al non bilanciamento dei dataset: ciò si verifica quando una determinata
classe abbonda rispetto all’altra o alle altre [14], questo accade nel caso della fra-
zione di immagini etichettabili come "sane" rispetto a quelle "non sane". Questi
ostacoli hanno spostato molti studi dalla risoluzione di task di classificazione al da-
ta augmentation, in particolare impiegando l’oversampling effettuato con i modelli
GAN. Negli esempi classici di classificazione come "cane vs gatto" l’algoritmo
deve essere in grado di fronteggiare problematiche come punti di vista, illumi-
nazione, occlusione, sfondo, scala e simili. L’obiettivo del data augmentation è
inserire queste variazioni nel dataset così che il modello risultante sia comunque
performante. In un modello correttamente allenato l’errore sul validation set4 deve
continuare a decrescere assieme all’errore del training set. Il data augmentation è
una tecnica molto efficace in tale senso. Il dataset ampliato contiene, infatti, un
insieme maggiore e più dettagliato di possibili punti che minimizza così la distan-
za tra training e validation set (e dunque, dal test set). Questa però non è la sola
tecnica utilizzata per gestire l’overfitting: soluzioni funzionali come dropout, batch
normalization, transfer learning e pretraining sono state sviluppate per estendere le
tecniche di DL anche ai dataset più piccoli [15]. A differenza di tali tecniche, però,
il data augmentation affronta il problema alla radice, e cioè sul training set. L’idea
è che si possano ottenere molte più informazioni dal dataset originale ampliandolo
mediante tecniche di alterazione o sovra-campionamento dei dati:

       • l’alterazione dei dati (data warping) prevede la trasformazione di immagi-
         ni esistenti conservando però la loro "etichetta" (label). Questo compren-
         de tecniche come trasformazioni geometriche e di colore, random erasing,
         adversarial training etc;

       • il sovra-campionamento (oversampling), invece, crea delle istanze sinteti-
         che e le aggiunge al training set. Questo include il mixing delle immagini,
         l’ampliamento dello spazio delle caratteristiche (feature space e i modelli
         generativi avversari (GANs).
   4
    Un’ulteriore suddivisone del dataset di allenamento utilizzata per la corretta impostazione degli
iperparametri del modello.

                                                 9
1.3     Obiettivi del lavoro
La necessità di dataset voluminosi per l’applicazione delle tecniche di DL va in
contrasto con la disponibilità di immagini mediche per i motivi sopra citati e a
maggior ragione nel caso dell’analisi di immagini di DBT: essendo stata introdotta
solo recentemente e non essendo utilizzata in fase di screening ma solo come esame
di secondo livello (questa viene infatti richiesta nel caso di un esame mammografi-
co dubbio), la quantità di immagini disponibile è ulteriormente ridotta. L’impiego
di tecniche di data augmentation, ed in particolare di modelli generativi, rappre-
senta una possibile soluzione al problema. Questo lavoro di tesi approfondisce tale
tematica, in particolare viene esplorata una soluzione innovativa nel campo dei mo-
delli generativi proposta per la prima volta da Wang et Al. in [16] in cui la fase di
apprendimento è affrontata da un punto di vista evoluzionistico (si parla, infatti, di
Evolutionary-GAN, E-GAN). Nell’approccio E-GAN proposto, un discriminatore
agisce da ambiente (nel senso che fornisce una funzione di costo adattiva) mentre
una popolazione di generatori muta per produrre una prole che si adatti all’am-
biente. Inoltre, fissato il miglior discriminatore attuale, sono valutate la qualità e la
diversità dei campioni generati e, seguendo il principio di "sopravvivenza del più
adatto", la prole meno performante è rimossa lasciando solo quella migliore per fu-
turi step di allenamento. Nelle successive sezioni verrà descritto lo stato dell’arte
circa le tecniche di data augmentation ed i modelli generativi, in particolare il mo-
dello GAN, inoltre sarà analizzato l’algoritmo evoluzionistico presente in [16], che
successivamente verrà applicato, dopo opportuni adattamenti, ad un dataset di im-
magini di DBT. I risultati saranno quindi analizzati e discussi nell’ultimo capitolo.
Il lavoro si colloca nella fase iniziale di un progetto ben più ampio e complesso in
ambito Artificial Intelligence in Medicine (AIM) a cui partecipa il gruppo di Fisica
Medica della Federico II: lo scopo è quello di realizzare un’architettura di DL per la
sintetizzazione di TAC della mammella per il cui funzionamento ottimale si rende
necessario un ampliamento dei campioni di slices nel dataset. Da qui, lo sviluppo
della E-GAN per la generazione di modelli bidimensionali partendo da oggetti 3D
o da oggetti 2D (come le slices che compongono una DBT). Nel presente lavoro
sono state prodotte singole slice di DBT.

                                           10
Capitolo 2

Tecniche e strumenti utilizzati: lo
stato dell’arte

2.1      Il data augmentation: un overview
Nella forma di data warping l’ampliamento di dataset di immagini è possibile tro-
varlo in LeNet-5 [17]. Questa fu una delle prime applicazioni di una CNN per la
classificazioni di cifre scritte a mano. Circa la tecnica del oversampling le prime
applicazioni invece riguardano il problema del non bilanciamento dei dataset in
cui il classificatore applicato presenta un bias verso le classi di istanza presenti in
maggioranza:

      • random oversampling (ROS), è un approccio in cui, semplicemente, le im-
        magini provenienti dalla classe in minoranza vengono duplicate fino al rag-
        giungimento di una soglia prestabilita;

      • Synthetic Minority Over-sampling Technique (SMOTE), sviluppata da Cha-
        wla et al. [18], crea nuove istanze interpolando nuovipunti da istanze esi-
        stenti tramite k-Nearest Neighbors 1 .

L’architettura CNN AlexNet sviluppata da Krizhevinsky et al [9] ha rivoluzionato
la classificazione di immagini applicando una rete convoluzionale al dataset Ima-
geNet2 . Il data augmentation è utilizzato nei loro esperimenti per incrementare
    1
      È un algoritmo utilizzato nel riconoscimento di pattern per la classificazione di oggetti basandosi
sulle caratteristiche degli oggetti vicini a quello considerato. In entrambi i casi, l’input è costituito
dai k esempi di addestramento più vicini nello spazio delle funzionalità. Nella classificazione k-NN,
l’output è un’appartenenza a una classe. Un oggetto è classificato da un voto di pluralità dei suoi
vicini, con l’oggetto assegnato alla classe più comune tra i suoi k vicini più vicini.
    2
      Molti studi utilizzano dataset accademici di immagini pubbliche per testare i risultati. Questi
includono il MNIST, CIFAR-10/100, ImageNet, MIT places, Standford Cars etc. I più popolari e
utilizzati sono il CIFAR-10/100 e ImageNet. Spesso considerati come big data vengono utilizzati
sotto-campioni di tali dataset per simulare situazioni reali.

                                                  11
le dimensioni del dataset di un fattore 2048: questo è ottenuto ritagliando casual-
mente patches 224x224 dalle immagini originali, capovolgendole orizzontalmente
e cambiando l’intensità dei canali RGB. Questo tipo di lavoro ha aiutato a ridurre
l’overfitting in fase di allenamento della rete. Gli autori, infatti, rivendicano una
riduzione dell’errore sul modello del 1%. Da allora, le GAN sono state introdot-
te nel 2014 [19], il Neural Style Transfer nel 2015 [20] e la Neural Architecture
Search (NAS) nel 2017 [21]. Diversi lavori su estensioni delle GAN ([22], [23],
[24], [25] per citarne alcuni) sono stati pubblicati successivamente, tra il 2015 e
il 2017. Miglioramenti dell’algoritmo di Neural Style Transfer ci sono stati nel
2016 [26]. Applicazioni di data augmentation sempre più popolari che sfruttano i
NAS ci sono stati a partire dai lavori [27], [28] e [29] sviluppati tra 2017 e 2018.
L’impiego delle GAN nel imaging medico è ben documentato nella review di Yi et
al [30]. La review ripercorre l’utilizzo delle GAN nella ricostruzione come il CT
denoising [31], l’imaging accelerato di risonanza magnetica [32], PET denoising
[33] e applicazioni di segmentazione della vascolarizzazione retinica in super ri-
soluzione [34]. Vi sono inoltre riferimento all’impiego delle GAN nella sintesi di
immagini mediche come le MRI al cervello [35], immagini di malattie della pelle
in super risoluzione [36] e classificazione di anormalità in radiografie al petto [37].
Un esempio di data augmentation ottenuto mediante GAN lo si può trovare nel la-
voro di Frid-Adar et al [38] pubblicato nel 2018 per la classificazione di malattie
del fegato. Nel lavoro si ottengono miglioramenti delle performance di classifica-
zione dal 78.6% di sensibilità e 88.4% di specificità utilizzando tecniche classiche
di data augmentation al 85.7% di sensibilità e 92.4% di specificità utilizzando il
data augmentation basato sulle GAN. La maggior parte dei lavori elencati impiega
il data augmentation per il miglioramento delle prestazioni di modelli designati al
riconoscimento di immagini supervisionato (e.g. data un’immagine in input, il mo-
dello predice un output come "cane" o "gatto"). Comunque è possibile estendere i
risultati ottenuti nel riconoscimento di immagini ad altri task della computer vision
come il rilevamento di oggetti ottenuto mediante gli algoritmi YOLO [39], la seg-
mentazione semantica [40], la predizione dei frame dei video ([41], [42]), l’editing
([43], [44]), e diversi altri task ([45], [46]).

                                          12
2.2      Tecniche di data augmentation per le immagini
Le prime implementazioni di tecniche di data augmentation riguardano trasforma-
zioni semplici come il capovolgimento verticale/orizzontale, l’ampliamento dello
spazio dei colori, il cropping casuale etc. Queste trasformazioni codificano diverse
delle invarianze discusse precedentemente. Verranno brevemente discusse, e quin-
di elencati i pro e i contro, tecniche di trasformazioni geometriche, dello spazio
dei colori, applicazione di filtri, fusione di immagini, cancellazione casuale, am-
pliamento dello spazio delle caratteristiche, allenamento avversario, trasferimento
neurale e schemi di meta apprendimento.

2.2.1     Data augmentation basato sulla manipolazione di immagini
Le trasformazioni appartenenti a questa categoria possono essere caratterizzate dal-
la loro semplicità di implementazione. Saranno descritte anche dal punto di vista
della sicurezza di applicazione che si riferisce alla proprietà di preservare l’etichetta
(il label) dell’immagine post-elaborazione. Ad esempio, le rotazioni e i capovolgi-
menti sono generalmente sicuri per le immagini di ImageNet come ad esempio in
"cane vs gatto", ma non lo sono altrettanto nel riconoscimento dei caratteri come
ad esempio "6 vs 9". Una trasformazione che non preservi la classe può poten-
zialmente fortificare l’abilità del classificatore a patto che venga eseguito un nuovo
etichettamento post-trasformazione che rappresenta comunque un task particolar-
mente costoso. La sicurezza di una tecnica di data augmentation diventa dunque
un problema di dominio e quindi dimostra la necessità di progettare un modello di
data augmentation appropriato.

Trasformazioni geometriche
Di seguito sono riportate le principali tecniche di trasformazioni geometriche:

      • flipping: è una delle tecniche più semplici da implementare ed è stata uti-
        lizzata in task di classificazione per dataset come il CIFAR-10 e ImageNet.
        Applicata a task di riconoscimento di caratteri come il MNIST o il SVHN,
        invece, non preserva l’etichetta;

                   Figura 2.1: Esempio di flipping orizzontale e verticale.

                                             13
• cropping: letteralmente, è un ritaglio effettuato sull’immagine. Può essere
  utilizzato sia nei casi in cui l’input abbia differente altezza e larghezza, sia
  in maniera casuale per generare effetti simili alla traslazione: a differenza di
  quest’ultima, però, non preserva le dimensioni dell’immagine e dunque può
  rappresentare una trasformazione "non sicura";

• rotation: si tratta di rotazioni fatte rispetto ad un asse dell’immagine. La
  sicurezza dell’operazione risiede nel range angolare di rotazione effettuato.
  Trasformazioni comprese tra -20 e +20 preservano la classe dei caratteri del
  MNIST, oltre questo range, invece, viene persa;

                   Figura 2.2: Esempio di rotation da 0 a 45°.

• translation: rappresenta una traslazione rigida dell’immagine in una del-
  le quattro direzioni principali e risulta essere una tecnica molto efficace in
  quanto evita bias posizionali nei dati. Ad esempio, se tutte le immagini nel
  dataset sono centrate (come nel riconoscimento dei volti) questo compor-
  ta che il classificatore debba essere testato solo su immagini perfettamente
  centrate. Per preservare le dimensioni spaziali originali lo spazio rimanente
  dopo la traslazione viene riempito o con un valore costante (come 0 o 255)
  o con del rumore gaussiano o casuale;

• noise injection: consiste nell’inserimento di matrici di valori causali pescati
  da una distribuzione gaussiana. Testato in [47], è stato dimostrato aiuti le
  CNN ad apprendere caratteristiche in modo più robusto.

                     Figura 2.3: Esempio di noise injection.

                                       14
Le trasformazioni geometriche benché semplici da implementare richiedono me-
moria addizionale, costi computazionali per la trasformazione e tempo di addestra-
mento aggiuntivo. Per alcune di esse, come detto, è necessario seguire la procedura
per evitare la perdita dell’etichetta di classificazione. Restano dunque situazionali
e dunque relativamente limitati.

Trasformazioni nello spazio dei colori
Le immagini a colori sono codificate come tre matrici impilate, ciascuna di di-
mensione altezza x larghezza. Queste matrici rappresentano i valori dei pixel per
ciascun canale RGB. I bias relativi alla luminosità sono tra le sfide che si pre-
sentano più spesso nei problemi di riconoscimento. Dunque è comprensibile il
significato delle trasformazioni in tale contesto. Un metodo veloce per modifica-
re la luminosità consiste nell’aggiungere o sottrarre un valore costante ai singoli
pixel, oppure isolare i tre canali. Un’ulteriore possibilità è quella di manipolare
l’istogramma dei colori per applicare filtri che modificano le caratteristiche dello
spazio dei colori. Gli svantaggi relativi a queste tecniche riguardano l’incremento
di memoria richiesto, i costi di trasformazione e il tempo di allenamento. Possono
inoltre comportare la perdita di informazioni riguardo i colori stessi e rappresentare
dunque una trasformazione non sicura. Ad esempio, modificare i valori dei pixel di
un’immagine per simulare un ambiente più scuro potrebbe comportare la difficoltà
nel riconoscimento di alcuni oggetti. Si prenda ad esempio [48]: in questa appli-
cazione le CNN cercano di predire il valore emotivo di un’immagine come: molto
negativa, negativa, neutrale, positiva, molto positiva. Un elemento che può deter-
minare la distinzione tra negativo e molto negativo è la presenza del sangue; infatti
il colore rosso scuro del sangue è la componente chiave per distinguere il sangue
dall’acqua o la pittura. Risulta dunque evidente che trasformazioni nello spazio
dei colori potrebbero comportare l’incapacità del classificatore nel distinguere il
sangue e dunque non preservare l’etichetta di classe.

                Figura 2.4: Esempi di trasformazioni nello spazio dei colori.

                                            15
Trasformazioni geometriche Vs fotometriche
Taylor e Nitschke [49] hanno fornito uno studio comparativo sull’efficacia delle
trasformazioni geometriche e fotometriche testate sul dataset Caltech101 con una
4-fold cross-validation3 . Di seguito la tabella dei risultati ottenuti.

                 Figura 2.5: Risultati degli esperimenti di Taylor e Nitschke [49].

Filtri kernel
Rappresentano una tecnica diffusa per ottenere immagini affinate o sfocate. Lavo-
rano facendo scorrere una matrice n x n sull’immagine con dei filtri di tipo gaus-
siano che la sfocano o di tipo edge ad elevato contrasto orizzontale o verticale che
la evidenziano lungo i bordi. Aumentare la sfocatura serve ad aumentare la re-
sistenza al problema del motion blur mentre immagini più definite consentono di
acquisire più dettagli circa gli oggetti di interesse. Tale tecnica però risulta simile
al meccanismo interno delle CNN che utilizzano dei kernel parametrici per appren-
dere il modo ottimale di rappresentare le immagini layer-per-layer e sono, per que-
sto motivo, implementati all’interno della rete piuttosto che come trasformazione
esterna.

   3
     La convalida incrociata cosiddetta k-fold consiste nella suddivisione dell’insieme di dati totale
in k parti di uguale numerosità e, a ogni passo, la k-esima parte del insieme di dati viene a essere
quella di convalida, mentre la restante parte costituisce sempre l’insieme di addestramento. Così si
allena il modello per ognuna delle k parti, evitando quindi problemi di sovradattamento, ma anche
di campionamento asimmetrico (e quindi affetto da distorsione) del campione osservato, tipico della
suddivisione dei dati in due sole parti (ossia addestramento/convalida). In altre parole, si suddivide
il campione osservato in gruppi di egual numerosità, si esclude iterativamente un gruppo alla volta
e si cerca di predirlo coi gruppi non esclusi, al fine di verificare la bontà del modello di predizione
utilizzato.

                                                 16
Mixing
Mescolare immagini mediando il valore dei loro pixel ((Fig.2.7a e Fig.2.7b) è un
approccio controintuitivo rispetto al classico data augmentation: le immagini pro-
dotte non sembreranno utili da un punto di vista prettamente umano. Nonostante
ciò, Ionue [50] ha dimostrato come questo approccio possa realmente essere svi-
luppato in un’effettiva strategia di data augmentation. In questo esperimento due
immagini vengono ridimensionate (cropping) da 256x256 a 224x224 e casualmen-
te capovolte orizzontalmente, queste sono state poi mescolate mediando i valori dei
pixel per ciascun canale. L’etichetta di classe assegnata alla nuova immagine è la
stessa della prima selezionata. Sul CIFAR-10 Ionue ha riportato una riduzione del
error rate da 8.22 a 6.93% utilizzando tale tecnica. Si riportano di seguito i risultati
(Fig.2.6).

              Figura 2.6: Risultati degli esperimenti di Ionue sul CIFAR-10 [50].

Altri studi hanno approfondito tale tematica utilizzando ad esempio metodi non-
lineari per combinare le immagini [51] oppure ritagliando casualmente immagini
e concatenandole successivamente in un’unica immagine [52]. Uno svantaggio di
questa tecnica risiede nella complessità di comprensione circa il suo funzionamen-
to. Una spiegazione potrebbe essere che aumentando la numerosità del dataset
i risultati siano più robusti nell’apprendimento di caratteristiche di basso livello
come linee e bordi.

                                             17
(a)                                                 (b)

                 Figura 2.7: Esempio di applicazione della tecninca di mixing [50]

Random erasing
È una tecnica analoga a quella del dropout regularization4 implementata però sui
dati di input piuttosto che all’interno della rete stessa. Ideata per superare il pro-
blema dell’occlusione (ossia quando parte di un oggetto non è chiara o è coperta
parzialmente da qualche altro oggetto) nel riconoscimento di oggetti: la tecnica
forza la rete ad apprendere più informazioni prevenendo l’overfitting rispetto ad
una precisa area dell’immagine.

                              Figura 2.8: Esempio di random erasing [53].

   4
     Il termine si riferisce al dropping out ossia all’omissione di alcune unità durante il processo di
allenamento della rete e che rappresenta dunque una tecnica di regolarizzazione in quanto evita il
co-adattamento al training set.

                                                  18
I risultati ottenuti in [54] utilizzando una tecnica simile, nota come Cutout, sono
tra i più alti ottenuti sul CIFAR-10.

          Figura 2.9: Risultati ottenuti da DeVries e Taylor utilizzando il Cutout [54].

Gli svantaggi legati a questa tecnica risiedono nel fatto che non sempre preserva
l’etichetta di classificazione. Ad esempio nella classificazione delle autovetture
sul dataset Standford Cars la cancellazione di tutto o parte del logo può rendere
il marchio irriconoscibile e dunque può essere necessario un successivo intervento
manuale.

Tecniche combinate
Ciascuna delle tecniche appena discusse può essere combinata con le altre produ-
cendo così dataset decisamente grandi che possono però condurre ad overfitting,
soprattutto se il dataset di partenza è piccolo. È perciò consigliabile ricercare un
algoritmo per la selezione del miglior sottoinsieme di tecniche da implementare
così come dei dati da utilizzare per l’allenamento delle reti.

2.2.2   Data augmentation basato sul deep learning
Feature space augmentation
Tutti i metodi descritti precedentemente sono applicati alle immagini in input. È
possibile sfruttare le capacità di mappatura delle reti neurali per trasformare input
multidimensionali in rappresentazioni di dimensioni inferiori come a classi binarie
o in vettori n x 1 in layer appiattiti. Il processo sequenziale di una rete può essere
manipolato in modo tale che le rappresentazioni intermedie possano essere sepa-
rate per intero dalla rete. Le rappresentazioni a dimensioni inferiori che si trovano
negli strati più interni di una CNN (o comunque di una rete) sono noti come feature
space, ossia spazio delle caratteristiche. De Vries e Taylor [55] hanno presentato
un lavoro in cui viene discusso l’ampliamento proprio in questo spazio: aggiunta
di rumore, interpolazione, ed estrapolazione sono alcune delle forme più comuni
di "feature space augmentation". Una possibilità è quella di troncare una CNN ed
estrapolare i vettori in output per allenare qualsiasi altro modello di ML. Lo svan-
taggio di questa tecnica risiede nella difficoltà di interpretazione dei vettori ottenuti
in output: sarebbe possibile ricostruire le immagini, partendo dai vettori, utilizzan-

                                               19
do una rete autoencoder5 (Fig.2.10) che risulterebbe, però, in reti eccessivamente
complicate da allenare e dispendiose temporalmente.

                    Figura 2.10: Esempio di funzionamento di un autoencoder.

Adversarial training
L’allenamento avversario consiste in un ambiente in cui due o più reti sono uti-
lizzate con obiettivi contrastanti, opposti, codificati mediante le loro funzioni di
costo. Si parla in tal caso di adversarial attacking: una rete apprende la tecnica
di augmentation basandosi sugli errori di classificazione della rete classificatrice
avversaria. Questo dimostra che la rappresentazione delle immagini è molto meno
robusta di ciò che ci si aspetta. Moosavi e Dezefooli [56] lo hanno dimostrato uti-
lizzando la rete DeepFool che cerca il rumore minimo da inserire nell’immagine
per produrre una classificazione errata con elevata confidenza. Allo stesso modo
Su et al [57] hanno dimostrato che le immagini possono essere classificate errata-
mente solo cambiando un pixel. Limitando l’insieme di ampliamenti e distorsioni
disponibili ad una rete avversaria, questa può apprendere come produrre dati che
risultino in una classificazione errata e rappresentare quindi un algoritmo di ricer-
ca. Questi dati possono dunque essere utilizzati per irrobustire punti deboli del
modello di classificazione. Tuttavia, l’efficacia di un allenamento avversario è un
concetto relativamente nuovo ed inesplorato, e i risultati a cui può condurre sono
ancora poco chiari.

   5
     Un autoencoder è un tipo di rete neurale artificiale utilizzata per apprendere codifiche di dati
in modo non supervisionato. Lo scopo di un autoencoder è apprendere una rappresentazione (codi-
fica) per un insieme di dati ignorando il "rumore" del segnale. Insieme al lato di riduzione, viene
appreso un lato di ricostruzione, dove l’autoencoder cerca di generare dalla codifica ridotta una
rappresentazione il più vicino possibile al suo input originale, da cui il nome.

                                                20
Data augmentation basato sulle GAN
Una strategia alternativa è quella dell’impiego di modelli generativi. Per "modelli
generativi" si fa riferimento alla pratica di creare istanze artificiali da un dataset in
modo tale che queste presentino caratteristiche simili a quelle originali. Le GAN,
approfondite in dettaglio successivamente, rappresentano una strada per "sblocca-
re" informazioni aggiuntive da un dataset [58]. Sebbene non siano l’unico modello
generativo ne rappresentano decisamente l’avanguardia (Fig.2.11). Inoltre, questa
architettura può essere utilizzata come tecnica di sovra-campionamento per risol-
vere problemi di squilibrio di classi. Nel lavoro di Lim et al [59] viene mostrato
come, producendo campioni di occorrenze che si verificano con piccole probabili-
tà, le GAN siano capaci di ridurre la frequenza dei falsi positivi nel rilevamento di
anomalie. Il problema relativo all’impiego di tale architettura risiedere nella diffi-
coltà di produrre output in alta risoluzione poiché aumentarne le dimensioni in fase
di generazione creerebbe instabilità durante l’allenamento e problemi di non con-
vergenza. Inoltre, i risultati prodotti sono strettamente legati alla quantità di dati
forniti in input, perciò, a seconda di quanto sia limitato il dataset iniziale l’utilizzo
delle GAN potrebbe non essere una soluzione pratica.

                  Figura 2.11: Impiego delle GAN nel corso degli anni [30].

Neural style transfer
L’idea generale [20] è quella di manipolare la rappresentazione delle immagini
create nelle CNN. Lo scopo è quello di "trasferire" lo stile di un’immagine ad
un’altra lasciando inalterato il suo contenuto originale. Infatti, per questo moti-
vo, questa tecnica è spesso utilizzata in ambito artistico (Fig.2.12). Relativamente
agli scopi del data augmentation questa tecnica è simile alle trasformazioni sul-
la luminosità nell’ambito dello spazio dei colori. Modificando luci e stili artistici
è possibile ottenere nuove immagini. Lo "stile" rispetto al quale produrre nuove
istanze è peculiare del task. Si prenda ad esempio il problema delle self-driving
cars.

                                             21
Figura 2.12: Esempio di ricostruzione nel neural style transfer [60].

In tale situazione è consigliabile trasferire ai campioni lo stile notturno partendo da
quello diurno, o quello invernale partendo da quello estivo, o quello piovoso par-
tendo da quello soleggiato. In altri contesti però la scelta potrebbe non essere così
semplice. Ciò che generalmente si fa è importare k stili differenti ed applicarli a
tutto il dataset. Questa tecnica è stata anche utilizzata per le transizioni da ambien-
ti simulati a reali utili nel reinforcement learning6 per evitare danni all’hardware
testato nel mondo reale [61]. Lo svantaggio legato a questa tecnica è relativo al-
la scelta del set di stili da utilizzare: se troppo piccolo potrebbe inserire dei bias
nel dataset, se troppo grande potrebbe rallentare eccessivamente l’allenamento e
richiedere una quantità di memoria ingente.

Meta learning data augmentation
Il concetto di meta learning nel DL si riferisce generalmente al processo di otti-
mizzazione di reti neurali mediante altre reti neurali. Questo approccio è diventato
molto popolare dopo la pubblicazione del NAS [21] di Zoph et al. Il NAS utilizza
una rete ricorsiva allenata tramite RL per progettare architetture che risultino nella
miglior accuratezza possibile. Applicazioni di differenti approcci al meta learning
per il data augmentation possono essere trovate in [27], [28] e [29]. Uno svantaggio
   6
     L’apprendimento per rinforzo (o reinforcement learning) è una tecnica di apprendimento auto-
matico che punta a realizzare agenti autonomi in grado di scegliere azioni da compiere per il con-
seguimento di determinati obiettivi tramite interazione con l’ambiente in cui sono immersi. Rap-
presenta uno dei tre paradigmi principali dell’apprendimento automatico, insieme all’apprendimento
supervisionato e a quello non supervisionato. A differenza degli altri due, questo paradigma si oc-
cupa di problemi di decisioni sequenziali, in cui l’azione da compiere dipende dallo stato attuale
del sistema e ne determina quello futuro. La qualità di un’azione è data da un valore numerico di
"ricompensa", ispirata al concetto di rinforzo, che ha lo scopo di incoraggiare comportamenti corretti
dell’agente.

                                                 22
di tale approccio è che è relativamente nuovo e i risultati sono difficili da confronta-
re. Inoltre gli schemi utilizzati possono essere molto complessi e impiegare tempi
piuttosto lunghi.

2.2.3    Confronto
Esistono pochi studi comparativi circa le tecniche citate in precedenza. Uno di
questi è stato erffettuato in [62] da Shijie et al. in cui sono stati comparati GAN,
WGAN, flipping, cropping, shifting, PCA jittering, color jittering, noise injection,
rotation e alcune loro combinazioni. Inoltre lo studio comparativo è stato effettuato
su dataset di diversa grandezza: uno piccolo contenente 2k campioni, uno medio
con 10k campioni ed uno grande contenente 50k campioni. Ciascuno di questi
è stato testato su tre livelli: con augmentation, senza augmentation e con valori
intermedi. Ciò che ne è risultato è che generalmente cropping, flipping, WGAN
e rotation performano meglio delle altre tecniche. In assoluto, la combinazione
di flipping e cropping, e flipping e WGAN rappresentano le migliori combinazio-
ni fornendo incrementi di 3% e 3.5% relativamente al task di classificazione sul
dataset CIFAR-10.

    Figura 2.13: Risultati ottenuti da Shijie et al su task di classificazione sul CIFAR-10 [62].

                                                23
2.3    GAN: il framework
L’idea di base delle GAN è quella di impostare un gioco tra due giocatori. Uno
di questi è chiamato generatore. Il generatore crea dei campioni intesi come pro-
venienti dalla stessa distribuzione dei dati di allenamento. L’altro giocatore è il
discriminatore. Il discriminatore esamina i campioni per determinare se questi
siano veri o falsi. Il discriminatore apprende utilizzando tecniche tradizionali di
apprendimento supervisionato, dividendo gli input in due classi (reali e falsi). Il
generatore, invece, è allenato per ingannare il discriminatore. Si può pensare al
generatore come un contraffattore che cerca di produrre denaro falso, e il discri-
minatore come la polizia che cerca legittimare le banconote e individuare quelle
contraffatte. Per vincere il gioco il contraffattore deve apprendere come produrre
denaro che sia indistinguibile da quello vero. Il processo è illustrato nella figura
sottostante.

                             Figura 2.14: GAN framework.

Formalmente, le GAN sono un modello probabilistico strutturato (si veda il capito-
lo 16 di [63] per un’introduzione ai modelli probabilistici strutturati) che contiene
una variabile latente z e una variabile osservata x. I due giocatori all’interno del
gioco sono rappresentati attraverso due funzioni, ciascuna delle quali differenzia-
bile rispetto ai proprio input e i propri parametri. Il discriminatore è una funzione
D che prende x come input e utilizza Θ(D) come parametri, mentre il generatore
è rappresentato dalla funzione G che prende z come input e Θ(G) come parametri.
Ciascun giocatore ha funzioni di costa definite in termini di entrambi i giocatori. Il
discriminatore tenta di minimizzare J (D) (Θ(D) , Θ(G) ) e deve farlo mentre control-
la esclusivamente Θ(D) . Dal suo canto, il generatore invece, tenta di minimizzare
J G) (Θ(D) , Θ(G) ) e lo fa mentre controlla esclusivamente Θ(G) . Dato che la fun-
zione di costo di ciascun giocatore dipende dai parametri dell’altro giocatore, ma
nessuno dei due giocatori può controllare i parametri dell’altro, questo scenario è
più facilmente rappresentabile come un gioco che non come problema di ottimiz-
zazione. La soluzione ad un problema di ottimizzazione è un minimo (locale), un

                                         24
punto nello spazio dei parametri dove tutti i punti vicini hanno un costo eguale o
superiore. La soluzione ad un gioco è un equilibrio di Nash7 . In tale contesto,
un equilibrio di Nash è rappresentato da una tupla (Θ(D) , Θ(G) che è un minimo
locale di J (D) rispetto a Θ(D) e un minimo locale di J (G) rispetto a Θ(G) .

2.3.1     Il generatore
Il generatore è una funzione differenziabile G. Quando z viene campionato da
qualche distribuzione definita a priori, G(z) fornisce un campione di x provenien-
te/pescato da pmodel . Tipicamente G è rappresentata da una rete neurale profonda
(e.g. una CNN). In generale ci sono quindi poche restrizioni sulla rete: z deve
avere almeno le stesse dimensioni di x e G deve essere differenziabile.

2.3.2     Il processo di training
Il processo di allenamento consiste di step di SGD (Stochastic Gradient Descend)
simultanei. Ad ogni step sono campionati due minibatch: uno di valori di x pro-
venienti dal dataset e uno di valori di z provenienti dal modello a priori scelto per
la variabile latente. A tal punto sono effettuati due step di SGD: uno che aggiorna
Θ(D) per ridurre J (D) e uno che aggiorna Θ(G) per ridurre J (G) . In entrambi i ca-
si è possibile utilizzare algoritmi di ottimizzazione del gradiente di propria scelta.
Generalmente, l’algoritmo Adam [64] è una buona scelta.

2.4      GAN: le funzioni di costo
2.4.1     La funzione di costo del discriminatore
Tutti i modelli di gioco presenti per le GAN utilizzano la stessa funzione di costo
per il discriminatore, J (D) . Differiscono solo nei termini del costo utilizzato per il
generatore, J (G) . La funzione di costo utilizzata è la seguente:

                       1                    1
 J(D)(Θ(D) , Θ(G) ) = − Ex∼pdata log(D(x)) − Ez log(1 − D(G(z))). (2.1)
                       2                    2
    7
      L’equilibrio di Nash è una combinazione di strategie in cui ciascun giocatore effettua la migliore
scelta possibile sulla base delle aspettative di scelta dell’altro giocatore. L’equilibrio di Nash è la
combinazione di mosse (mossa1, mossa2) in cui la mossa di ciascun giocatore è la migliore risposta
alla mossa effettuata dall’altro giocatore. Ogni giocatore formula delle aspettative sulla scelta del-
l’altro e, in base a queste, decide la propria strategia. Un equilibrio di Nash è un equilibrio stabile,
poiché nessun giocatore ha interesse a modificare la propria decisione. Ogni giocatore trae l’utili-
tà massima possibile dalle proprie scelte, tenendo conto della migliore scelta dell’altro giocatore.
Qualsiasi variazione strategica potrebbe soltanto peggiorare la sua posizione.

                                                  25
Questa rappresenta la classica funzione di costo nota come cross entropy8 impie-
gata nella classificazione a due livelli con un output di forma sigmoidale. L’unica
differenza è che il classificatore è allenato su due minibatch di dati: uno prove-
niente dal dataset in cui l’etichetta di classe è 1 per tutti gli esempi, e una prove-
niente dal generatore, dove invece l’etichetta di classe è 0. In tutti le versioni del
gioco il discriminatore è incoraggiato a ridurre questa funzione. In ogni caso il
discriminatore presenta la medesima strategia ottimale:

                                                  pdata (x)
                                D(x) =                                                          (2.2)
                                           pdata (x) + pmodel (x)

Ciò che è possibile notare è che mediante l’allenamento del discriminatore si ottie-
ne una stima del rapporto pdata (x)/pmodel (x) per ogni punto x (Fig.2.15). Questa
è l’approssimazione tecnica chiave che differenzia le GAN da altri modelli genera-
tivi come i VAE o le BM. Gli altri modelli generativi sviluppano approssimazioni
basandosi su legami meno stringenti o sulle catene di Markov; le GAN ottengono
queste stime mediante tecniche di apprendimento supervisionato. Per tale motivo,
infatti, soffrono delle stesse problematiche legate a questo tipo di apprendimen-
to: overfitting e underfitting. Con una buona ottimizzazione dell’algoritmo e un
dataset sufficientemente grande questi problemi, però, possono essere superati.

Figura 2.15: Il discriminatore (linea blu a puntini) stima il rapporto tra la densità dei dati (punti
neri) e la somma dei dati e del modello di densità. Il generatore può imparare a produrre un mo-
dello di densità migliore seguendo la risalita del discriminatore: ogni G(z) dovrebbe muoversi nella
direzione che aumenta il valore di D(G(z))

Dato che il framework GAN può essere analizzato con gli strumenti della teoria
del gioco, vengono chiamate "avversarie". Si può pensare alle due reti anche co-
   8
     L’entropia incrociata (o cross-entropia) fra due distribuzioni di probabilità p e q, relative allo
stesso insieme di eventi, misura il numero medio di bit necessari per identificare un evento estratto
dall’insieme nel caso sia utilizzato uno schema ottimizzato per una distribuzione di probabilità q
piuttosto che per la distribuzione vera p.

                                                 26
Puoi anche leggere