El deep learning es un tipo de machine learning que entrena a una computadora para que realice tareas como las hacemos los seres humanos, como el reconocimiento del habla, la identificación de imágenes o hacer predicciones. En lugar de organizar datos para que se ejecuten a través de ecuaciones predefinidas, el deep learning configura parámetros básicos acerca de los datos y entrena a la computadora para que aprenda por cuenta propia reconociendo patrones mediante el uso de muchas capas de procesamiento.
Contenido
¿Por qué es importante hoy el deep learning?
El deep learning es una de las bases de la inteligencia artificial (AI) y el interés actual en el deep learning se debe en parte al auge que tiene ahora la inteligencia artificial. Las técnicas de deep learning han mejorado la capacidad de clasificar, reconocer, detectar y describir – en una palabra, entender.
Por ejemplo, el deep learning se utiliza para clasificar imágenes, reconocer el habla, detectar objetos y describir contenido. Sistemas como Siri y Cortana son potenciados, en parte, por el aprendizaje a fondo.
Varias novedades están integrando avances ahora al aprendizaje a fondo:
- Mejoras algorítmicas han elevado el desempeño de los métodos de aprendizaje a fondo.
- Nuevos métodos de aprendizaje basado en máquina han mejorado la precisión de los modelos.
- Se han desarrollado nuevas clases de redes neurales que encajan bien en aplicaciones como la traducción de texto y la clasificación de imágenes.
- Tenemos muchos más datos disponibles para construir redes neurales con muchas capas profundas, incluyendo datos de streaming del internet de las cosas, datos textuales de medios sociales, notas de médicos y transcripciones de investigaciones.
- Los adelantos computacionales de la computación en la nube distribuida y unidades de procesamiento gráfico han puesto a nuestra disposición una cantidad increíble de poder de cómputo. Este nivel de poder de cómputo es necesario para entrenar a algoritmos profundos.
Al mismo tiempo, las interfaces de humano a máquina han evolucionado considerablemente también. El mouse y el teclado están siendo reemplazados con gesticulaciones, deslizamientos de los dedos, tacto y lenguaje natural, generando un interés renovado en la inteligencia artificial y el deep learning.
Aprendizaje profundo versus aprendizaje automático
El aprendizaje profundo es un subconjunto del aprendizaje automático que se diferencia por la forma en que resuelve problemas. El aprendizaje automático requiere un experto en el dominio para identificar la mayoría de las funciones aplicadas. Por otro lado, el aprendizaje profundo comprende las características de manera incremental, eliminando así la necesidad de experiencia en el dominio. Esto hace que los algoritmos de aprendizaje profundo tarden mucho más en entrenarse que los algoritmos de aprendizaje automático, que solo necesitan de unos segundos a unas pocas horas. Sin embargo, ocurre lo contrario durante las pruebas. Los algoritmos de aprendizaje profundo toman mucho menos tiempo para ejecutar pruebas que los algoritmos de aprendizaje automático, cuyo tiempo de prueba aumenta junto con el tamaño de los datos.
Además, el aprendizaje automático no requiere las mismas máquinas costosas y de gama alta y las GPU de alto rendimiento que el aprendizaje profundo.
Al final, muchos científicos de datos eligen el aprendizaje automático tradicional en lugar del aprendizaje profundo debido a su interpretabilidad superior o la capacidad de dar sentido a las soluciones. Los algoritmos de aprendizaje automático también se prefieren cuando los datos son pequeños.
Métodos de aprendizaje profundo
Se pueden utilizar varios métodos para crear modelos sólidos de aprendizaje profundo. Estas técnicas incluyen la disminución de la tasa de aprendizaje, el aprendizaje por transferencia, la formación desde cero y la deserción.
Decadencia de la tasa de aprendizaje. La tasa de aprendizaje es un hiperparámetro —un factor que define el sistema o establece las condiciones para su funcionamiento antes del proceso de aprendizaje— que controla cuánto cambio experimenta el modelo en respuesta al error estimado cada vez que se modifican los pesos del modelo. Las tasas de aprendizaje que son demasiado altas pueden resultar en procesos de entrenamiento inestables o en el aprendizaje de un conjunto de pesos subóptimo. Las tasas de aprendizaje que son demasiado pequeñas pueden producir un proceso de capacitación prolongado que tiene el potencial de atascarse.
El método de disminución de la tasa de aprendizaje —también llamado recocido de la tasa de aprendizaje o tasas de aprendizaje adaptativas— es el proceso de adaptar la tasa de aprendizaje para aumentar el rendimiento y reducir el tiempo de capacitación. Las adaptaciones más fáciles y comunes de la tasa de aprendizaje durante el entrenamiento incluyen técnicas para reducir la tasa de aprendizaje con el tiempo.
Transferir aprendizaje. Este proceso implica perfeccionar un modelo previamente entrenado; requiere una interfaz para el interior de una red preexistente. Primero, los usuarios alimentan la red existente con nuevos datos que contienen clasificaciones previamente desconocidas. Una vez que se realizan los ajustes a la red, se pueden realizar nuevas tareas con capacidades de categorización más específicas. Este método tiene la ventaja de requerir muchos menos datos que otros, reduciendo así el tiempo de cálculo a minutos u horas.
Entrenar desde cero. Este método requiere que un desarrollador recopile un gran conjunto de datos etiquetados y configure una arquitectura de red que pueda aprender las características y el modelo. Esta técnica es especialmente útil para aplicaciones nuevas, así como para aplicaciones con una gran cantidad de categorías de salida. Sin embargo, en general, es un enfoque menos común, ya que requiere cantidades excesivas de datos, lo que hace que la capacitación demore días o semanas.
Abandonar. Este método intenta resolver el problema del sobreajuste en redes con grandes cantidades de parámetros al soltar aleatoriamente unidades y sus conexiones de la red neuronal durante el entrenamiento. Se ha comprobado que el método de abandono puede mejorar el rendimiento de las redes neuronales en tareas de aprendizaje supervisado en áreas como reconocimiento de voz, clasificación de documentos y biología computacional.
Ejemplos de aprendizaje profundo
Los campos específicos en los que se utiliza actualmente el aprendizaje profundo incluyen los siguientes:
Experiencia del cliente. Los modelos de aprendizaje profundo ya se están utilizando para chatbots. Y, a medida que continúa madurando, se espera que se implemente el aprendizaje profundo en varias empresas para mejorar la experiencia del cliente (CX) y aumentar la satisfacción del cliente.
Generación de texto. A las máquinas se les enseña la gramática y el estilo de un texto y luego utilizan este modelo para crear automáticamente un texto completamente nuevo que coincida con la ortografía, la gramática y el estilo correctos del texto original.
Aeroespacial y militar. El aprendizaje profundo se está utilizando para detectar objetos de satélites que identifican áreas de interés, así como zonas seguras o inseguras para las tropas.
Automatización industrial. El aprendizaje profundo está mejorando la seguridad de los trabajadores en entornos como fábricas y almacenes al proporcionar servicios que detectan automáticamente cuando un trabajador u objeto se está acercando demasiado a una máquina.
Añadir color. Se puede agregar color a fotos y videos en blanco y negro utilizando modelos de aprendizaje profundo. En el pasado, este era un proceso manual que consumía mucho tiempo.
Investigación médica. Los investigadores del cáncer han comenzado a implementar el aprendizaje profundo en su práctica como una forma de detectar automáticamente las células cancerosas. Visión por computador. El aprendizaje profundo ha mejorado enormemente la visión por computadora, proporcionando a las computadoras una precisión extrema para la detección de objetos y la clasificación, restauración y segmentación de imágenes