Como hemos ido viendo en esta Web, el uso de GPUs y nuevos modelos de deep learning ha logrado grandes avances en visión artificial, procesamiento de lenguaje, juegos, etc. Para ello han sido clave modelos de redes neuronales multicapa, RNNs, CNNs y posteriormente transformers basados en el mecanismo de atención. Por otro lado, en la... Seguir leyendo →
Graph Neural Networks con PyTorch Geometric
En este post vamos a ver una introducción a las Graph Neural Networks (GNNs) y la librería PyTorch Geometric, que nos permite aplicar el deep learning a datos no estructurados, como grafos, empleando este tipo de modelos. Las GNNs permiten aplicar redes neuronales a grafos, teniendo en cuenta su estructura basada en nodos conectados entre... Seguir leyendo →
Autograd, clave de la flexibilidad de PyTorch
Esta entrada es parte del curso de Deep learning con PyTorch. En los últimos dos años hemos visto como PyTorch, el framework basado en Torch para Deep Learning creado por Facebook, está siendo una alternativa potente a Tensorflow. Una de las principales ventajas de PyTorch es que es un framework imperativo, en el que las... 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 →
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 →
Solución al problema P vs NP?
La complejidad computacional es la rama de la computación que estudia la clasificación de los problemas computacionales de acuerdo a su dificultad y los recursos necesarios para resolverlos. Trata de clasificar los problemas que pueden o no pueden ser resueltos con una cantidad determinada de recursos. Los recursos computacionales más utilzados son cuántos pasos y... Seguir leyendo →