Aprendizaje profundo

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Aprendizaje profundo (en inglés, deep learning) es un conjunto de algoritmos de clase aprendizaje automático (en inglés, machine learning) que intenta modelar abstracciones de alto nivel en datos usando arquitecturas compuestas de transformaciones no lineales múltiples. [1]

El aprendizaje profundo es parte de un conjunto más amplio de métodos de aprendizaje automático basados en aprender representaciones de datos. Una observación (por ejemplo, una imagen) puede ser representada en muchas formas (por ejemplo, un vector de píxeles), pero algunas representaciones hacen más fácil aprender tareas de interés (por ejemplo, "¿es esta imagen una cara humana?") sobre la base de ejemplos, y la investigación en esta área intenta definir qué representaciones son mejores y cómo crear modelos para aprender estas representaciones.

Varias arquitecturas de aprendizaje profundo, como redes neuronales profundas, redes neuronales profundas convolucionales, y redes de creencia profundas, han sido aplicadas a campos como visión por computador, reconocimiento automático del habla, y reconocimiento de señales de audio y música, y han mostrado producir resultados de vanguardia en varias tareas.

Definiciones[editar]

No existe una única definición de aprendizaje profundo. En general se trata de una clase de algoritmos para aprendizaje automático. A partir de este punto común, diferentes publicaciones se centran en distintas características, como por ejemplo:

  • Usar una cascada de capas con unidades de procesamiento no lineal para extraer y transformar variables. Cada capa usa la salida de la capa anterior como entrada. Los algoritmos pueden utilizar aprendizaje supervisado o aprendizaje no supervisado, y las aplicaciones incluyen modelización de datos y reconocimiento de patrones.
  • Estar basados en el aprendizaje de múltiples niveles de características o representaciones de datos. Las características de más alto nivel se derivan de las características de nivel inferior para formar una representación jerárquica.
  • Aprender múltiples niveles de representación que corresponden con diferentes niveles de abstracción. Estos niveles forman una jerarquía de conceptos.

Todas estas maneras de definir el aprendizaje profundo tienen en común: múltiples capas de procesamiento no lineal; y el aprendizaje supervisado o no supervisado de representaciones de características en cada capa. Las capas forman una jerarquía de características desde un nivel de abstracción más bajo a uno más alto.

Los algoritmos de aprendizaje profundo contrastan con los algoritmos de aprendizaje poco profundo por el número de transformaciones aplicadas a la señal mientras se propaga desde la capa de entrada a la capa de salida. Cada una de estas transformaciones incluye parámetros que se pueden entrenar como pesos y umbrales [2] (p6). No existe un estándar de facto para el número de transformaciones (o capas) que convierte a un algoritmo en profundo, pero la mayoría de investigadores en el campo considera que aprendizaje profundo implica más de dos transformaciones intermedias [2] (p7).

Computación en la nube[editar]

Las GPU para procesamiento general[editar]

Conocidas como GPGPU, las tarjetas de vídeo para procesamiento general permiten ejecutar los algoritmos de entrenamiento y evaluación de los modelos de aprendizaje profundo. Debido a la naturaleza altamente paralelizable de estos problemas, la utilización de las GPGPU permite un aumento en el desempeño de varios órdenes de magnitud.

Las GPU en la nube[editar]

Los grandes proveedores de servicios en la nube han comenzado a ofrecer servicios de infraestructura especializados para procesamiento con GPU. Nvidia se ha asociado con diversos proveedores para ofreces dichos servicios, Amazon, Azure e IBM por nombrar algunos.[3]

Google Cloud y TensorFlow[editar]

Acompañando a su plataforma TensorFlow, Google introdujo la Machine Learning Platform, la cual provee servicios de aprendizaje automático modernos con modelos preentrenados y un servicio para generar modelos personalizables. A diferencia de los otros proveedores, se presenta como una alternativa PaaS más que un IaaS.

Referencias[editar]

  1. Y. Bengio, A. Courville, and P. Vincent., "Representation Learning: A Review and New Perspectives," IEEE Trans. PAMI, special issue Learning Deep Architectures, 2013 (en inglés)
  2. a b J. Schmidhuber, "Deep Learning in Neural Networks: An Overview" http://arxiv.org/abs/1404.7828, 2014
  3. «GPU Cloud Computing Solutions from NVIDIA». www.nvidia.com. Consultado el 18 de noviembre de 2016. 

Enlaces externos[editar]

  • Artículo en español sobre aprendizaje profundo usando redes de neuronas
  • Información sobre aprendizaje profundo de la Universidad de Montreal [1] (en inglés)
  • Página web de Geoffrey Hinton [2] (en inglés)
  • Tutorial de aprendizaje profundo de Hinton [3] (en inglés)
  • Página web de Yann LeCun [4] (en inglés)
  • Centro para el Aprendizaje Biológico y Computacional (CBCL - Center for Biological and Computational Learning) [5] (en inglés)
  • Tutorial de Stanford en aprendizaje profundo y aprendizaje de rasgos sin supervisión [6] (en inglés)
  • DistBelief Framework de Google [7] (en inglés)
  • Deeplearning4j Framework [8] en Java. (en inglés)
  • Conferencia NIPS 2013 (presentaciones sobre material relacionado de aprendizaje profundo) [9] (en inglés)