Arquitecturas Profundas en AI - Una Introduccion a Deep Learning

20

description

Recientemente en la comunidad de machine learning se ha comenzado a desarrollarcon fuerza el area de deep learning. Ciertos resultados teoricos sugierenque para resolver un conjunto de problemas de interes en la inteligencia computacionales necesario utilizar arquitecturas y modelos con varios niveles deprofundidad. Esto corresponde a un resultado rupturista en contraste con eldesarrollo tradicional del machine learning. Es de interes entonces el conocerla motivacion y conceptos detras de las arquitecturas profundas como tambienlos modelos utilizados en deep learning. Se presentan ademas aplicaciones deinteres en el area como tambien la posible direccion en que encauzar el trabajofuturo en deep learning.

Transcript of Arquitecturas Profundas en AI - Una Introduccion a Deep Learning

  • Arquitecturas Profundas en AIUna Introduccion a Deep Learning

    Diego Acuna Rozas

    Universidad Tecnica Federico Santa Mara

    Abstract

    Recientemente en la comunidad de machine learning se ha comenzado a desar-rollar con fuerza el area de deep learning. Ciertos resultados teoricos sugierenque para resolver un conjunto de problemas de interes en la inteligencia com-putacional es necesario utilizar arquitecturas y modelos con varios niveles deprofundidad. Esto corresponde a un resultado rupturista en contraste con eldesarrollo tradicional del machine learning. Es de interes entonces el conocerla motivacion y conceptos detras de las arquitecturas profundas como tambienlos modelos utilizados en deep learning. Se presentan ademas aplicaciones deinteres en el area como tambien la posible direccion en que encauzar el trabajofuturo en deep learning.

    1. Introduccion

    La inteligencia ha permitido a los seres humanos el desarrollar un entendimientomuchas veces acabado de fenomenos naturales y artificiales cuya aplicacionpractica posee una importancia crtica para el mismo ser humano. El replicareste comportamiento generado por este concepto de inteligencia ha sido unode los objetivos fundamentales del area de la inteligencia artificial desde susorgenes. De una forma mas concreta, podra decirse que un (posible) objetivoen el area de la inteligencia computacional corresponde a disenar maquinas quelogren desarrollar un entendimiento sobre fenomenos de interes para los sereshumanos. Es claro que una gran cantidad de informacion sobre el fenomenoen estudio debe ser cuantificada mediante algun mecanismo (potencialmentedesconocido como es el caso del cerebro humano), ya sea explcito o implcito,para lograr un entendimiento a gran escala del fenomeno analizado. En el areade la inteligencia computacional, el almacenamiento explcito de la informaciones una tarea desafiante tanto desde aspectos computacionales como tambien eldisenar un proceso eficiente de transferencia de conocimiento hacia la maquina.Es por este motivo que actualmente la investigacion en el area se centra en en-

    Email address: [email protected] (Diego Acuna Rozas)

    Preprint submitted to Elsevier March 1, 2014

  • contrar algoritmos de aprendizaje que permitan capturar de manera automaticauna cantidad no menor de informacion sobre los problemas en estudio.

    Considerando el desarrollo de la inteligencia computacional, es factible pro-poner el cuestionamiento: Se ha logrado alcanzar el objetivo propuesto parael area? Actualmente, existe una variedad considerable de algoritmos de apren-dizaje que han permitido alcanzar un avance importante en conjunto con re-solver por completo problematicas investigadas en el area. Aun as, estas prob-lematicas no alcanzan a reflejar por completo el objetivo principal planteado.En otras palabras, el area de la inteligencia computacional aun no logra desar-rollar maquinas que reflejen un entendimiento similar al humano (pero con lasventajas del procesamiento computacional) en ciertas tareas de interes.

    1.1. Una mirada al comportamiento humano

    Si el objetivo de la inteligencia computacional es en cierta medida imitar elcomportamiento humano inteligente que converge en un entendimiento de losfenomenos en estudio, entonces el analizar las caractersticas mas relevantes dedicho comportamiento es sino un ejercicio necesario. Dentro de las siguientescaractersticas [14] se puede concretar (discutiblemente) una caracterizacion delentendimiento humano:

    Descomposicion en subproblemas: al enfrentarse a un problema complejolos seres humanos tienden a descomponer la dificultad enfrentada en sub-problemas de menor complejidad.

    Desarrollo de jerarquas de abstracciones: los seres humanos en su procesocognitivo componen el conocimiento a partir de jerarqas de abstraccioneslas cuales a medida que se sube de nivel adquieren un sentido aun masabstracto. Por ejemplo, al ver una imagen de una persona (1) primerose visualizan los bordes los cuales componen una figura, dicha figura enconjunto con otras abstracciones en un nivel superior pueden dar origena una imagen compleja y el reconocimiento de la persona presente en laimagen.

    Reutilizacion del conocimiento adquirido: una habilidad conocida del serhumano es utilizar la experiencia pasada como herramienta para construirconocimiento futuro.

    Habilidades y herramientas especializadas para ciertas tareas (en particu-lar los estudios en primates reflejan fuertemente esta caracterstica [32]):estudios principalmente realizados sobre el cortex visual indican que enla arquitectura de este existen celulas especializadas para ciertas tareasde reconocimiento visual. Este tipo de arquitectura es repetida en otroselementos del cerebro humano.

    Una reflexion valida frente a lo mencionado con anterioridad es que parecieraser que este comportamiento humano complejo que da origen al entendimiento alintentar ser plasmado en algoritmos de aprendizaje debe requerir de elementos

    2

  • Figure 1: Distintos niveles de representacion para una imagen. Mientras mas alto el nivel derepresentacion se esperara tener conceptos mas abstractos de la entrada original.

    que sean capaces de representar dicha complejidad (multiples niveles de repre-sentacion, especializacion de componentes, etc.), es decir, para tareas donde serealiza un uso elevado de dichas cualidades al disenar algoritmos de aprendizajepuede ser que se requiera de funciones matematicas altamente no lineales (o dealta variabilidad) dada la alta expresividad de dichas funciones [2].

    1.2. Funciones de alta variabilidad

    Al considerar funciones de alta variabilidad en algoritmos de aprendizaje elobjetivo buscado es representar con mayor precision las caractersticas que de-finen el entendimiento humano. Considere un problema de aprendizaje dondese posee un conjunto de datos de entrada especfico. Al requerir de una funcionde alta variabilidad se busca generar un conjunto de niveles de representaciondonde a medida que se aumenta el nivel entonces este debe ser construdo medi-ante combinaciones altamente no lineales de los datos del conjunto de entrada.Ademas, para problemas que requieren de un comportamiento complejo comoel presente en el ser humano, es factible considerar la hipotesis de que los datosde entrada en dichos problemas estan compuestos por una gran cantidad devariables (posiblemente desconocidas) las cuales a su vez estan relacionadaspor fenomenos estadsticos desconocidos. A este conjunto de variables se lesconocera por factores de variacion. Por ejemplo, en una imagen los factoresde variacion pueden corresponder a la posicion de un objeto en la imagen, laorientacion de la imagen y la luminosidad presente en esta.

    3

  • Si bien no todo el aprendizaje buscado en la inteligencia computacional esde este tipo, en el presente informe el foco es en problemas que siguen dichatendencia. De manera mas formal, el interes de estudio radica en problemasdonde la distribucion de los datos de entrada sigue una estructura como lasiguiente:

    p(x) =

    1,...,m

    p(x|1, . . . , m)p(1, . . . , m)

    donde p(1, . . . , m) es de alta variabilidad para una gran cantidad de com-binaciones (posiblemente exponencial) de valores de los factores de variabilidadi. En la practica este tipo de estructura puede ser encontrada en problemastales como:

    Handwritten digit recognition: i {angulo de rotacion, luminosidad,fondo, etc.}

    Clasificacion de documentos: i {topics, estilo, etc.} Speech recognition: i {genero de quien habla, ruido, etc.}Para este tipo de problemas, es deseable que un algoritmo de aprendizaje

    logre aprender representaciones (en distintos niveles) de manera automatica.Este objetivo tiene su origen en el area del aprendizaje de representaciones [3]la cual busca desarrollar algoritmos que permitan un aprendizaje automatico detransformaciones de los datos en estudio que permitan reducir la complejidadde la tarea de extraer informacion valiosa y util al construir clasificadores ypredictores. En el corazon de este objetivo se encuentra la lnea de investigacioncubierta por el area conocida como Deep Learning.

    El foco de estudio del Deep Learning puede resumirse en la tarea de en-contrar automaticamente niveles de abstraccion en los datos en estudio, desdeniveles bajos de caractersticas (niveles de luminosidad en una imagen) hastaconceptos de alto nivel en dichos datos (reconocimiento de una persona en unaimagen), idealmente se desea lograr este objetivo con la menor intervencionhumana posible. Lo anterior implica el evitar definir manualmente los nive-les de abstraccion buscados (el algoritmo debe encontrarlos por s mismo) yademas el indicar un conjunto de datos de entrada relevantes sin la necesidadde un etiquetado manual (como en el arreglo supervisado clasico en maquinas deaprendizaje). Ademas, en similitud con el comportamiento inteligente humano,se busca desarrollar maquinas que posean componentes especializados para re-solver distintas tareas, esto implica tambien una posibilidad de reutilizacion dedichos componentes para el desarrollo de otros algoritmos de aprendizaje queas lo requieran. Bajo este ultimo concepto, Deep Learning posee una similitudcon el problema conocido como Multi-task Learning [10, 25].

    1.3. Objetivos del aprendizaje en inteligencia artificial

    En resumen, en el desarrollo de algoritmos de aprendizaje es posible cuan-tificar los siguientes objetivos al resolver problemas de alta variabilidad:

    4

  • Aprender funciones complejas con un numero elevado de factoresde variacion posiblemente mayor que el tamano del conjunto de entre-namiento

    Aprender con la menor cantidad de intervencion humana posible distintosniveles de abstraccion que sean utiles para representar las funcionescomplejas necesarias para las tareas en AI

    Aprender mayormente de datos no etiquetados, es decir, en una configu-racion semi-supervisada

    Explotar las sinergias entre distintas tareas en AI, es decir, multi-tasklearning

    Aprendizaje de representaciones expresivas para los fenomenos enestudio y de interes en AI

    En las siguientes secciones se expondra como el area de reciente desarrolloconocidad como Deep Learning provee de modelos y herramientas que permitenalcanzar en cierta medida los objetivos buscados. La organizacion del presentedocumento corresponde a la siguiente estructura: en la seccion 2 se presentandefiniciones basicas sobre conceptos y elementos utilizados en Deep Learninglos cuales seran de utilidad para comprender los modelos desarrollados en elarea presentados en la seccion 3. En la seccion 4, se presentan diversos ejemplosdonde Deep Learning ha sido utilizado obteniendo resultados satisfactorios. Porultimo, en la seccion 5 se presentan conclusiones del trabajo como tambienposibles lneas de investigacion futuras en el area.

    2. Deep Learning: Motivacion y Outline Historico

    2.1. Motivacion

    El desarrollo del area de Deep Learning es consecuencia de una serie deresultados teoricos como tambien de elementos intuitivos presentados en la lit-eratura. A continuacion, se revisan los resultados mas relevantes que motivanel origen del area.

    Insuficiencia de profundidad en la arquitectura utilizada: Si seconsidera el numero de calculos involucrados para transformar una entradade datos en una salida efectuados por un algoritmo de aprendizaje, esteflujo de operaciones puede ser representado por un grafo. Por ejemplo, lafuncion sin(a2 + ba puede ser representada mediante un grafo compuestopor:

    Un nodo a y un nodo b tomando los datos a y b como entrada

    Un nodo tomando a y b como entrada para calcular la division de ba .Un nodo para calcular el cuadrado de a tomando a como entrada

    Un nodo para la suma a2 + ba

    5

  • Figure 2: Profundidad para una red neuronal con una capa oculta y para una SVM.

    Finalmente un nodo de salida que calcula el seno de la suma anterior

    Considerando entonces esta representacion de un flujo de operaciones comoun grafo, se puede definir el concepto de profundidad (depth) como elcamino mas largo en el grafo de operaciones desde un input a un output[4]. Para algunos algoritmos de aprendizajes clasicos la profundidad esconocida (ver esquema 2):

    Para las redes neuronales feedforward se tiene una profundidad igualal numero de capas (capas ocultas mas capa de salida)

    Para las SVM se puede considerar que posee profundidad dos, unapara la salida de la funcion de kernel y otra para la combinacionlineal que produce la salida

    Considerando el concepto de profundidad, es posible distinguir dos tiposde arquitecturas de aprendizaje:

    Shallow architectures: arquitecturas con una profundidad baja. Engeneral se consideran arquitecturas de profundidad baja a aquellasque posean 2 o 3 niveles en su flujo de operaciones.

    Deep architectures: arquitecturas de profundidad elevada potencial-mente mucho mayor que la presente en las shallow architectures.

    Ciertos resultados teoricos [2] muestran que ciertas funciones no puedenser eficientemente representadas (eficiencia en terminos de los elemen-tos que deben ser sintonizados por el algoritmo) por arquitecturascon una profundidad baja. Estos resultados sugieren que exploraralgoritmos que utilicen arquitecturas profundas puede ser un ejerci-cio valioso abriendo la posibilidad de representar funciones que nopueden ser representadas eficientemente en arreglos de baja profun-didad.

    6

  • Una representacion de una funcion se denomina compacta cuandoposee pocos elementos de computacion (pocos grados de libertad quenecesitan ser sintonizados por el algoritmo de aprendizaje) [2]. Auna representacion que cumpla con dicha condicion es consideradauna representacion con alta expresividad. Por ejemplo, en la figura2.1 la representacion utilizada para la funcion objetivo es de alta ex-presividad ya que utiliza una arquitectura profunda. Visto desde otropunto de vista, una arquitectura profunda puede ser vista como unafactorizacion eficiente de una arquitectura shallow. Al considerar unacantidad menor de elementos de computacion, para un conjunto fijode datos de entrada es de esperar que una representacion compactaconlleve a una mejor generalizacion.

    Como se menciono con anterioridad, os resultados teoricos sugierenque funciones que son representadas de manera compacta por unmodelo de profundidad k pueden requerir un numero exponencial deelementos de computacion en un modelo de profundidad k 1[2].Esto esta demostrado para:

    Unidades logicas [16] Multi-layer neural networks with linear treshold units and posi-

    tive weights [17]

    Estos resultados permiten el presentar la siguiente reflexion Poseenlas arquitecturas con profundidad baja una capacidad de expresionmuy reducida para representar las funciones complejas (de alta vari-abilidad) necesarias en el aprendizaje en inteligencia artificial? Sibien, los resultados anteriormente presentados no incluyen la totali-dad de algoritmos de aprendizaje conocidos a la fecha, son sin dudauna motivacion para la investigacion sobre la capacidad y expresivi-dad que puedan aportar las arquitecturas profundas.

    7

  • Figure 3: Contraste entre una maquina basada en local generalization (k -means) y una basadaen distributed representations (Restricted Boltzmann Machine)

    Generalizacion local: Un estimador es denominado local en su espaciode entrada si es que para obtener una buena generalizacion para un nuevoelemento x de entrada explota la similitud de x con los vecinos en elespacio de entrada conocidos de x. Los estimadores locales implcita oexplcitamente particionan el espacio de entrada en regiones y requierende distintos parametros o grados de libertad para dar cuenta de la formade la funcion buscada en cada una de las regiones. Un algoritmo basado engeneralizacion local podra generalizar bien unicamente si es que posee unacantidad suficiente de ejemplos de entrada que permitan cubrir todas lasregiones que deben ser distinguidas para representar la funcion objetivo[4, 5].

    En contraste las representaciones distribuidas [20] permiten representarcon alta expresividad la funcion objetivo, es decir, una arquitectura queutilizar una representacion distribuida posee un tamano razonable (encomparacion con el numero de regiones utilizadas en un generalizador lo-cal) y que puede capturar un gran numero de posibles configuraciones deentrada. Si la funcion que se desea aprender es de alta variabilidad, en-tonces un generalizador local requerira de muchos ejemplos para lograr unabuena generalizacion. Este no es el caso para un algoritmo que utilice unarepresentacion distribuida. Para ejemplificar lo comentado anteriormente,en la figura 3 se puede observar una comparacion entre un generalizadorlocal (k-means) y un algoritmo que utiliza una representacion distribuida(Restricted Boltzmann Machine [22]).

    Metaforas desde la neurociencia: Fuera de considerar los resultadosteoricos expuestos con anterioridad, existen un conjunto de investigacionesprovenientes del area de la neurociencia que de una u otra forma motivande manera intuitiva la nocion de aprendizaje profundo expuesta por losalgoritmos de deep learning. Algunos resultados de dichas investigaciones

    8

  • corresponden a:

    El cerebro pareciera estar formado por una arquitectura profunda[2]: basandose en el conocimiento actual de la anatoma cerebral[32], pareciera ser que el cortex visual puede ser visto como una ar-quitectura profunda, en particular compuesta por entre 5 y 10 capaspara las tareas visuales mas simples.

    Los procesos cognitivos parecen provenir de arquitecturas profundasya que se construyen a partir de multiples niveles de abstraccion yprocesamiento: es natural para los seres humanos el representar con-ceptos en un cierto nivel de abstraccion como la composicion de con-ceptos en niveles inferiores. Esto conlleva implcitamente una nocionde reuso del conocimiento. Los algoritmos de deep Learning tomanen consideracion esta nocion permitiendo ademas su aplicacion enproblematicas relacionadas con transfer learning y multi-task learn-ing ([9]).

    2.2. Outline historico

    Los modelos utilizados comunmente para el desarrollo de tecnicas de deeplearning corresponden principalmente a los siguientes:

    Restricted Boltzmann Machine (Smolensky, 1986) [33] Auto-Encoders (Hinton, 1994) [23] Convolutional Neural Networks (LeCunn 1995) [26]Para el buen observador, dichos modelos fueron desarrollados hace ya bas-

    tante tiempo. Queda entonces preguntarse el porque solo hace solo unos pocosanos el area de deep learning tuvo su realce y comenzo a atraer la atenciondel publico (anos posteriores a 2006). La respuesta recae en que los modelosmencionados correspondan solo a modelos teoricos (con excepcion de las redesconvolucionales) que en la practica eran infactibles de entrenar. Esto cambio elano 2006-2007 con la publicacion de los siguientes trabajos:

    Hinton, G. E., Osindero, S. and Teh, Y., A fast learning algorithm fordeep belief nets [22], 2006

    Yoshua Bengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle, GreedyLayer-Wise Training of Deep Networks [6], 2007

    Marc Aurelio Ranzato, Christopher Poultney, Sumit Chopra and YannLeCun Efficient Learning of Sparse Representations with an Energy-BasedModel [30], 2006

    En conjunto, en dichos trabajos se desarrollan algoritmos que eficientementepermiten entrenar modelos de arquitecturas profundas obteniendo resultadosalentadores. Estos fueron los resultados principales que comenzaron un desar-rollo potente para el area.

    9

  • 3. Modelos en Deep Learning

    3.1. Restricted Boltzmann Machine

    Uno de los modelos mas utilizados en deep learning corresponde a la Re-stricted Boltzmann Machine (RBM desde ahora en adelante) propuesta inicial-mente por Smolensky [33] y trabajadas por G. Hinton en diversas publicaciones[21, 22]. Estas corresponden a un grupo de modelos englobados bajo la de-nominacion de modelos basados en energa [27] los cuales se caracterizan porasociar un valor escalar (denominado energa) a distintas configuraciones de lasvariables en estudio asociadas al problema. Esta energa puede ser entendidacomo un medida de compatibilidad entre las variables. En general se asocia unvalor pequeno al escalar de energa para representar una alta compatibilidad (i.e.similitud) entre las variables en estudio y un valor elevado para configuracionesde variables que son altamente incompatibles.

    El aprendizaje en este tipo de modelos consiste principalmente en encontraruna funcion de energa tal que para configuraciones correctas de las variablesanalizadas la energa sea mnima (por conguraciones correctas se entiende unmodelo que logre encontrar valores para variables desconocidas y que dichasvariables logren valores correctos para el fenomeno en estudio).

    Para ejemplificar, considere un problema con dos variables X e Y (ver figura4. X podra ser un vector que represente una imagen, Y puede ser la categorade dicha imagen. El objetivo es encontrar una funcion de energa E(Y,X) (enlos modelos basados en energa en tambien existe un funcional de perdida. Estepermite medir la calidad entre distintas funciones de energas disponibles en untiempo t). En particular, el modelo debe predecir un valor Y tal que:

    Y = argminY YE(Y,X)

    Si el conjunto Y es pequeno solo se debe calcular el valor de E(Y,X) paratodos los posibles valores de Y y seleccionar el que de origen al mnimo de laenerga. Lamentablemente, para la gran mayora de problemas encontrados enla realidad el conjunto Y es de gran tamano por lo que la opcion anterior esintratable.

    Hasta este punto en un modelo de energa solo interesa que la energa deuna configuracion sea mnima para que esta sea seleccionada como la optima.El resto de configuraciones de variables son irrelevantes mientras su energa seaelevada. Cuando se consideran distintos sistemas basados en energa, es nece-sario utilizar una medida de energa que sea comparable entre ambos sistemas.Siguiendo la definicion entregada anteriormente para la energa del sistema, nohay garanta de que las escalas de energa entre sistemas sean comparables. Pararesolver esta problematica se utiliza un modelo de energa calibrado medianteuna distribucion de probabilidad normalizada [27] (distribucion de Gibbs):

    P (Y |X) = eE(Y,X)

    yY eE(y,X)

    10

  • Figure 4: Medida de compatibilidad de un modelo de energa para una variable X y unavariable Y utilizando una funcion de energa E(Y,X).

    En la practica, (considerando un conjunto x de variables de interes) se utilizala siguiente expresion:

    P (x) =eE(x)x e

    E(x)

    El denominador de P (x) se denomina funcion de particion haciendo unaanaloga con la mecanica estadstica.

    La RBM es un modelo basado en el modelo de energa denominado Boltz-mann Machine [1] (BM). En una BM se posee un conjunto de variables xi querepresentan los datos de entrada de un problema en estudio recoletadas en unvector x. Ademas, se posee un conjunto de variables ocultas recolectadas enun vector h que pueden ser entendidos como detectores de caractersticas de losdatos de entrada. El conjunto x es el conjunto de variables visibles del modeloy como se menciono anteriormente el conjunto h corresponde al conjunto devariables ocultas. Con estas consideraciones, se tiene (recordar la funcion deenerga):

    P (x, h) =eE(x,h)

    Z

    Donde Z =x,h e

    E(x) es la funcion de particion del modelo. La probabilidadasignada por el modelo a un vector visible x viene dada por:

    P (x) =1

    Z

    h

    eE(x,h)

    11

  • Para mayor comodidad, es posible definir ademas la energa libre de unvector x:

    FreeEnergy(x) = logh

    eE(x,h)

    Esto nuevamente haciendo una metafora al area de la mecanica estadstica.Considerando la definicion de energa libre, se tiene:

    P (x) =1

    ZeFreeEnergy(x)

    Una maquina de Boltzmann cumple con un modelo de energa que es unpolinomio de segundo grado en x, h:

    E(x, h) = hWx+ hUh+ xV x+ bh+ cx

    Con un vector de coeficientes = (W,U, V, b, c) donde W representa la inter-accion entre variables visibles y ocultas. U la interaccion entre variables ocultas.V la interaccion entre variables visibles y b, c el bias de h y x respectivamente.

    Siendo la Boltzmann Machine y los EBM modelos probabilisticos, para en-trenar los parametros del modelo se busca maximizar la log-verosimilitud de losdatos de entrada [19]:

    logP (x)

    = FreeEnergy(x)

    +

    1

    Z

    x

    eFreeEnergy(x)FreeEnergy(x)

    =FreeEnergy(x)

    +x

    P (x)FreeEnergy(x)

    Tomando la expectacion:

    EP [logP (x)

    ] = EP [

    FreeEnergy(x)

    ] + EP [

    FreeEnergy(x)

    ]

    Donde las expectaciones son tomadas con respecto a x. P corresponde a ladistribucion emprica del conjunto de entrada y P la distribucion del modelo deenerga. Para este tipo de modelos el problema de entrenamiento es intratable(calcular la verosimilitud P (x) es intratable excepto cuando h y x tienen pocascomponentes debido principalmente al calculo de P (h|x)) [2]. Sin embargo,si se eliminan las conexiones entre los nodos visibles (conjunt x) junto a lasconexiones entre nodos ocultos (conjunto h), es decir, U, V = 0 el problema sevuelve tratable dado que P (h|x) se puede factorizar en iP (hi|x). Este nuevomodelo (considerando U, V = 0) es denominado Restricted Boltzmann Machine(RBM). Las RBM son entrenadas mediante una estimacion del gradiente dela log-verosimilitud. El algoritmo que realiza el entrenamiento es denominadoContrastive Divergence [22] y fue propuesto por G. Hinton dando origen al realcedel area de deep learning.

    12

  • Figure 5: Esquema de una Deep Belief Network

    Para la formacion de arquitecturas profundas, las RBM pueden ser utilizadascomo elementos bases de construccion de la arquitectura. Estos modelos puedenser apilados en capas de gran profundidad para posteriormente ser entrenadaseficientemente mediante un enfoque greedy [22]. Este nuevo modelo es denomi-nado Deep Belief Network (ver figura 5) las que han sido utilizadas de maneraexitosa en un conjunto de aplicaciones (para mayor detalle ver seccion 4).

    3.2. Convolutional Neural Networks

    Los modelos convolucionales (CNN desde ahora en adelante) fueron desarrol-lados inicialmente por K. Fukushima [15] y luego perfeccionados por Y. LeCunn[26] y corresponden principalmente a una variacion del perceptron multicapa.El diseno de la arquitectura de las CNN encuentra su inspiracion en la biologaen particular en el funcionamiento del cortex visual (segun los trabajos de Hubely Wiesel sobre el cortex visual en felinos [24]). Basicamente n el cortex visualexisten celulas especializadas que son sensibles solo a una pequena region delespacio de entrada. A esta region se le denomina campo de recepcion. Estoscampos de recepcion son reunidos de tal forma que en conjunto cubren el campovisual del individuo por completo. Esta caracterstica permite explotar la local-idad en la informacion que se recibe de entrada, en otras palabras, cada campode recepcion es local en algun sector del espacio de informacion de entrada. Laidea que da origen a las CNN consiste en imitar este funcionamiento del cortexvisual para resolver (en un principio) problemas relacionados a imagenes medi-ante algoritmos de aprendizaje [18] explotando el concepto de que en imagenesexiste una fuerte correlacion entre pixeles cercanos, es decir, hay una fuerte cor-relacion local. Esto sugiere el implementar una red neuronal que siga la nocionde los campos de recepcion del cortex visual para as explotar la alta correlacionlocal presente en los problemas de imagenes.

    13

  • Figure 6: Esquema de una red neuronal convolucional

    En su estructura general, las CNN son similares a las redes neuronales tradi-cionales (ver figura 6) con la diferencia que se imponen ciertas restricciones ala union entre nodos lo que permite obtener una arquitectura particular quelas caracteriza. A grandes rasgos, se componen de capas de convolucion lasque efectuan una operacion basada en un filtro lineal en los datos que recibende entrada y de capas de subsampling las que permiten aumentar el poder degeneralizacion del modelo. Esta arquitectura permite explotar 3 caractersticasdel modelo [8, 18]:

    Capacidad de extraer caractersticas de los datos de entrada: cada neuronaobtiene sus entradas desde un campo receptivo en la capa anterior, estopermite extraer caractersticas locales.

    Feature Mapping : cada capa de la red esta compuesta de multiples featuresmaps donde cada feature map es un plano de neuronas las cuales tienen larestriccion de compartir los mismos pesos. Esto permite agregar ventajasde invarianza a la posicion de cada feature y una reduccion del numero deparametros del modelo.

    Subsampling : A cada capa de convolucion le sigue una capa que realiza unpromedio de una sub-region de la entrada desde la capa de convolucion yrealiza una multiplicacion con los pesos de la capa para finalmente pasarpor una funcion de activacion sigmoidal. Esto tiene el efecto de reducir lasensibilidad del feature map desde donde provienen los datos ante efectosde ruido y distorsion.

    Para explotar la correlacion local de manera similar a lo encontrado en elcortex visual, se utiliza un concepto denominado sparse connectivity el cualconsiste en conectar neuronas de la capa m con un subconjunto local de neuronasen la capa m 1 en particular las que poseen un campo receptivo contiguo (ver

    14

  • Figure 7: Sparse connectivity en una red neuronal convolucional

    Figure 8: Propiedad de Shared Weights en una red convolucional

    figura 7). De esta forma los campos receptivos solo observan caractersticaslocales de la imagen en estudio.

    Ademas,las neuronas dentro de un mismo feature map comparten los pesosde conexion (ver figura 8). Esto permite detectar features independiente de suposicion en el campo visual dado que un mismo detector es trasladado a otraposicion del campo visual. Ademas, se reduce el numero de parametros libresdel modelo.

    La operacion de convolucion aplicada a las entradas en cada capa da origena capas de convolucion y principalmente consiste en un filtro lineal sumado aun termino de bias. Finalmente al resultado se le aplica una funcion no lineal.Con fines ilustrativos, considere el k feature map para una capa l como hk. Elfiltro a aplicar viene determinado por los pesos W k y el bias bk. Entonces, h

    k

    viene dado por:

    hkij = tanh((Wk x)ij + bk)

    Para aumentar la expresividad, cada capa posee multiples features maps:

    [h(k), k = 0..K]

    Lo anterior puede ser entendido graficamente observando la operacion deconvolucion mostrada en la figura 9.

    Para ejemplificar, considere la red convolucional presentada en la figura 10.A continuacion, se desglosara paso a paso explicando la arquitectura de dichared:

    La primera capa realiza una convolucion. 4 feature maps de 24x24 neu-ronas. A cada neurona se le asigna un campo receptivo de 5x5

    15

  • Figure 9: Aplicacion de convolucion en una imagen de 6x6

    Figure 10: Ejemplo de una red convolucional para el problema de handwritten recognition

    La segunda capa realiza subsampling. 4 feature maps de 12x12 neuronas.Cada neurona tiene un campo receptivo de 2x2

    ... Por ultimo, la ultima capa (capa de salida) realiza un ultimo paso de

    convolucion. Consiste de 26 neuronas donde a cada neurona se le asignauno de 26 posibles caracteres. Cada neurona tiene un campo receptivo de4x4.

    Para obtener el resultado final, se compara la salida de las neuronas de lacapa de salida para obtener una neurona ganadora.

    El arreglo convolucional ha logrado resultados exitosos en problemas aso-ciados a imagenes y recientemente ha sido utilizado como esquema para crearredes convolucionales profundas utilizando componentes como RBM [28].

    4. Aplicaciones de Deep Learning

    Desde la publicacion de los 3 trabajos fundacionales (ver seccion 2) en el areade deep learning, muchas han sido las aplicaciones de los modelos profundosa problemas de interes en la inteligencia computacional. En esta seccion sedescriben brevemente algunas de dichas aplicaciones.

    16

  • Speech Recognition and Signal Processing : La aplicacion de mode-los profundos a este tipo de problemas logro resultados de gran exito endatasets clasicos utilizados en la literatura. Las investigaciones llevadas acabo principalmente entre los anos 2011 y 2012 [13, 31, 29] lograron reducirla tasa de error en 4 benchmarks importantes en cerca de un 15 20%(ejemplo: de un 27.4% a un 18.5% en el benchmark RT03S).

    En 2012, Microsoft lanza la nueva version de su servicio de speech recog-nition denominado MAVIS (Microsoft Audio Video Indexing Service) elcual esta fuertemente basado en tecnicas de Deep Learning [31].

    Object Recognition : Principalmente ha exisito un enfoque de resolverel problema de clasificacion de dgitos MNIST1. El 2006 [22] y 2007 [6] selogra romper la supremacia de las SVM en dicho problema Actualmente,el estado del arte lo posee una red profunda de arquitectura convolucional(2012) [11].

    Natural Language Processing : la aplicacion se basa en el aprendizajedistribuido para representacion de palabras, denominado word embedding[7]. El 2011 [12] se aplica esta idea en conjunto con una arquitecturaconvolucional para desarrollar el sistema SENNA el cual iguala o sobrepasaal estado del arte en tareas de syntatic parsing, part-of-speech tagging,entre otros. La ventaja es que es mucho mas veloz que otros resultadosdel estado del arte.

    Para un listado mas exhaustivo y detallado de aplicaciones de arquitecturasprofundas el lector puede referirse a [3].

    5. Conclusiones y Trabajo Futuro

    Las arquitecturas y el aprendizaje profundo han permitido desarrollar nuevosmodelos para algoritmos de aprendizaje los cuales han demostrado obtener re-sultados importantes en una no menor cantidad de problemas de interes parala inteligencia computacional. Ciertos resultados teoricos en conjunto con ana-logas provenientes del mundo de la neurociencia los modelos profundos parecenabrir un nuevo camino en el avance a cumplir los objetivos principales de lainteligencia computacional. Sin embargo, el area de deep learning es reciente yaun quedan cuestiones tanto teoricas como practicas que resolver. En particu-lar, el encontrar solucion y respuesta a algunas de las siguientes interrogantespuede ser una lnea interesante de investigacion:

    Se puede generalizar el resultado de la profundidad (que motiva el areade deep learning) a otras arquitecturas?

    Existe un profundidad suficiente para alcanzar computacionalmente elnivel humano en tareas de AI?

    1http://yann.lecun.com/exdb/mnist/

    17

  • Pueden ser reemplazadas las RBM y los autoencoders por algoritmos quesean igualmente eficientes en tareas de extraccion de representaciones peroque involucren problemas de optimizacion mas sencillos?

    Proponer mejoras en los algoritmos de aprendizajes para modelos profun-dos en particular que aumenten la eficiencia de estos.

    Existen mejores metodos de tracking en el entrenamiento de RBM yDBN?

    Analizar la factibilidad de aplicabilidad de modelos de deep learning anuevos problemas que surgen en la inteligencia computacional.

    References

    [1] David H Ackley, Geoffrey E Hinton, and Terrence J Sejnowski. A learningalgorithm for boltzmann machines*. Cognitive science, 9(1):147169, 1985.

    [2] Yoshua Bengio. Learning deep architectures for ai. Foundations andtrends R in Machine Learning, 2(1):1127, 2009.

    [3] Yoshua Bengio, Aaron Courville, and Pascal Vincent. Representation learn-ing: A review and new perspectives. 2013.

    [4] Yoshua Bengio and Olivier Delalleau. On the expressive power of deeparchitectures. In Algorithmic Learning Theory, pages 1836. Springer, 2011.

    [5] Yoshua Bengio, Olivier Delalleau, and Clarence Simard. Decision trees donot generalize to new variations. Computational Intelligence, 26(4):449467, 2010.

    [6] Yoshua Bengio, Pascal Lamblin, Dan Popovici, Hugo Larochelle, et al.Greedy layer-wise training of deep networks. Advances in neural informa-tion processing systems, 19:153, 2007.

    [7] Yoshua Bengio, Holger Schwenk, Jean-Sebastien Senecal, Frederic Morin,and Jean-Luc Gauvain. Neural probabilistic language models. In Innova-tions in Machine Learning, pages 137186. Springer, 2006.

    [8] Christopher M Bishop et al. Pattern recognition and machine learning,volume 1. springer New York, 2006.

    [9] Rich Caruana. Learning many related tasks at the same time with back-propagation. Advances in neural information processing systems, pages657664, 1995.

    [10] Richard A Caruana. Multitask connectionist learning. In In Proceedings ofthe 1993 Connectionist Models Summer School. Citeseer, 1993.

    18

  • [11] Dan Ciresan, Ueli Meier, and Jurgen Schmidhuber. Multi-column deepneural networks for image classification. In Computer Vision and PatternRecognition (CVPR), 2012 IEEE Conference on, pages 36423649. IEEE,2012.

    [12] Ronan Collobert, Jason Weston, Leon Bottou, Michael Karlen, KorayKavukcuoglu, and Pavel Kuksa. Natural language processing (almost) fromscratch. The Journal of Machine Learning Research, 12:24932537, 2011.

    [13] George E Dahl, Abdel-rahman Mohamed MarcAurelio Ranzato, Abdel-rahman Mohamed, and Geoffrey E Hinton. Phone recognition with themean-covariance restricted boltzmann machine. In NIPS, pages 469477,2010.

    [14] Edward A Feigenbaum. Some challenges and grand challenges for compu-tational intelligence. Journal of the ACM (JACM), 50(1):3240, 2003.

    [15] Kunihiko Fukushima. Neocognitron: A self-organizing neural networkmodel for a mechanism of pattern recognition unaffected by shift in po-sition. Biological cybernetics, 36(4):193202, 1980.

    [16] Johan Hastad. Almost optimal lower bounds for small depth circuits. InProceedings of the eighteenth annual ACM symposium on Theory of com-puting, pages 620. ACM, 1986.

    [17] Johan Hastad and Mikael Goldmann. On the power of small-depth thresh-old circuits. Computational Complexity, 1(2):113129, 1991.

    [18] Simon S Haykin, Simon S Haykin, Simon S Haykin, and Simon S Haykin.Neural networks and learning machines, volume 3. Pearson Education Up-per Saddle River, 2009.

    [19] Geoffrey Hinton. A practical guide to training restricted boltzmann ma-chines. Momentum, 9(1):926, 2010.

    [20] Geoffrey E Hinton. Learning distributed representations of concepts. InProceedings of the eighth annual conference of the cognitive science society,pages 112. Amherst, MA, 1986.

    [21] Geoffrey E Hinton. Training products of experts by minimizing contrastivedivergence. Neural computation, 14(8):17711800, 2002.

    [22] Geoffrey E Hinton, Simon Osindero, and Yee-Whye Teh. A fast learningalgorithm for deep belief nets. Neural computation, 18(7):15271554, 2006.

    [23] Geoffrey E Hinton and Richard S Zemel. Autoencoders, minimum descrip-tion length, and helmholtz free energy. Advances in neural informationprocessing systems, pages 33, 1994.

    19

  • [24] David H Hubel and Torsten N Wiesel. Receptive fields, binocular interac-tion and functional architecture in the cats visual cortex. The Journal ofphysiology, 160(1):106, 1962.

    [25] Nathan Intrator. Making a low-dimensional representation suitable fordiverse tasks. Connection Science, 8(2):205224, 1996.

    [26] Yann LeCun and Yoshua Bengio. Convolutional networks for images,speech, and time series. The handbook of brain theory and neural networks,3361, 1995.

    [27] Yann LeCun, Sumit Chopra, Raia Hadsell, M Ranzato, and F Huang. Atutorial on energy-based learning. Predicting structured data, 2006.

    [28] Honglak Lee, Roger Grosse, Rajesh Ranganath, and Andrew Y Ng. Con-volutional deep belief networks for scalable unsupervised learning of hier-archical representations. In Proceedings of the 26th Annual InternationalConference on Machine Learning, pages 609616. ACM, 2009.

    [29] Abdel-rahman Mohamed, George E Dahl, and Geoffrey Hinton. Acousticmodeling using deep belief networks. Audio, Speech, and Language Pro-cessing, IEEE Transactions on, 20(1):1422, 2012.

    [30] Christopher Poultney, Sumit Chopra, Yann L Cun, et al. Efficient learn-ing of sparse representations with an energy-based model. In Advances inneural information processing systems, pages 11371144, 2006.

    [31] Frank Seide, Gang Li, and Dong Yu. Conversational speech transcriptionusing context-dependent deep neural networks. In Interspeech, pages 437440, 2011.

    [32] Thomas Serre, Gabriel Kreiman, Minjoon Kouh, Charles Cadieu, UlfKnoblich, and Tomaso Poggio. A quantitative theory of immediate visualrecognition. Progress in brain research, 165:3356, 2007.

    [33] Paul Smolensky. Information processing in dynamical systems: Founda-tions of harmony theory. 1986.

    20