scieee Open visual document viewer

A deep learning approach for automatically generating descriptions of images containing people

Aracil Muñoz, Marta

Abstract

Generating image descriptions is a challenging Artificial Intelligence problem with many interesting applications such as robots’ communication or helping visually impaired people. However, it is a complex task for computers: it requires Computer Vision algorithms, to understand what the image depicts, and Natural Language Processing algorithms, to generate a well-formed sentence. Nowadays, deep neural networks are the state-of-the-art in these two Artificial Intelligence fields. Furthermore, we believe that images that contain people are described in a slightly different manner and that restricting an image description generator model to these images may produce better descriptions. Therefore, the main objective of this project is to develop a Deep Learning model that automatically produces descriptions of images containing people and to conclude if it is a good practice the restriction to this kind of images. For this purpose, we have reviewed and studied the literature in the field and we have built, trained and compared four different models using Deep Learning techniques and a GPU to speed-up the computation, as well as a big and complete dataset.

Full text

A deep lea ning app oach o au oma ically gene a ing desc ip ions o images con aining people T abajo de Fin de G ado Cu so 2017–2018 Au o Ma a A acil Mu˜noz Di ec o es Gonzalo M´endez Pozo Raquel He ´as Balles e os G ado en Ingenie ´ıa In o m´a ica Facul ad de In o m´a ica Uni e sidad Complu ense de Mad id A deep lea ning app oach o au oma ically gene a ing desc ip ions o images con aining people T abajo de Fin de G ado en Ingenie ´ıa In o m´a ica Depa amen o de Ingenie ´ıa del So wa e e In eligencia A i icial Au o Ma a A acil Mu˜noz Di ec o es Gonzalo M´endez Pozo Raquel He ´as Balles e os Con oca o ia: Sep iemb e 2018 G ado en Ingenie ´ıa In o m´a ica Facul ad de In o m´a ica Uni e sidad Complu ense de Mad id Abs ac Gene a ing image desc ip ions is a challenging A i icial In elligence p oblem wi h many in e es ing applica ions such as obo s’ communica ion o helping isually impai ed people. Howe e , i is a complex ask o compu e s: i equi es Compu e Vision algo i hms, o unde s and wha he image depic s, and Na u al Language P ocessing algo i hms, o gene a e a well- o med sen ence. Nowadays, deep neu al ne wo ks a e he s a e-o - he-a in hese wo A i icial In elligence ields. Fu he mo e, we belie e ha images ha con ain people a e desc ibed in a sligh ly di e en manne and ha es ic ing an image desc ip ion gene a o model o hese images may p oduce be e desc ip ions. The e o e, he main objec i e o his p ojec is o de elop a Deep Lea ning model ha au oma ically p oduces desc ip ions o images con aining people and o conclude i i is a good p ac ice he es ic ion o his kind o images. Fo his pu pose, we ha e e iewed and s udied he li e a u e in he ield and we ha e buil , ained and compa ed ou di e en models using Deep Lea ning echniques and a GPU o speed-up he compu a ion, as well as a big and comple e da ase . Keywo ds Deep Lea ning, Compu e Vision, Na u al Language P ocessing, image desc ip ion gene - a ion, Ke as, GPU, da ase . Resumen Gene a desc ipciones de im´agenes es un p oblema de In eligencia A i icial con muchas aplicaciones in e esan es como la comunicaci´on de obo s o ayuda a pe sonas con dis- capacidad isual. Sin emba go, es una a ea compleja pa a un o denado : equie e algo- i mos de isi´on po compu ado pa a en ende lo que la imagen ep esen a y algo i mos de p ocesamien o de lenguaje na u al pa a gene a una ase bien o mada. Hoy en d´ıa, las edes neu onales p o undas son el es ado del a e en es os dos campos de la In eligencia A i icial. Po o a pa e, c eemos que las im´agenes que con ienen pe sonas se desc iben de man- e a lige amen e di e en e y que es ingi un modelo de gene aci´on de desc ipciones de im´agenes a im´agenes de es e ipo puede p oduci mejo es desc ipciones. Po lo an o, el p incipal obje i o de es e p oyec o es desa olla un modelo de ap endizaje p o undo que p oduce au om´a icamen e desc ipciones de im´agenes que con ienen pe sonas y conclui si es una buena p ´ac ica la es icci´on a es a clase de im´agenes. Pa a ello, hemos e isado y es udiado la li e a u a y hemos cons uido, en enado y compa ado cua o modelos di e - en es usando ´ecnicas de ap endizaje p o undo y una GPU pa a acele a los c´alculos, as´ı como un da ase g ande y comple o. Palab as cla e Ap endizaje p o undo, isi´on po compu ado , p ocesamien o de lenguaje na u al, gen- e aci´on de desc ipciones de im´agenes, Ke as, GPU, da ase . ii Con en s 1 In oduc ion and objec i es 1 1.1 Objec i es..................................... 2 1.2 Documen s uc u e ............................... 3 2 In oducci´on y obje i os 5 2.1 Obje i os ..................................... 6 2.2 Es uc u a del documen o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 S a e o he a 9 3.1 T adi ional algo i hms o image analysis . . . . . . . . . . . . . . . . . . . 10 3.2 T adi ional app oach o NLG . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3 MachineLea ning................................. 11 3.4 DeepLea ning .................................. 13 3.4.1 Feed o wa d Neu al Ne wo ks . . . . . . . . . . . . . . . . . . . . . . 14 3.4.2 Con olu ional Neu al Ne wo ks . . . . . . . . . . . . . . . . . . . . . 15 3.4.3 Recu en Neu al Ne wo ks . . . . . . . . . . . . . . . . . . . . . . . 17 3.5 Image desc ip ion gene a o s . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4 F amewo k 21 4.1 GPU........................................ 21 4.2 Deep Lea ning amewo k . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.3 Visualiza ion: Tenso Boa d . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.4 Imageda ase s .................................. 25 4.4.1 Da ase elec ion ............................. 28 ix 4CHAPTER 1. INTRODUCTION AND OBJECTIVES Chap e 2 In oducci´on y obje i os En nues a condici´on de humanos, cons an e e inconscien emen e hacemos desc ipciones del mundo que nos odea pa a comunica nos con la gen e. Desc ibimos lo que emos en muchas si uaciones di e en es, como po ejemplo cuando damos indicaciones a alguien sob e c´omo i a alg´un si io (sigue ec o has a que eas el edi icio ojo y despu´es gi a a la de echa a la calle que iene los ´a boles g andes y una uen e), cuando le con amos una his o ia a un amigo (es aba de comp as cuando me encon ´e a Sa a de la mano de un se˜no mayo al o) o cuando subimos una o o a In e ne (¡Pas´andomelo genial en la playa con mi es ido azul nue o!). Mien as que es as desc ipciones las hacemos de mane a sencilla y na u al, sin ene que pensa lo demasiado, gene a au om´a icamen e desc ipciones de lo que hay en una imagen es una a ea muy compleja y exigen e pa a un o denado . Gene a una buena desc ipci´on de una imagen equie e p ime o analiza y en ende lo que apa ece en ella y despu´es gene a una ase en lenguaje na u al que explique esos elemen os, es ´e bien o mada y sea concisa. Po lo an o, gene a desc ipciones de im´agenes es m´as di ´ıcil que las ´ıpicas a eas del campo de isi´on po compu ado , como son la clasi icaci´on de im´agenes o la de ecci´on de obje os, ya que conlle a no solo ´ecnicas de Visi´on po Compu ado (CV), sino ambi´en P ocesamien o del Lenguaje Na u al (NLP); dos campos de la In eligencia A i icial que po lo gene al han lle ado caminos sepa ados y no se suelen es udia ni aplica en conjun o. La gene aci´on de desc ipciones de im´agenes se puede conside a como un caso pa icu- la de la aducci´on au om´a ica donde, en luga de aduci una ase dada a o o idioma, hay que aduci una imagen de en ada a su desc ipci´on. La imagen de en ada debe se codi icada a un ec o de ep esen aci´on y, despu´es, es a ep esen aci´on debe se decodi i- cada a una ase en lenguaje na u al. Pa a log a es o, podemos combina esul ados del es ado del a e de ambos campos: los esul ados de Visi´on po Compu ado pa a ob ene el ec o de ep esen aci´on y los de NLP (en pa icula , el es ado del a e de la Gene aci´on de Lenguaje Na u al (NLG)) pa a cons ui la desc ipci´on. Es e p oblema an in e esan e de In eligencia A i icial ha despe ado el in e ´es de g andes emp esas como Facebook o Google. El p oblema de desc ibi im´agenes au- 5 6CHAPTER 2. INTRODUCCI ´ ON Y OBJETIVOS om´a icamen e no solo es a ac i o po su in e ´es acad´emico y cien ´ı ico, sino ambi´en po sus muchas aplicaciones. La p incipal y m´as impo an e aplicaci´on es gene a des- c ipciones pa a las pe sonas con alguna discapacidad isual, bien sea pa a ayuda les en su d´ıa a d´ıa (po ejemplo, pa a mo e se po la ciudad o comp a en un supe me cado), pa a ace ca les a la cul u a gene ando desc ipciones de los cuad os de un museo o, como i imos en un mundo cla amen e dominado po o os, pa a hace m´as accesibles las edes sociales, y las p´aginas de In e ne en gene al. Pe o ambi´en iene o as aplicaciones como po ejemplo en ob´o ica pa a la comunicaci´on de los obo s ( ans o mando en ases lo que en e iden i icando con qui´en es ´an hablando) o en medicina pa a desc ibi im´agenes m´edicas. Po o o lado, en los ´ul imos a˜nos hemos podido p esencia un inc e´ıble aumen o del in e ´es en ob ene in o maci´on de los da os y es amos ac ualmen e en lo que llaman la e a da a-d i en (di igida po los da os). Cada d´ıa, se c ean millones de nue os da os, muchas emp esas ienen ecogida una g an can idad de da os y quie en saca les p o echo, descub iendo pa ones ocul os y pe spec i as pa a ob ene buenas decisiones de nego- cio. Debido a es a g an can idad de da os disponibles y al c ecimien o de la capacidad compu acional pa a ealiza c´alculos complejos, las ´ecnicas de ap endizaje au om´a ico y ap endizaje p o undo se han podido desa olla y es udia con i i´endose en el es ado del a e en muchos campos, lo que ha hecho que es ´en en boca de odos. Po lo an o, es e abajo busca auna es os dos concep os an popula es y a ac i os, desa ollando un gene ado de desc ipciones de im´agenes u ilizando ´ecnicas de ap endizaje p o undo. 2.1 Obje i os Respec o a las desc ipciones de im´agenes, Be na di e al. [Be na di e al., 2016] dis inguen dos en oques p incipales pa a su gene aci´on: modelos que gene an desc ipciones nue as pa a una imagen de en ada y modelos que cons uyen la desc ipci´on ellenando plan illas o usando desc ipciones asociadas a im´agenes simila es; noso os cen a emos nues o abajo en los p ime os. Vamos a limi a el alcance de es e abajo a gene a desc ipciones de im´agenes de pe sonas, ya que conside amos que es un en oque in e esan e y pod emos cen a odos los es ue zos en ello. El abajo elacionado en el campo de la gene aci´on au om´a ica de desc ipciones de im´agenes no se suele cen a en un ema en conc e o, a ando de aba ca odas las posibles desc ipciones e im´agenes y no le han dado demasiada a enci´on a las im´agenes de pe sonas. Conside amos que no desc ibimos de la misma mane a a una pe sona que a o os elemen os de una imagen, y po an o, al es ingi nos a im´agenes de pe sonas podemos ob ene mejo es desc ipciones y esul ados. Con odo es o, los obje i os p incipales de es e abajo son: •Re isa y analiza la bibliog a ´ıa y el es ado del a e de las ´ecnicas de gene aci´on 2.2. ESTRUCTURA DEL DOCUMENTO 7 de desc ipciones de im´agenes. •Es udia y en ende los modelos de ap endizaje p o undo y sus aplicaciones. •Es udia los di e en es en o nos de abajo y he amien as en ocadas al ap endizaje p o undo. •Desa olla di e en es modelos que gene en au om´a icamen e desc ipciones de im´a- genes de pe sonas y a a de ep oduci los esul ados del es ado del a e. •E alua y compa a los dis in os modelos c eados y de e mina cu´al es el mejo y si es sa is ac o io cen a los es ue zos y limi a nues os modelos a ca ac e ´ıs icas de pe sonas. 2.2 Es uc u a del documen o La es uc u a de es e documen o se ´a la siguien e: el Cap´ı ulo 3 da una explicaci´on muy de allada del es ado del a e an o en el campo de la Gene aci´on de Lenguaje Na u al como en el de Visi´on po Compu ado , en es e cap´ı ulo ambi´en se de allan algunos gene ado es de desc ipciones de im´agenes. En el Cap´ı ulo 4 in oducimos el en o no de abajo en el que desa olla emos es e abajo; en pa icula , explicamos las GPUs, el en o no cloud compu ing, qu´e lib e ´ıas pa a ap endizaje p o undo y isualizaci´on usa emos y la elecci´on del da ase . El Cap´ı ulo 5 es el p incipal de es e abajo; a paso a paso po el p oceso de de inici´on y en enamien o de los modelos. Explicamos en es e cap´ı ulo odas las ca ac e ´ıs icas y componen es de los modelos y odas las decisiones omadas al de ini los y en ena los. El Cap´ı ulo 6 es ´a dedicado a mos a los esul ados ob enidos, el p oceso de es ing y las m´e icas m´as conocidas. Po ´ul imo, en el Cap´ı ulo 8 p esen amos las conclusiones del abajo y damos posibles l´ıneas de abajo u u o. 8CHAPTER 2. INTRODUCCI ´ ON Y OBJETIVOS Chap e 3 S a e o he a Image analysis has been a challenging p oblem in esea che s’ minds o a long ime now. A i s , his p oblem was ackled by a adi ional compu e ision app oach, wi h explici p ocessing algo i hms. Then, Machine Lea ning models appea ed and hey we e he s a e- o - he-a in his ield un il 2010, when aining complex deep neu al ne wo ks s a ed o become a possibili y hanks o he use o GPUs compu a ional powe and he a ailabili y o mo e da a. As o oday, hese neu al ne wo ks, in pa icula Con olu ional Neu al Ne wo ks, a e he s a e-o - he-a in all image analysis challenges. Simila ly, he ask o Na u al Language Gene a ion (NLG), has been aced by classical s ep-by-s ep algo i hms, as well as Machine Lea ning and Deep Lea ning models. In pa icula , Recu en Neu al Ne wo ks a e, as o oday, he s a e-o - he-a in gene a ing na u al language sen ences and ex s. Image desc ip ion combines bo h compu e ision and na u al language p ocessing ields, and, nowadays, he s a e-o - he-a esul s a e a combina ion o Con olu ional Neu- al Ne wo ks, ha ocus on ex ac ing image ea u es, and Recu en Neu al Ne wo ks, o gene a e he sen ence. In his chap e we will p esen p e ious wo k in he ield o image analysis and Na u al Language Gene a ion, and how hese ields ha e been add essed ac oss ime, om he poin o iew o adi ional and explici algo i hms o he one o Deep Lea ning models. We s a wi h a b ie in oduc ion o adi ional algo i hms o compu e ision and language gene a ion, we hen explain he main cha ac e is ics o Machine Lea ning and we con inue wi h Deep Lea ning. In he las sec ion o his chap e , we discuss some well-known image cap ion gene a o s. 9 10 CHAPTER 3. STATE OF THE ART 3.1 T adi ional algo i hms o image analysis Image analysis consis s o he ex ac ion o impo an cha ac e is ics and ea u es o images by digi al image p ocessing echniques, and i has many di e en ields o applica ion, such as obo ics, secu i y, medicine o biology. T adi ional compu e ision algo i hms, in gene al, wo k by ex ac ing ea u e ec o s om images and using hem o classi y images. The e a e algo i hms esponsible o a pa icula ask (noise educ ion, image segmen a ion, co ne de ec ion, edge de ec ion...), ha hen wo k oge he wi h o he speci ic algo i hms o ca y ou he whole image p ocessing ask. The use o hese echniques o ex ac use ul s uc u al in o ma ion om images, such as edges, co ne s o colo s, educes signi ican ly he amoun o da a o be p ocessed, as i il e s ou non- ele an da a o ocus only in he use ul in o ma ion ex ac ed. The main ea u e de ec ion algo i hms in compu e ision a e: •Canny edge de ec o [Canny, 1986]. An edge is a sudden change in image b igh ness, ha is, a poin whe e he image b igh ness has discon inui ies. These discon inui ies usually co espond o changes in su ace o ien a ion, dep h, ma e ial p ope ies o scene illumina ion. The e o e, an edge de ec o may help o iden i y he bounda ies o objec s and su ace ma kings, as well as a ia ions in su ace o ien a ion. The Canny edge de ec o is one o he bes edge de ec o algo i hms, and can de ec a wide a ie y o edges in an image. I i s smoo hs he image by applying a Gaussian il e , hen inds in ensi y g adien s and selec s he po en ial edges. •Ha is co ne de ec o [Ha is and S ephens, 1988]. A co ne is in e p e ed as he in e sec ion o wo edges. I is a e y impo an image ea u e as i is a poin in a ian o ansla ion, o a ion and illumina ion. The Ha is co ne de ec o algo i hm ocuses on he de ec ion o co ne s in an image, educing he dimensionali y o da a o be p ocessed and i is used in many compu e ision applica ions such as mo ion acking o s e eo ision (ex ac ing 3D cha ac e is ics om images). I has been p o ed o be one o he mos accu a e algo i hms in dis inguishing be ween edges and co ne s. •SIFT (Scale-In a ian Fea u e T ans o m) [Lowe, 1999]. I is a ea u e desc ip ion algo i hm used o de ec and desc ibe ea u es in images. SIFT ea u es a e in a ian o image loca ion, scale and o a ion. A desc ip o ec o is compu ed o each one o he poin s o in e es in he image, so ha hey a e also obus o changes in noise and illumina ion. This algo i hm is use ul o many compu e ision applica ions, such as objec ecogni ion, mo ion acking, na iga ion o 3D modeling. •SURF (Speeded-Up Robus Fea u es) [Bay e al., 2006]. I is also a ea u e ex ac o and desc ip o . This algo i hm is a speeded-up e sion o SIFT. These objec de ec ion algo i hms usually come a e a p ocess o image segmen a ion, 3.2. TRADITIONAL APPROACH TO NLG 11 ha is, di iding he image in o i s cons i uen s pa s, and a e hen combined wi h adi- ional Machine Lea ning algo i hms (SVM o K-Nea es neighbo ) o image classi ica ion. 3.2 T adi ional app oach o NLG Na u al Language Gene a ion (NLG), in ol es p oducing unde s andable na u al language ex s om some inpu da a. I has many di e en in e es ing applica ions, besides gen- e a ing image desc ip ions, such as machine ansla ion, obo ics o ex ual summa ies o ad anced da abases (e.g., inancial o wea he o ecas s da ase s) [Goldbe g e al., 1994, Io danskaja e al., 1992, Wu e al., 2016]. T adi ional NLG algo i hms a e based on he ield o o mal language heo y and logic ules on which we can build he language. As Rei e and Dale [Rei e and Dale, 1997] s a e, adi ional algo i hms in NLG usually ollow hese s eps: 1. Con en de e mina ion: deciding which in o ma ion should be included in he ou - pu . This p ocess c ea es a se o messages om he inpu da a, and i is ypically done by il e ing and summa izing he da a and de ining he messages in some o mal language, usually applica ion-dependen . 2. Documen s uc u ing: o ganizing and s uc u ing he se o messages so ha he inal ex makes sense. The ou pu o his s ep is usually ep esen ed as a ee s uc u e. 3. Agg ega ion: me ging ela ed messages in o sen ences o compac he in o ma ion. This s ep is no manda o y bu enables luency and eadabili y. 4. Re e ing Exp essing Gene a ion: p oducing exp essions iden i ying objec s ha he ex e e s o, as well as deciding abou p onouns. I is ela ed o lexicaliza ion. 5. Lexicaliza ion: selec ing he speci ic wo ds and ph ases o be used o ep esen concep s and ela ions ha appea in he messages. 6. Realiza ion: applying ules o syn ax, mo phology and spelling o p oduce he inal ou pu , such as adding p eposi ions, making plu als o adding punc ua ion ma ks. 3.3 Machine Lea ning Machine Lea ning is he sub- ield o A i icial In elligence ha s udies compu e algo i hms ha imp o e au oma ically h ough expe ience. In con as o adi ional algo i hms, ha ha e speci ic ules o doing he asks hey a e equi ed o , Machine Lea ning algo i hms lea n concep s wi hou being explici ly p og ammed o doing so, iden i ying pa e ns om gi en examples o pe o m accu a ely on new, unseen da a by in e ing hese unco e ed 12 CHAPTER 3. STATE OF THE ART pa e ns. These algo i hms can lea n om and make p edic ions on la ge olumes o da a, no exclusi ely images. The ield s a ed o be s udied in he mid 1980s and ea ly 1990s, and became mo e popula a ound 2010 as mo e and mo e da a we e a ailable o lea ning and aining he Machine Lea ning models. This discipline has many applica ions in a wide a ie y o ields whe e designing and p og amming explici algo i hms wi h good pe o mance is di icul o in easible. These applica ions include oice ecogni ion, na u al language p ocessing, ansla ion, sea ch engines, compu e ision, obo ics, medical diagnosis, inancial ma ke analysis, ad e is- ing o ecommende sys ems [Pang e al., 2002, We nick e al., 2010, B idge e al., 2014, Sa ikaya e al., 2014, Baik and Bala, 2004]. We can classi y Machine Lea ning echniques in o wo ca ego ies: supe ised lea ning and unsupe ised lea ning. In supe ised lea ning, he Machine Lea ning algo i hm is gi en a se o sample inpu s oge he wi h hei desi ed ou pu s, so ha i can ain wi h hose examples o in e a gene alized unc ion ha maps inpu s in o ou pu s and p edic s well when gi en a new example. The e o e, al eady labeled-da a a e equi ed in his app oach. The e a e also some special cases o supe ised lea ning such as semi-supe ised lea n- ing, ha consis o a se o examples whe e no all o hem go wi h hei co esponding desi ed ou pu , ha is, he e a e labeled and unlabeled da a on he se ; ac i e lea ning, whe e he algo i hm has only a small ini ial se o labeled da a and i is able o in e ac- i ely make que ies o he use o ind he desi ed ou pu s o some unlabeled da a; and ein o cemen lea ning, whe e he e is some so o eedback ob ained om he ou side in a dynamic en i onmen as an answe o i s ac ions. Some o he main supe ised lea ning algo i hms and app oaches a e he ollowing: •Decision ees and andom o es s: hey a e used as a p edic i e model. In a decision ee, he b anches ep esen he obse a ions abou an i em, i s ea u es and he lea es ep esen class labels. Random o es s [Ho, 1995] cons uc many decision ees o make mo e accu a e p edic ions by ou pu ing a combina ion o he ou pu s o all hose decision ees, ypically he mode o mean. Random o es s a e e y popula as i is easy and clea o see and unde s and he decisions aken by hem, while o he Machine Lea ning algo i hms a e mo e obscu e. •Logis ic eg ession: i is a s a is ical me hod o model a bina y dependen a iable (classes 0 and 1) in e ms o one o mo e explana o y a iables, using he logis ic unc ion σ(z) = 1 1+e−z. This unc ion e u ns he p obabili y o belonging o class 1. The algo i hm’s ou pu is hen selec ed by compa ing he p obabili y o a gi en h eshold (usually 0.5). •Suppo Vec o Machines (SVM) [Co es and Vapnik, 1995]: i is a bina y classi i- ca ion algo i hm ha gi en a se o poin s o wo di e en classes in a n-dimensional 3.4. DEEP LEARNING 13 space, sepa a es hem wi h he hype plane ha is si ua ed he u hes om all he poin s. This algo i hm is only use ul i he poin s a e linea ly sepa able, i no , he algo i hm was imp o ed by including ke nels, ha p ojec he se o poin s in a bigge dimension space, o ob ain a hype su ace ha sepa a es he poin s in he ini ial space. •Neu al ne wo ks: i is a lea ning algo i hm whe e compu a ions a e s uc u ed in connec ed neu ons ha ansmi signals om one o ano he . The e o e, each neu- on’s inpu is he ou pu o ano he neu on (o he inpu o he algo i hm o he i s laye o neu ons), and each neu on’s ou pu is compu ed as a non-linea unc ion o he inpu . •Nea es neighbo algo i hm [Al man, 1992]: i is used bo h o classi ica ion ( he e a e a disc e e numbe o classes) and eg ession ( he a ge a iable is con inuous), and i is based on he in o ma ion o he k closes poin s. In classi ica ion, he ou pu is he mos common class among i s k neighbo s, and in eg ession he ou pu is he mean o he alues o hese neighbo s. Unsupe ised lea ning algo i hms lea n om a se o unlabeled da a, inpu examples wi hou hei desi ed ou pu , in e ing a unc ion ha can desc ibe he s uc u e in he da a. The e o e, he sys em mus be capable o inding pa e ns in he da a in o de o be able o label he new inpu s; bu , as he da a used o ain he algo i hm is unlabeled, he e is no way o e alua ing he accu acy o he pa e ns ound in i . The ollowing a e he mos common unsupe ised lea ning algo i hms: •Clus e ing: hese me hods di ide he da a se in o di e en subse s, o clus e s, so ha he poin s in he same clus e a e mo e simila be ween hem han be ween hose o o he g oups. The goal is o maximize he simila i y be ween poin s in he same subse and o maximize he di e ence be ween poin s o di e en subse s. •P incipal Componen Analysis (PCA) [Ho elling, 1933]: his algo i hm is used o educe he dimensionali y o he da a se , wi hou losing any impo an in o ma ion and il e ing edundancy, by making linea combina ions o he o iginal da a a iables and selec ing he ones ha ha e he la ges possible a iance and a e unco ela ed. 3.4 Deep Lea ning Deep lea ning is a Machine Lea ning echnique, based on neu al ne wo ks wi h many laye s be ween he inpu and he ou pu ones [LeCun e al., 2015]. Al hough he heo y behind Deep Lea ning has been de eloped o many yea s now, deep neu al ne wo ks need much compu e capaci y and labeled da a o pe o m apidly and co ec ly he complex asks i is use ul o . The e o e, Deep Lea ning has only ecen ly 20 CHAPTER 3. STATE OF THE ART Figu e 3.5: Cap ionbo This de ice is e en able o lea n new aces and objec s i he use shows hem o Ho us in di e en angles and speaking ou loud he name o he objec o he pe son. As we ha e seen, mo e and mo e sophis ica ed image cap ion gene a o s, o di e en pu poses and con ex s, a e being de eloped, showing he in e es and impac o his b and- new ield and esul ing in a ich li e a u e. Chap e 4 F amewo k T aining and de eloping Deep Lea ning models equi es g ea compu a ional capaci y and a good elec ion o he da ase . In his chap e , we explain wha a e GPUs and why a e hey use ul o de eloping Deep Lea ning p ojec s, which Deep Lea ning amewo k and isualiza ion ools we ha e selec ed and which da ase we use. We de eloped he p ojec using Py hon as p og amming language. 4.1 GPU GPUs (G aphics P ocessing Uni ) we e adi ionally c ea ed o compu e g aphics and image p ocessing o accele a e he complex calcula ions o eal- ime 2D and 3D g aphics ha esul ed in long p ocessing ime in CPUs. GPUs a e build o op imized asks based on he SIMD pa allel concep (Single In- s uc ion Mul iple Da a), ha is, he same ins uc ion applied epea edly o e a bunch o da a. Those epea ed applica ions o he same ins uc ion a e all independen and can, he e o e, be un simul aneously. Linea algeb a ope a ions a e inhe en ly pa allel and a e he basis o polygon ans o ma ions o scene ende ing in compu e g aphics. The e a e o he powe and ime consuming applica ions o pa allel na u e ha could be op imized by using a GPU, bu hey in ol e e o mula ing he p oblem in o g aphics p imi i es o be able o use hem, which is a e y complex ask. Fo ha eason, NVIDIA de eloped CUDA (Compu e Uni ied De ice A chi ec u e), a pa allel compu ing oolki simila o C p og amming language, o exploi GPUs capabili ies o gene al pu poses, which is commonly called GPGPU (Gene al Pu pose G aphics P ocessing Uni ). Linea algeb a is he basis o Deep Lea ning algo i hms, and also many Machine Lea n- ing algo i hms. Neu ons wi hin a laye apply all he same unc ion o di e en inpu da a, so hey could be also pa allelized and hence GPUs a e always used o aining hese models. 21 22 CHAPTER 4. FRAMEWORK Figu e 4.1: Deep Lea ning amewo ks popula i y Acqui ing a GPU is no cheap, he e exis s cloud compu ing pla o ms, such as Amazon Web Se ices1, Google Cloud Pla o m2o Mic oso Azu e3 ha con ain di e en se e s wi h se e al GPUs o allow use s o un hei models mo e economically. GAIA esea ch g oup has buil a se e wi h an NVIDIA Ti an X GPU in o de o main ain Deep Lea ning p ojec s o s uden s and p o esso s and ga e us access o i , so we will use i o aining his p ojec . 4.2 Deep Lea ning amewo k CUDA has a e y low le el API and makes implemen ing Deep Lea ning compu a ional g aphs conside ably edious. Fo his eason, many highe le el amewo ks we e c ea ed o easily desc ibing and de eloping he complex asks ha Deep Lea ning in ol es. The e is a wide numbe o amewo ks a ailable o Deep Lea ning aining, he ma- jo i y o hem open-sou ce and de eloped by big companies o uni e si y eams such as Mic oso , Google, In el o Be keley Uni e si y. The mos well-known and equen ly used amewo ks a e To ch [Collobe e al., 2011], Tenso low [Abadi e al., 2016], Ca e [Jia e al., 2014] and Theano [Theano De elopmen Team, 2016]. Among all hese amewo ks, Tenso low is p obably he mos popula one (as Fig- u e 4.1, ex ac ed om Google images, shows), used in dis inguished companies such as Ai bnb, Ube , D opbox o Twi e . I is an open-sou ce amewo k o ad anced nume i- cal compu a ion, de eloped by he Google B ain eam in 2015, eplacing hei p opie a y 1h ps://aws.amazon.com 2h ps://cloud.google.com/ 3h ps://azu e.mic oso .com 4.2. DEEP LEARNING FRAMEWORK 23 om ke as.models impo Sequen ial om ke as.laye s impo Dense # Building he model and lea ning con igu a ion model = Sequen ial() model.add(Dense(uni s=64, ac i a ion=’ elu’, inpu _dim=100)) model.add(Dense(uni s=10, ac i a ion=’so max’)) model.compile(loss=’ca ego ical_c ossen opy’, op imize =’sgd’, me ics=[’accu acy’]) # T aining, e alua ion and p edic ion # x_ ain, y_ ain, x_ es , y_ es and new_da a a e numpy a ays model. i (x_ ain, y_ ain, epochs=5, ba ch_size=32) loss_and_me ics = model.e alua e(x_ es , y_ es , ba ch_size=128) p edic ion = model.p edic (new_da a, ba ch_size=128) Figu e 4.2: A simple Ke as example code Machine Lea ning sys em Dis Belie [Dean e al., 2012], c ea ed in 2011. Tenso low is widely used o Deep Lea ning and Machine Lea ning and i is op imize o un models bo h on CPUs o GPUs. I p o ides an API o Py hon as well as o o he p og amming languages (C++, Haskell, Ja a...), bu he mos de eloped one is he Py hon lib a y. Tenso low wo ks well o modeling Con olu ional Neu al Ne wo ks and Recu en Neu al Ne wo ks. The basic objec in Tenso low lib a y is he enso , an abs ac ion o mul idimensional a ays, being a 1-dimensional enso a ec o and a 2-dimensional enso a ma ix. Deep Lea ning compu a ional g aphs a e build by desc ibing enso s’ ope a ions and g adien s a e calcula ed au oma ically using a speci ic unc ion. Howe e , p og amming in Tenso low can be di icul and he e exis s a highe le el API ha allows lexible Tenso low implemen a ions in a mo e use - iendly manne . This API is Ke as4, a high-le el open-sou ce Py hon lib a y o de eloping Deep Lea ning p ojec s mo e easily and eadable, c ea ed in 2015 by a Google enginee and eleased unde he MIT license. Ke as wo ks wi h Tenso low, as well as Theano o CNTK [Seide and Aga wal, 2016], as backend. In 2017 Tenso low included i as pa o i s lib a y and selec ed i as he p e e ed high-le el API. The basic s uc u e in Ke as is he model, a se o connec ed laye s. Compu a ional g aphs a e buil by s acking laye s wi h he add() unc ion, whe e he use only needs o speci y he laye s and he inpu s’ dimensions. Ke as lib a y p o ides he well-known laye s bu allows use s o also c ea e new ones. Con igu ing he aining p ocess is as simple as applying o he model he compile() unc ion wi h he speci ic condi ions (loss unc ion, op imize , me ics...). T aining, e alua ing he model and making p edic ions on unseen examples is done wi h jus o he high le el unc ions: i (),e alua e() and p edic () 4h ps://ke as.io/ 24 CHAPTER 4. FRAMEWORK espec i ely. Figu e 4.2 shows a simple example, ex ac ed om Ke as documen a ion, o how o use hese unc ions o build a neu al ne wo k wi h wo ully-connec ed laye s. The e o e, as ou needs a e co e ed in Ke as’ lib a y, i is widely ecommended o Deep Lea ning s a e s and i is mo e use - iendly, we decided o de elop ou model in Ke as on op o Tenso low. Ke as and Tenso low ins alla ion is done easily in Linux ia he pip ins all command, c ea ing p e iously a Py hon i ual en i onmen . 4.3 Visualiza ion: Tenso Boa d Deep Lea ning models a e composed o millions o complex calcula ions ha o en com- plica e, o e en make i impossible, o debug and unde s and he pa ame e s and me ics, wha happens du ing aining and wha is he neu al ne wo k lea ning. Fo his pu pose, Tenso low de eloped Tenso boa d5, a sui e o isualiza ion ools inside Tenso low lib a y ha allows use s o isualize compu a ion g aphs, me ics esul s and o he use ul cha s. Tenso Boa d wo ks by sa ing log iles, con aining execu ion in o ma ion abou he aining p ocess and he compu a ion g aph, in o a speci ic log di ec o y, and opening Tenso Boa d web se e o access he g aphic in e ace. The desi ed da a is ob ained wi h summa y ope a ions, enso ’s ope a ions ha p o- duce se ialized in o ma ion abou a model ha needs o be ead wi h Tenso Boa d. These summa y ope a ions ecei e he enso we wan o isualize and a meaning ul name o dis inguish all o hem. Then, all he summa ies c ea ed a e combined using .summa y.me ge all in o a single ope a ion ha gene a es all o hem. Finally, he se i- alized summa y is w i en o he speci ied di ec o y in disk wi h .summa y.FileW i e . To access he g aphic in e ace o Tenso Boa d o isualize he summa ies, we jus need o go o h p://localhos :6006 a e yping he ollowing command in he command line: $ enso boa d --logdi pa h/ o/log-di ec o y I is also possible o compa e isualiza ions o di e en execu ions by speci ying he pa hs o he log di ec o ies in he p e ious command. The appea ance o Tenso Boa d g aphic in e ace is shown in Figu e 4.3 Tenso Boa d con ains a wide a ie y o help ul isualiza ions: .summa y.scala , .summa y.his og am, .summa y.audio o .summa y.image, among o he s. The i s one is he mos used, i displays he a ia ion o a scala me ic o e ime, usually he loss o he lea ning a e. All hese isualiza ions admi some dynamic in e ac ions wi hin he Tenso Boa d in e ace. Using Tenso Boa d wi hin Ke as high-le el API i is e en easie . I is jus necessa y o include he callback enso boa d unc ion while aining, speci ying he log di ec o y. 5h ps://gi hub.com/ enso low/ enso boa d 4.4. IMAGE DATASETS 25 Figu e 4.3: Tenso Boa d web se e This unc ion will eco d da a o loss and accu acy me ics, as well as o he me ics speci ied in he compile unc ion. 4.4 Image da ase s Fo co ec ly aining and accu a ely e alua ing a good Machine Lea ning model, a sui able selec ion o elabo a ion o he da ase is c ucial. Once we ha e he da ase , i is di ided in o h ee disjoin subse s: aining, es and alida ion se s. T aining se is used o aining he model, i ing he model’s pa ame e s; es se is used once he model is ained, o p o ide an unbiased e alua ion o his inal model; alida ion se , also called de elopmen se o de se , is used while aining he model, o une he hype pa ame e s and o p e en o e i ing. As Deep Lea ning esea che s ha e a s ong in e es in he image analysis ield, du - ing hese yea s a lo o la ge and medium scale da ase s ha e been c ea ed o aining hese models and we can ind many o hem a ailable online. The mos popula ones a e explained below. 26 CHAPTER 4. FRAMEWORK ImageNe ImageNe 6is p obably he mos well-known image da ase in he Deep Lea ning and machine lea ning indus y. This image da ase is used mainly o classi ica ion pu poses and he classes a e o ganized based on he nouns in he Wo dNe [Mille , 1995] hie a chy. This image da abase was c ea ed in 2009 [Deng e al., 2009] by que ying image sea ch engines wi h Wo dNe ’s synse s. They ex ac ed a g ea numbe o candida e images o each synse and hen il e ed hem by c owd-sou cing in Amazon Mechanical Tu k (AMT)7. Since 2010, ImageNe also uns he ILSVRC (ImageNe La ge Scale Visual Recogni ion Challenge) annual isual challenge [Russako sky e al., 2015]. Nowadays, his challenge is hos ed in Kaggle8and i has h ee ca ego ies: image classi ica ion o 1000 classes, objec de ec ion (de ec he bounding box whe e he objec lays) o 200 classes and objec de ec ion om ideo o 30 classes. As o oday, ImageNe is one o he la ges image da abase a ailable. I has a o al o 14,197,122 anno a ed images o a wide a ie y o ca ego ies, wi h an a e age o o e i e hund ed images pe synse . Fo he pe son’s high-le el ca ego y ( he one we ha e in e es in), i holds a ound 952,000 images and i is di ided in 2,035 synse s wi h an a e age o 468 images pe synse . Images a e anno a ed wi h hei classi ica ion and 1,034,908 o hem also wi h hei bounding boxes. MS COCO MS COCO9(Mic oSo Common Objec s in COn ex ) da ase [Lin e al., 2014] is one o he mos widely used la ge-scale da ase s o image desc ip ion gene a ion and also o objec de ec ion, objec segmen a ion and pe son keypoin s de ec ion. Cu en ly, he MS COCO da ase consis s o o e 328,000 images o 91 basic objec ypes in na u ally occu ing con ex s. Each image is labeled wi h a leas i e cap ions desc ibing i , which leads o a o al o 2.5 million cap ions, and bounding boxes o each objec ca ego y ha appea s in he pic u e. They also con ain 250,000 people anno a ed wi h hei keypoin s. This da ase has also gi en ise o image challenges o objec de ec ion, keypoin s de- ec ion and image cap ioning. The la e is al eady closed, bu he e is an open e alua ion se e and API [Chen e al., 2015] o compa e o s a e-o - he-a me hods using se e al pe o mance me ics such as BLEU, ROUGE, METEOR and CIDE . 6h p://www.image-ne .o g/ 7A well-known c owd-sou cing online pla o m. h ps://www.m u k.com/ 8h ps://www.kaggle.com/ 9h p://cocoda ase .o g/#home 4.4. IMAGE DATASETS 27 PASCAL PASCAL10 (Pa e n Analysis S a is ical Modeling and Compu a ional Lea ning) Visual Objec Classes p ojec comp ised challenges [E e ingham e al., 2010] o image classi ica- ion, de ec ion and segmen a ion o eigh consecu i e yea s (2005-2012). Nowadays, he challenges a e closed bu i p o ides an image da abase and ools o ob aining hese im- ages and hei anno a ions, as well as an e alua ion se e . The la es da ase (PASCAL 2012 challenge) con ained 20 dis inc classes and mo e han 11,000 anno a ed images. These images we e collec ed om Flick . These da ase s ha e anno a ions o objec classi ica ion, de ec ion and segmen a ion, bu a subse o he Pascal 2008 challenge da ase was used o c ea e an image desc ip ion da abase, called Pascal1K. I con ains 1,000 images wi h objec s o di e en classes and is anno a ed wi h i e desc ip ions, gene a ed by humans on Amazon Mechanical Tu k c owd-sou cing pla o m. As i is a medium-scale da abase, i is gene ally used as a benchma k o e alua ing image desc ip ion models. Flick 8K and Flick 30K Flick 8K11 [Hodosh e al., 2013] da ase and i s ex ension Flick 30K12 [Young e al., 2014], con ain images om Flick , each one anno a ed wi h i e desc ip ions collec ed om he c owd-sou ce pla o m Amazon Mechanical Tu k (AMT). Flick 8K consis s o app oxi- ma ely 8,000 images and Flick 30K o a ound 30,000 images. These pic u es we e collec ed by he Uni e si y o Illinois by que ying Flick o speci ic objec s and ac ions. SBU SBU Cap ioned Pho o Da ase was speci ically c ea ed o he Im2Tex image cap ion gene a o [O donez e al., 2011]. I con ains 1 million Flick images labeled wi h hei o iginal cap ions gene a ed by hei use s, collec ed by que ying Flick o speci ic objec s and ac ions. I is a la ge-scale da ase bu no e y popula o aining image desc ip ion models as he labeled cap ions may con ain subjec i e in o ma ion o in o ma ion no con ained in he pic u e because hey we e gene a ed by he Flick use . CIFAR CIFAR-10 and CIFAR-100 (Canadian Ins i u e o Ad anced Resea ch) [K izhe sky, 2012] a e image classi ica ion da ase s ha di e only in he numbe o classes hey ha e (CIFAR- 10 has en classes and CIFAR-100 one hund ed classes, g ouped in o wen y supe classes). 10Download page: h p://hos . obo s.ox.ac.uk/pascal/VOC/ 11Fo m o downloading he Filck 8K da ase :h ps:// o ms.illinois.edu/sec/1713398 12Fo m o downloading he Filck 30K da ase : h ps:// o ms.illinois.edu/sec/229675 28 CHAPTER 4. FRAMEWORK Figu e 4.4: COCO cap ion da ase Bo h da ase s consis o 60,000 32x32 RGB images, CIFAR-10 holds 6,000 in each class and CIFAR-100 holds 600. Ke as p o ides buil -in unc ions o load hese da ase s. LabelMe LabelMe13 is an image da abase and an online anno a ion ool [Russell e al., 2008] c ea ed in he MIT Compu e Science and A i icial In elligence Labo a o y (CSAIL). The da ase is dynamic, ee o use and open o public con ibu ion, and i consis s o almos 200,000 images bu no all o hem a e ully anno a ed. I has mo e han 62,000 anno a ed images and mo e han 658,000 labeled objec s. The online anno a ion ool allows he use o d aw polygons, que y images, b owse he da abase o download a subse . 4.4.1 Da ase elec ion Ha ing s udied he cha ac e is ics o all hese da ase s, we decided o use he MS COCO da ase o aining and es ing ou model, as i con ains a wide numbe o images, i is one o he mos commonly used o image desc ip ion and i p o ides ools o downloading he da ase . They al eady p o ide a ain/ al/ es spli o he da ase , howe e , as his da ase was eleased o hei annual challenges, he es se does no come labeled and we will no be able o use i o es ing ou model, so we will c ea e ou own spli based on he aining and alida ion se s. 13Download page: h p://labelme.csail.mi .edu 4.4. IMAGE DATASETS 29 Figu e 4.4 shows some examples o wha can be ound in COCO cap ion da ase . In pa icula , we use he Py hon COCO API o download he MS COCO da ase and o selec a subse o i con aining only images o people, o es ic o ou objec i es he images we p o ide o he model. In addi ion, we also use he people’s subse (baby, boy,gi l,man and woman ca ego ies) o he CIFAR-100 da ase o ine- une he image ea u e-ex ac ion model we use, as explained in he nex chap e . 36 CHAPTER 5. DEEP LEARNING APPROACH """-----De ini ion o VGG16 ine- uned model-----""" de model_de ini ion(): gg16_model = VGG16(weigh s="imagene ", include_ op=False, inpu _shape=(224,224,3)) # Replace op laye gg16_ou pu = gg16_model.ou pu x1 = Fla en()( gg16_ou pu ) x2 = Dense(4096, ac i a ion=’ elu’, name=" c1")(x1) x3 = Dense(4096, ac i a ion=’ elu’, name=" c2")(x2) p edic ion = Dense(100, ac i a ion=’so max’, name="p edic ions")(x3) # C ea e model model = Model(inpu = gg16_model.inpu , ou pu =p edic ion) # Se i s laye s non- ainable o laye in model.laye s[:12]: laye . ainable = False model.compile(op imize =SGD(l =1e-3, decay=1e-6, momen um=0.9), loss=’ca ego ical_c ossen opy’, me ics=[’accu acy’]) e u n model Figu e 5.4: Py hon code o VGG16 ine- uned model de ini ion. unc ion wi h a ba ch size o 32 images and 30 epochs3, and sa e i in a hd 54 ile in o memo y using model.sa e(). 5.3 Da a p epa a ion Once we ha e ou ine- uned VGG16 model, we can s a de ining he models o gene a ing image desc ip ions. As we explained in he i s sec ion o his chap e , we will use COCO da ase , pa ly o en i ely depending on he model, o aining and es ing ou models. Fo una ely, COCO p o ides a Py hon API o loading in o memo y and pa sing he da ase in an easie way. To use his API, he da ase iles mus be downloaded om hei webpage in an speci ic di ec o y s uc u e. We ha e downloaded he 2014 da ase because i is he one ha con ains image desc ip ions as labels. A e cloning he gi hub p ojec and unning he Make ile, he API can be used by impo ing he pycoco ools.coco 3An epoch is an en i e i e a ion o e he whole aining da ase . The ba ch size is he numbe o aining samples ained be ween pa ame e s upda es. 4File o ma o s o e la ge amoun s o da a. 5.3. DATA PREPARATION 37 module. Mo e in o ma ion on how o use his API can be ound on hei webpage5and hei gi hub p ojec 6. All COCO images and desc ip ions mus be p ep ocessed in o de o co ec ly use hem as he inpu s o ou models. E en hough wo o ou models wo k only wi h a subse o COCO, he o he wo wo k wi h he whole da ase , so bo h image p ep ocessing and desc ip ions p ep ocessing ha e been done in he whole da ase , lea ing he subse ex ac ion o a la e s ep whe e we also pe o m he ain/ al/ es spli o he da ase as we explained in Sec ion 4.4. In he ollowing subsec ions we explain how we ha e ca ied ou hese wo asks. 5.3.1 Image p ep ocessing COCO images do no need oo much p ep ocessing. Howe e , he Con olu ional Neu al Ne wo k o ou models, ei he he VGG16 ne wo k o he ine- uned model, has al eady p ecompu ed i s weigh s and hese weigh s will emain ozen when aining ou image desc ip ions gene a ion models. The e o e, images ea u es could be p ecompu ed be o e aining he models and sa ed o be used la e as an inpu ins ead o he images hemsel es. This way we only calcula e hese ea u es once ins ead o e e y ime he aining p ocess passes h ough one o hese images, sa ing compu a ional ime and memo y space. This image p ep ocessing mus be epea ed o he VGG16 model and o ou ine- uned model, o ex ac he ea u es ob ained by bo h models and use one o ano he depending on which o he ou models we a e aining. Figu e 5.5 shows he ea u es ex ac ion unc ion we ha e de ined, whe e model e e s o ei he VGG16() o o ou ine- uned model, ea u es is he dic iona y ha will s o e he ex ac ed image ea u es and images ids a e all COCO aining image ids ob ained wi h COCO API as ollows: da aDi = ".." da aType = " ain2014" annFile = ’{}/anno a ions/ins ances_{}.json’. o ma (da aDi ,da aType) coco = pycoco ools.coco.COCO(annFile) imgs_ids = coco.ge ImgIds() This p ocess is also done wi h he alida ion COCO da ase , changing da aType o " al2014". To ex ac image ea u es, las laye o he model mus be emo ed using laye s.pop() because his laye is he one ha p edic s which class he image belongs o and we only ca e abou image ea u es. We hen load e e y image in he COCO da ase using COCO API and Ke as load img() unc ion. Image a ge size is 224x224 as his is he inpu size o VGG16 (and he e o e also o ou ine- uned model). Once we ha e loaded he image in o memo y, i is con e ed o a numpy a ay and eshaped, using Ke as unc ions om he ke as.p ep ocessing.image module. Finally, ea u es a e ex ac ed 5h p://cocoda ase .o g/download 6h ps://gi hub.com/cocoda ase /cocoapi 38 CHAPTER 5. DEEP LEARNING APPROACH de ea u es_ex ac ion(model, ea u es, di ec o y, da aType, images_ids): # emo e p edic ion laye om model model.laye s.pop() model = Model(inpu s=model.inpu s, ou pu s=model.laye s[-1].ou pu ) o id in images_ids: ile = "0:0>12". o ma (id) pa h = "/images//COCO__.jpg". o ma (di ec o y, da aType, da aType, ile) img = load_img(pa h, a ge _size=(224, 224)) # img o 3D numpy a ay (heigh , weigh , colo channel) and eshape i img = img_ o_a ay(img) img = img. eshape((1, img.shape[0], img.shape[1], img.shape[2])) # ge ea u es and s o e hem in dic img = p ep ocess_inpu (img) ea u e = model.p edic (img, e bose=1) ea u es[id] = ea u e e u n ea u es Figu e 5.5: Image p ep ocessing: ea u es ex ac ion o COCO images. using he p edic () unc ion and hen s o ed in o he dic iona y. A e ha ing ex ac ed all aining and alida ion images ea u es, we sa e he dic iona y con aining hem in a ile, using Py hon pickle lib a y7, o la e use. 5.3.2 Tex p ep ocessing The image desc ip ions p ep ocessing ask ha we ha e implemen ed pe o ms a ious ope a ions on he wo ds o clean hose desc ip ions and ob ain a sui able ocabula y o lea ning, ha should be ep esen a i e and exp essi e enough. These ope a ions a e: changing uppe case le e s o lowe case, emo ing punc ua ion ma ks, emo ing numbe s, emo ing wo ds o leng h one (as hey a e no exp essi e), emo ing wo ds used less han i e imes in he whole da ase and ans o ming English con ac ions such as don’ o do no . We also add ini ial and inal okens (START and END) o delimi ing he desc ip ions. Figu e 5.6 shows he p ep ocessing unc ion we ha e de ined o cleaning COCO desc ip ions, whe e: wo d eq is a Py hon Coun e 8wi h he wo ds’ equencies and desc ip ions is a lis con aining all he desc ip ions o COCO aining da ase and i is ob ained using COCO API as ollows: 7h ps://docs.py hon.o g/3/lib a y/pickle.h ml 8h ps://docs.py hon.o g/3/lib a y/collec ions.h ml#collec ions.Coun e 5.4. DATASET SPLIT 39 de p ep ocess_desc(desc ip ions, wo d_ eq): # ansla ion able o emo ing punc ua ion able = s .make ans(’’, ’’, s ing.punc ua ion) o desc_in o in desc ip ions: desc = desc_in o[’cap ion’] wo ds = desc.spli () # con e o lowe case wo ds = [w.lowe () o w in wo ds] # emo e numbe s wo ds = [w o w in wo ds i no w.isnume ic()] # ans o m con ac ions wo ds = [con ac ions(w) o w in wo ds] # emo e punc ua ion om each wo d wo ds = [w. ansla e( able) o w in wo ds] # emo e wo ds leng h < 2 wo ds = [w o w in wo ds i len(w)>1] # emo e wo ds used < 5 imes wo ds = [w o w in wo d_ eq.keys() i wo d_ eq[w]>=5] # s o e in dic iona y wi h START and END okens desc_in o[’cap ion’] = ’START ’ + ’ ’.join(wo ds) + ’ END’ Figu e 5.6: Tex p ep ocessing: cleaning COCO desc ip ions. da aDi = ".." da aType = " ain2014" annFile = ’/anno a ions/cap ions_.json’. o ma (da aDi ,da aType) coco = COCO(annFile) anns_ids = coco.ge AnnIds() desc ip ions = coco.loadAnns(anns_ids) This p ocess is also epea ed wi h he alida ion desc ip ions, as we ha e done wi h im- age p ep ocessing, changing da aType o " al2014". Each elemen o he desc ip ions lis is a dic iona y con aining he image id he desc ip ion belongs o, an id o he de- sc ip ion and he desc ip ion i sel . Fo ans o ming con ac ions, we ha e de ined a dic iona y con aining he ans o ma ions and con ac ions() e u ns his ans o ma- ion i he wo d is in ha dic iona y. Once we ha e p ep ocessed all aining and alida ion desc ip ions, we me ge bo h lis s in o a single one and sa e i in a ile using pickle lib a y. 5.4 Da ase spli A e ha ing p ep ocessed he en i e COCO da ase , we now spli i in o ain, alida ion and es se s (wi h a 70%-20%-10% di ision) and di ide consequen ly he ea u es dic io- na ies (VGG16 ea u es and ine- uned model ea u es) ob ained while p ep ocessing he 40 CHAPTER 5. DEEP LEARNING APPROACH # ge ids o 35000 aining imgs gene al and wi h people da aDi = ".." da aType = " ain2014" annFile = ’/anno a ions/ins ances_.json’. o ma (da aDi ,da aType) coco = COCO(annFile) ca s_ids = coco.ge Ca Ids(ca Nms=[’pe son’]) ain_people_ids = coco.ge ImgIds(ca Ids=ca s_ids) ain_people_ids = andom.sample( ain_people_ids, 35000) ain_ids = coco.ge ImgIds() ain_imgs_ids = andom.sample( ain_ids, 35000) # ge ids o 35000 alida ion imgs gene al and wi h people da aDi = ".." da aType = " al2014" annFile = ’/anno a ions/ins ances_.json’. o ma (da aDi ,da aType) coco = COCO(annFile) ca s_ids = coco.ge Ca Ids(ca Nms=[’pe son’]) al_people_ids = coco.ge ImgIds(ca Ids=ca s_ids) al_people_ids = andom.sample( al_people_ids, 15000) al_ids = coco.ge ImgIds() al_imgs_ids = andom.sample( al_ids, 10000) # spli al people in al and es al_people_ids, es _ids = ain_ es _spli ( al_people_ids, es _size=5000) Figu e 5.7: Tes spli o COCO da ase . images and he desc ip ions lis ob ained while p ep ocessing he desc ip ions. As ou goal is o e alua e how well ou models desc ibe images con aining people, he es se mus only include his kind o images. On he o he hand, he ain and alida ion se s, may o may no include o he kind o images, depending on he model ha we a e aining. The e o e, we will ha e wo di e en spli s o hese wo se s, one o hem o he subse o images con aining people (excluding he ones in he es se ) and he o he one o he whole da ase wi hou he es se . T aining ou models wi h he whole COCO da ase (mo e han 300,000 images) was impossible due o he cha ac e is ics o he se e we ha e used and o ou ime limi a ion. In o de o educe ime and memo y consump ion, we decided o es ic ou aining p ocess o only a subse o he COCO da ase : 35,000 images o he aining se , 10,000 images o alida ion and 5,000 images o he es se (70%-20%-10%). To ob ain he aining se we ha e andomly selec ed, using andom.sample() Py hon unc ion, 35,000 images o he whole COCO aining se and 35,000 images o all he COCO aining images ha con ain people. Valida ion and es se s ha e been ex ac ed bo h 5.5. TRAINING PROCESS 41 om COCO alida ion se , andomly selec ing 15,000 COCO alida ion images con aining people (5,000 o he es se and he emaining 10,000 o he alida ion se ) and 10,000 COCO alida ion images o any kind. This p ocess is shown in Figu e 5.7. We ha e also ensu e ha he gene al aining and alida ion spli s a e ep esen a i e enough by e i ying ha he andom subse s ha e enough images ha con ain people (30%-60%). Once we ha e pe o med he da ase spli s, we di ide he ea u es dic iona ies and he desc ip ions lis acco dingly o he di e en spli s and we sa e hese di isions in memo y using pickle lib a y. 5.5 T aining p ocess The i s s ep in he aining p ocess o he ou models is o load he iles ob ained wi h he image and ex p ep ocessing and di ided when making he da ase spli . Following he enume a ion we ha e de ined in Sec ion 5.1, Model 1 and Model 3 load image ea u es ob ained wi h VGG16 and Model 2 and Model 4 load he ones ob ained wi h he ine- uned VGG16 model. Subsequen ly, Model 1 and Model 2 load he ain and alida ion spli o he whole da ase and Model 3 and Model 4 he one o he subse o images ha con ain people. The emaining s eps in he aining p ocess a e he same o he ou models, wi h he only di e ences being he inpu s. A e loading he images ea u es and desc ip ions, we c ea e and i a Tokenize o e all aining and alida ion desc ip ions, using Ke as Tokenize () class. A Tokenize lea ns om a lis o ex s how o map he bag o wo ds con ained in ha ex s o in ege alues and allowing o see each desc ip ion as an in ege sequence. The nex s ep is o de ine he model ha we a e going o ain. The model de ini ion in Py hon using Ke as ollows he a chi ec u e ha we ha e de ined in Figu e 5.2 and i is shown in Figu e 5.8. The hype pa ame e s a e ex ac ed om Tan i e al. obse a ions [Tan i e al., 2017b]. ocab size,max leng h and emb ma ix a gumen s a e he size o he whole bag o wo ds con ained in he desc ip ions, he leng h o he la ges desc ip ion and he GloVe wo d embedding weigh ma ix espec i ely. The unc ion s a s wi h he de ini ion o he Ke as inpu enso o he image ea u es using Inpu () and he inpu shape is 4096 as i is he shape o he ea u es ec o ex ac ed o each image. This inpu is passed o a Dense laye wi h a ReLu ac i a ion unc ion and L2 egula iza ion o ob ain a 128 elemen ep esen a ion. Regula iza ion echniques a e in oduced in Deep Lea ning aining p ocesses o p e en o educe o e i ing (good lea ning o he aning se bu oo speci ic, leading o no gene aliza ion powe ). In pa ic- ula , L2 egula iza ion adds an ex a e m o he cos unc ion p opo ional o he sum o squa es o all he weigh s. We hen de ine he language model wi h a Ke as Inpu () en- so o leng h max leng h and his inpu is passed o a wo d embedding laye wi h GloVe p e- ained weigh s o map he spa se wo d ec o s o dense ones, as we explained in Sec- ion 5.1.2. A e he Embedding laye we pe o m a 0.5 d opou [S i as a a e al., 2014], 42 CHAPTER 5. DEEP LEARNING APPROACH de model_de ini ion( ocab_size, max_leng h, emb_ma ix): # ea u e ex ac o model img_inpu s = Inpu (shape=(4096,)) e1 = Dense(128, ke nel_ egula ize =l2(1e-8), ac i a ion=’ elu’, name=" ea u es")(img_inpu s) # desc ip ion model desc_inpu s = Inpu (shape=(max_leng h,)) de1 = Embedding( ocab_size, 100, weigh s=[emb_ma ix], ainable=False)(desc_inpu s) de2 = D opou (0.5, name=" ex _d opou ")(de1) de3 = LSTM(128, name="LSTM_laye ")(de2) # me ge model me ge_inpu s = [ e1,de3] me1 = add(me ge_inpu s) me2 = Dense(128, ac i a ion=’ elu’, name="decode ")(me1) ou pu s = Dense( ocab_size, ke nel_ egula ize =l2(1e-8), ac i a ion=’so max’, name="p edic ions")(me2) model = Model(inpu s=[img_inpu s, desc_inpu s], ou pu s=ou pu s) model.compile(loss=’ca ego ical_c ossen opy’, op imize =’adam’, me ics=[’accu acy’]) model.summa y() e u n model Figu e 5.8: Image desc ip ion gene a ion model de ini ion wi h Ke as. a egula iza ion echnique used o p e en o e i ing ha consis s in igno ing while ain- ing some neu ons selec ed andomly. This is ollowed by a Ke as LSTM laye wi h 128 memo y uni s. Nex we me ge bo h he ou pu o he LSTM laye and he ou pu o he Dense laye and apply a Dense laye wi h ReLU ac i a ion unc ion and a so max Dense laye , wi h L2 egula iza ion, o e he ocabula y size o make he p edic ion o he nex wo d. This model is ained wi h a ca ego ical c oss en opy loss (as he ou pu o he ne wo k a e he p obabili ies o he wo ds in he ocabula y o be he nex wo d in he desc ip ion) and Adam op imize (see Sec ion 5.5.1) wi h he de aul alues, as Tan i e al. sugges [Tan i e al., 2017b]. Finally, he las s ep is o i he model wi h he aining and alida ion da a ha we ha e loaded. As COCO is a e y big da ase and o ease memo y usage, we use a gene - a o o p oduce aining and alida ion da a and i he model wi h he i gene a o unc ion. To con ol he aining p ocess, we use he i gene a o unc ion wi h a ModelCheckpoin callback, o sa e he model a e each epoch moni o ing he loss on he alida ion se , and a Tenso Boa d callback, o sa e enso boa d logs o isualiza ion (as we explained in Sec ion 4.3). 5.5. TRAINING PROCESS 43 Figu e 5.9: Op imiza ion algo i hms s eps eaching local op imum. We ha e ained he ou models 35 epochs in he se e wi h he GPU. The whole p ocess (VGG16 ine- une, da a p epa a ion and aining o he ou models) las ed a ound eigh days. 5.5.1 Op imize s As we explained in Sec ion 3.4, Deep Lea ning models lea n by ying o ind he op i- mal pa ame e s ha minimize he cos unc ion and he g adien descen me hod is an op imiza ion algo i hm o app oxima e a local op imum by compu ing he g adien o he unc ion. Howe e , he cos unc ion depends on all aining samples, and he e o e so does he g adien , which makes i oo expensi e o compu e o Deep Lea ning models ha a e ypically ained on a big da ase . Fo his eason, as he cos unc ion is usually a sum o e he aining se , an inc emen al app oach o calcula ing he g adien called S ochas ic G adien Descen (SGD) was de eloped. I calcula es he g adien based only on a small subse o he aining examples o speed up his calcula ion. This usually in ol es aking mo e i e a ions o app oxima e he minimum, bu as e . In SGD, weigh s a e upda ed using he same lea ning a e o all weigh s and all i e a ions, making i di icul o slow o con e ge o he minimum i he lea ning a e is oo big o o small. Many a ian s ha e been p oposed and de eloped in o de o upda e his SGD algo i hm o y o each as e he local minimum. Some o his a ian s a e AdaG ad [Duchi e al., 2011], Adam [Kingma and Ba, 2014] and RMSP op. AdaG ad main ains a pe -pa ame e lea ning a e ins ead o ha ing he 44 CHAPTER 5. DEEP LEARNING APPROACH same lea ning a e o all he pa ame e s, upda ing i based on he sum o p e ious g adien alues. So does RMSP op, ha also has a lea ning a e o each pa ame e bu hese lea ning a es a e upda ed based on he a e age o ecen g adien calcula ions, ha is, based on how quickly he g adien is changing. Adam is an imp o emen o RMSP op ha upda es he lea ning a es based on he a e age bu also on he g adien s a iance, his is he one we use o aining ou model. Figu e 5.9, ob ained om Google Images, shows how quickly hese algo i hms educe he cos unc ion. As men ioned be o e, ou models ha e been ained using he Adam op imize . Chap e 6 E alua ion and esul s Once we ha e ou ou models de ined and ained, we can e alua e hem on he es se and we can use hem o gene a e desc ip ions o new unseen images. In his chap e , we explain how we ha e es ed he models, we de ine he me ics ha we ha e used and we show he esul s ob ained, including some examples o images and hei gene a ed desc ip ions. In Sec ion 5.4 we explained ha , as ou objec i e is o de e mine how well ou models pe o m on desc ibing images ha con ain people, he di ision o he da ase was made so ha he es se has only his kind o images. The e o e, he esul s o he e alua ion p ocess and he examples ha we show in his chap e e e all o images con aining people. 6.1 Tenso Boa d isualiza ion As desc ibed in Sec ion 5.1, he ou models ha we ha e de eloped ollow he same a chi ec u e bu di e on he echniques and da ase s used. The cha ac e is ics o hese ou models a e he ollowing: •Model 1: he mos gene al one. Uses a p e- ained VGG-16 CNN and i is ained on MS COCO da ase . •Model 2: uses a ine- uned e sion o VGG-16 and i is ained on MS COCO da ase . •Model 3: uses a p e- ained VGG-16 CNN and i is ained on a subse o MS COCO da ase o images con aining people. •Model 4: uses a ine- uned e sion o VGG-16 and i is ained on a subse o MS COCO da ase o images con aining people. 45 52 CHAPTER 6. EVALUATION AND RESULTS Model 1: pe son in he snow holding snowboa d down snow Model 3: man on skis in he snow Figu e 6.8: Good desc ip ions. Model 1: woman on beach wi h su boa d Model 3: wo woman iding su boa d on he beach Figu e 6.9: Good desc ip ions. 6.3. QUALITATIVE ANALYSIS 53 Model 1: man in baseball uni o m is holding ba Model 3: baseball playe is swinging ba a baseball game Figu e 6.10: Good desc ip ions. Model 1: bi d lying on beach Model 3: man is iding su boa d on he beach Figu e 6.11: Di e en pe spec i es. 54 CHAPTER 6. EVALUATION AND RESULTS Model 1: pizza wi h cheese and cheese on i Model 3: pe son is si ing a able wi h pizza Figu e 6.12: Di e en pe spec i es. Model 1: pla e o ood wi h mea and ege ables on i Model 3: pe son is si ing on able wi h some ood Figu e 6.13: Di e en pe spec i es. 6.3. QUALITATIVE ANALYSIS 55 Model 1: pe son in he snow on skis on he snow Model 3: man iding snowboa d down snow co e ed slope Figu e 6.14: Bad desc ip ions. Model 1: man holding ho dog in on o pizza Model 3: man is si ing a able wi h pizza Figu e 6.15: Bad desc ip ions. 56 CHAPTER 6. EVALUATION AND RESULTS Chap e 7 Conclusions and u u e wo k 7.1 Conclusions We conclude his p ojec ha ing accomplished he main objec i es es ablished a he beginning. We ha e s udied and lea ned di e en Deep Lea ning echniques and ools, ha a e nowadays e y impo an in he A i icial In elligence ield. We ha e also e iewed all he bibliog aphy ega ding he image desc ip ion gene a ion p oblem. We ha e ca ied ou his p ojec in a se e wi h a GPU p o ided by GAIA esea ch g oup, as aining Deep Lea ning models needs a lo o compu ing capaci y. We ha e used Ke as on op o Tenso low as he Deep Lea ning amewo k and Tenso Boa d o gene a ing plo s o he aining p ocess. We ha e also analyzed he di e en a ailable and well-known image da ase s in o de o selec he ones ha we e mo e sui able o ou p ojec . Finally, we ha e achie ed o de elop ou di e en Deep Lea ning models o au oma - ically gene a e desc ip ions o images con aining people. Ou ou models we e all buil using s a e-o - he-a Deep Lea ning echniques o Compu e Vision and o Na u al Lan- guage Gene a ion: Con olu ional Neu al Ne wo ks o ex ac ing he image ea u es and Recu en Neu al Ne wo ks o gene a ing he sen ence, as well as Feed o wa d Neu al Ne wo ks o building he models’ ou pu s. These models we e success ully ained and es ed on a big and popula image da ase . To e alua e ou models we ha e analyzed he Tenso Boa d plo s gene a ed om he aining da a, we ha e pe o med a quan i a i e analysis using he mos popula me ics and a quali a i e analysis gene a ing desc ip ions o unseen images in o de o isualize and con i m he esul s ob ained om he quan i a i e analysis. These e alua ion analyses lead all o he same conclusions: we ob ained desi able esul s om he e alua ion p ocess, simila o s a e-o - he-a esul s, o wo o he ou models de eloped (Model 1 and Model 3). Howe e , ine- uning was no a good p ac ice, as Model 2 and Model 4 ( he ones ha ine- uned he CNN) ha e poo e alua ion esul s, 57 58 CHAPTER 7. CONCLUSIONS AND FUTURE WORK maybe because o he di e ences be ween he da ase s used o ine- uning and aining. Ne e heless, Model 3 ha e sligh ly be e esul s han Model 1 so we can con i m ha ou hough s we e in he igh pa h a he beginning o he p ojec : images con aining people a e desc ibed di e en ly and so i is a good p ac ice o es ic he aining p ocess o his kind o images. 7.2 Fu u e wo k Conside ing concluded he main objec i es o his p ojec , he e a e many di ec ions in which u u e wo k could go in o de o b oaden i . Fi s o all, da a quan i y and quali y a e essen ial o a good aining, and hence he model could be mo e accu a e and ha e be e e alua ion esul s wi h mo e, and mo e ep esen a i e, examples in he da ase and labeled mo e p ecisely. Ano he op ion is o imp o e ou ha dwa e capaci y by using mo e GPUs, a be e one o by ano he way o ob aining mo e compu a ional powe in o de o being able o ain he models mo e apidly. In addi ion o all o hese changes o accomplish be e esul s wi h ou models, ano he di ec ion we could ake in he u u e is o b oaden he scope o he model’s objec i e. We could include mo e comple e image desc ip ions depic ing mo e complex cha ac e is ics o he pe son in he image, such as he pe son’s eelings (e.g. i i is smiling o sad), o o he cha ac e is ics ha a e no explici ly shown in he pic u e bu ha can be de i ed om i , no limi ing ou sel es o desc ibing wha i is s ic ly in he pic u e. Mo eo e , he model could be ex ended o he desc ip ion o , no only people, bu o he objec s appea ing in he pic u e, as well as he spa ial ela ionship be ween hose objec s and he people (e.g. he man behind he window, he woman nex o he blue chai ). The e a e also some eme ging asks ha combine bo h compu e ision and na u al language ields, ying o go beyond wha i is s ic ly depic ed in he image, ha could be in e es ing o s udy in a u u e wo k o his p ojec ; o example, he ask o VQA (Visual Ques ion Answe ing) [Wu e al., 2017a], ha ies o ind an answe o a gi en ques ion abou a gi en image, o isual s o y elling [Huang e al., 2016, Mos a azadeh e al., 2017], ha gene a es a na a i e desc ip ion om he inpu image by making subjec i e assump- ions o wha i is happening. Ano he in e es ing possibili y is o implemen a machine lea ning model, using s a e- o - he-a machine lea ning algo i hms such as xgboos , in o de o analyse he di e ences be ween bo h deep lea ning and machine lea ning models (compu ing ime, da ase needs, accu acy, e c). Finally, al hough Con olu ional Neu al Ne wo ks a e he s a e-o - he-a , hey ha e some limi a ions ha dec ease he le el o accu acy o he model. In he las mon hs, a new kind o neu al ne wo ks ying o sol e hese limi a ions, called Capsule Neu al Ne wo ks, ha e a isen. I would be a good u u e di ec ion o his p ojec o implemen 7.2. FUTURE WORK 59 he solu ion using his kind o ne wo k and o compa e i o he con olu ional one o see i i yields be e esul s. 7.2.1 CNN limi a ions Con olu ional Neu al Ne wo ks a e un il now he s a e-o - he-a app oach in he image analysis ield, bu hey ha e some limi a ions when i comes o spa ial ela ionships. Con olu ional Neu al Ne wo ks became a majo ad an age compa ed o adi ional eed o wa d ne wo ks in he image ield, as hey allowed a 2-D ma ix as he inpu o he model in con as wi h he need o la ening he pixel ma ix in o a ec o , which, along wi h he con olu ion and pooling ope a ions, pe mi ed he model o be in a iance o ansla ions. As we ha e al eady discussed du ing his p ojec , he job o he con olu ional laye s in a CNN is o de ec impo an ea u es in he image, wi h laye s close o he inpu de ec ing simple ea u es and deepe laye s close o he ou pu combining hem o de ec mo e complex ea u es. On he o he hand, pooling laye s, being max pooling he mos widely used, help educing he image dimensionali y, and he e o e compu a ional ime, and summa izing he impo an in o ma ion p esen in he image, as well as c ea ing spa ial in a iance. Howe e , his in a iance c ea ed by he max pooling laye s loses he exis ing spa ial ela ionships be ween all hese ea u es. I does no ake in o accoun how he di e en ea u es a e ela ed o each o he , since max pooling loses hei p ecise loca ions. This makes he model ou pu a alse posi i e when he image has he componen s o an objec bu no in he co ec o de . Fo example, conside ing i is a ace when i has wo eyes, a nose and a mou h, bu he mou h is whe e an eye should be and ice e sa. Fu he mo e, CNNs do no ake in o accoun he spa ial cha ac e is ics o each ea u e. Tha is, hey do no ecognise an objec hey ha e al eady seen, shown now in a di e en o ien a ion. Con inuing wi h he example abo e, an image wi h a ace u ned upside down is no de ec ed as a ace by he CNN. To comba his, con olu ional models a e ained by gi ing images o di e en possible angles explici ly o he ne wo k. Ne e heless, he solu ion is no o emo e he max pooling laye s om he model, as we eally need o in oduce some kind o in a iance; o he wise, he model will only ecognise images e y simila o he ones in he aining se . Wha a be e model needs is o adjus his in a iance wi h equi a iance, ha is, unde s anding o a ion and p opo ion changes and adap ing acco dingly. 7.2.2 Capsule neu al ne wo ks Geo ey E. Hin on, known as he a he o Deep Lea ning, has been discussing abou con olu ional ne wo ks’ limi a ions and he need o sugges new models o co e hem, o 60 CHAPTER 7. CONCLUSIONS AND FUTURE WORK Figu e 7.1: Capsule neu al ne wo k s uc u e (CapsNe ). a long ime now. In 2011 he published a pape [Hin on e al., 2011] ega ding a p oposal o including mo e complex spa ial cha ac e is ics o neu al ne wo ks, bu i has no been un il ecen ly ha he has inally published wo pape s [Hin on e al., 2018, Sabou e al., 2017] explaining his new sophis ica ed neu al ne wo k model, Capsule Ne wo ks. In he pape hey ha e published [Sabou e al., 2017], hey p opose CapsNe , a capsule neu al ne wo k model o he MNIST1da ase , epo ing be e esul s han CNNs and wi hou he need o da a augmen a ion. This model is ep esen ed in Figu e 7.1. Hin on belie es ha i is necessa y o p ese e pose’s ( ansla ion and o a ion) hie a - chy be ween ea u es. This way i is easie o a model o ecognise ano he pe spec i e o some hing i has al eady seen. These neu al ne wo ks y o o e come hose Con olu ional Ne wo ks’ limi a ions by explici ly aking in o accoun hose spa ial ela ionships be ween ea u es, whe eas CNNs do no ha e his 3-D space unde s anding. This is achie ed by eplacing he scala ou pu s o adi ional neu ons wi h ec o ou pu s encoding he ea u es’ loca ions and changing max-pooling wi h a dynamic ou ing algo i hm. Thus, an objec p esence is de i ed om no only he p esence o i s cons i uen pa s, bu also om hem being a he igh loca ions. Acco ding o Hin on, A capsule is a g oup o neu ons whose ou pu s ep esen di e en p ope ies o he same en i y. They a e nes ed laye s wi hin a laye , each one ocusing on de ec ing a pa icula ea u e in he image and ou pu ing a ec o ep esen ing he ea u e’s exis ence and i s pose p ope ies. The leng h o he ec o ep esen s he p obabili y o he exis ence o he ea u e and he spa ial p ope ies a e encoded in he ec o ’s di ec ion. This way, when he de ec ed ea u e mo es o changes i s spa ial s a e, he leng h o he ec o does no change ( he p obabili y emains he same) bu i changes i s o ien a ion. In hese neu al ne wo ks, capsules in a lowe laye decide dynamically how o send i s ou pu ec o o he nex laye ’s capsules. Each capsule in he lowe laye compu es, o each possible pa en , a p edic ion ec o o he pose o a highe -le el capsule ea u e 1Da ase o handw i en digi s. 7.2. FUTURE WORK 61 (wha he highe capsule would see), by mul iplying i s ou pu by a weigh ma ix. When se e al capsules in one laye ag ee on wha hey may ha e de ec ed, hey ac i a e he co esponding capsule a he nex laye . Hin on calls his me hod he ou ing-by-ag eemen algo i hm, and i subs i u es he max-pooling algo i hm. 68 CHAPTER 8. CONCLUSIONES Y TRABAJO A FUTURO Bibliog aphy [DBL, 2015] (2015). IEEE Con e ence on Compu e Vision and Pa e n Recogni ion, CVPR 2015, Bos on, MA, USA, June 7-12, 2015. IEEE Compu e Socie y. [Abadi e al., 2016] Abadi, M., Ba ham, P., Chen, J., Chen, Z., Da is, A., Dean, J., De in, M., Ghemawa , S., I ing, G., Isa d, M., Kudlu , M., Le enbe g, J., Monga, R., Moo e, S., Mu ay, D. G., S eine , B., Tucke , P. A., Vasude an, V., Wa den, P., Wicke, M., Yu, Y., and Zhang, X. (2016). Tenso low: A sys em o la ge-scale machine lea ning. CoRR, abs/1605.08695. [Al man, 1992] Al man, N. S. (1992). An in oduc ion o ke nel and nea es -neighbo nonpa ame ic eg ession. The Ame ican S a is ician, 46(3):175–185. [Baik and Bala, 2004] Baik, S. and Bala, J. W. (2004). A decision ee algo i hm o dis ibu ed da a mining: Towa ds ne wo k in usion de ec ion. In Lagan`a, A., Ga ilo a, M. L., Kuma , V., Mun, Y., Tan, C. J. K., and Ge asi, O., edi o s, Compu a ional Science and I s Applica ions - ICCSA 2004, In e na ional Con e ence, Assisi, I aly, May 14-17, 2004, P oceedings, Pa IV, olume 3046 o Lec u e No es in Compu e Science, pages 206–212. Sp inge . [Bay e al., 2006] Bay, H., Tuy elaa s, T., and Gool, L. J. V. (2006). SURF: speeded up obus ea u es. In Leona dis, A., Bischo , H., and Pinz, A., edi o s, Compu e Vision - ECCV 2006, 9 h Eu opean Con e ence on Compu e Vision, G az, Aus ia, May 7-13, 2006, P oceedings, Pa I, olume 3951 o Lec u e No es in Compu e Science, pages 404–417. Sp inge . [Bengio e al., 1994] Bengio, Y., Sima d, P. Y., and F asconi, P. (1994). Lea ning long- e m dependencies wi h g adien descen is di icul . IEEE T ans. Neu al Ne wo ks, 5(2):157–166. [Be na di e al., 2016] Be na di, R., C¸akici, R., Ellio , D., E dem, A., E dem, E., Ikizle - Cinbis, N., Kelle , F., Musca , A., and Plank, B. (2016). Au oma ic desc ip ion gen- e a ion om images: A su ey o models, da ase s, and e alua ion measu es. J. A i . In ell. Res., 55:409–442. 69 70 BIBLIOGRAPHY [B idge e al., 2014] B idge, J. P., Holden, S. B., and Paulson, L. C. (2014). Machine lea ning o i s -o de heo em p o ing - lea ning o selec a good heu is ic. J. Au om. Reasoning, 53(2):141–172. [Canny, 1986] Canny, J. F. (1986). A compu a ional app oach o edge de ec ion. IEEE T ans. Pa e n Anal. Mach. In ell., 8(6):679–698. [Chen e al., 2015] Chen, X., Fang, H., Lin, T., Vedan am, R., Gup a, S., Doll´a , P., and Zi nick, C. L. (2015). Mic oso COCO cap ions: Da a collec ion and e alua ion se e . CoRR, abs/1504.00325. [Chen and Zi nick, 2015] Chen, X. and Zi nick, C. L. (2015). Mind’s eye: A ecu en isual ep esen a ion o image cap ion gene a ion. In IEEE Con e ence on Compu e Vision and Pa e n Recogni ion, CVPR 2015, Bos on, MA, USA, June 7-12, 2015, pages 2422–2431. [Cho e al., 2014] Cho, K., an Me ienboe , B., G¨ul¸ceh e, C¸ ., Bahdanau, D., Bouga es, F., Schwenk, H., and Bengio, Y. (2014). Lea ning ph ase ep esen a ions using RNN encode -decode o s a is ical machine ansla ion. In [Moschi i e al., 2014], pages 1724–1734. [Chung e al., 2014] Chung, J., G¨ul¸ceh e, C¸ ., Cho, K., and Bengio, Y. (2014). Em- pi ical e alua ion o ga ed ecu en neu al ne wo ks on sequence modeling. CoRR, abs/1412.3555. [Collobe e al., 2011] Collobe , R., Ka ukcuoglu, K., and Fa abe , C. (2011). To ch7: A ma lab-like en i onmen o machine lea ning. [Co es and Vapnik, 1995] Co es, C. and Vapnik, V. (1995). Suppo - ec o ne wo ks. Machine Lea ning, 20(3):273–297. [Dean e al., 2012] Dean, J., Co ado, G. S., Monga, R., Chen, K., De in, M., Le, Q. V., Mao, M. Z., Ranza o, M., Senio , A., Tucke , P., Yang, K., and Ng, A. Y. (2012). La ge scale dis ibu ed deep ne wo ks. In NIPS. [Deng e al., 2009] Deng, J., Dong, W., Soche , R., Li, L., Li, K., and Li, F. (2009). Imagene : A la ge-scale hie a chical image da abase. In 2009 IEEE Compu e Socie y Con e ence on Compu e Vision and Pa e n Recogni ion (CVPR 2009), 20-25 June 2009, Miami, Flo ida, USA, pages 248–255. IEEE Compu e Socie y. [Denkowski and La ie, 2014] Denkowski, M. J. and La ie, A. (2014). Me eo uni e sal: Language speci ic ansla ion e alua ion o any a ge language. In P oceedings o he Nin h Wo kshop on S a is ical Machine T ansla ion, WMT@ACL 2014, June 26- 27, 2014, Bal imo e, Ma yland, USA, pages 376–380. The Associa ion o Compu e Linguis ics. [Donahue e al., 2015] Donahue, J., Hend icks, L. A., Guada ama, S., Roh bach, M., Venugopalan, S., Da ell, T., and Saenko, K. (2015). Long- e m ecu en con olu ional ne wo ks o isual ecogni ion and desc ip ion. In [DBL, 2015], pages 2625–2634. BIBLIOGRAPHY 71 [Duchi e al., 2011] Duchi, J. C., Hazan, E., and Singe , Y. (2011). Adap i e subg adien me hods o online lea ning and s ochas ic op imiza ion. Jou nal o Machine Lea ning Resea ch, 12:2121–2159. [E e ingham e al., 2010] E e ingham, M., Van Gool, L., Williams, C. K. I., Winn, J., and Zisse man, A. (2010). The pascal isual objec classes ( oc) challenge. In e na ional Jou nal o Compu e Vision, 88(2):303–338. [Goldbe g e al., 1994] Goldbe g, E., D iedge , N., and Ki edge, R. I. (1994). Using na u al-language p ocessing o p oduce wea he o ecas s. IEEE Expe , 9(2):45–53. [G a es e al., 2013] G a es, A., Mohamed, A., and Hin on, G. E. (2013). Speech ecogni- ion wi h deep ecu en neu al ne wo ks. In IEEE In e na ional Con e ence on Acous- ics, Speech and Signal P ocessing, ICASSP 2013, Vancou e , BC, Canada, May 26-31, 2013, pages 6645–6649. IEEE. [Ha is and S ephens, 1988] Ha is, C. G. and S ephens, M. (1988). A combined co ne and edge de ec o . In Taylo , C. J., edi o , P oceedings o he Al ey Vision Con e ence, AVC 1988, Manches e , UK, Sep embe , 1988, pages 1–6. Al ey Vision Club. [Hend icks e al., 2016] Hend icks, L. A., Venugopalan, S., Roh bach, M., Mooney, R. J., Saenko, K., and Da ell, T. (2016). Deep composi ional cap ioning: Desc ibing no el objec ca ego ies wi hou pai ed aining da a. In 2016 IEEE Con e ence on Compu e Vision and Pa e n Recogni ion, CVPR 2016, Las Vegas, NV, USA, June 27-30, 2016, pages 1–10. [Hin on e al., 2011] Hin on, G. E., K izhe sky, A., and Wang, S. D. (2011). T ans o m- ing au o-encode s. In Honkela, T., Duch, W., Gi olami, M. A., and Kaski, S., edi o s, A i icial Neu al Ne wo ks and Machine Lea ning - ICANN 2011 - 21s In e na ional Con e ence on A i icial Neu al Ne wo ks, Espoo, Finland, June 14-17, 2011, P oceed- ings, Pa I, olume 6791 o Lec u e No es in Compu e Science, pages 44–51. Sp inge . [Hin on e al., 2018] Hin on, G. E., Sabou , S., and F oss , N. (2018). Ma ix capsules wi h EM ou ing. In In e na ional Con e ence on Lea ning Rep esen a ions. [Ho, 1995] Ho, T. K. (1995). Random decision o es s. In Thi d In e na ional Con e ence on Documen Analysis and Recogni ion, ICDAR 1995, Augus 14 - 15, 1995, Mon eal, Canada. Volume I, pages 278–282. IEEE Compu e Socie y. [Hoch ei e and Schmidhube , 1997] Hoch ei e , S. and Schmidhube , J. (1997). Long sho - e m memo y. Neu al Compu a ion, 9(8):1735–1780. [Hodosh e al., 2013] Hodosh, M., Young, P., and Hockenmaie , J. (2013). F aming image desc ip ion as a anking ask: Da a, models and e alua ion me ics. J. A i . In ell. Res., 47:853–899. [Ho elling, 1933] Ho elling, H. (1933). Analysis o a complex o s a is ical a iables wi h p incipal componen s. Jou nal o Educa ional Psychology, 24:417–441. 72 BIBLIOGRAPHY [Huang e al., 2016] Huang, T. K., Fe a o, F., Mos a azadeh, N., Mis a, I., Ag awal, A., De lin, J., Gi shick, R. B., He, X., Kohli, P., Ba a, D., Zi nick, C. L., Pa ikh, D., Vande wende, L., Galley, M., and Mi chell, M. (2016). Visual s o y elling. In Knigh , K., Nenko a, A., and Rambow, O., edi o s, NAACL HLT 2016, The 2016 Con e ence o he No h Ame ican Chap e o he Associa ion o Compu a ional Linguis ics: Human Language Technologies, San Diego Cali o nia, USA, June 12-17, 2016, pages 1233–1239. The Associa ion o Compu a ional Linguis ics. [Io danskaja e al., 1992] Io danskaja, L., Kim, M., Ki edge, R. I., La oie, B., and Polgu`e e, A. (1992). Gene a ion o ex ended bilingual s a is ical epo s. In 14 h In- e na ional Con e ence on Compu a ional Linguis ics, COLING 1992, Nan es, F ance, Augus 23-28, 1992, pages 1019–1023. [Jia e al., 2014] Jia, Y., Shelhame , E., Donahue, J., Ka aye , S., Long, J., Gi shick, R., Guada ama, S., and Da ell, T. (2014). Ca e: Con olu ional a chi ec u e o as ea u e embedding. a Xi p ep in a Xi :1408.5093. [Ka pa hy and Li, 2015] Ka pa hy, A. and Li, F. (2015). Deep isual-seman ic alignmen s o gene a ing image desc ip ions. In [DBL, 2015], pages 3128–3137. [Kingma and Ba, 2014] Kingma, D. P. and Ba, J. (2014). Adam: A me hod o s ochas ic op imiza ion. CoRR, abs/1412.6980. [Ki os e al., 2014a] Ki os, R., Salakhu dino , R., and Zemel, R. S. (2014a). Mul imodal neu al language models. In P oceedings o he 31 h In e na ional Con e ence on Machine Lea ning, ICML 2014, Beijing, China, 21-26 June 2014, pages 595–603. [Ki os e al., 2014b] Ki os, R., Salakhu dino , R., and Zemel, R. S. (2014b). Uni y- ing isual-seman ic embeddings wi h mul imodal neu al language models. CoRR, abs/1411.2539. [K izhe sky, 2012] K izhe sky, A. (2012). Lea ning mul iple laye s o ea u es om iny images. [K izhe sky e al., 2012] K izhe sky, A., Su ske e , I., and Hin on, G. E. (2012). Ima- gene classi ica ion wi h deep con olu ional neu al ne wo ks. In Ba le , P. L., Pe ei a, F. C. N., Bu ges, C. J. C., Bo ou, L., and Weinbe ge , K. Q., edi o s, Ad ances in Neu al In o ma ion P ocessing Sys ems 25: 26 h Annual Con e ence on Neu al In o - ma ion P ocessing Sys ems 2012. P oceedings o a mee ing held Decembe 3-6, 2012, Lake Tahoe, Ne ada, Uni ed S a es., pages 1106–1114. [Kulka ni e al., 2013] Kulka ni, G., P em aj, V., O donez, V., Dha , S., Li, S., Choi, Y., Be g, A. C., and Be g, T. L. (2013). Baby alk: Unde s anding and gene a ing simple image desc ip ions. IEEE T ans. Pa e n Anal. Mach. In ell., 35(12):2891–2903. [Kuzne so a e al., 2012] Kuzne so a, P., O donez, V., Be g, A. C., Be g, T. L., and Choi, Y. (2012). Collec i e gene a ion o na u al image desc ip ions. In The 50 h BIBLIOGRAPHY 73 Annual Mee ing o he Associa ion o Compu a ional Linguis ics, P oceedings o he Con e ence, July 8-14, 2012, Jeju Island, Ko ea - Volume 1: Long Pape s, pages 359– 368. The Associa ion o Compu e Linguis ics. [LeCun e al., 2015] LeCun, Y., Bengio, Y., and Hin on, G. E. (2015). Deep lea ning. Na u e, 521(7553):436–444. [Li e al., 2011] Li, S., Kulka ni, G., Be g, T. L., Be g, A. C., and Choi, Y. (2011). Com- posing simple image desc ip ions using web-scale n-g ams. In Goldwa e , S. and Man- ning, C. D., edi o s, P oceedings o he Fi een h Con e ence on Compu a ional Na u al Language Lea ning, CoNLL 2011, Po land, O egon, USA, June 23-24, 2011, pages 220–228. ACL. [Lin, 2004] Lin, C.-Y. (2004). Rouge: a package o au oma ic e alua ion o summa ies. [Lin e al., 2014] Lin, T., Mai e, M., Belongie, S. J., Bou de , L. D., Gi shick, R. B., Hays, J., Pe ona, P., Ramanan, D., Doll´a , P., and Zi nick, C. L. (2014). Mic oso COCO: common objec s in con ex . CoRR, abs/1405.0312. [Lowe, 1999] Lowe, D. G. (1999). Objec ecogni ion om local scale-in a ian ea u es. In ICCV, pages 1150–1157. [Mao e al., 2014] Mao, J., Xu, W., Yang, Y., Wang, J., and Yuille, A. L. (2014). Deep cap ioning wi h mul imodal ecu en neu al ne wo ks (m- nn). CoRR, abs/1412.6632. [Mason and Cha niak, 2014] Mason, R. and Cha niak, E. (2014). Nonpa ame ic me hod o da a-d i en image cap ioning. In P oceedings o he 52nd Annual Mee ing o he Associa ion o Compu a ional Linguis ics, ACL 2014, June 22-27, 2014, Bal imo e, MD, USA, Volume 2: Sho Pape s, pages 592–598. The Associa ion o Compu e Linguis ics. [Mille , 1995] Mille , G. A. (1995). Wo dne : A lexical da abase o english. Commun. ACM, 38(11):39–41. [Mi chell e al., 2012] Mi chell, M., Dodge, J., Goyal, A., Yamaguchi, K., S a os, K., Han, X., Mensch, A., Be g, A. C., Be g, T. L., and III, H. D. (2012). Midge: Gene a ing image desc ip ions om compu e ision de ec ions. In Daelemans, W., Lapa a, M., and M`a quez, L., edi o s, EACL 2012, 13 h Con e ence o he Eu opean Chap e o he Associa ion o Compu a ional Linguis ics, A ignon, F ance, Ap il 23-27, 2012, pages 747–756. The Associa ion o Compu e Linguis ics. [Moschi i e al., 2014] Moschi i, A., Pang, B., and Daelemans, W., edi o s (2014). P o- ceedings o he 2014 Con e ence on Empi ical Me hods in Na u al Language P ocessing, EMNLP 2014, Oc obe 25-29, 2014, Doha, Qa a , A mee ing o SIGDAT, a Special In e es G oup o he ACL. ACL. [Mos a azadeh e al., 2017] Mos a azadeh, N., B ocke , C., Dolan, B., Galley, M., Gao, J., Spi hou akis, G. P., and Vande wende, L. (2017). Image-g ounded con e sa ions: 74 BIBLIOGRAPHY Mul imodal con ex o na u al ques ion and esponse gene a ion. In Kond ak, G. and Wa anabe, T., edi o s, P oceedings o he Eigh h In e na ional Join Con e ence on Na u al Language P ocessing, IJCNLP 2017, Taipei, Taiwan, No embe 27 - Decembe 1, 2017 - Volume 1: Long Pape s, pages 462–472. Asian Fede a ion o Na u al Language P ocessing. [Moze , 1989] Moze , M. C. (1989). A ocused backp opaga ion algo i hm o empo al pa e n ecogni ion. Complex Sys ems, 3(4). [O donez e al., 2011] O donez, V., Kulka ni, G., and Be g, T. L. (2011). Im2 ex : De- sc ibing images using 1 million cap ioned pho og aphs. In Shawe-Taylo , J., Zemel, R. S., Ba le , P. L., Pe ei a, F. C. N., and Weinbe ge , K. Q., edi o s, Ad ances in Neu al In o ma ion P ocessing Sys ems 24: 25 h Annual Con e ence on Neu al In o - ma ion P ocessing Sys ems 2011. P oceedings o a mee ing held 12-14 Decembe 2011, G anada, Spain., pages 1143–1151. [Pang e al., 2002] Pang, B., Lee, L., and Vai hyana han, S. (2002). Thumbs up?: Sen- imen classi ica ion using machine lea ning echniques. In P oceedings o he ACL-02 Con e ence on Empi ical Me hods in Na u al Language P ocessing - Volume 10, EMNLP ’02, pages 79–86, S oudsbu g, PA, USA. Associa ion o Compu a ional Linguis ics. [Papineni e al., 2002] Papineni, K., Roukos, S., Wa d, T., and Zhu, W. (2002). Bleu: a me hod o au oma ic e alua ion o machine ansla ion. In P oceedings o he 40 h Annual Mee ing o he Associa ion o Compu a ional Linguis ics, July 6-12, 2002, Philadelphia, PA, USA., pages 311–318. ACL. [Penning on e al., 2014] Penning on, J., Soche , R., and Manning, C. D. (2014). Glo e: Global ec o s o wo d ep esen a ion. In [Moschi i e al., 2014], pages 1532–1543. [Rei e and Dale, 1997] Rei e , E. and Dale, R. (1997). Building applied na u al language gene a ion sys ems. Na u al Language Enginee ing, 3(1):57–87. [Russako sky e al., 2015] Russako sky, O., Deng, J., Su, H., K ause, J., Sa heesh, S., Ma, S., Huang, Z., Ka pa hy, A., Khosla, A., Be ns ein, M. S., Be g, A. C., and Li, F. (2015). Imagene la ge scale isual ecogni ion challenge. In e na ional Jou nal o Compu e Vision, 115(3):211–252. [Russell e al., 2008] Russell, B. C., To alba, A., Mu phy, K. P., and F eeman, W. T. (2008). Labelme: A da abase and web-based ool o image anno a ion. In e na ional Jou nal o Compu e Vision, 77(1-3):157–173. [Sabou e al., 2017] Sabou , S., F oss , N., and Hin on, G. E. (2017). Dynamic ou ing be ween capsules. In Guyon, I., on Luxbu g, U., Bengio, S., Wallach, H. M., Fe gus, R., Vishwana han, S. V. N., and Ga ne , R., edi o s, Ad ances in Neu al In o ma ion P ocessing Sys ems 30: Annual Con e ence on Neu al In o ma ion P ocessing Sys ems 2017, 4-9 Decembe 2017, Long Beach, CA, USA, pages 3859–3869. BIBLIOGRAPHY 75 [Sa ikaya e al., 2014] Sa ikaya, R., Hin on, G. E., and Deo as, A. (2014). Applica ion o deep belie ne wo ks o na u al language unde s anding. IEEE/ACM T ans. Audio, Speech & Language P ocessing, 22(4):778–784. [Seide and Aga wal, 2016] Seide, F. and Aga wal, A. (2016). Cn k: Mic oso ’s open- sou ce deep-lea ning oolki . In P oceedings o he 22Nd ACM SIGKDD In e na ional Con e ence on Knowledge Disco e y and Da a Mining, KDD ’16, pages 2135–2135, New Yo k, NY, USA. ACM. [S i as a a e al., 2014] S i as a a, N., Hin on, G. E., K izhe sky, A., Su ske e , I., and Salakhu dino , R. (2014). D opou : a simple way o p e en neu al ne wo ks om o e i ing. Jou nal o Machine Lea ning Resea ch, 15(1):1929–1958. [Tan i e al., 2017a] Tan i, M., Ga , A., and Camille i, K. P. (2017a). Wha is he ole o ecu en neu al ne wo ks ( nns) in an image cap ion gene a o ? In P oceedings o he 10 h In e na ional Con e ence on Na u al Language Gene a ion, INLG 2017, San iago de Compos ela, Spain, Sep embe 4-7, 2017, pages 51–60. [Tan i e al., 2017b] Tan i, M., Ga , A., and Camille i, K. P. (2017b). Whe e o pu he image in an image cap ion gene a o . CoRR, abs/1703.09137. [Theano De elopmen Team, 2016] Theano De elopmen Team (2016). Theano: A Py hon amewo k o as compu a ion o ma hema ical exp essions. a Xi e-p in s, abs/1605.02688. [T an e al., 2016] T an, K., He, X., Zhang, L., and Sun, J. (2016). Rich image cap ioning in he wild. In 2016 IEEE Con e ence on Compu e Vision and Pa e n Recogni ion Wo kshops, CVPR Wo kshops 2016, Las Vegas, NV, USA, June 26 - July 1, 2016, pages 434–441. IEEE Compu e Socie y. [Vedan am e al., 2014] Vedan am, R., Zi nick, C. L., and Pa ikh, D. (2014). Cide : Consensus-based image desc ip ion e alua ion. CoRR, abs/1411.5726. [Vinyals e al., 2015] Vinyals, O., Toshe , A., Bengio, S., and E han, D. (2015). Show and ell: A neu al image cap ion gene a o . In [DBL, 2015], pages 3156–3164. [We nick e al., 2010] We nick, M. N., Yang, Y., B anko , J. G., You gano , G., and S o he , S. C. (2010). Machine lea ning in medical imaging. IEEE Signal P ocessing Magazine, 27(4):25–38. [Wu e al., 2017a] Wu, Q., Teney, D., Wang, P., Shen, C., Dick, A. R., and an den Hengel, A. (2017a). Visual ques ion answe ing: A su ey o me hods and da ase s. Compu e Vision and Image Unde s anding, 163:21–40. [Wu e al., 2017b] Wu, S., Wieland, J., Fa i a , O., and Schille , J. (2017b). Au oma ic al - ex : Compu e -gene a ed image desc ip ions o blind use s on a social ne wo k se ice. In P oceedings o he 2017 ACM Con e ence on Compu e Suppo ed Coope a i e Wo k and Social Compu ing, CSCW ’17, pages 1180–1192, New Yo k, NY, USA. ACM. 76 BIBLIOGRAPHY [Wu e al., 2016] Wu, Y., Schus e , M., Chen, Z., Le, Q. V., No ouzi, M., Mache ey, W., K ikun, M., Cao, Y., Gao, Q., Mache ey, K., Klingne , J., Shah, A., Johnson, M., Liu, X., Kaise , L., Gouws, S., Ka o, Y., Kudo, T., Kazawa, H., S e ens, K., Ku ian, G., Pa il, N., Wang, W., Young, C., Smi h, J., Riesa, J., Rudnick, A., Vinyals, O., Co ado, G., Hughes, M., and Dean, J. (2016). Google’s neu al machine ansla ion sys em: B idging he gap be ween human and machine ansla ion. CoRR, abs/1609.08144. [Yang e al., 2011] Yang, Y., Teo, C. L., III, H. D., and Aloimonos, Y. (2011). Co pus- guided sen ence gene a ion o na u al images. In P oceedings o he 2011 Con e ence on Empi ical Me hods in Na u al Language P ocessing, EMNLP 2011, 27-31 July 2011, John McIn y e Con e ence Cen e, Edinbu gh, UK, A mee ing o SIGDAT, a Special In e es G oup o he ACL, pages 444–454. ACL. [Young e al., 2014] Young, P., Lai, A., Hodosh, M., and Hockenmaie , J. (2014). F om image desc ip ions o isual deno a ions: New simila i y me ics o seman ic in e ence o e e en desc ip ions. TACL, 2:67–78.