Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 111 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
111
Dung lượng
850,75 KB
Nội dung
I HC QUăC GIA TH NH PHă H CH MINH TR×˝NG I H¯C C˘NG NGH TH˘NG TIN KHOA C˘NG NGH PH N M M ˙ NCHUY NNG NHC˘NGNGH PH NM M Tm hiu vã Deep Learning v xƠy dỹng mổ h…nh minh håa GI NG VI N HײNG D N: PGS TS Vơ Thanh Nguy¶n SINH VI N THÜC HI N: Phm Hu Danh - 14520134 Phm Vôn Sắ - 14520763 12, 2017 L˝IC MÌN Trong suŁt thíi gian thüc hiằn ỗ Ăn, chúng tổi  nhn ữổc rĐt nhiãu sü gióp ï tł c¡c thƒy cỉ cıa tr÷íng ⁄i håc Cỉng ngh» thỉng tin, °c bi»t l thƒy Vơ Thanh Nguyản ngữới  trỹc tip giÊng dy v hữợng dÔn chúng tổi thỹc hiằn ỗ Ăn n y Trong qu¡ tr…nh thüc hi»n, chóng tỉi ¢ tham kh£o düa tr¶n c¡c b i tŒng hỉp Ti‚ng Anh cıa Wang et al [2017] v Epelbaum [2017], chóng tỉi xin gòi lới cĂm ỡn chƠn th nh n nhng õng gâp cıa c¡c t¡c gi£ M°c dị chóng tỉi ¢ c gng rĐt nhiãu chc chn khổng th trĂnh khọi nhng sai sõt Chúng tổi rĐt mong nhn ữổc sỹ õng gõp t quỵ thy cổ cụng nhữ cĂc b⁄n ¢ åc b i b¡o c¡o n y TMT T Deep learning l mt hữợng tip cn ca lắnh vỹc tr tuằ nhƠn to (Artificial Intelligence - AI) ang ữổc b n lun sổi ni Deep learning  c£i thi»n mºt c¡ch ¡ng k” c¡c ph÷ìng ph¡p hi»n i nhĐt ca nhiãu vĐn ã AI nhữ phĂt hi»n Łi t÷ỉng, nh“n di»n giång nâi, dàch m¡y (machine translation) [LeCun et al., 2015] B i b¡o c¡o n y giợi thiằu cĂc mổ hnh tiản tin ph bin gỗm Feed-forward Neural Network, Convolutional Neural Network v Recurrent Neural Network Thay v… ch¿ ¡p dưng Deep Learning vỵi mºt sŁ th÷ vi»n câ sfin, chóng tỉi mong muŁn thüc sü hi”u nâ l g… Chóng tỉi t“p trung v o nhng ỵ tững ban u hnh th nh, sü ph¡t tri”n cıa chóng cho ‚n hi»n t⁄i v ¡nh gi¡ c¡c mỉ h…nh Mưc lưc Mưc lưc Danh s¡ch h…nh v‡ Giỵi thi»u Feedforward Neural Networks 1.1 1.2 1.3 1.4 1.5 Giỵi thi»u Ki‚n tróc FNN C¡c k‰ hi»u C¥n b‹ng trång sŁ H m k‰ch ho⁄t 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.6 C¡c layer cıa FNN 1.6.1 1.6.2 1.6.3 1.7 Loss function 1.8 C¡c kÿ thu“t Regularization 1.8.1 1.8.2 iii MÖC LÖC 1.8.3 1.8.4 1.8.5 Backpropagation 1.9.1 1.9.2 1.9.3 1.9.4 Dœ li»u n o sß dưng cho gradie 1.10.1 1.10.2 1.10.3 Nhœng kÿ thu“t Gradient optimi 1.11.1 1.11.2 1.11.3 1.11.4 1.11.5 1.11.6 Khði t⁄o trång sŁ 1.9 1.10 1.11 1.12 Convolutional Neural Networks 2.1 2.2 2.3 Giỵi thi»u Ki‚n tróc CNN T‰nh °c thò cıa CNN 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 iv MÖC LệC 2.4 CĂc iãu chnh vợi Batch Normalizat 2.5 CĂc ki‚n tróc CNN 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.6 Backpropagation 2.6.1 2.6.2 2.6.3 2.6.4 Recurrent Neural Networks 3.1 Giỵi thi»u 3.2 Ki‚n tróc RNN-LSTM 3.2.1 v MÖC LÖC 3.2.2 3.3 Extreme Layers v loss function 3.3.1 3.3.2 3.3.3 3.4 C¡c °c tr÷ng cıa RNN 3.4.1 3.4.2 3.4.3 3.4.4 3.5 °c tr÷ng cıa LSTM 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 X¥y düng mỉ h…nh minh håa 4.1 4.2 4.3 4.4 4.5 4.6 K‚t lun v Trch dÔn vi Giợi thiằu M nguỗn Dœ li»u X¥y düng mỉ h…nh Hu§n luy»n mỉ h…nh K‚t qu£ Danh s¡ch h…nh v‡ 1.1 Neural Network vợi N + layers (N architectures thữớng ch câ mºt hidden layer Deep learni sŁ hidden layer, th÷íng chøa cịng sŁ l÷ỉng hidden neur 1.2 Qu¡ tr…nh weight averaging 1.3 H m sigmoid v ⁄o h m cıa nâ 1.4 H m v ⁄o h 1.5 H m RELU v ⁄o h m cıa nâ 1.6 H m leaky-RELU v 1.7 H m ELU v ⁄o h 1.8 Neural network h…nh 1.1 vợi dropout cho cÊ cĂc hid v input Thổng thữớng, mºt t¿ l» kh¡c (th§p hìn) dị vi»c t›c c¡c nì-ron cıa input v c¡c hidden layers 2.1 Mºt ki‚n tróc CNN ( ¥y l LeNet): c¡c convolution operatio theo sau l pooling operation, cho n kch thữợc feat giÊm cặn mºt Fully connected layers sau â ÷ỉc k‚t nŁ 2.2 Input layer 2.3 Padding cıa feature map Nhœng sŁ khổng ữổc thảm v o tile m u ọ, kch thữợc padding n y l 2.4 Convolution operation 2.5 The pooling operation 2.6 Fully connected operation lĐy chiãu rng v chiãu cao 2.7 Fully connected operation, giŁng nh÷ FNN operations 2.8 Sỡ ỗ i diằn ca cĂc layer khĂc vii DANHS CHHNHV 2.9 Realistic Fully connected operation v Realistic Conv ation The LeNet CNN The AlexNet CNN The VGG CNN The GoogleNet CNN Ki‚n trúc Bottleneck Residual Sỡ ỗ trản l thuyt bả 2.10 2.11 2.12 2.13 2.14 t‚ ð b¶n ph£i Nâ cƒn mºt 1 conv vỵi stride v sau â mºt VGG conv chu'n v 1 conv The ResNet CNN Backpropagate tł output ‚n fc Backpropagate tł fc ‚n fc Backpropagate tł fc ‚n pool Backpropagate tł pool ‚n conv Backpropagate tł conv ‚n conv Backpropagate tł conv ‚n pool C“p nh“t trång sŁ giœa hai fc layer C“p nh“t trång sŁ giœa fc layer v pool layer C“p nh“t trång sŁ giœa hai conv layer C“p nh“t trång sŁ tł conv ‚n pool cơng giŁng nh÷ tł c input C“p nh“t Coefficient giœa hai fc layer C“p nh“t Coefficient tł fc ‚n pool công giŁng nh÷ tł co pool C“p nh“t Coefficient giœa hai conv layer 2.15 2.16 2.17 2.18 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28 3.1 Ki‚n trúc RNN, vợi d liằu ữổc lan truyãn theo cÊ "k v "thíi gian" Trong v‰ dư, chi•u thíi gian câ k‰ch t khæng gian câ k‰ch thøc l Hữợng backward ki‚n tróc Do â khỉng th” t‰n dient cıa mºt layer m khæng t‰nh to¡n nhœng c¡i m qua C¡c chi ti‚t cıa RNN hidden unit 3.2 3.3 viii DANHS CHHNHV 3.4 CĂch hidden unit RNN tữỡng tĂc vợi 3.5 Chi ti‚t LSTM hidden unit 3.6 C¡ch c¡c LSTM hidden unit t÷ìng t¡c vỵi 49 4.1 Minh håa dœ li»u cıa CIFAR-10 4.2 Mæ h…nh CNN ìn gi£n cıa chóng tỉi 60 59 ix 53 54 vỵi (t)( ) yf ; ( = f )~(t)( hf ) ( + f ) ; (3.30) (3.31) v ~(t)( hf (t)( ) ) hf = r f v h = ^() Tmb T Tmb mb X f t=0 t=0 X 55 h(ft)( ) ^() hf : (3.33) i•u quan trång l phÊi tnh tng cho trung bnh v phữỡng sai, iãu n y phöc vö cho vi»c ¡nh gi¡ cıa cross-validation v t“p ki”m tra (gåi e l sŁ vỈng l°p iterations/epochs) h i E h(ft)( h Var h(ft)( (3.34) ) e+1 i ) (3.35) e+1 h (t)( ) v ÷ỉc sß dưng ð cuŁi l E hf 3.5.4 Backpropagation LSTM labelsec:appendbackproplstm Backpropagation LSTM cõ cĐu trúc tữỡng tỹ RNN, cö th” l f (t)(N and (3.37) (t)( ) f Nhœng thay Œi l h…nh thøc cıa H, ÷æc x¡c ành bði Of(t)( ) (t)( ) I(t)( F f 56 ; (3.38) f Gf(t)( v ) ) Hff (t)( )a = + 3.5.5 foa( +1)f fga( +1)f C“p nh“t trång sŁ v coefficient LSTM ging nhữ cho RNN, (những vợi H T ữổc nh nghắa mửc ??), vợi = ta cõ Tmb ( )f f n‚u ng÷ỉc l⁄i T Tmb X Xt ( )f f0 =0 ; f0 ( y (f )(t) f( )(t) f(0 )(t) (3.43) T Tmb XX )f = f =1 t=0 (f )(t) f( y )(t) f(0 1)(t) ; (3.44) ( ) XX f ( ) t=0 X t=0 (3.46) v T Tmb 57 Chữỡng XƠy dỹng mổ hnh minh hồa 4.1 Giợi thiằu chữỡng n y, chóng tỉi s‡ mỉ t£ l⁄i qu¡ tr…nh thüc hi»n cơng nh÷ ¡nh gi¡ k‚t qu£ c¡c th‰ nghi»m thỹc hiằn phƠn loi Ênh vợi mt b d li»u phŒ bi‚n Chóng tỉi hu§n luy»n mºt mỉ h…nh ìn gi£n thuºc lo⁄i convolutional neural network v ¡p düng c¡c ki‚n thøc ¢ t…m hi”u: convolutional, max pooling, droput v fully connected layers 4.2 M nguỗn M nguỗn ữổc chia sà ti https://github.com/danhph/friendly-cnn Mổi trữớng lp trnh sò dửng Anaconda vỵi Python 3.x v Tensorflow Vi»c c i °t d d ng vợi bữợc: TÊi phn mãm Anaconda t⁄i àa ch¿ https://anaconda.org/anaconda/python Ch⁄y c¥u l»nh c i t mổi trữớng thữ mửc chứa m nguỗn: conda env create -f setup_env.yml K‰ch ho⁄t mỉi tr÷íng l“p tr…nh: source activate friendly-cnn 58 H…nh 4.1: Minh håa dœ li»u cıa CIFAR-10 4.3 Dœ li»u Chóng tỉi sß dửng b d liằu CIFAR-10 Krizhevsky et al bao gỗm 60000 Ênh m u cõ kch thữợc 32x32 vợi ph¥n nhâm 10 v câ 6000 £nh mØi nhâm Bº d liằu ữổc chia l m 50000 Ênh huĐn luy»n v 10000 £nh ” thß nghi»m Bº dœ li»u ữổc chia th nh nôm batch huĐn luyằn v mt batch thß nghi»m, mØi ỉi câ 10000 h…nh £nh C¡c batch thò nghiằm chứa chnh xĂc 1000 hnh Ênh ữổc lỹa chồn ngÔu nhiản t mỉi lợp CĂc batch huĐn luy»n chøa c¡c h…nh £nh cỈn l⁄i theo thø tü ngÔu nhiản, mt s batch huĐn luyằn cõ th chứa nhiãu hnh Ênh ca lợp n y hỡn lợp kh¡c MØi batch chøa c¡c nh¢n v £nh thuºc c¡c nhâm sau: airplane, automobile, bird, cat, deer, dog, frog, horse, ship v truck nh÷ mỉ t£ h…nh 4.1 4.4 XƠy dỹng mổ hnh u tiản, chúng tổi xƠy dỹng c¡c conv-maxpool layer (k‚t hæp Convolution v Max Pooling Layer) vợi h m kch hot ReLU Bản cnh õ, chúng tổi cụng xƠy dỹng cĂc Fully-Connected Layer TĐt cÊ chúng ãu ữổc tỹ xƠy dỹng li dỹa trản 59 I n p u t O C o n v P o o l C o n v P C o o o n v l P o o l F u l l F u l l u t p u t H … n h : M ỉ h … n h C N N ì n g i £ n c ı a c h ó n g t æ i c¡c TensorFlow package def co nv 2d _m ax po ol( x_t en sor , co nv _n um _o utp uts , co nv _k siz e, co nv _st rid es, po ol_ ksi ze, po ol_ stri de s): onvolutio n then max x= pooling totf.nn.bias """ :_add(x, x_tensor conv_bia param pool_ksiz s) e = [1, x_tensor: x= *pool_ksi TensorFlo ze, 1]tf.nn.relu( w Tensor x) pool_strid :param x = es = [1, conv_nu tf.nn.max *pool_stri m_output_pool(x, des, 1] s: Num ofpool_ksiz conv_stri outputs e, des = [1, for the pool_strid *conv_stri convoluti es, 1] onal des, layerpadding= :param SAME’ conv_ksiz conv_wei return e: kernal ghts = size 2-D tf.Variable Tuple(tf.rando for the m_normal convoluti ([*conv_k onal size, layer 60 :param x_tensor.sha conv_stri pe[3].value, des: conv_num_o Stride 2utputs], D Tuple stddev=0.05)) for conv_bia convoluti s= on tf.Variable :param (tf.zeros(c pool_ksiz onv_num e: kernal _outputs) size 2-D ) Tuple for pool x= :param pool_strid es: Stride 2-D Tuple for pool : """ A p p l y c def fully_conn(x_tensor, num_outputs): """ Apply a fully connected layer to x_tensor using weight and bias : x_tensor: A 2-D tensor where the first dimension is batch size : num_outputs: The number of output that the new tensor should be : return: A 2-D tensor where the second dimension is num_outputs """ weights = tf.Variable(tf.random_normal((x_tensor.shape[1].value, num_outputs), stddev=0.05)) bias = tf.Variable(tf.zeros(num_outputs)) x = tf.add(tf.matmul(x_tensor, weights), bias) x = tf.nn.relu(x) return x K‚ ti‚p chóng tỉi x¥y düng mỉ h…nh vỵi ba conv2d_maxpool layer, theo sau bði fully_conn layer k‚t hỉp dropout layer 4.5 Hu§n luy»n mỉ h…nh Sau thß c¡c bº tham sŁ (epochs, keep_probability) kh¡c Mỉ h…nh cuŁi cıa chóng tỉi sß dưng epochs l 50 v keep_probability l 0:6 Trong mØi lƒn hu§n luy»n, chóng tỉi hu§n luy»n mỉ h…nh tr¶n mºt batch ìn cıa CIFAR-10 ” ti‚t ki»m thíi gian Sau ⁄t ÷ỉc º ch‰nh x¡c cao tŁt hỡn, chúng tổi tip túc huĐn luyằn mổ hnh trản to n bº dœ li»u Chóng tỉi sß dưng loss function l h m softmax cross entropy v ¡nh gi¡ mổ hnh dỹa trản t lằ phn trôm dỹ oĂn chnh xĂc nhÂn ca Ênh 61 4.6 Kt quÊ Vợi k‚t qu£ ki”m thß, mỉ h…nh cıa chóng tỉi cho º ch‰nh x¡c l 68:32% ¥y khỉng ph£i l mºt kt quÊ thĐp i vợi mt mổ hnh CNN ỡn giÊn V cặn rĐt nhiãu k thut khĂc m chúng tỉi ch÷a ¡p dưng 62 Ch÷ìng K‚t lu“n v hữợng phĂt trin B i bĂo cĂo n y tng k‚t l⁄i nhœng t…m hi”u cıa chóng tỉi v• kÿ thu“t Deep Learning Chóng tỉi ¢ tr…nh b y l⁄i ki‚n tróc cıa ba lo⁄i neutral network phŒ bi‚n nh§t, cơng c¡c cỉng thøc to¡n håc dịng ” hu§n luy»n c¡c mỉ h…nh n y mºt c¡ch c'n th“n Vỵi nhng kin thức n y, chúng tổi  hiu thảm vã cĂch mt mổ hnh neutral network ữổc thit k cụng nhữ cĂch nõ hot ng Bản canh õ, chúng tổi cụng  xƠy dỹng mt mổ hnh ỡn giÊn thỉng qua c¡c ki‚n thøc ¢ t…m hi”u Deep Learning l mt lắnh vỹc phĂt trin rĐt nhanh v cĂc mỉ h…nh hi»n t⁄i s‡ lØi thíi t÷ìng lai gn Tuy nhiản nhng cĂch tip cn  ữổc chúng tổi giợi thiằu vÔn s giúp ch cho viằc hiu nhœng nguy¶n l‰ ph‰a sau c¡c mỉ h…nh ti¶n ti‚n sau n y B¡o c¡o n y l mºt b i tŒng hỉp ki‚n thøc vỵi mong muŁn gióp c¡c ồc giÊ d d ng tip cn vợi lắnh vỹc Deep Learning Tuy  nỉ lỹc rĐt nhiãu khổng th thiu sõt, nhĐt l nhng sai sõt liản quan n vĐn ã dch cĂc thut ng gia Ting Anh v Ti‚ng Vi»t Chóng tỉi s‡ ti‚p tưc bŒ sung v cp nht cĂc kin thức mợi lắnh vỹc cụng nhữ chnh sòa cĂc lỉi dch ca thut ng cho b i b¡o c¡o n y t÷ìng lai 63 Trch dÔn Bengio, Y., Simard, P & Frasconi, P (1994) Learning long-term dependencies with gradient descent is difficult IEEE transactions on neural networks, 5, 157 166 52 Bengio, Y et al (2009) Learning deep architectures for Foundations and trends R in Machine Learning, 2, 127 x Duchi, J., Hazan, E & Singer, Y (2011) Adaptive subgradient methods for online learning and stochastic optimization J Mach Learn Res., 12, 2121 2159 20 Epelbaum, T (2017) Deep learning: Technical introduction ArXiv e-prints i Gatys, L.A., Ecker, A.S & Bethge, M (2015) A neural algorithm of artistic style arXiv preprint arXiv:1508.06576 x Gers, F.A., Schmidhuber, J.A & Cummins, F.A (2000) Learning to for-get: Continual prediction with lstm Neural Comput., 12, 2451 2471 52 Graves, A (2011) Supervised Sequence Labelling with Recurrent Neural Net-works 45 Gu, J., Wang, Z., Kuen, J., Ma, L., Shahroudy, A., Shuai, B., Liu, T., Wang, X & Wang, G (2015) Recent advances in convolutional neural networks CoRR, abs/1512.07108 33 Gupta, A., Wang, H & Ganapathiraju, M (2015) Learning structure in gene expression data using deep architectures, with an application to gene clus- 64 TRCHD N tering In Bioinformatics and Biomedicine (BIBM), 2015 IEEE International Conference on, 1328 1335, IEEE x He, K., Zhang, X., Ren, S & Sun, J (2015) Deep residual learning for image recognition 36 Ioffe, S & Szegedy, C (2015) Batch normalization: Accelerating deep network training by reducing internal covariate shift 13 Kingma, D & Ba, J (2014) Adam: A method for stochastic optimization 22 Krizhevsky, A., Nair, V & Hinton, G (????) Cifar-10 (canadian institute for advanced research), 2009a URL http://www cs toronto edu/kriz/cifar html 59 Krizhevsky, A., Sutskever, I & Hinton, G.E (2012) Imagenet classifi-cation with deep convolutional neural networks In F Pereira, C.J.C Burges, L Bottou & K.Q Weinberger, eds., Advances in Neural Information Processing Systems 25 , 1097 1105, Curran Associates, Inc 34 Lecun, Y., Bottou, L., Bengio, Y & Haffner, P (1998) Gradient-based learning applied to document recognition In Proceedings of the IEEE , 2278 2324 34 LeCun, Y., Bottou, L., Orr, G.B & Muller, K.R (1998) Effiicient backprop In Neural Networks: Tricks of the Trade, This Book is an Outgrowth of a 1996 NIPS Workshop, 50, Springer-Verlag, London, UK, UK 15 LeCun, Y., Bengio, Y & Hinton, G (2015) Deep learning Nature, 521, 436 444 ii Nesterov, Y (1983) A method for unconstrained convex minimization problem with the rate of convergence o (1/k2) In Doklady an SSSR, vol 269, 543 547 20 Osako, K., Singh, R & Raj, B (2015) Complex recurrent neural networks for denoising speech signals In Applications of Signal Processing to Audio and Acoustics (WASPAA), 2015 IEEE Workshop on, 5, IEEE x 65 TRCHD N Qian, N (1999) On the momentum term in gradient descent learning algorithms Neural Networks, 12, 145 151 19 Rosenblatt, F (1958) The perceptron: A probabilistic model for information storage and organization in the brain Psychological Review, 65 386 x Simonyan, K & Zisserman, A (2014) Very deep convolutional networks for large-scale image recognition CoRR, abs/1409.1556 35 Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I & Salakhutdinov, R (2014) Dropout: A simple way to prevent neural net-works from overfitting J Mach Learn Res., 15, 1929 1958 13 Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., Erhan, D., Vanhoucke, V & Rabinovich, A (2015) Going deeper with convolutions In Computer Vision and Pattern Recognition (CVPR) 35 Wang, H., Meghawat, A., Morency, L.P & Xing, E.P (2016) Select-additive learning: Improving cross-individual generalization in multimodal sentiment analysis arXiv preprint arXiv:1609.05244 x Wang, H., Raj, B & Xing, E.P (2017) On the origin of deep learning CoRR, abs/1702.07800 i Zeiler, M.D (2012) Adadelta: An adaptive learning rate method CoRR, abs/1212.5701 21 66 ... dòng deep learning ” phƠn tch tƠm lỵ t nhiãu phữỡng thức ỗng thới; vv ¥y l giai o⁄n chøng ki”n sü bịng nŒ ca lắnh vỹc nghiản cứu deep learning tham gia v thóc 'y qu¡ tr…nh nghi¶n cøu deep learning, ... cĂc bn  ồc b i b¡o c¡o n y T´MT T Deep learning l mt hữợng tip cn ca lắnh vỹc tr tuằ nhƠn to (Artificial Intelligence - AI) ang ữổc b n lu“n sỉi nŒi Deep learning ¢ c£i thi»n mºt c¡ch Ăng k... khõ khôn chnh xò l c¡c ki‚n tróc deep learning l l m cho hu§n luy»n deep neural network mæt c¡ch hi»u qu£ ” ⁄t ÷ỉc •u â, nhi•u kÿ thu“t regularization ÷ỉc ph¡t minh Chóng tỉi s‡ ¡nh gi¡ chung