0% encontró este documento útil (0 votos)
186 vistas21 páginas

Capitulo 1

Este capítulo introduce el aprendizaje profundo como un enfoque para permitir que las computadoras aprendan de la experiencia y comprendan el mundo en términos de jerarquías de conceptos. Explica que los primeros logros de la IA se produjeron en entornos formales pero que las tareas cotidianas requieren grandes cantidades de conocimiento subjetivo e intuitivo. Finalmente, señala que el aprendizaje de representaciones permite a las computadoras descubrir representaciones de datos que son útiles para tareas específicas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
186 vistas21 páginas

Capitulo 1

Este capítulo introduce el aprendizaje profundo como un enfoque para permitir que las computadoras aprendan de la experiencia y comprendan el mundo en términos de jerarquías de conceptos. Explica que los primeros logros de la IA se produjeron en entornos formales pero que las tareas cotidianas requieren grandes cantidades de conocimiento subjetivo e intuitivo. Finalmente, señala que el aprendizaje de representaciones permite a las computadoras descubrir representaciones de datos que son útiles para tareas específicas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Goodfellow I., Bengio Y., y Courville A., (2016).

“Deep Learning”

Capítulo 1: Introducción
Los inventores siempre han soñado con crear máquinas que piensen. Este deseo data y se
remonta al menos a la época de la antigua Grecia. Las figuras míticas Pigmalión, Dédalo y Hefesto
pueden interpretarse como inventores legendarios, y Galatea, Talos y Pandora pueden
considerarse vida artificial (Ovid y Martin, 2004; Sparkes, 1996; Tandy, 1997).

Cuando se concibieron por primera vez las computadoras programables, la gente se preguntaba
si podrían volverse inteligentes, más de cien años antes de que se construyera uno (Lovelace,
1842). Hoy en día, la inteligencia artificial (IA) es un campo próspero con muchas aplicaciones
prácticas y temas de investigación activos. Buscamos software inteligente para automatizar
trabajo de rutina, comprender el habla o las imágenes, hacer diagnósticos en medicina y apoyar
la investigación científica básica.

En los primeros días de la inteligencia artificial, el campo abordó y resolvió rápidamente


problemas que son intelectualmente difíciles para los seres humanos pero relativamente
sencillos para las computadoras: problemas que pueden describirse mediante una lista de
reglas. El verdadero desafío de la inteligencia artificial es demostrar resolver las tareas que son
fáciles de realizar para las personas pero difíciles de describir formalmente: problemas que
resolvemos intuitivamente, que se sienten automáticos, como reconocer palabras habladas o
caras en imágenes.

Este libro trata sobre una solución a estos problemas más intuitivos. Esta solución es permitir
que las computadoras aprendan de la experiencia y comprendan el mundo en términos de
jerarquía de conceptos, con cada concepto definido en términos de su relación con conceptos
simples. Al recopilar conocimientos de la experiencia, este enfoque evita la necesidad que los
operadores humanos especifiquen formalmente todo el conocimiento que la computadora
necesita. La jerarquía de conceptos permite que la computadora aprenda conceptos
complicados construyéndolos a partir de otros más simples. Si dibujamos un grafo que muestre
cómo estos conceptos se construyen uno encima del otro, el grafo es profundo, con muchas
capas. Por esta razón, llamamos a este enfoque aprendizaje profundo de IA.

Muchos de los primeros éxitos de la IA se produjeron en un entorno relativamente estéril y


formal y no requería que las computadoras tuvieran mucho conocimiento sobre el mundo. Por
ejemplo, el sistema de juego de ajedrez Deep Blue de IBM derrotó al campeón del mundo Garry
Kasparov en 1997 (Hsu, 2002). El ajedrez es, por supuesto, un mundo muy simple, que contiene
sólo sesenta y cuatro ubicaciones y treinta y dos piezas que pueden moverse de formas
estrictamente circunscritas. Diseñar una estrategia de ajedrez exitosa es un tremendo logro,
pero el desafío no se debe a la dificultad de describir el conjunto de piezas de ajedrez y
movimientos permitidos en la computadora. El ajedrez se puede describir completamente
mediante una muy breve lista de reglas completamente formales, fácilmente proporcionado con
anticipación por el programador.

Irónicamente, las tareas abstractas y formales que se encuentran entre las más difíciles
empresas para un ser humano se encuentran entre las más fáciles para una computadora. Los
ordenadores durante mucho tiempo han podido derrotar incluso al mejor jugador de ajedrez
humano, pero solo recientemente han igualado algunas de las habilidades promedio de los seres
humanos para reconocer objetos o habla. La vida cotidiana de una persona requiere una
inmensa cantidad de conocimientos acerca del mundo. Gran parte de este conocimiento es
subjetivo e intuitivo y, por tanto, difícil de articular de manera formal. Las computadoras

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 1


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

necesitan capturar este mismo conocimiento para poder comportarse de manera inteligente.
Uno de los desafíos clave en la inteligencia artificial es cómo introducir este conocimiento
informal en una computadora.

Varios proyectos de inteligencia artificial han buscado codificar el conocimiento sobre el mundo
en lenguajes formales. Una computadora puede razonar sobre declaraciones en estos lenguajes
formales utilizando automáticamente reglas de inferencia lógica. Esto se conoce como enfoque
basado en conocimientos para la inteligencia artificial. Ninguno de estos proyectos ha llevado a
un éxito mayor. Uno de los proyectos más famosos es Cyc (Lenat y Guha, 1989). Cyc es un motor
de inferencia y una base de datos de declaraciones en un lenguaje llamado CycL. Estas
declaraciones son ingresadas por un equipo de supervisores humanos. Es un proceso difícil de
manejar. La gente lucha por diseñar reglas formales con suficiente complejidad para describir
con precisión el mundo. Por ejemplo, Cyc no entendió una historia sobre una persona llamada
Fred que se afeita por la mañana (Linde, 1992). Su motor de inferencia detectó una
inconsistencia en la historia: sabía que la gente no tiene partes eléctricas, pero como Fred
sostenía una maquinilla de afeitar eléctrica, creía que la entidad "FredWhileShaving" contenía
piezas eléctricas. Por tanto, preguntó si Fred seguía siendo una persona mientras se afeitaba.

Las dificultades que enfrentan los sistemas que se basan en el conocimiento codificado sugieren
que los sistemas de IA necesitan la capacidad de adquirir su propio conocimiento mediante la
extracción de patrones a partir de datos en bruto. Esta capacidad se conoce como aprendizaje
automático. La introducción del aprendizaje automático permitió a las computadoras abordar
problemas relacionados con el conocimiento del mundo real y tomar decisiones que parecen
subjetivas. Un algoritmo simple de aprendizaje de máquina llamado regresión logística puede
determinar si recomendar parto por cesárea (Mor-Yosef et al., 1990). Un algoritmo de
aprendizaje automático simple llamado naive Bayes puede separar el correo electrónico
legítimo del correo no deseado.

El funcionamiento de estos algoritmos simples de aprendizaje automático depende en gran


medida sobre la representación de los datos que se les dan. Por ejemplo, cuando la regresión
logística se utiliza para recomendar el parto por cesárea, el sistema de IA no examina el paciente
directamente. En cambio, el médico le dice al sistema varias piezas relevantes de información,
como la presencia o ausencia de una cicatriz uterina. Cada pieza de información incluida en la
representación del paciente se conoce como característica. La regresión logística aprende cómo
cada una de estas características del paciente se correlaciona con varios resultados. Sin
embargo, no puede influir en la forma en que las características se definen de alguna manera.
Si se proporciona una resonancia magnética del paciente a la regresión logística, en lugar del
informe formalizado del médico, no podría resultar en predicciones útiles. Los píxeles
individuales en una resonancia magnética tienen una correlación insignificante con cualquier
complicación que pueda ocurrir durante el parto.

Esta dependencia de las representaciones es un fenómeno general que parece a lo largo de la


informática e incluso la vida diaria. En informática, las operaciones como buscar en una
colección de datos pueden realizarse exponencialmente más rápido si la colección está
estructurada e indexada de forma inteligente. La gente puede realizar fácilmente aritmética en
números arábigos, pero hacer aritmética en números romanos toma más tiempo. No es de
extrañar que la elección de la representación tenga un enorme efecto en el rendimiento de los
algoritmos de aprendizaje automático. Para un simple ejemplo visual, ver Fig. 1.1.

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 2


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

Muchas tareas de inteligencia artificial se pueden resolver diseñando el conjunto correcto de


características para extraerlas en esa tarea, luego proporcionar estas características a un
algoritmo simple de aprendizaje de máquina. Por ejemplo, una característica útil para la
identificación del hablante desde el sonido es la estimación del tamaño del tracto vocal del
hablante. Por tanto, un fuerte tracto vocal en la pista determina si el hablante es un hombre,
una mujer o un niño.

Sin embargo, para muchas tareas, es difícil saber qué características se deben extraer. Por
ejemplo, suponga que nos gustaría escribir un programa para detectar automóviles en
fotografías. Sabemos que los coches tienen ruedas, por lo que nos gustaría aprovechar la
presencia de una rueda como característica. Desafortunadamente, es difícil describir
exactamente como la rueda se ve en términos de valores de píxeles. Una rueda tiene una forma
geométrica simple pero su imagen puede verse complicada por las sombras que caen sobre la
rueda, el sol deslumbrando en las partes metálicas de la rueda, el guardabarros del automóvil o
un objeto en primer plano oscureciendo parte de la rueda, y así sucesivamente.

Figura 1.1: Ejemplo de diferentes representaciones: supongamos que queremos separar dos categorías de datos
trazando una línea entre ellas en un diagrama de dispersión. En la trama de la izquierda, representamos algunos datos
usando coordenadas cartesianas, y la tarea es imposible. En la trama de la derecha, representamos los datos con
coordenadas polares y la tarea se vuelve sencilla y se resuelve con una línea vertical. (Figura producida en
colaboración con David Warde-Farley)

Una solución a este problema es utilizar el aprendizaje automático para descubrir no solo el
mapeo de la representación de la salida, sino también la propia representación. Este enfoque se
conoce como aprendizaje de representación. Representaciones aprendidas a menudo dan como
resultado un rendimiento mucho mejor que el que se puede obtener con representaciones
diseñadas a mano. También permiten que los sistemas de IA se adapten rápidamente a nuevas
tareas, con mínima intervención humana. Un algoritmo de aprendizaje de representación puede
descubrir un buen conjunto de características para una tarea simple en minutos, o una tarea
compleja de horas a meses. El diseño manual de características para una tarea compleja
requiere una gran cantidad de tiempo y esfuerzo humano; puede llevar décadas para toda una
comunidad de investigadores.

El ejemplo por excelencia de un algoritmo de aprendizaje de representación es el codificador


automático. Un codificador automático es la combinación de una función codificadora que
convierte los datos de entrada en una representación diferente, y una función decodificadora
que convierte la nueva representación al formato original. Los codificadores automáticos están
capacitados para preservar la mayor cantidad de información posible cuando se ejecuta una
entrada a través del codificador y luego el decodificador, pero también están entrenados para

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 3


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

hacer que la nueva representación tenga varias propiedades agradables. Los diferentes tipos de
codificadores automáticos tienen como objetivo lograr diferentes tipos de propiedades.

Al diseñar características o algoritmos para aprendizaje de características, nuestro objetivo suele


ser separar los factores de variación que explican los datos observados. En este contexto,
usamos la palabra "factores" simplemente para referirnos a fuentes de influencia separadas; los
factores generalmente no se combinan por multiplicación. Estos factores a menudo no son
cantidades que se observan directamente. En cambio, pueden existir como objetos no
observados o fuerzas no observadas en el mundo físico que afectan cantidades observables.
Ellos también pueden existir como construcciones en la mente humana que proporcionan
explicaciones o causas inferidas de los datos observados. Pueden considerarse como conceptos
o abstracciones que nos ayudan a dar sentido a la rica variabilidad de los datos. Al analizar una
grabación de voz, los factores de variación incluyen la edad, sexo, acento y palabras que están
hablando. Al analizar una imagen de un automóvil, los factores de variación incluyen la posición
del automóvil, su color, el ángulo y el brillo del sol.

Una fuente importante de dificultad en muchas aplicaciones de inteligencia artificial del mundo
real es que muchos de los factores de variación influyen en cada dato que tenemos capaz de
observar. Los píxeles individuales en una imagen de un automóvil rojo pueden estar muy cerca
de negro por la noche. La forma de la silueta del automóvil depende del ángulo de visión. La
mayoría de las aplicaciones requieren que los factores de variación desenreden y descarten los
que no nos importan.

Por supuesto, puede ser muy difícil extraer características abstractas de tan alto nivel a partir de
datos en bruto. Muchos de estos factores de variación, como el acento de un hablante, pueden
identificarse sólo mediante una comprensión sofisticada, casi a nivel humano, de los datos.
Cuando es casi tan difícil obtener una representación como resolver el problema original, el
aprendizaje de la representación no parece, a primera vista, ayudarnos.

El aprendizaje profundo resuelve este problema central en el aprendizaje por representación al


introducir representaciones que se expresan en términos de otras representaciones más
simples. El aprendizaje profundo permite que la computadora construya conceptos complejos a
partir de conceptos más simples. La figura 1.2 muestra cómo un sistema de aprendizaje
profundo puede representar el concepto de imagen de una persona mediante la combinación
de conceptos más simples, como esquinas y contornos, que a su vez se definen en términos de
aristas.

El ejemplo por excelencia de un modelo de aprendizaje profundo es la red profunda feedforward


o perceptrón o multicapa (MLP). Un perceptrón multicapa es solo una función matemática
mapeando algún conjunto de valores de entrada a valores de salida. La función está formada
por la composición de muchas funciones más simples. Podemos pensar en cada aplicación de
una función matemática diferente que proporciona una nueva representación de la entrada.

La idea de aprender la representación correcta de los datos proporciona una perspectiva sobre
el aprendizaje profundo. Otra perspectiva sobre el aprendizaje profundo es que la profundidad
permite a la computadora aprender un programa de computadora de varios pasos. Cada capa
de la representación se puede considerar como el estado de la memoria de la computadora
después de ejecutar otro conjunto de instrucciones en paralelo. Las redes con mayor
profundidad pueden ejecutar más instrucciones en secuencia. Las instrucciones secuenciales
ofrecen un gran poder porque las instrucciones más tardías pueden referirse a los resultados de
instrucciones anteriores. Según esta visión del aprendizaje profundo, no toda la información en

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 4


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

las activaciones de una capa necesariamente codifica factores de variación que explican la
entrada. La representación también almacena el estado de la información que ayuda a ejecutar
un programa que puede dar sentido a la entrada. Este estado de información podría ser análoga
a un contador o un puntero en un programa de computadora. No tiene nada que ver con el
contenido de la entrada específicamente, pero ayuda al modelo a organizar su procesamiento.

Figura 1.2: Ilustración de un modelo de aprendizaje profundo. Es difícil para una computadora entender el significado
de los datos de entrada sensorial en bruto, como esta imagen representada como una colección de valores de píxeles.
La función de mapeo de un conjunto de píxeles a la identidad de un objeto es muy complicado. Aprender o evaluar
este mapeo parece insuperable si se aborda directamente. El aprendizaje profundo resuelve esta dificultad al dividir
el mapeo complicado deseado en una serie de asignaciones simples anidadas, cada una descrita por una capa
diferente del modelo. La entrada se presenta en la capa visible, llamado así porque contiene las variables que se nos
permite observar. Luego, una serie de capas ocultas extrae características cada vez más abstractas de la imagen. Estas
capas se denominan "ocultas" porque sus valores no se dan en los datos; en cambio, el modelo debe determinar qué
conceptos son útiles para explicar las relaciones en los datos observados. Las imágenes aquí son visualizaciones del
tipo de característica representada por cada unidad oculta. Dados los píxeles, la primera capa puede identificar los
bordes comparando el brillo de los píxeles vecinos. Dada la primera descripción de la capa oculta de los bordes, la
segunda capa oculta puede buscar fácilmente esquinas y contornos extendidos, que son reconocibles como conjuntos
de bordes. Dada la descripción de la segunda capa de la imagen en términos de esquinas y contornos, la tercera capa
oculta puede detectar partes enteras de objetos específicos, encontrando colecciones específicas de contornos y
esquinas. Finalmente, esta descripción de la imagen en términos de las partes del objeto que contiene puede ser
utilizada para reconocer los objetos presentes en la imagen. Imágenes reproducidas con permiso de Zeiler y Fergus
(2014).

Hay dos formas principales de medir la profundidad de un modelo. La primera vista está basada
en el número de instrucciones secuenciales que deben ejecutarse para evaluar la arquitectura.
Podemos pensar en esto como la longitud del camino más largo a través un diagrama de flujo
que describe cómo calcular cada uno de los resultados del modelo dado sus entradas. Así como
dos programas informáticos equivalentes tendrán diferentes longitudes dependiendo del
lenguaje en el que esté escrito el programa, la misma función puede ser dibujado como un
diagrama de flujo con diferentes profundidades dependiendo de las funciones que permitimos
sean utilizados como pasos individuales en el diagrama de flujo. La figura 1.3 ilustra cómo esta
elección del lenguaje puede dar dos medidas diferentes para la misma arquitectura.

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 5


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

Figura 1.3: Ilustración de gráficos computacionales que mapean una entrada a una salida donde cada nodo realiza
una operación. La profundidad es la longitud del camino más largo desde la entrada hasta la salida, pero depende de
la definición de lo que constituye un posible paso computacional. El cálculo que se muestra en estos gráficos es el
resultado de un modelo de regresión logística, σ(wTx), donde σ es la función sigmoidea logística. Si usamos suma,
multiplicación y sigmoides logísticos como los elementos de nuestro lenguaje informático, entonces este modelo
tiene profundidad tres. Si vemos la regresión logística como un elemento en sí mismo, entonces este modelo tiene
una profundidad.

Otro enfoque, utilizado por modelos probabilísticos profundos, se refiere a la profundidad de


un modelo como a la no profundidad del grafo computacional sino la profundidad del grafo que
describe cómo se relacionan los conceptos entre sí. En este caso, la profundidad del diagrama
de flujo de los cálculos necesarios para calcular la representación de cada concepto puede ser
mucho más profundo que el grafo de los conceptos mismos. Esto se debe a que la comprensión
del sistema de los conceptos más simples se puede refinar dada la información sobre los
conceptos más complejos. Por ejemplo, un sistema de IA al observar la imagen de un rostro con
un ojo en la sombra, es posible que inicialmente solo se vea un ojo. Después de detectar que
hay un rostro, se puede inferir que probablemente haya un segundo ojo presente también. En
este caso, el gráfico de conceptos solo incluye dos capas: una capa para ojos y otra capa para
caras, pero el grafo de cálculos incluye 2n capas si refinamos nuestra estimación de cada
concepto dado la otra n veces.

Ya que no siempre está claro cuál de estos dos puntos de vista: la profundidad del grafo
computacional, o la profundidad del grafo del modelo probabilístico, es más relevante, y porque
diferentes personas eligen diferentes conjuntos de elementos más pequeños a partir del cual
construir sus grafos, no existe un único valor correcto para la profundidad de una arquitectura,
así como no existe un valor único correcto para la longitud de un programa de computadora.
Tampoco hay consenso sobre la profundidad que un modelo requiere para calificar como
"profundo". Sin embargo, el aprendizaje profundo puede considerarse con seguridad como el
estudio de modelos que involucran una mayor cantidad de composición de funciones de
aprendizaje o conceptos aprendidos que el aprendizaje automático tradicional realiza.

En resumen, el aprendizaje profundo, el tema de este libro, es un enfoque de la IA.


Específicamente, es un tipo de aprendizaje automático, una técnica que permite a la
computadora sistemas para mejorar con experiencia y datos. Según los autores de este libro, el
aprendizaje automático es el único enfoque viable para crear sistemas de IA que puede
funcionar en entornos complicados del mundo real. El aprendizaje profundo es un particular
tipo de aprendizaje automático que logra un gran poder y flexibilidad al aprender a representar
el mundo como una jerarquía anidada de conceptos, con cada concepto definido en relación
con conceptos más simples y representaciones más abstractas calculadas en términos de los
menos abstractos. La figura 1.4 ilustra la relación entre estas diferentes disciplinas de IA. La Fig.
1.5 muestra un esquema de alto nivel de cómo funciona cada uno.

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 6


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

Figura 1.4: Un diagrama de Venn que muestra cómo el aprendizaje profundo es un tipo de aprendizaje por
representación, que es a su vez una especie de aprendizaje automático, que se utiliza para muchos enfoques, pero
no para todos de la IA. Cada sección del diagrama de Venn incluye un ejemplo de una tecnología de IA

Figura 1.5: Diagramas de flujo que muestran cómo se relacionan las diferentes partes de un sistema de IA con cada
uno de las otras disciplinas diferentes de la IA. Los recuadros sombreados indican componentes que pueden aprender
de los datos.

1.1. ¿Quién debe leer este Libro?

Este libro puede ser útil para una variedad de lectores, pero lo escribimos con dos audiencias
objetivo en mente. Uno de estos públicos objetivo son los estudiantes universitarios.
(Licenciatura o posgrado) aprendiendo sobre el aprendizaje automático, incluidos aquellos que
están comenzando una carrera en investigación de inteligencia artificial y aprendizaje profundo.

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 7


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

El otro público objetivo son los ingenieros de software que no tienen un antecedente en
aprendizaje automático o estadístico, pero desea adquirir uno rápidamente y comenzar a usar
aprendizaje profundo en sus productos o plataforma. El aprendizaje profundo ya ha demostrado
su utilidad en muchas disciplinas de software que incluyen visión por computadora,
procesamiento de voz y audio, procesamiento de lenguaje natural, robótica, bioinformática y
química, videojuegos, motores de búsqueda, publicidad online y finanzas.

Este libro ha sido organizado en tres partes con el fin de acomodar mejor una variedad de
lectores. La parte I presenta herramientas matemáticas básicas y conceptos de aprendizaje
automático. La Parte II describe los algoritmos de aprendizaje profundo más establecidos que
están esencialmente resolviendo problemas tecnológicos. La Parte III describe ideas más
especulativas que se cree importante para futuras investigaciones sobre aprendizaje profundo.

Los lectores deben sentirse libres de omitir partes que no sean relevantes dados sus intereses o
antecedentes. Los lectores familiarizados con álgebra lineal, probabilidad y fundamentos de
aprendizaje automático pueden omitir la Parte I, por ejemplo, mientras que los lectores que solo
quieren implementar un sistema funcionando no es necesario leer más allá de la Parte II. Para
ayudar a elegir qué capítulos leer, la Fig. 1.6 proporciona un diagrama de flujo que muestra la
organización de alto nivel del libro.

Suponemos que todos los lectores provienen de una formación en informática. Nosotros
asumimos que hay familiaridad con la programación, una comprensión básica de rendimiento
de problemas computacionales, teoría de la complejidad, cálculo de nivel introductorio y alguna
terminología de la teoría de grafos.

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 8


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

Figura 1.6: La organización de alto nivel del libro. Una flecha de un capítulo a otro indica que el primer capítulo
es material indispensable para comprender el segundo.

1.2. Tendencias Históricas en Aprendizaje Profundo

Es más fácil comprender el aprendizaje profundo con algún contexto histórico. Más que
proporcionar una historia detallada del aprendizaje profundo, identificamos algunas tendencias
clave:

• El aprendizaje profundo ha tenido una historia larga y rica, pero ha recibido muchos
nombres reflejando diferentes puntos de vista filosóficos, y ha aumentado y disminuido en
popularidad.
• El aprendizaje profundo se ha vuelto más útil a medida que la cantidad de datos de
entrenamiento disponible han aumentado.
• Los modelos de aprendizaje profundo han crecido en tamaño con el tiempo como hardware
de computadora y la infraestructura de software para el aprendizaje profundo ha mejorado.
• El aprendizaje profundo ha resuelto aplicaciones cada vez más complicadas con un aumento
en la precisión a lo largo del tiempo.

1.2.1. Los Muchos Nombres y los Cambios de Fortunas de las Redes Neuronales
Esperamos que muchos lectores de este libro hayan oído hablar del aprendizaje profundo
como una emocionante tecnología nueva, y se sorprenden al ver una mención de "historia"
en un libro sobre un campo emergente. De hecho, el aprendizaje profundo se remonta a la
década de 1940. El aprendizaje profundo solo parece ser nuevo, porque fue relativamente
impopular varios años anteriores a su popularidad actual, y porque ha pasado por muchos
nombres diferentes, y solo recientemente se ha llamado "aprendizaje profundo". El campo
ha sido renombrado muchas veces, reflejando la influencia de diferentes investigadores y
diferentes perspectivas.

Una historia completa del aprendizaje profundo está más allá del alcance de este libro de
texto. Sin embargo, algún contexto básico es útil para comprender el aprendizaje profundo.
En general hablando, ha habido tres oleadas de desarrollo del aprendizaje profundo:
aprendizaje profundo conocida como cibernética en las décadas de 1940 y 1960, aprendizaje
profundo conocido como conexionismo en las décadas de 1980 y 1990, y el resurgimiento
actual bajo el nombre de aprendizaje profundo a partir de 2006. Esto se ilustra
cuantitativamente en la figura 1.7.

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 9


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

Algunos de los primeros algoritmos de aprendizaje que reconocemos hoy fueron modelos
computacionales de aprendizaje biológico, es decir, modelos de cómo el aprendizaje ocurre
o podría ocurrir en el cerebro. Como resultado, uno de los nombres del aprendizaje
profundo ha pasado son las redes neuronales artificiales (ANN). La perspectiva
correspondiente sobre los modelos de aprendizaje profundo es que son sistemas de
ingeniería inspirados por el cerebro biológico (ya sea el cerebro humano o el cerebro de otro
animal). Si bien los tipos de redes neuronales que se utilizan para el aprendizaje automático
a veces utilizado para comprender la función cerebral (Hinton y Shallice, 1991),
generalmente no fueron modelos diseñados para ser función biológica realistas. La
perspectiva neuronal del aprendizaje profundo está motivada por dos ideas principales. Una
idea es que el cerebro proporciona una prueba por ejemplo, de que el comportamiento
inteligente es posible, y un camino conceptualmente sencillo para construir inteligencia es
realizar ingeniería inversa en los principios computacionales detrás del cerebro y duplicar su
funcionalidad. Otra perspectiva es que sería muy interesante comprender el cerebro y los
principios que subyacen a la inteligencia humana, por lo que los modelos de aprendizaje
automático que arrojan luz sobre estas cuestiones científicas básicas son útiles además de
su capacidad para resolver aplicaciones de ingeniería.

El término moderno "aprendizaje profundo" va más allá de la perspectiva neurocientífica


sobre la generación actual de modelos de aprendizaje automático. Apela a un principio más
general de aprendizaje de múltiples niveles de composición, que puede ser aplicado en
frameworks de aprendizaje automático que no están necesariamente inspirados
neuronalmente.

Figura 1.7: La figura muestra dos de las tres olas históricas de investigación de las redes neuronales artificiales,
medido por la frecuencia de las frases "cibernética" y "conexionismo" o "Redes neuronales" según Google Books
(la tercera ola es demasiado reciente para aparecer). La primera ola comenzó con la cibernética en las décadas
de 1940 y 1960, con el desarrollo de teorías del aprendizaje biológico (McCulloch y Pitts, 1943; Hebb, 1949) e
implementaciones de los primeros modelos como el perceptrón (Rosenblatt, 1958) que permite el
entrenamiento de una sola neurona. La segunda ola comenzó con el enfoque conexionista del período 1980-
1995, con retropropagación (Rumelhart et al., 1986a) para entrenar una red neuronal con uno o dos capas
ocultas. La actual y la tercera ola, el aprendizaje profundo, comenzaró alrededor de 2006 (Hinton et al., 2006;
Bengio y col., 2007; Ranzato et al., 2007a), y recién ahora aparece en forma de libro a partir de 2016. Las otras
dos olas aparecieron de manera similar en forma de libro mucho después que se produjera la actividad científica
correspondiente.

Los primeros predecesores del aprendizaje profundo moderno fueron modelos lineales
simples motivados desde una perspectiva neurocientífica. Estos modelos fueron diseñados
para tomar un conjunto de n valores de entrada x1,. . . , xn y asociarlos con una salida y. Estos
modelos aprenderían un conjunto de pesos w1,. . . , wn y calcularían su salida f (x, w) = x1w1

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 10


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

+ · · · + xnwn. Esta primera ola de investigación de redes neuronales fue conocida como
cibernética, como se ilustra en la Fig. 1.7.
McCulloch-Pitts Neuron (McCulloch y Pitts, 1943) fue uno de los primeros modelos de la
función cerebral. Este modelo lineal podría reconocer dos categorías diferentes de entradas
probando si f (x, w) es positiva o negativa. Por supuesto, para que el modelo se corresponda
a la definición deseada de las categorías, los pesos debían ser configurados correctamente.
Estos pesos los puede establecer el operador humano. En la década de 1950, el perceptrón
(Rosenblatt, 1958, 1962) se convirtió en el primer modelo que pudo aprender los pesos
definido por las categorías dados los ejemplos de entradas de cada categoría. El elemento
lineal adaptativo (ADALINE), que data aproximadamente de la misma época, simplemente
devolvió el valor de f (x) para predecir un número real (Widrow y Hoff, 1960), y también
podía aprender a predecir estos números a partir de los datos.

Estos simples algoritmos de aprendizaje afectaron en gran medida el panorama moderno


de aprendizaje automático. El algoritmo de entrenamiento utilizado para adaptar los pesos
del ADALINE fue un caso especial de un algoritmo llamado descenso de gradiente
estocástico. Versiones ligeramente modificadas del algoritmo de descenso de gradiente
estocástico siguen siendo los algoritmos de entrenamiento dominantes para modelos de
aprendizaje profundo de hoy.

Los modelos basados en f (x, w) utilizados por el perceptrón y ADALINE se denominan


modelos lineales. Estos modelos siguen siendo algunos de los modelos de aprendizaje
automático más utilizados, aunque en muchos casos se entrenan de formas diferentes a los
entrenamientos de los modelos originales.

Los modelos lineales tienen muchas limitaciones. Lo más famoso es que no pueden aprender
la función XOR, donde f ([0,1], w) = 1 y f ([1, 0], w) = 1 pero f ([1, 1], w) = 0 y f ([0, 0], w) = 0.
Los críticos que observaron estos defectos en los modelos lineales causaron una reacción
violenta contra el aprendizaje inspirado biológicamente en general (Minsky y Papert, 1969).
Esta fue la primera caída importante en la popularidad de las redes neuronales.

Hoy en día, la neurociencia se considera una importante fuente de inspiración para


investigadores en aprendizaje, pero ya no es la guía predominante para el campo.

La principal razón del menor papel de la neurociencia en la investigación del aprendizaje


profundo actual es que simplemente no tenemos suficiente información sobre el cerebro
para usarlo como guía. Para obtener una comprensión profunda de los algoritmos reales
utilizados por el cerebro, necesitaríamos poder monitorear la actividad de (al menos) miles
de neuronas interconectadas simultáneamente. Ya que no podemos hacer esto, estamos
lejos de comprender incluso algunas de las partes más simples y mejor estudiadas del
cerebro (Olshausen y Field, 2005).

La neurociencia nos ha dado una razón para esperar que un solo algoritmo de aprendizaje
profundo puede resolver muchas tareas diferentes. Los neurocientíficos han descubierto
que los hurones pueden aprender a "Ver" con la región de procesamiento auditivo de su
cerebro si sus cerebros están recableados para enviar señales visuales a esa área (Von
Melchner et al., 2000). Esto sugiere que gran parte del cerebro de los mamíferos podría usar
un solo algoritmo para resolver la mayoría de las diferentes tareas que resuelve el cerebro.

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 11


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

Ante esta hipótesis, la investigación del aprendizaje automático fue más fragmentada, con
diferentes comunidades de investigadores estudiando procesamiento del lenguaje natural,
visión, planificación de movimientos y reconocimiento de voz. Hoy, estas comunidades de
aplicaciones todavía están separadas, pero es común para grupos de investigación del
aprendizaje profundo estudiar muchas o incluso todas estas áreas de aplicación
simultáneamente.

Podemos extraer algunas pautas aproximadas de la neurociencia. La idea básica de tener


muchas unidades computacionales que se vuelven inteligentes solo a través de sus
interacciones entre sí está inspirado por el cerebro. El Neocognitron (Fukushima, 1980)
introdujo una potente arquitectura de modelo para procesar imágenes que se inspiró por la
estructura del sistema visual de los mamíferos y más tarde se convirtió en la base para la
red convolucional moderna (LeCun et al., 1998b), como veremos en la Sec. 9.10. La mayoría
de las redes neuronales actuales se basan en un modelo de neurona llamada unidad lineal
rectificada. El Cognitron original (Fukushima, 1975) introdujo una versión más complicada
que se inspiró en gran medida en nuestro conocimiento de la función cerebral. La versión
moderna simplificada se desarrolló incorporando ideas de muchos puntos de vista, con Nair
y Hinton (2010) y Glorot et al. (2011a) citando la neurociencia como una influencia, y Jarrett
y col. (2009) citando influencias más orientadas a la ingeniería. Mientras que la neurociencia
es una importante fuente de inspiración, no es necesario tomarla como una guía rígida.
Nosotros sabemos que las neuronas actuales calculan funciones muy diferentes a las
unidades lineales rectificadas modernas, pero un mayor realismo neuronal aún no ha
llevado a una mejora en rendimiento del aprendizaje automático. Además, aunque la
neurociencia ha inspirado con éxito varias arquitecturas de redes neuronales, todavía no
sabemos lo suficiente sobre aprendizaje biológico de la neurociencia y ofrecer más
orientación para los algoritmos de aprendizaje que utilizamos para entrenar estas
arquitecturas.

Las cuentas de los medios a menudo enfatizan la similitud del aprendizaje profundo con el
cerebro. Si bien es cierto que es más probable que los investigadores de aprendizaje
profundo citen al cerebro como una influencia que los investigadores que trabajan en otros
campos del aprendizaje automático, como las máquinas basadas en kernel o estadísticas
bayesianas, no se debe ver el aprendizaje profundo como un intento para simular el cerebro.
El aprendizaje profundo moderno se inspira en muchos campos, especialmente los
fundamentos matemáticos aplicados como álgebra lineal, probabilidad, teoría de la
información y optimización numérica. Si bien algunos investigadores de aprendizaje
profundo citan la neurociencia como una importante fuente de inspiración, otros no se
preocupan en absoluto por la neurociencia.

Vale la pena señalar que el esfuerzo por comprender cómo funciona el cerebro en un nivel
algorítmico está vivo y coleando. Este esfuerzo se conoce principalmente como
“Neurociencia computacional” y es un campo de estudio separado del aprendizaje
profundo. Es común que los investigadores se muevan entre ambos campos. El campo del
aprendizaje profundo se ocupa principalmente de cómo construir sistemas informáticos que
son capaces de resolver con éxito tareas que requieren inteligencia, mientras que el campo
de la neurociencia computacional se preocupa principalmente por construir más modelos
de cómo funciona realmente el cerebro.

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 12


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

En la década de 1980, la segunda ola de investigación de redes neuronales surgió en gran


parte a través de un movimiento llamado conexionismo o procesamiento distribuido en
paralelo (Rumelhart et al., 1986c; McClelland y col., 1995). El conexionismo surgió en el
contexto de la ciencia Cognitiva. La ciencia cognitiva es un enfoque interdisciplinario para
comprender la mente, combinando múltiples niveles diferentes de análisis. Durante la
primera década de 1980, la mayoría de los científicos cognitivos estudiaron modelos de
razonamiento simbólico. A pesar de su popularidad, los modelos simbólicos eran difíciles de
explicar en términos de cómo el cerebro podría implementarlos utilizando neuronas. Los
conexionistas comenzaron a estudiar modelos de cognición que en realidad podrían basarse
en implementaciones neuronales (Touretzky y Minton, 1985), reviviendo muchas ideas que
se remontan al trabajo del psicólogo Donald Hebb en la década de 1940 (Hebb, 1949).

La idea central del conexionismo es que una gran cantidad de simples unidades pueden
lograr un comportamiento inteligente cuando se conectan en red. Esta idea se aplica
igualmente a las neuronas del sistema nervioso biológico y a las unidades ocultas en
modelos computacionales.

Varios conceptos clave surgieron durante el movimiento del conexionismo de la década de


1980 que siguen siendo fundamentales para el aprendizaje profundo de hoy.

Uno de estos conceptos es el de representación distribuida (Hinton et al., 1986). Esta es la


idea de que cada entrada a un sistema debe estar representada por muchas características,
y cada característica debe estar involucrada en la representación de muchas entradas
posibles. Por ejemplo, suponga que tenemos un sistema de visión que puede reconocer
automóviles, camiones y pájaros y estos objetos pueden ser rojos, verdes o azules. Una
forma de representar estas entradas serían tener una neurona separada o una unidad oculta
que se activa para cada una de las nueve combinaciones posibles: camión rojo, coche rojo,
pájaro rojo, camión verde y pronto. Esto requiere nueve neuronas diferentes, y cada
neurona debe independientemente aprender el concepto de color e identidad de objeto.
Una forma de mejorar esta situación es utilizar una representación distribuida, con tres
neuronas que describen el color y tres neuronas que describen la identidad del objeto. Esto
requiere solo seis neuronas en total en lugar de nueve, y la neurona que describe el
enrojecimiento puede aprender sobre el enrojecimiento a partir de imágenes de
automóviles, camiones y pájaros, no solo a partir de imágenes de una categoría específica
de objetos. El concepto de representación distribuida es fundamental para este libro, y se
describirá con mayor detalle en el Capítulo 15.

Otro logro importante del movimiento conexionista fue el éxito del uso de retropropagación
para entrenar redes neuronales profundas con representaciones internas y la
popularización del algoritmo de retropropagación (Rumelhart et al., 1986a; LeCun, 1987).
Este algoritmo ha aumentado y disminuido en popularidad pero al momento de escribir este
artículo es actualmente el enfoque dominante para entrenar modelos profundos.

Durante la década de 1990, los investigadores lograron importantes avances en el modelado


de secuencias con redes neuronales. Hochreiter (1991) y Bengio et al. (1994) identificaron
algunas de las dificultades matemáticas fundamentales para modelar secuencias largas,
descritas en la Sec. 10.7, Hochreiter y Schmidhuber (1997) introdujeron la memoria de largo
y corto plazo o red LSTM para resolver algunas de estas dificultades. Hoy, el LSTM se usa

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 13


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

ampliamente para muchas tareas de modelado de secuencias, incluidas muchas tareas de


procesamiento de lenguajes natural en Google.
La segunda ola de investigación de redes neuronales duró hasta mediados de la década de
1990. Aventures basadas en redes neuronales y otras tecnologías de inteligencia artificial
comenzaron a hacerse declaraciones poco realistas y ambiciosas al buscar inversiones.
Cuando la investigación de la IA no cumplió estas expectativas poco razonables, los
inversores se sintieron decepcionados. Simultáneamente, otros campos del aprendizaje
automático hicieron avances. Las máquinas de kernel (Boser et al., 1992; Cortes y Vapnik,
1995; Schölkopf et al., 1999) y modelos gráficos (Jordan, 1998) ambos lograron buenos
resultados en muchas tareas importantes. Estos dos factores llevaron a un declive en la
popularidad de las redes neuronales que duró hasta 2007.

Durante este tiempo, las redes neuronales continuaron obteniendo un rendimiento


impresionante en algunas tareas (LeCun et al., 1998b; Bengio et al., 2001). El Instituto
Canadiense for Advanced Research (CIFAR) ayudó a mantener viva la investigación de redes
neuronales a través de su iniciativa de investigación Neural Computation and Adaptive
Perception (NCAP). Este programa unió a grupos de investigación de aprendizaje automático
liderados por Geoffrey Hinton en la Universidad de Toronto, Yoshua Bengio en la
Universidad de Montreal y Yann LeCun en la Universidad de Nueva York. La iniciativa de
investigación CIFAR NCAP tuvo una naturaleza multidisciplinaria que también incluía
neurocientíficos y expertos en visión por computadora.

En este momento, generalmente se creía que las redes profundas eran muy difíciles de
entrenar. Ahora sabemos que los algoritmos que han existido desde la década de 1980
funcionan bastante bien, pero esto no fue evidente alrededor de 2006. El problema es quizás
simplemente que estos algoritmos eran demasiado costosos computacionalmente para
permitir mucha experimentación con el hardware disponible en ese momento.

La tercera ola de investigación de redes neuronales comenzó con un gran avance en 2006.
Geoffrey Hinton demostró que una especie de red neuronal llamada red de creencia
profunda podría entrenarse de manera eficiente utilizando una estrategia llamada capa de
preentrenamiento codiciosa (Hinton et al., 2006), que se describirá con más detalle en la
Sec. 15.1. Los otros grupos de investigación afiliados a CIFAR rápidamente demostraron que
la misma estrategia podría usarse para entrenar muchos otros tipos de redes profundas
(Bengio et al., 2007; Ranzato et al., 2007a) y ayudó sistemáticamente a mejorar la
generalización en ejemplos de prueba. Esta ola de investigación de redes neuronales
popularizó el uso del término aprendizaje profundo para enfatizar que los investigadores
ahora podían entrenar redes neuronales que había sido posible antes, y para centrar la
atención en el importancia teórica de la profundidad (Bengio y LeCun, 2007; Delalleau y
Bengio, 2011; Pascanu y col., 2014a; Montufar et al., 2014). En este momento, las redes
neuronales profundas superaron a los sistemas de inteligencia artificial de la competencia
basados en otras tecnologías de aprendizaje automático, así como funcionalidad diseñada a
mano. Esta tercera ola de popularidad de las redes neuronales continúa hasta el momento
de escribir este artículo, aunque el enfoque de la investigación sobre el aprendizaje ha
cambiado drásticamente durante la época de esta ola. La tercera ola comenzó con un
enfoque en nuevas técnicas de aprendizaje no supervisado y la capacidad de los modelos
profundos para generalizar bien a partir de pequeños conjuntos de datos, pero ahora hay

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 14


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

más interés en algoritmos de aprendizaje supervisado mucho más antiguos y la capacidad


de los modelos profundos para aprovechar grandes conjuntos de datos etiquetados.

1.2.2. Incrementando del tamaño de los Datasets


Uno puede preguntarse por qué el aprendizaje profundo se ha reconocido recientemente
como una tecnología crucial, aunque los primeros experimentos con redes neuronales
artificiales fueron realizados en la década de 1950. El aprendizaje profundo se ha utilizado
con éxito en aplicaciones desde la década de 1990, pero fueron a menudo considerados más
un arte que una tecnología y algo que solo un experto podía utilizar, hasta hace poco. Es
verdad que se requiere cierta habilidad para obtener un buen rendimiento de un algoritmo
de aprendizaje profundo. Afortunadamente, la cantidad de habilidad requerida se reduce a
medida que la cantidad de datos de entrenamiento aumenta. Los algoritmos de aprendizaje
que alcanzan el desempeño humano en tareas complejas hoy en día son casi idénticos a los
algoritmos de aprendizaje que lucharon por resolver problemas de juegos en la década de
1980, aunque los modelos que entrenamos con estos algoritmos han sufrido cambios que
simplifican la formación de arquitecturas muy profundas. El nuevo desarrollo más
importante es que hoy podemos proporcionar a estos algoritmos con los recursos que
necesitan para tener éxito. La figura 1.8 muestra cómo el tamaño del punto de referencia
de los conjuntos de datos se ha incrementado notablemente con el tiempo. Esta tendencia
está impulsada por el aumento de la digitalización de la sociedad. A medida que más y más
de nuestras actividades se llevan a cabo en computadoras, cada vez se registra más de lo
que hacemos. A medida que nuestras computadoras están cada vez más conectados en red,
resulta más fácil centralizar estos registros y conservarlos en un conjunto de datos
apropiado para las aplicaciones de aprendizaje automático. La era de "Big Data” ha hecho
que el aprendizaje automático sea mucho más fácil porque la carga clave de la estimación
estadística: generaliza bien a nuevos datos después de observar solo una pequeña cantidad
de datos — se ha reducido considerablemente. A partir de 2016, una regla general
aproximada es que un algoritmo de aprendizaje profundo supervisado generalmente logrará
rendimiento con alrededor de 5000 ejemplos etiquetados por categoría, y coincidirá o
excederá el rendimiento humano cuando se entrena con un conjunto de datos que contiene
al menos 10 millones de ejemplos etiquetados. Trabajar con éxito con conjuntos de datos
más pequeños que esto es un área de investigación importante, centrándose en particular
en cómo podemos aprovechar las grandes cantidades de ejemplos sin etiquetar, con el
aprendizaje no supervisado o semi-supervisado.

1.2.3. Incrementando del Tamaño de los Modelos


Otra razón clave por la que las redes neuronales tienen un gran éxito hoy después de
disfrutar comparativamente poco éxito desde la década de 1980 es que tenemos los
recursos computacionales para ejecutar hoy modelos mucho más grandes. Una de las
principales ideas del conexionismo es que los animales se vuelven inteligentes cuando
muchas de sus neuronas trabajan juntas. Una neurona individual o una pequeña colección
de neuronas no son particularmente útiles.
Las neuronas biológicas no están especialmente conectadas densamente. Como se ve en la
figura 1.10, nuestros modelos de aprendizaje automático han tenido una serie de
conexiones por neurona que estuvo dentro de un orden de magnitud incluso de los cerebros
de los mamíferos durante décadas.

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 15


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

En términos del número total de neuronas, las redes neuronales han sido asombrosamente
pequeños hasta hace muy poco, como se muestra en la figura 1.11. Desde la introducción
de las unidades ocultas, las redes neuronales artificiales se han duplicado en tamaño
aproximadamente cada 2.4 años. Este crecimiento está impulsado por computadoras más
rápidas con mayor memoria y por la disponibilidad de conjuntos de datos más grandes. Las
redes más grandes pueden lograr una mayor precisión en más tareas complejas. Esta
tendencia parece que continuará durante décadas. A menos que las nuevas tecnologías
permitan un escalado más rápido, las redes neuronales artificiales no tendrán el mismo
número de neuronas como el cerebro humano hasta al menos la década de 2050. Las
neuronas biológicas pueden representar funciones más complicadas que las neuronas
artificiales actuales, por lo que las redes neuronales podría ser incluso más grandes de lo
que describe esta trama retratada.

En retrospectiva, no es particularmente sorprendente que las redes neuronales con menos


neuronas que una sanguijuela eran incapaces de resolver sofisticados problemas de
inteligencia artificial. Incluso las redes de hoy, que consideramos bastante grandes desde un
punto de vista de los sistemas computacionales, son más pequeños que el sistema nervioso
de incluso animales vertebrados relativamente primitivos como las ranas.

El aumento en el tamaño del modelo a lo largo del tiempo, debido a la disponibilidad de CPU
más rápidas, la llegada de GPU de propósito general (descritas en la Sección 12.1.2),
conectividad de redes más rápidas y mejor infraestructura de software para computación
distribuida, es una de las tendencias más importantes en la historia del aprendizaje
profundo. Esta tendencia es generalmente esperada a que continúe en el futuro.

Figura 1.8: El tamaño de los conjuntos de datos ha aumentado considerablemente con el tiempo. A principios
del siglo XX, los estadísticos estudiaron conjuntos de datos utilizando cientos o miles de mediciones compiladas
manualmente (Garson, 1900; Gosset, 1908; Anderson, 1935; Fisher, 1936). Desde la década de 1950 hasta la de
1980, los pioneros del aprendizaje automático de inspiración biológica a menudo funcionaba con pequeños
conjuntos de datos sintéticos, como mapas de bits de letras de baja resolución, que fueron diseñados para
incurrir en un bajo costo computacional y demostrar que las redes neuronales eran capaces de aprender tipos
específicos de funciones (Widrow y Hoff, 1960; Rumelhart y col., 1986b). En las décadas de 1980 y 1990, el
aprendizaje automático se volvió de naturaleza más estadística y comenzó a aprovechar conjuntos de datos más
grandes que contienen decenas de miles de ejemplos, como el conjunto de datos MNIST (que se muestra en la
figura 1.9) de escaneos de números escritos a mano (LeCun et al., 1998b). En la primera década de la década de
2000, más conjuntos de datos sofisticados de este mismo tamaño, como el conjunto de datos CIFAR-10
(Krizhevsky y Hinton, 2009) continuó produciéndose. Hacia fines de esa década y durante la primera mitad de la
década de 2010, conjuntos de datos significativamente más grandes, que contienen cientos de miles a decenas
de millones de ejemplos, cambió por completo lo que era posible con el aprendizaje profundo. Estos conjuntos
de datos incluían el conjunto de datos públicos de Street View House Numbers (Netzer et al., 2011), varias
versiones del conjunto de datos de ImageNet (Deng et al., 2009, 2010a; Russakovsky et al., 2014a), y el conjunto

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 16


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

de datos Sports-1M (Karpathy et al., 2014). En la cima del gráfico, vemos que los conjuntos de datos de oraciones
traducidas, como el conjunto de datos de IBM construido por la canadiense Hansard (Brown et al., 1990) y el
conjunto de datos WMT 2014 del inglés a francés (Schwenk, 2014) suelen estar muy por delante de otros
tamaños de conjuntos de datos.

Figura 1.9: Entradas de ejemplo del conjunto de datos MNIST. El "NIST" significa Nacional Institute of Standards
and Technology, la agencia que originalmente recopiló estos datos. La "M" significa "modificado", ya que los
datos han sido pre-procesados para facilitar su uso con algoritmos de aprendizaje automático. El conjunto de
datos MNIST consta de escaneos de dígitos escritos a mano y etiquetas asociadas que describen qué dígito del
0-9 está contenido en cada imagen. Este simple problema de clasificación es una de las pruebas más simples y
más utilizadas en la investigación del aprendizaje profundo. Sigue siendo popular a pesar de ser bastante fácil
de resolver para las técnicas modernas. Geoffrey Hinton lo ha descrito como "la drosophila del aprendizaje
automático", lo que significa que permite a los investigadores de aprendizaje automático estudiar sus algoritmos
en condiciones de laboratorio controlado, tanto como los biólogos a menudo estudian las moscas de la fruta.

1.2.4. Incrementando la Exactitud, Complejidad y el Impacto en el Mundo Real


Desde la década de 1980, el aprendizaje profundo ha mejorado constantemente en su
capacidad para proporcionar reconocimiento o predicción precisos. Además, el aprendizaje
profundo se ha aplicado con éxito a conjuntos de aplicaciones cada vez más amplios.

Los primeros modelos profundos se utilizaron para reconocer objetos individuales en


imágenes estrechas recortadas y extremadamente pequeñas (Rumelhart et al., 1986a).
Desde entonces ha habido un aumento gradual en el tamaño de las imágenes que las redes
neuronales podrían procesar. Modernas redes de reconocimiento de objetos procesan
fotografías ricas en alta resolución y sin tener el requisito de que la foto se recorte cerca del
objeto que se va a reconocer (Krizhevsky et al., 2012). Del mismo modo, las primeras redes
solo podían reconocer dos tipos de objetos (o en algunos casos, la ausencia o presencia de
un solo tipo de objeto), mientras que estas redes modernas normalmente reconocen al
menos 1.000 diferentes categorías de objetos. El mayor concurso de reconocimiento de
objetos es ImageNet. Desafío de reconocimiento visual a gran escala (ILSVRC) que se celebra
cada año. Un momento dramático en el ascenso meteórico del aprendizaje profundo llegó
cuando una red convolucional ganó este desafío por primera vez y por un amplio margen,
derribando la tasa de error de los 5 principales de la última generación del 26,1% al 15,3%

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 17


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

(Krizhevsky et al., 2012), lo que significa que la red convolucional produce una lista ordenada
de posibles categorías para cada imagen y la categoría correcta aparece en las cinco
primeras entradas de esta lista para todos menos el 15,3% de los ejemplos de prueba. Desde
entonces, estas competiciones son consistentemente ganadas por redes profundas
convolucionales, y al momento de escribir este artículo, los avances en el aprendizaje
profundo ha reducido la última tasa de error de los 5 principales en este concurso al 3,6%,
como se muestra en la Fig. 1.12.

El aprendizaje profundo también ha tenido un impacto dramático en el reconocimiento de


voz. Después mejorando a lo largo de la década de 1990, las tasas de error para el
reconocimiento de voz se estancaron a partir del 2000. La introducción del aprendizaje
profundo (Dahl et al., 2010; Deng et al., 2010b; Seide et al., 2011; Hinton et al., 2012a) al
reconocimiento de voz resultó en una caída repentina de las tasas de error, con algunas
tasas de error reducidas a la mitad. Vamos a explorar esta historia con más detalle en la Sec.
12.3.

Las redes profundas también han tenido un éxito espectacular en la detección de peatones
y segmentación de imágenes (Sermanet et al., 2013; Farabet et al., 2013; Couprie et al.,
2013) y arrojó un rendimiento sobrehumano en la clasificación de señales de tráfico (Ciresan
et al., 2012).

Figura 1.10: Inicialmente, el número de conexiones entre neuronas en redes neuronales


artificiales estaban limitadas por las capacidades del hardware. Hoy, el número de
conexiones entre neuronas es principalmente una consideración de diseño. Algunas redes
neuronales artificiales tienen casi las mismas conexiones por neurona como un gato, y es
bastante común para otras redes neuronales tener tantas conexiones por neurona como
mamíferos más pequeños como ratones. Incluso el cerebro humano no tiene una cantidad
exorbitante de conexiones por neurona. Tamaños de redes neuronales biologicas de
Wikipedia (2015).
1. Adaptive linear element (Widrow and Hoff, 1960)
2. Neocognitron (Fukushima, 1980)
3. GPU-accelerated convolutional network (Chellapilla et al., 2006)
4. Deep Boltzmann machine (Salakhutdinov and Hinton, 2009a)
5. Unsupervised convolutional network (Jarrett et al., 2009)
6. GPU-accelerated multilayer perceptron (Ciresan et al., 2010)
7. Distributed autoencoder (Le et al., 2012)
8. Multi-GPU convolutional network (Krizhevsky et al., 2012)
9. COTS HPC unsupervised convolutional network (Coates et al., 2013)
10. GoogLeNet (Szegedy et al., 2014a)

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 18


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

Al mismo tiempo que ha aumentado la escala y la precisión de las redes profundas, también
lo ha hecho la complejidad de las tareas que pueden resolver. Goodfellow y col. (2014d)
mostró que las redes neuronales pueden aprender a generar una secuencia completa de
caracteres transcritos a partir de una imagen, en lugar de solo identificar un solo objeto.
Previamente, se creía ampliamente que este tipo de aprendizaje requería etiquetar al
individuo elementos de la secuencia (Gülçehre y Bengio, 2013). Las redes neuronales
recurrentes, como el modelo de secuencia LSTM mencionado anteriormente, ahora se
utilizan para modelar relaciones entre secuencias y otras secuencias en lugar de solo
entradas fijas. Este aprendizaje secuencia a secuencia parece estar en la cúspide de
revolucionar otra aplicación: traducción automática (Sutskever et al., 2014; Bahdanau et al.,
2015).

Esta tendencia de complejidad creciente se ha llevado a su conclusión lógica con la


introducción de las máquinas neuronales de Turing (Graves et al., 2014a) que aprenden para
leer desde las celdas de memoria y escribir contenido arbitrario en las celdas de memoria.
Tales redes neuronales pueden aprender programas simples a partir de ejemplos de
comportamiento deseado. Por ejemplo, pueden aprender a ordenar listas de números
dados ejemplos de codificación y secuencias ordenadas. Esta tecnología de
autoprogramación está en su infancia, pero en el futuro podría, en principio, aplicarse a casi
cualquier tarea.

Otro logro supremo del aprendizaje profundo es su extensión al dominio del aprendizaje por
refuerzo. En el contexto del aprendizaje por refuerzo, un agente debe aprender a realizar
una tarea por ensayo y error, sin ninguna orientación del operador humano. DeepMind
demostró que un sistema de aprendizaje por refuerzo basado en el aprendizaje profundo es
capaz de aprender a jugar videojuegos Atari, alcanzando un desempeño a nivel humano en
muchas tareas (Mnih et al., 2015). El aprendizaje profundo también mejoró
significativamente el rendimiento del aprendizaje por refuerzo para robótica (Finn et al.,
2015).

Muchas de estas aplicaciones de aprendizaje profundo son muy rentables. Aprendizaje


profundo ahora es utilizado por muchas de las principales empresas de tecnología, incluidas
Google, Microsoft, Facebook, IBM, Baidu, Apple, Adobe, Netflix, NVIDIA y NEC.

Los avances en el aprendizaje profundo también han dependido en gran medida de los
avances en la infraestructura del software. Bibliotecas de software como Theano (Bergstra
et al., 2010; Bastien et al., 2012), PyLearn2 (Goodfellow et al., 2013c), Torch (Collobert et
al., 2011b), DistBelief (Dean et al., 2012), Caffe (Jia, 2013), MXNet (Chen et al., 2015) y
TensorFlow (Abadi et al., 2015) han apoyado importantes proyectos de investigación o
productos comerciales.

El aprendizaje profundo también ha contribuido a otras ciencias. Las redes convolucionales


modernas para el reconocimiento de objetos proporcionan un modelo de procesamiento
visual que los neurocientíficos pueden estudiar (DiCarlo, 2013). El aprendizaje profundo
también proporciona herramientas para procesar cantidades masivas de datos y hacer
predicciones útiles en campos científicos. Se ha utilizado con éxito para predecir cómo
interactuarán las moléculas para ayudar a las empresas farmacéuticas a diseñar nuevos
medicamentos (Dahl et al., 2014), para buscar partículas subatómicas (Baldi et al., 2014), y

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 19


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

para analizar automáticamente imágenes de microscopio utilizadas para construir un mapa


tridimensional del cerebro humano (Knowles- Barley et al., 2014). Esperamos que el
aprendizaje profundo aparezca cada vez en más campos en el futuro.

En resumen, el aprendizaje profundo es un enfoque del aprendizaje automático que en gran


medida ha sacado en nuestro conocimiento del cerebro humano, la estadística y las
matemáticas aplicadas desarrollado durante las últimas décadas. En los últimos años, ha se
ha visto un tremendo crecimiento en su popularidad y utilidad, debido en gran parte a
computadoras más potentes, conjuntos de datos más grandes y técnicas para entrenar
redes más profundas. Los años venideros están llenos de desafíos y oportunidades para
mejorar aún más el aprendizaje profundo y llevarlo a nuevas fronteras.

Figura 1.11: Desde la introducción de unidades ocultas, las redes neuronales artificiales se han duplicado en
tamaño aproximadamente cada 2.4 años. Tamaños de redes neuronales biológicas de Wikipedia (2015).

1. Perceptron (Rosenblatt, 1958, 1962)


2. Adaptive linear element (Widrow and Hoff, 1960)
3. Neocognitron (Fukushima, 1980)
4. Early back-propagation network (Rumelhart et al., 1986b)
5. Recurrent neural network for speech recognition (Robinson and Fallside, 1991)
6. Multilayer perceptron for speech recognition (Bengio et al., 1991)
7. Mean field sigmoid belief network (Saul et al., 1996)
8. LeNet-5 (LeCun et al., 1998b)
9. Echo state network (Jaeger and Haas, 2004)
10. Deep belief network (Hinton et al., 2006)
11. GPU-accelerated convolutional network (Chellapilla et al., 2006)
12. Deep Boltzmann machine (Salakhutdinov and Hinton, 2009a)
13. GPU-accelerated deep belief network (Raina et al., 2009)
14. Unsupervised convolutional network (Jarrett et al., 2009)
15. GPU-accelerated multilayer perceptron (Ciresan et al., 2010)
16. OMP-1 network (Coates and Ng, 2011)
17. Distributed autoencoder (Le et al., 2012)
18. Multi-GPU convolutional network (Krizhevsky et al., 2012)
19. COTS HPC unsupervised convolutional network (Coates et al., 2013)
20. GoogLeNet (Szegedy et al., 2014a)

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 20


Goodfellow I., Bengio Y., y Courville A., (2016). “Deep Learning”

Figura 1.12: Desde que las redes profundas alcanzaron la escala necesaria para competir en
el desafío ImageNet de reconocimiento visual a gran escala, han ganado constantemente la
competencia cada año, y arrojó tasas de error cada vez más bajas. Datos de Russakovsky et
al. (2014b) y He et al. (2015).

Traducido con Google Traducer y corregido por Mayenka Fernández Chambi 21

También podría gustarte