• Non ci sono risultati.

In questa ultima sezione verranno analizzati i tempi impiegati per l’ad- destramento delle reti neurali con l’obiettivo di avere una visione d’insieme esaustiva e completa.

L’addestramento della rete neurale Char-CNN `e avvenuto principalmente su una GPU Nvidia Titan X con 32gb di RAM e qualche test `e stato provato anche su un computer Quad Core con 8gb di RAM. I risultati verranno poi confrontati con le altre tipologie di reti neurali che hanno utilizzato tecnologie analoghe.

I valori elencati nella tabella sottostante fanno riferimento ad una ap- prossimazione nell’ordine dei 30 minuti, in quanto un medesimo test sullo stesso dataset potrebbe variare al massimo di qualche minuto, per cui si pre- dilige evidenziare le differenze in termini di tempi di calcolo, al variare delle dimensioni dei datasets.

Training Time (Hours)

Domain Size C-CNN(CPU) C-CNN(GPU) LSTM(CPU) DMN+(CPU) DMN+(GPU)

2k 0.4 0.3 0.5 1.07 0.65

20k 5.2 4.3 3 4.19 2.01

100k 23.5 22.1 16 229.5 22.95

Tabella 7.6: Confronto dei tempi di calcolo su tre diverse dimensioni dei datasets e su tre reti neurali differenti.

Questa tabella evidenzia come, nel caso delle Char-CNN, non ci sia una differenza marcata tra l’utilizzo di CPU e GPU in termini di tempi di calcolo, per quanto riguarda il confronto con le altre due reti in esame, le Char- CNN possiedono tempi di calcolo pi`u veloci su di piccole dimensioni ma sono leggermente pi`u lente su medie e grandi dimensioni dove le LSTM si sono rivelati le pi`u veloci. Il risultato ottenuto su dataset di grandi dimensioni con le DMN+ utilizzate su una CPU `e solo stimato a partire dal risultato ottenuto sulla GPU moltiplicato per 10.

Conclusioni e sviluppi futuri

In questa tesi sono stati presentati una serie di esperimenti basati sull’u- tilizzo di una rete neurale chiamata Character-Level Convolutional Neural Network, che si attesta essere una particolare tipologia delle pi`u classiche Convolutional Neural Networks, addestrata con l’ausilio di datasets con re- censioni di prodotti Amazon con differenti classificazioni e sia In-Domain che Cross-Domain.

La codifica del testo utilizzata `e stata quella One-Hot in quanto `e risul- tata essere pi`u efficiente rispetto a quella Word2Vec testata empiricamente. I risultati In-Domain mostrano come questa particolare tipologia di rete non risenta troppo del variare di dimensioni del dataset utilizzato per l’addestra- mento, infatti l’accuratezza risultante si attesta attorno al 70% per tutte e tre le casistiche con una classificazione binaria; con una classificazione di tipo Fine-Graned si evidenzia come questa rete neurale non sia molto effi- ciente in quanto l’accuratezza `e attorno al 35%. L’utilizzo di un differente dataset come lo Stanford Sentiment Treebank ha portato risultati simili agli esperimenti Fine-Graned in quanto anch’esso classificato su 5 classi.

Negli esperimenti Cross-Domain c’`e stato un leggero miglioramento delle prestazioni, sia con classificazione binaria e sia Fine-Graned, anche se non sostanziali.

Gli esperimenti hanno evidenziato come questa tipologia di rete sia pi`u 81

adatta a una classificazione di tipo binario, anche se il confronto con le reti DMN+ e LSTM sia un abbastanza impari in quanto le prestazioni raggiunte da loro sono in certi casi superiori del 20%.

Le Char-CNNs sono reti neurali ancora poco esplorate in letteratura, per cui, in futuro, si consiglia di tentare approcci anche con differenti codifiche oltre a quella One-Hot o Word2Vec per provare a migliorare le prestazioni anche con classificazione Fine-Graned che ancora `e carente e cercare di miglio- rare anche la classificazione binaria in quanto anche un altro esperimento[47] ha attestato una accuratezza simile.

[1] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. Backpropagation applied to handwritten zip code recognition. Neural Computation, Winter 1989.

[2] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, November 1998.

[3] L. Bottou, F. Fogelman Soulie, P. Blanchet, and J. Lienard. Experi- ments with time delay networks and dynamic time warping for speaker independent isolated digit recognition. In Proceedings of EuroSpeech 89, volume 2, pages 537–540, Paris, France, 1989.

[4] A. Waibel, T. Hanazawa, G. Hinton, K. Shikano, and K. J. Lang. Pho- neme recognition using time-delay neural networks. Acoustics, Speech and Signal Processing, IEEE Transactions on, 1989.

[5] C. dos Santos and M. Gatti. Deep convolutional neural networks for sen- timent analysis of short texts. In Proceedings of COLING 2014, the 25th International Conference on Computational Linguistics: Technical Pa- pers, pages 69–78, Dublin, Ireland, August 2014. Dublin City University and Association for Computational Linguistics.

[6] Y. Kim. Convolutional neural networks for sentence classification. In Proceedings of the 2014 Conference on Empirical Methods in Natu-

ral Language Processing (EMNLP), pages 1746–1751, Doha, Qatar, October 2014. Association for Computational Linguistics.

[7] R. Johnson and T. Zhang. Effective use of word order for text cate- gorization with convolutional neural networks. CoRR, abs/1412.1058, 2014.

[8] D. Rumelhart, G. Hintont, and R. Williams. Learning representations by back-propagating errors. Nature, 1986.

[9] Y.-L. Boureau, F. Bach, Y. LeCun, and J. Ponce. Learning mid-level features for recognition. In Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on, pages 2559–2566. IEEE, 2010. [10] Convolutional Neural Network Architectures: from LeNet to ResNet -

Lana Lazebnik

[11] “Character-level Convolutional Networks for Text Classification”, Xiang Zhang, Junbo Zhao, Yann LeCun, 4 Aprile 2016

[12] Recensioni Amazon Libri [13] Recensioni Amazon Elettronica [14] Recensioni Amazon Vestiario [15] Recensioni Amazon Film

[16] “Understanding Convolutional Neural Networks for NLP”, Denny Britz, Novembre 2015

[17] Deep Learning by Adam Gibson, Josh Patterson

[18] Schmidhuber, J. (2015). “Deep Learning in Neural Networks: An Overview”. Neural Networks. 61: 85–117

[19] “What Is The Difference Between Artificial Intelligence And Machine Learning?”, Bernard Marr, Forbes, 6 Dicembre 2016

[20] “What Is The Difference Between Deep Learning, Machine Learning and AI?”, Bernard Marr, Forbes, 6 Dicembre 2016

[21] “An Introduction to Deep Learning”, Algoritmia Web site, Charlie Crawford, November 2016

[22] West, Jeremy; Ventura, Dan; Warnick, Sean (2007). “Spring Research Presentation: A Theoretical Foundation for Inductive Transfer”. Bri- gham Young University, College of Physical and Mathematical Sciences. Archived from the original on 2007-08-01. Retrieved 2007-08-05

[23] Pan SJ, Yang Q. A survey on transfer learning. IEEE Trans Knowl Data Eng. 2010;22(10):1345–59.

[24] “NanoNets : How to use Deep Learning when you have Limited Data”, 30 Gennaio 2016, Sarthak Jain

[25] “A Logical Calculus of the Ideas immanent in nervous activity”, McCulloch and Pittis, 1943

[26] “ The Organization of Behavior”, Donald Hebb, 1949

[27] “Long-Short Term Memory”, Sepp Hochreiter, Jurgen Schmidhuber 1997

[28] “Neural Turing Machines”, Alex Graves, Greg Wayne, Ivo Danihelka, 10 Dicembre 2014

[29] “Ask Me Anything: Dynamic Memory Networks for Natural Language Processing”, Ankit Kumar, Ozan Irsoy, Peter Ondruska, Mohit Iyyer, James Bradbury, Ishaan Gulrajani, Victor Zhong, Romain Paulus, Richard Socher, 2016

[30] “A Convolutional Neural Network for Modelling Sentences”, Nal Kalch- brenner Edward Grefenstette, Phil Blunsom, Department of Computer Science, University of Oxford, 8 Aprile 2014

[31] “Hybrid computing using a neural network with dynamic external me- mory”, Alex Graves, Greg Wayne, Malcolm Reynolds, Tim Harley, Ivo Danihelka, Agnieszka Grabska-Barwi´nska, Sergio G´omez Colme- narejo, Edward Grefenstette, Tiago Ramalho, John Agapiou, Adri`a Puigdom`enech Badia,Karl Moritz Hermann, Yori Zwols, Georg Ostrov- ski, Adam Cain, Helen King, Christopher Summerfield, Phil Blunsom, Koray Kavukcuoglu, Demis Hassabis

[32] “How the Random Forest Algorithm works in Machine Learning”, May 22, 2017, Saimadhu Polamuri

[33] “Efficient Estimation of Word Representations in Vector Space”, Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean, 7 Settembre 2013 [34] Mikolov, Tomas; Sutskever, Ilya; Chen, Kai; Corrado, Greg S.; Dean,

Jeff (2013). Distributed representations of words and phrases and their compositionality.

[35] “GloVe: Global Vectors for Word Representation”,Jeffrey Pennington, Richard Socher, Christopher D. Manning, 2014

[36] “End-To-End Memory Networks”, Sainbayar Sukhbaatar, Arthur Szlam, Jason Weston, Rob Fergus, 24 Novembre 2015

[37] Libreria Numpy

[38] Datasets Amazon dall’universit`a di Stanford

[39] “Adam: A Method for Stochastic Optimization”, Diederik P. Kingma, Jimmy Ba, 22 Dicembre 2014

[40] Implementazione di una Char-CNN [41] Eclipse IDE

[43] Python

[44] Installazione Tensorflow [45] TensorBoard

[46] “Parsing With Compositional Vector”, Richard Socher and Alex Pere- lygin and Jean Wu and Jason Chuang and Christopher Manning and Andrew Ng and Christopher Potts

Desidero innanzitutto ringraziare il prof. Gianluca Moro e i suoi collabo- ratori Andrea Pagliarani e Roberto Pasolini per la professionalit`a, attenzione, disponibilit`a e pazienza che mi hanno dimostrato durante tutto il percorso di tesi.

Desidero poi ringraziare tutta la mia famiglia, dai miei genitori a mia sorella, ai miei nonni e ai miei zii, che ogni giorno mi ha sopportato e supportato.

Desidero ringraziare la mia fidanzata Federica che pi`u di tutti ha saputo capirmi e sopportarmi.

Per ultimi ma non meno importanti ringrazio tutti i miei amici, quelli storici, quelli che hanno condiviso con me il percorso dell’universit`a e quelli che ogni giorno condividono con me la passione per la pallacanestro.

Guida agli Esperimenti

In questa appendice verr`a riportata la guida per poter eseguire gli esperi- menti in completa autonomia, `e necessario seguire passo passo il procedimen- to di installazione dei package, di download dei datasets e di avviamento degli esperimenti. Per poter avviare gli esperimenti si pu`o utilizzare una semplice riga di comando da qualsiasi sistema operativo, oppure si possono utilizzare IDE come Eclipse[41] o Visual Studio con l’ausilio di opportuni plug-in (nel caso di Eclipse si tratta di PyDev)[42].

A.1

Installazioni di base

Per poter eseguire gli esperimenti `e necessario installare alcuni compo- nenti di base:

• Python 3.x - Interprete per il codice degli esperimenti installabile da riga di comando o dal sito web[43].

• Tensorflow - Framework per la rete neurale, installabile da riga di co- mando o dal sito web[44]. Nel Capitolo 5 e sul sito sono presenti guide esaustive per testare la corretta installazione.

Documenti correlati