• Non ci sono risultati.

B.2

Strategie di regolarizzazione

Esistono numerose tecniche per prevenire il fenomeno di overfitting del mo- dello. Qui di seguito illustreremo brevemente le strategie di regolarizzazione più utilizzate, ma va detto che già il semplice utilizzo di reti neurali di ti- po convolutivo ha un effetto benefico sull’overfitting. Infatti la ricerca dei coefficienti dei kernel usati per filtrare l’ingresso di ciascun layer viene effet- tuata andando a trovare quei valori che vadano bene per tutta l’immagine (ogni filtro viene applicato su tutta l’immagine e non solo su una regione) e che cioè rispondano alla presenza di caratteristiche generali, che l’immagine potrebbe possedere oppure no.

Un’altra maniera per limitare l’overfitting è l’aumento del campione di training. Questo può essere un processo lento e difficoltoso, e dunque un’al- ternativa può essere quella di operare il cosiddetto data augmentation che consiste nell’aumentare artificialmente il training set applicando sui cam- pioni disponibili delle piccole variazioni casuali, come traslazioni, rotazioni, deformazioni, cambiamenti di scala, eccetera. che producano dei campioni artificiali plausibilmente analoghi ai casi reali.

Early stopping. Come visto nel paragrafo precedente un modo per tenere a bada il fenomeno di overfitting è quello di terminare l’addestramen- to nel momento in cui l’accuratezza sul validation set giunge a saturazione. Il momento in cui fermarsi non è sempre facile da determinare: spesso può capitare che una rete raggiunga un certo plateau per un po’ di tempo, pri- ma di cominciare nuovamente a migliorare; ne consegue come sia possibile adottare strategie di early stopping più o meno aggressive.

Regolarizzazione L2. Spesso ci si riferisce a questa regolarizzazione anche con il termine di weight decay. L’idea di questa strategia è di aggiun- gere nella funzione costo un termine aggiuntivo (il termine di regolarizzazio-

ne) che nella minimizzazione abbia un peso proporzionale al parametro di regolarizzazione λ. Sia C0 la funzione costo iniziale, avremo:

C = C0 + λ 2n X w w2 (B.1)

Nella relazione si ha λ > 0; il parametro viene scalato sulla dimensione del campione di training n. L’obiettivo che si vuole perseguire è quello di far sì che a parità di condizioni al contorno, la rete tenda a privilegiare valori dei pesi w piccoli piuttosto che elevati.

Non è ovvio perché un compromesso del genere aiuti ad evitare situazioni di overfitting, ma sperimentalmente viene fuori che comprimere i valori di tutti i pesi in un range più o meno omogeneo (cioè più o meno avrò valori attorno a 0) aiuta a trovare soluzioni migliori, probabilmente perché spinge tutti i neuroni ad apprendere con la stessa velocità. Comunque, se vogliamo operare una regolarizzazione di questo tipo, prima dell’addestramento della rete neurale conviene inizializzare la matrice dei pesi W con valori prossi- mi allo zero, ad esempio in maniera gaussiana o con distribuzione casuale omogenea (fase di weight initialization).

Regolarizzazione L1. Anche qui si modifica la funzione costo da minimizzare aggiungendo un secondo termine:

C = C0+ λ 2n X w |w| (B.2)

Intuitivamente questo termine porta a un risultato molto simile a quan- to succede nella regolarizzazione L2 e tuttavia le due metodiche non sono equivalenti: studiando il gradiente della funzione costo si può dimostrare algebricamente come la L1 spinga i pesi ad assumere valori più piccoli ma in maniera sempre costante, mentre la L2 in maniera proporzionale al valore del peso w. Di conseguenza in presenza di pesi w più grandi, la regolariz- zazione L1 abbatte il loro valore molto meno di quanto non faccia la L2;

B.2 Strategie di regolarizzazione 95

viceversa, quando w è piccolo la regolarizzazione L1 abbatte i pesi di più della L2.

Anche in questo caso conviene inizializzare la matrice dei pesi W con valori prossimi allo zero.

Drop-out. Questa tecnica è totalmente diversa dalle precedenti. L’i- dea del drop-out è di effettuare una regolarizzazione senza modificare la funzione costo, ma agendo direttamente sulla rete.

Quello che si fa in pratica è disattivare in maniera casuale (tempora- neamente) una certa frazione α di neuroni dell’hidden layer a cui lo stiamo applicando, solitamente la metà. Segue la fase di forward propagation e poi la retro-propagazione dell’errore sulla rete con questi neuroni fantasma (che ci sono ma sono inattivi, spenti). Dopo aver fatto ciò su un minibatch di campioni ripristiniamo lo stato di tutti i neuroni e ripetiamo il procedimento, disattivando nuovamente una porzione casuale di neuroni.

In fase di test, quando la rete ha finito l’addestramento, si riattivano tutti i neuroni e si utilizzano tutti assieme (dividendo a questo punto i pesi per α), sfruttando al massimo le performance della rete. Ciò che si vuole fare con il drop-out è spingere i neuroni ad apprendere i giusti pesi senza fare affidamento sui neuroni adiacenti, apprendendo features più importanti in maniera più robusta.

In maniera euristica si può pensare che ogni volta che attiviamo una manciata di neuroni diversi di fatto abbiamo a che fare con una rete diversa. Se pensiamo ad un insieme di N reti diverse che fanno tutte overfitting sugli stessi dati in maniera diversa, si spera che andando a mediare (sommando i contributi di tutti i pesi, ovvero considerando tutti i neuroni attivi e divi- dendone i weight per α) fra le varie reti in qualche modo l’overfitting tenda a zero. È naturalmente una visione abbastanza naive di ciò che succede, ma nella pratica il drop-out si dimostra uno degli strumenti più potenti per tenere a bada l’overfitting; per questo spesso lo si trova applicato sui fully-

connected layer, negli strati finali della rete. Per approfondimenti si legga [39].

Figura B.6: Un hidden layer prima e dopo l’applicazione del drop-out.

Drop-connect. Questa tecnica porta l’idea del drop-out ancora un passo oltre. Invece che settare casualmente a zero l’uscita di alcuni neuroni della rete, in questo caso vengono posti a zero direttamente alcuni weight della matrice dei pesi W , mentre per il resto il procedimento è del tutto analogo.

Batch Normalization. Tale tecnica nasce dalla volontà di risolvere un problema diverso, ovvero lo svanire del gradiente attraverso i livelli della rete, e per compensare il cosiddetto problema della deriva della varianza interna. Tuttavia sembra che abbia effetti di regolarizzazione sulla rete, tanto da permettere di limitare di molto, se non addirittura sostituire, il drop-out o altre tecniche di regolarizzazione. Per un suo approfondimento si rimanda alla lettura di [21].

Ringraziamenti

A qusto lavoro hanno contribuito in maniera diversa molte persone che desi- dero ringraziare. In primo luogo vorrei ringraziare il Prof. Luigi Landini per avermi concesso l’opportunitá di trascorrere il periodo di preparazione della tesi a Massa e per avermi supportato durante questi mesi. Vorrei ringraziare le persone con cui ho lavorato a Massa: Daniele, Nicola e Gianmarco per i suggerimenti e le dritte che mi hanno dato, per le tante cose imparate e soprattutto per avermi fatto apprezzare e vivere a pieno l’esperienza di un gruppo di lavoro unito. Un ringraziamento va anche alla Dott.ssa Chiara Iacconi, per avermi aiutato ad inquadrare il problema ed essersi dimostrata sempre disponibile quando ne ho avuto il bisogno.

Vorrei ringraziare soprattutto i miei genitori: sono state le persone piú importanti per me, incoraggiandomi e supportandomi in ogni decisione in- trapresa durante questi cinque anni, e senza le quali non sarei qui oggi. Infine un ringraziamento speciale va alla mia compagna Noemi, che negli ultimi anni mi é stata vicino senza mai risparmiarsi.

Bibliografia

[1] AIRTUM Working Group et al. I numeri del cancro in italia 2015, 2015. [2] Maryellen L Giger, Nico Karssemeijer, and SG Armato. Guest editorial computer-aided diagnosis in medical imaging. IEEE Transactions on Medical Imaging, 20(12):1205–1208, 2001.

[3] Vijay M Rao, David C Levin, Laurence Parker, Barbara Cavanau- gh, Andrea J Frangos, and Jonathan H Sunshine. How widely is computer-aided detection used in screening and diagnostic mammo- graphy? Journal of the American College of Radiology, 7(10):802–805, 2010.

[4] Ted C Wang and Nicolaos B Karayiannis. Detection of microcalcifi- cations in digital mammograms using wavelets. IEEE transactions on medical imaging, 17(4):498–509, 1998.

[5] Dongming Zhao, M Shridhar, and DG Daut. Morphology on detection of calcifications in mammograms. In Acoustics, Speech, and Signal Pro- cessing, 1992. ICASSP-92., 1992 IEEE International Conference on, volume 3, pages 129–132. IEEE, 1992.

[6] Thomas Netsch and H-O Peitgen. Scale-space signatures for the de- tection of clustered microcalcifications in digital mammograms. IEEE Transactions on medical imaging, 18(9):774–786, 1999.

[7] DC Edwards, MA Kupinski, R Nagel, RM Nishikawa, and J Papa- ioannou. Using a bayesian neural network to optimally eliminate false-positive microcalcification detections in a cad scheme. Digital Mammography, Medical Physics Publishing, Madison, pages 168–173, 2000.

[8] Issam El-Naqa, Yongyi Yang, Miles N Wernick, Nikolas P Galatsanos, and Robert M Nishikawa. A support vector machine approach for de- tection of microcalcifications. IEEE transactions on medical imaging, 21(12):1552–1563, 2002.

[9] Yoshua Bengio et al. Learning deep architectures for ai. Foundations and trends in Machine Learning, 2(1):1–127, 2009.R

[10] Dan CireAan, Ueli Meier, Jonathan Masci, and Juergen Schmidhuber. Multi-column deep neural network for traffic sign classification. Neural Networks, 32:333–338, 2012.

[11] Yann A LeCun, Léon Bottou, Genevieve B Orr, and Klaus-Robert Mül- ler. Efficient backprop. In Neural networks: Tricks of the trade, pages 9–48. Springer, 2012.

[12] Vinod Nair and Geoffrey E Hinton. Rectified linear units improve re- stricted boltzmann machines. In Proceedings of the 27th international conference on machine learning (ICML-10), pages 807–814, 2010. [13] Jiuxiang Gu, Zhenhua Wang, Jason Kuen, Lianyang Ma, Amir Shah-

roudy, Bing Shuai, Ting Liu, Xingxing Wang, and Gang Wang. Recent advances in convolutional neural networks. arXiv preprint arXiv:1512.07108, 2015.

[14] Andrew L Maas, Awni Y Hannun, and Andrew Y Ng. Rectifier non- linearities improve neural network acoustic models. In Proc. ICML, volume 30, 2013.

BIBLIOGRAFIA 103

[15] Tao Wang, David J Wu, Adam Coates, and Andrew Y Ng. End- to-end text recognition with convolutional neural networks. In Pat- tern Recognition (ICPR), 2012 21st International Conference on, pages 3304–3308. IEEE, 2012.

[16] Jianchao Yang, Kai Yu, Yihong Gong, and Thomas Huang. Linear spatial pyramid matching using sparse coding for image classification. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on, pages 1794–1801. IEEE, 2009.

[17] Y-Lan Boureau, Jean Ponce, and Yann LeCun. A theoretical analysis of feature pooling in visual recognition. In Proceedings of the 27th international conference on machine learning (ICML-10), pages 111– 118, 2010.

[18] Fu Jie Huang, Y-Lan Boureau, Yann LeCun, et al. Unsupervised lear- ning of invariant feature hierarchies with applications to object reco- gnition. In Computer Vision and Pattern Recognition, 2007. CVPR’07. IEEE Conference on, pages 1–8. IEEE, 2007.

[19] Yangqing Jia, Chang Huang, and Trevor Darrell. Beyond spatial pyra- mids: Receptive field learning for pooled image features. In Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on, pages 3370–3377. IEEE, 2012.

[20] Efficient BackProp, Y LeCun, L Bottou, GB Orr, and KR Muller. Neural networks: tricks of the trade, 1998.

[21] Sergey Ioffe and Christian Szegedy. Batch normalization: Accelera- ting deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167, 2015.

[22] Simon Wiesler and Hermann Ney. A convergence analysis of log-linear training. In Advances in Neural Information Processing Systems, pages 657–665, 2011.

[23] Matthew D Zeiler and Rob Fergus. Visualizing and understanding con- volutional networks. In European conference on computer vision, pages 818–833. Springer, 2014.

[24] Karen Simonyan and Andrew Zisserman. Very deep convolutional net- works for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.

[25] Mohammad Havaei, Axel Davy, David Warde-Farley, Antoine Biard, Aaron Courville, Yoshua Bengio, Chris Pal, Pierre-Marc Jodoin, and Hugo Larochelle. Brain tumor segmentation with deep neural networks. Medical image analysis, 35:18–31, 2017.

[26] Ilya Sutskever, James Martens, George E Dahl, and Geoffrey E Hinton. On the importance of initialization and momentum in deep learning. ICML (3), 28:1139–1147, 2013.

[27] Tomasz Arodź, Marcin Kurdziel, Tadeusz J Popiela, Erik OD Sevre, and David A Yuen. Detection of clustered microcalcifications in small field digital mammography. computer methods and programs in biomedicine, 81(1):56–65, 2006.

[28] Ingrid Daubechies. Ten lectures on wavelets. SIAM, 1992. [29] https://www.tensorflow.org.

[30] http://tflearn.org.

[31] Thijs Kooi, Geert Litjens, Bram van Ginneken, Albert Gubern-Mérida, Clara I Sánchez, Ritse Mann, Ard den Heeten, and Nico Karsse-

BIBLIOGRAFIA 105

meijer. Large scale deep learning for computer aided detection of mammographic lesions. Medical image analysis, 35:303–312, 2017. [32] https://www.tensorflow.org/get_started/summaries_and_tensorboard. [33] John Duchi, Elad Hazan, and Yoram Singer. Adaptive subgradient

methods for online learning and stochastic optimization. Journal of Machine Learning Research, 12(Jul):2121–2159, 2011.

[34] Matthew D Zeiler. Adadelta: an adaptive learning rate method. arXiv preprint arXiv:1212.5701, 2012.

[35] Diederik Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014.

[36] Ning Qian. On the momentum term in gradient descent learning algorithms. Neural networks, 12(1):145–151, 1999.

[37] Andre Wibisono and Ashia C. Wilson. On accelerated methods in optimization.

[38] http://www.johndcook.com/blog/2011/06/21/how-to-fit-an- elephant/.

[39] Nitish Srivastava, Geoffrey E Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. Dropout: a simple way to prevent neu- ral networks from overfitting. Journal of Machine Learning Research, 15(1):1929–1958, 2014.

Documenti correlati