Sei sulla pagina 1di 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.

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.

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).

Cómo crear y entrenar modelos de aprendizaje profundo


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.

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.

Extracción de características

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).
Deep Learning con MATLAB
MATLAB hace que el aprendizaje profundo resulte fácil. Con herramientas y funciones para
administrar grandes conjuntos de datos, MATLAB también ofrece toolboxes especializadas para
trabajar con aprendizaje automático, redes neuronales, visión artificial y conducción
automatizada.

Con unas pocas líneas de código, MATLAB permite realizar el aprendizaje profundo sin ser un
experto. Podrá ponerse en marcha rápidamente, crear y visualizar modelos o desplegar modelos
en servidores y dispositivos embebidos.

Los equipos tienen éxito cuando utilizan MATLAB para el aprendizaje profundo porque permite lo
siguiente.

1. Crear y visualizar modelos con unas pocas líneas de código.

MATLAB permite crear modelos de aprendizaje profundo con una cantidad mínima de código. Con
MATLAB, es posible importar rápidamente modelos previamente entrenados para visualizar y
depurar los resultados intermedios a medida que se ajustan los parámetros de entrenamiento.

2. Utilizar el Deep Learning sin ser un experto.

Puede utilizar MATLAB para aprender y obtener experiencia en el área del aprendizaje profundo.
La mayoría de nosotros nunca ha asistido a un curso sobre aprendizaje profundo. Tenemos que
aprender con la práctica. MATLAB convierte el aprendizaje en este campo en práctico y accesible.
Además, MATLAB permite a los expertos utilizar el aprendizaje profundo en lugar de traspasar la
tarea a científicos de datos que pueden no conocer el sector o la aplicación.

3. Automatizar el etiquetado de validación en terreno de imágenes y vídeos.

MATLAB permite a los usuarios etiquetar interactivamente los objetos contenidos en las imágenes
y puede automatizar el etiquetado de validación en terreno en vídeos para entrenar y probar
modelos de aprendizaje profundo. Este enfoque interactivo y automatizado puede ofrecer
mejores resultados en menos tiempo.

4. Integrar el Deep Learning en un flujo de trabajo único.

MATLAB puede unificar varios dominios en un solo flujo de trabajo. Con MATLAB, es posible
pensar y programar en un mismo entorno. Ofrece herramientas y funciones para el aprendizaje
profundo, y también para una serie de dominios que alimentan los algoritmos de aprendizaje
profundo, tales como el procesamiento de señales, la visión artificial y el análisis de datos.

MATLAB permite integrar los resultados en sus aplicaciones existentes. MATLAB automatiza la
implementación de sus modelos de aprendizaje profundo en sistemas de empresa, clusters, nubes
y dispositivos embebidos.

Potrebbero piacerti anche