Esta entrada es parte del curso de Deep learning con PyTorch. En un post pasado vimos como las GPUs (graphics processing units) han impulsado el desarrollo del Deep Learning en los últimos años. Las GPUs, gracias a su estructura en paralelo, son muy eficientes para algoritmos con procesamiento de datos en paralelo como los usados... Seguir leyendo →
Redes convolucionales, de la invarianza a la equivarianza traslacional
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 →
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 →
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 →
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 →
Método de Monte Carlo basado en cadenas de Markov
Cuando aplicamos modelos probabilísticos a los datos normalmente es necesario integrar distribuciones de probabilidad complejas. El ejemplo más sencillo lo tenemos en el cálculo del valor esperado. En ocasiones estas integrales no se pueden calcular analíticamente y se usan métodos numéricos de muestreo para aproximar la integral. El conocido método de Monte Carlo genera muestras... Seguir leyendo →
