Você está na página 1de 15

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN

FACULTAD DE PRODUCCIÓN Y SERVICIOS


ESCUELA PROFESIONAL INGENIERÍA DE SISTEMAS

DEEP LEARNING

GRUPO DE TRABAJO
CURSO: Tópicos Avanzados de Ingeniería De Software
DOCENTE: Leticia Laura Ochoa

Presentado por:
❏ Deza Veliz, David
❏ Flores Choque, Armando
❏ Rodrigo Coaquira, Edward
❏ Soncco Chuctaya, Fredy

Arequipa – 2018
I. INTRODUCCIÓN

El aprendizaje profundo (también conocido como aprendizaje estructurado


profundo o aprendizaje jerárquico) es parte de una familia más amplia de métodos
de aprendizaje automático basados en representaciones de datos de aprendizaje , en lugar
de algoritmos específicos de tareas. El aprendizaje puede
ser supervisado , semi-supervisado o no supervisado .

Arquitecturas de aprendizaje profundas tales como las redes neuronales profundas , las
redes de creencias profundas y redes neuronales recurrentes han sido aplicados a campos
como la visión artificial , reconocimiento de voz , procesamiento del lenguaje natural , el
reconocimiento de audio, filtrado de red social, la traducción automática , la
bioinformática , diseño de fármacos y juegos de mesa programas , donde han producido
resultados comparables y, en algunos casos, superiores a los expertos humanos.

Los modelos de aprendizaje profundo están vagamente inspirados por el procesamiento de la


información y los patrones de comunicación en los sistemas biológicos nerviosos, pero tienen
varias diferencias con las propiedades estructurales y funcionales de
los cerebros biológicos (especialmente el cerebro humano ), que los hacen incompatibles con
las evidencias de la neurociencia .

Los algoritmos basados en Deep Learning (como las redes feed forward) tienen en teoria la
capacidad de aproximar cualquier función. Esa propiedad teorica indica que existe una red
óptima, pero no implica que el proceso de aprendizaje sea capaz de alcanzar la configuracion
óptima.

En la práctica las redes no funcionaban bien y los algoritmos basados en Deep Learning fueron
abandonados.
II. ESTADO DEL ARTE

Año Trabajo Resumen

2015 Deep learning El aprendizaje profundo permite que los modelos


computacionales compuestos de múltiples capas de
procesamiento aprendan representaciones de datos con
múltiples niveles de abstracción. Estos métodos han mejorado
dramáticamente el estado del arte en reconocimiento de voz,
reconocimiento visual de objetos, detección de objetos y muchos
otros dominios como el descubrimiento de fármacos y la
genómica. El aprendizaje profundo descubre una estructura
compleja en grandes conjuntos de datos utilizando el algoritmo
de propagación hacia atrás para indicar cómo una máquina debe
cambiar sus parámetros internos que se utilizan para calcular la
representación en cada capa a partir de la representación en la
capa anterior. Las redes convolucionales profundas han traído
avances en el procesamiento de imágenes, video, voz y audio,
mientras que las redes recurrentes han arrojado luz sobre datos
secuenciales como el texto y la voz.

2018 Learning hand-eye Aqui se describe un enfoque basado en el aprendizaje de la


coordination for robotic coordinación ojo-mano para un agarre robótico a partir de
grasping with deep imágenes monoculares. Para aprender la coordinación mano-ojo
learning and large-scale para el agarre, entrenamos una gran red neuronal convolucional
data collection para predecir la probabilidad de que el movimiento en el espacio
de tareas de la pinza dé como resultado un agarre exitoso,
utilizando solo imágenes de cámara monoculares independientes
de la calibración de la cámara o la postura actual del robot. Esto
requiere que la red observe la relación espacial entre la pinza y
los objetos en la escena, aprendiendo así la coordinación
mano-ojo. Luego utilizamos esta red para servir la pinza en
tiempo real para lograr un agarre exitoso. Describimos dos
experimentos a gran escala que realizamos en dos plataformas
robóticas separadas.

2017 A survey on deep Los algoritmos de aprendizaje profundo, en particular las redes
learning in medical image convolucionales, se han convertido rápidamente en una
analysis metodología de elección para analizar imágenes médicas. Este
documento revisa los principales conceptos de aprendizaje
profundo pertinentes al análisis de imágenes médicas y resume
más de 300 contribuciones al campo, la mayoría de las cuales
aparecieron en el último año. Examinamos el uso del aprendizaje
profundo para la clasificación de imágenes, detección de objetos,
segmentación, registro y otras tareas. Se proporcionan
descripciones concisas de los estudios por área de aplicación:
neuro, retina, pulmonar, patología digital, mama, cardíaca,
abdominal, musculoesquelética. Terminamos con un resumen del
estado actual de la técnica, una discusión crítica de los desafíos
abiertos y las direcciones para futuras investigaciones.

2017 Xception: Deep Learning Aqui se presenta una interpretación de los módulos de inicio en
with Depthwise convolucional. Las redes neuronales como paso intermedio.
Separable Convolutions entre la convolución regular y la separable en profundidad
operación de convolución (una convolución en profundidad
seguida de una convolución puntual). En este sentido, un
separable en profundidad convolución se puede entender como
un módulo de inicio con Un número máximo de torres. Esta
observación lleva Proponemos una novedosa red neuronal
convolucional profunda. Arquitectura inspirada en Inception,
donde los módulos Inception. Se han reemplazado con
convoluciones separables en profundidad.

III. MARCO TEÓRICO


1. Machine Learning
1.1. Definición:
El Machine Learning es una rama de la inteligencia artificial encargada de
crear programas de software capaces de generalizar comportamientos a
partir de los datos recibidos. Otros autores definen este concepto de la
siguiente manera:
- Enseñar a un computador a aprender conceptos usando datos, sin ser
explícitamente programado para ello.
- Campo de estudio que da a los ordenadores la habilidad de aprender sin
la necesidad de ser explícitamente programados [Arthur Samuel, 1959].
- Se dice que un programa de ordenador aprende por medio de la
experiencia E con respecto a alguna clase de tareas T y medida de
rendimiento P, si su desempeño en tareas en T, medida por P, mejora con
la experiencia E. [Tom Mitchel, 1998].

Ejemplo: Jugando al ajedrez.


E = La experiencia de jugar muchos juegos de ajedrez.
T = La tarea de jugar ajedrez.
P = La probabilidad que el programa gane el próximo partido.

1.2. Métodos de Machine Learning


Dentro del Machine Learning existen tres métodos de aplicación diferenciados, los
cuales se explicarán a continuación de manera específica.

1.2.1. Método de Regresión:


Este método se utiliza para predecir el valor de un atributo continuo. Consiste en
encontrar la mejor ecuación que atraviese de forma óptima un conjunto
de puntos (n-dimensiones). Se utiliza cuando la precisión no es crítica y
el número de variables es pequeño.
1.2.2. Método de Clasificación:

Método utilizado para predecir un resultado de un atributo con valor


discreto (a, b, c, …) dadas unas características (Xo, X1, X2, X3, .....Xn).
El método simple de clasificación es el binario, donde se clasifica un
registro de variables de entrada en 1 o 0. La clasificación múltiple es una
extensión de la clasificación binaria.

1.2.3. Método de Agrupación:


Este método se utiliza cuando se necesita clasificar las instancias de datos
pero no se conocen previamente las categorías. Esta agrupación permite
construir grupos (cluster) coherentes de instancias teniendo en cuenta las
variables de la data. En palabras sencillas, permite encontrar qué se tiene
en la data.
1.3. Tipos de Aprendizaje Automático
1.3.1. Aprendizaje Supervisado:

El aprendizaje supervisado es aquel que para un conjunto de datos de entrada


conocemos de antemano los datos correctos de salida. Consta de 2 fases, una de
entrenamiento y otra de pruebas.

En la fase de entrenamiento se cuenta con un conjunto de datos (por lo general


entre el 60% o 70% del total de la data disponible) que son con los que se enseña o
entrena al algoritmo para encontrar los patrones y relaciones en la data.

Posteriormente en la fase de pruebas se cuenta con una data de pruebas (entre el


40% o 30% del total de la data disponible), la cual sirve para validar el rendimiento
del algoritmo.

Los métodos enunciados anteriormente que se encuentran en este tipo de


algoritmos son:

Regresión: se trata de predecir resultados con una salida continua. Es decir,


mapear variables de entrada a alguna función continua.
Clasificación: se trata de predecir resultados con una salida discreta. O lo que es lo
mismo, mapear variables de entrada en categorías discretas.

Ej:
Reconocimiento de Voz.
Detección de fraude en tarjetas de crédito.
1.3.2. Aprendizaje No Supervisado:

En el aprendizaje no supervisado para un conjunto de datos de entrada, NO


conocemos de antemano los datos de salida. Se utiliza para obtener una
agrupación coherente de los datos en función de las relaciones entre las variables
definidas en la data.
Ej:
Tome una colección de 1000 ensayos escritos sobre la economía de Colombia, y
encuentre una manera de forma automática de clasificar estos ensayos en grupos,
que son de alguna manera similares o relacionados por diferentes variables, como
la frecuencia de la palabra, longitud de la oración, número de páginas, y así
sucesivamente. (Google News).

2. Deep Learning:
2.1. Definición:
El aprendizaje profundo (también conocido como aprendizaje estructurado
profundo o aprendizaje jerárquico) es parte de una familia más amplia de métodos
de aprendizaje automático basados en representaciones de datos de aprendizaje , en
lugar de algoritmos específicos de tareas. El aprendizaje puede
ser supervisado , semi-supervisado o no supervisado .

o Permite generar una buena representación de los datos a través de varias


capas.
o Un algoritmo que se ejecuta en varios pasos.
o En general, cada capa es un conjunto de “neuronas” (Perceptron).
Figura: comparación Machine Learning vs Deep Learning

2.2. Historia:
Se han utilizado varios nombres: Cybernetics, Connectionism, Neural
Networks.

La disponibilidad de grandes cantidades de datos ha incrementado su uso.

- Computadoras más rápidas -> Más fácil de entrenar.


- Ha alcanzado mejores resultados a lo largo del tiempo, siendo el estado del arte en
varias ramas.
2.3. ¿Cómo logra el Deep Learning unos resultados tan impresionante?

En una palabra: precisión. El aprendizaje profundo alcanza unos niveles de precisión de


reconocimiento nunca vistos. Esto contribuye a que la electrónica de consumo
satisfaga las expectativas de los usuarios, y resulta crucial en aplicaciones críticas para
la seguridad, tales como los vehículos sin conductor. Los últimos avances en el ámbito
del aprendizaje profundo han llegado a un punto en el que este supera a las personas
en algunas tareas; por ejemplo, en la clasificación de objetos presentes en imágenes.

Aunque las primeras teorías sobre el aprendizaje profundo se desarrollaron en la


década de los ochenta, existen dos razones principales por las que solo ha empezado a
resultar útil recientemente:

El Deep Learning requiere grandes cantidades de datos etiquetados. Por ejemplo, para
el desarrollo de un vehículo sin conductor se necesitan millones de imágenes y miles
de horas de vídeo.

El Deep Learning requiere una potencia de cálculo significativa. Las GPU de alto
rendimiento tienen una arquitectura paralela que resulta eficiente para el aprendizaje
profundo. En combinación con clusters o con el cálculo en la nube, esto permite a los
equipos de desarrollo reducir el tiempo necesario para el entrenamiento de una red de
aprendizaje profundo de semanas a horas o incluso menos.
Las aplicaciones de Deep Learning se utilizan en sectores tan variados como la
conducción autónoma y los dispositivos médicos.

Conducción autónoma: Los investigadores del ámbito de la automoción emplean el


aprendizaje profundo para detectar automáticamente objetos tales como señales de
stop y semáforos. Además, el aprendizaje profundo se utiliza para detectar peatones,
lo que contribuye a reducir los accidentes.

Sector aeroespacial y de defensa: El aprendizaje profundo se utiliza para identificar


objetos desde satélites que localizan áreas de interés e identifican las zonas seguras o
no seguras para las tropas.

Investigación médica: Los investigadores del cáncer utilizan el aprendizaje profundo


para detectar células cancerígenas de forma automática. Algunos equipos de UCLA han
construido un microscopio avanzado que produce un conjunto de datos multi-
dimensional empleado para entrenar una aplicación de aprendizaje profundo a fin de
identificar con precisión las células cancerígenas.

Automatización industrial: El aprendizaje profundo está ayudando a mejorar la


seguridad de los trabajadores en entornos con maquinaria pesada, gracias a la
detección automática de personas u objetos cuando se encuentran a una distancia no
segura de las máquinas.

Electrónica (CES): El aprendizaje electrónico se usa en la audición automatizada y la


traducción del habla. Por ejemplo, los dispositivos de asistencia doméstica que
responden a la voz y conocen sus preferencias se basan en aplicaciones de aprendizaje
profundo.
2.4. ¿Cómo funciona el Deep Learning?

La mayor parte de los métodos de aprendizaje emplean arquitecturas de redes


neuronales, por lo que, a menudo, los modelos de aprendizaje profundo se denominan
redes neuronales profundas.

El término “profundo” suele hacer referencia al número de capas ocultas en la red


neuronal. Las redes neuronales tradicionales solo contienen dos o tres capas ocultas,
mientras que las redes profundas pueden tener hasta 150.

Los modelos de Deep Learning se entrenan mediante el uso de extensos conjuntos de


datos etiquetados y arquitecturas de redes neuronales que aprenden directamente a
partir de los datos, sin necesidad de una extracción manual de características.

Figura 1: Redes neuronales organizadas en capas que constan de una serie de nodos
interconectados. Las redes pueden tener decenas o cientos de capas ocultas.

Uno de los tipos más populares de redes neuronales profundas son las conocidas como
redes neuronales convolucionales (CNN o ConvNet). Una CNN convoluciona las
características aprendidas con los datos de entrada y emplea capas convolucionales
2D, lo cual hace que esta arquitectura resulte adecuada para procesar datos 2D, tales
como imágenes.

Las CNN eliminan la necesidad de una extracción de características manual, por lo que
no es necesario identificar las características utilizadas para clasificar las imágenes. La
CNN funciona mediante la extracción de características directamente de las imágenes.
Las características relevantes no se entrenan previamente; se aprenden mientras la
red se entrena con una colección de imágenes. Esta extracción de características
automatizada hace que los modelos de Deep Learning sean muy precisos para tareas
de visión artificial, tales como la clasificación de objetos.
Figura 2: Ejemplo de una red con muchas capas convolucionales. Se aplican filtros a
cada imagen de entrenamiento con distintas resoluciones, y la salida de cada imagen
convolucionada se emplea como entrada para la siguiente capa.

Las CNN aprenden a detectar diferentes características de una imagen mediante


decenas o cientos de capas ocultas. Cada capa oculta aumenta la complejidad de las
características de la imagen aprendidas. Por ejemplo, la primera capa oculta podría
aprender cómo detectar bordes, mientras la segunda aprende cómo detectar formas
más complejas propias de la forma del objeto que se intenta reconocer.

2.5. ¿Cuál es la diferencia entre Machine Learning y Deep Learning?

El Deep Learning es una forma especializada de aprendizaje automático. Un flujo de


trabajo de Machine Learning empieza con la extracción manual de las características
relevantes de las imágenes. Estas características se utilizan entonces para crear un
modelo que categoriza los objetos de la imagen. Con un flujo de trabajo de Deep
Learning, las características relevantes se extraen directamente de las imágenes.
Además, el aprendizaje profundo realiza un “aprendizaje completo”, es decir, se
proporcionan datos sin procesar y una tarea que realizar, como puede ser una
clasificación, a una red, la cual aprende cómo hacerlo automáticamente.

Otra diferencia clave es que con los algoritmos de Deep Learning la escala aumenta
con los datos, mientras que, en el caso del aprendizaje superficial, existe convergencia.
El aprendizaje superficial hace referencia a los métodos de aprendizaje automático que
llegan a un punto muerto en cierto nivel de rendimiento cuando se agregan más
ejemplos y datos de entrenamiento a la red.
Una ventaja fundamental de las redes de aprendizaje profundo es que suelen seguir
mejorando a medida que aumenta el tamaño de los datos.

Figura 3. Comparación de un enfoque de aprendizaje automático para la


categorización de vehículos (izquierda) con el aprendizaje profundo (derecha).
Figura 3. Comparación de un enfoque de aprendizaje automático para la
categorización de vehículos (izquierda) con el aprendizaje profundo (derecha).

En el Machine Learning, se seleccionan manualmente las características y un


clasificador para clasificarlas. Con el aprendizaje profundo, los pasos de extracción de
características y modelización son automáticos.

Reconocimiento de objetos: Deep Learning y Machine Learning para la visión artificial


(26:57)
Introducción al Deep Learning : ¿Qué son las redes neuronales convolucionales? (4:44)
Elección entre el aprendizaje automático y el aprendizaje profundo
El aprendizaje automático ofrece una serie de técnicas y modelos que se pueden
seleccionar en función de la aplicación, el tamaño de los datos procesados y el tipo de
problema que se desea resolver. Una aplicación correcta de aprendizaje profundo
requiere una gran cantidad de datos (miles de imágenes) para entrenar el modelo, así
como GPU o unidades de procesamiento gráfico para procesar los datos con rapidez.

A la hora de elegir entre el aprendizaje automático y el aprendizaje profundo, tenga en


cuenta si dispone de una GPU de alto rendimiento y una gran cantidad de datos
etiquetados. Si no dispone de ninguna de estas cosas, puede que tenga más sentido
utilizar el aprendizaje automático en lugar del aprendizaje profundo. El aprendizaje
profundo suele ser más complejo, así que necesitará al menos unos pocos miles de
imágenes para obtener resultados fiables. El hecho de disponer de una GPU de alto
rendimiento implica que el modelo tardará menos tiempo en analizar todas las
imágenes.

2.6. Cómo crear y entrenar modelos de aprendizaje profundo

Las tres formas más habituales de utilizar el aprendizaje profundo para llevar a cabo la
clasificación de objetos son las siguientes.

2.7. Entrenamiento desde cero

Para entrenar una red profunda desde cero, se recopila un conjunto de datos
etiquetados muy amplio y se diseña una arquitectura de red que aprenda las
características y el modelo. Esto resulta útil para las aplicaciones nuevas o las
aplicaciones que tendrán un número muy elevado de categorías de salida. Este
enfoque es menos común porque, debido a la gran cantidad de datos y a la velocidad
de aprendizaje, se suele tardar días o semanas en entrenar estas redes.

2.8. Transferencia del aprendizaje

La mayoría de las aplicaciones de aprendizaje emplean el enfoque de transferencia del


aprendizaje, un proceso que implica el ajuste detallado de un modelo previamente
entrenado. Se empieza con la red existente, como por ejemplo AlexNet o GoogLeNet, y
se le proporcionan datos nuevos que contienen clases previamente desconocidas. Tras
realizar algunos ajustes en la red, es posible realizar una tarea nueva, por ejemplo,
categorizar solo los perros o los gatos en lugar de 1000 objetos distintos. Esto también
tiene la ventaja de necesitar muchos menos datos (se procesan miles de imágenes en
lugar de millones), de forma que el tiempo de cálculo se reduce a horas o minutos.

La transferencia del aprendizaje requiere una interfaz con los elementos internos de la
red previamente existente, de forma que se pueda modificar y mejorar de forma muy
detallada de acuerdo con la nueva tarea. MATLAB® dispone de herramientas y
funciones diseñadas para ayudarle con la transferencia del aprendizaje.

Un enfoque ligeramente menos habitual y más especializado en relación con el


aprendizaje profundo es el uso de un extractor de características. Como todas las
capas tienen tareas asignadas con ciertas características de aprendizaje de las
imágenes, estas características se pueden extraer de la red en cualquier momento
durante el proceso de entrenamiento. A continuación, se pueden usar estas
características como entrada para un modelo de aprendizaje automático, por ejemplo,
las máquinas de vectores de soporte (SVM).

IV. CONCLUSIONES

● La propagación del Deep Learning es importante a medida que el internet de las cosas
(IoT) continúa haciéndose más penetrante, ya que la mayoría de los datos que los
seres humanos y las máquinas crean están desestructurados y no están etiquetados.
● Los casos de uso de hoy para el aprendizaje profundo incluyen todos los tipos de
aplicaciones de análisis de big data, especialmente aquellos enfocados en el
procesamiento del lenguaje natural (NLP), traducción de idiomas, diagnóstico médico,
comercio, seguridad de redes y reconocimiento de imágenes.
● El Aprendizaje Profundo es una disciplina del Aprendizaje de Máquinas con capacidad
para mejorar la Inteligencia Artificial de las máquinas con dependencia exclusivamente
de su potencia y cantidad de datos que se le dé. Cuando esas capacidades de
procesamiento se den, sus posibilidades son infinitas en cuanto a desarrollo
tecnológico, pero también muy peligrosas.

V. REFERENCIAS
1. Levine, S., Pastor, P., Krizhevsky, A., Ibarz, J., & Quillen, D. (2018). Learning hand-eye
coordination for robotic grasping with deep learning and large-scale data collection.
The International Journal of Robotics Research, 37(4-5), 421-436.
2. Litjens, G., Kooi, T., Bejnordi, B. E., Setio, A. A. A., Ciompi, F., Ghafoorian, M., ... &
Sánchez, C. I. (2017). A survey on deep learning in medical image analysis. Medical
image analysis, 42, 60-88.
3. Chollet, F. (2017). Xception: Deep learning with depth wise separable convolutions.
arXiv preprint, 1610-02357.
4. LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. nature, 521(7553), 436.
5. Srivastava, Nitish, et al. "Dropout: a simple way to prevent neural networks from
overfitting." Journal of machine learning research (2014)
6. Kim, Y. “Convolutional Neural Networks for Sentence Classification”, EMNLP (2014)
7. Bahdanau et al. "Neural machine translation by jointly learning to align and translate."
ICLR (2015)
8. Gal, Y., Islam, R., Ghahramani, Z. “Deep Bayesian Active Learning with Image Data.”
ICML (2017)
9. Ronan Collobert, et al. “Natural language processing (almost) from scratch.” JMLR
(2011)
10. Kumar, Shantanu. "A Survey of Deep Learning Methods for Relation Extraction." arXiv
preprint arXiv:1705.03645 (2017)
11. Lin et al. “Neural Relation Extraction with Selective Attention over Instances” ACL
(2016)
12. Zeng, D.et al. “Relation classification via convolutional deep neural network”. COLING
(2014)

Você também pode gostar