En un post anterior, utilizamos una red neuronal convolucional para ver como evolucionaban las representaciones en las capas intermedias en el proceso de entrenamiento. La arquitectura de la red convolucional empleada y un resumen de ella se pueden ver a continuación: Una de las capas más utilizadas en una red convolucional es la capa de... Seguir leyendo →
Entrenamiento de redes convolucionales y teoría de la información
En un post pasado de teoría de la información en deep learning vimos como Naftali Tishby y su equipo han aplicado con éxito el método del cuello de botella de la información al deep learning. En sus simulaciones analizaron cuánta información retiene cada capa de una red neuronal de la entrada y de la salida... Seguir leyendo →
Spark para Machine learning en Google Colab
Con el incremento en la cantidad de datos y procesamiento en los últimos años, se ha hecho necesario disponer de nuevos paradigmas de computación paralela que permitan repartir la carga de procesamiento en múltiples máquinas mejorando así la eficiencia del proceso. Fruto de esta necesidad surgió MapReduce y Apache Spark, una extensión de este. Spark... Seguir leyendo →
El potencial del aprendizaje no supervisado de representaciones
En los últimos años, gracias en parte al incremento de las capacidades de computación, hemos visto un gran progreso en el uso de algoritmos supervisados de machine learning. Reconocimiento de imágenes, procesamiento de lenguaje natural, detección de patrones, predicción de series temporales, etc. son algunas de las aplicaciones que han visto mejorada su eficiencia con... Seguir leyendo →
Word embeddings y skip-gram
En posts anteriores vimos que las representaciones distribuidas de las palabras permiten extraer mucha información y han mejorado el rendimiento de las aplicaciones de procesamiento de lenguaje natural. Los Word embeddings son un claro ejemplo de la importancia y el potencial del aprendizaje no supervisado de representaciones. A partir de un cuerpo de texto de... Seguir leyendo →
Neurociencias, inspiración para el machine learning
En un post pasado analizamos las relaciones entre el campo del machine learning y las neurociencias. Vimos, que de las relaciones existentes, un área bastante productiva y prometedora es el desarrollo de algoritmos de machine learning inspirados en el procesamiento de información en el cerebro. En la actualidad existe un debate sobre si hace falta... Seguir leyendo →
Las GPUs y el machine learning
Uno de los factores que más ha impulsado el deep learning en los últimos años ha sido el uso de las GPUs (graphics processing unit) para acelerar el entrenamiento y despliegue de los algoritmos. Las GPUs son circuitos electrónicos, popularizadas por Nvidia y especializadas en procesado de imágenes y gráficos. Cuentan con una estructura paralela... Seguir leyendo →
Problema del desvanecimiento del gradiente (vanishing gradient problem)
Como hemos comentado en otros posts, en los modelos de machine learning el objetivo es encontrar los parámetros del modelo que minimizan una función de coste. En redes neuronales se usa el algoritmo de descenso por gradiente, que va realizando sobre los parámetros iteraciones proporcionales al valor negativo del gradiente en el punto actual. El... Seguir leyendo →
Optimización, complejidad computacional y deep learning
En la base de muchos algoritmos de machine learning está encontrar los parámetros del modelo que minimizan una función de coste dados los datos de entrenamiento. Este problema de optimización es clave ya que si tenemos garantizada su solución podremos encontrar los parámetros que minimizan el error. Las claves para que este problema de optimización... Seguir leyendo →
Ejemplo de Word Embeddings con Gensim
En posts anteriores vimos como las representaciones distribuidas permiten extraer mucha información de las palabras y mejorar el rendimiento de las aplicaciones de procesamiento de lenguaje natural. Uno de los modelos más usados es Word2vec, creado en 2013 por Tomas Mikolov en Google, que se basa en redes neuronales de varias capas y tiene dos... Seguir leyendo →
