Una pregunta que siempre nos planteamos en machine learning y en deep learning es la diferencia entre algoritmos discriminativos y generativos y cuál escoger para un problema concreto. Los algoritmos discriminativos modelan la dependencia de una variable objetivo Y en función de una variable observada X. De esta forma se puede predecir la variable Y ... Seguir leyendo →
¿Una burbuja en la IA generativa?
En los últimos meses hemos visto mucha discusión sobre si la IA generativa es una burbuja económica o no. Ahora parece que todas las startups tienen algún componente de IA generativa. Recientemente, Financial Times nos dio su visión escéptica. Bank of America primero dijo que era una burbuja y luego se desdijo. Goldman Sachs a... Seguir leyendo →
Cadena de valor de los modelos generativos (ChatGPT, LLaMA…)
En un artículo anterior analizamos el impacto económico de los modelos generativos y los modelos de deep learning. La aparición en los últimos años de modelos generativos de deep learning como GPT-X, ChatGpt, Bard, DALLE,... ha generado muchas expectativas de negocio en todos los participantes de la cadena de valor de estos modelos. Es entonces... Seguir leyendo →
Deep learning y modelos generativos, de la investigación al impacto económico
En los últimos años, los avances en procesadores gráficos (GPUs) y las nuevas arquitecturas y modelos de deep learning como los transformers han supuesto una revolución científica. La pregunta que surge es cómo trasladar estos avances en nuevos productos y un mayor impacto económico y social. Estos últimos meses hemos visto la revolución que ha... Seguir leyendo →
Almacenamiento de tensores en PyTorch
Como hemos visto, los tensores son un elemento básico en PyTorch. Son los elementos de diferente rango (escalares, vectores, matrics, etc.) que contienen la información en PyTorch y sobre los que actúan los modelos. Sin embargo, a pesar de su rango y dimensiones, los tensores se almacenan en memoria en un array unidimensional de elementos... Seguir leyendo →
Hooks en PyTorch
En programación, nos referimos a un hook como el conjunto de técnicas que modifican o aumentan el comportamiento de un programa ante un evento. Esto suele usarse para depurar un programa o ampliar su funcionalidad. En PyTorch, un hook se puede registrar para el objeto tensor o para el objeto nn.module y los eventos que... Seguir leyendo →
Vehículos autónomos, una carrera hacia la IA general
En los últimos años estamos viendo una carrera entre los diferentes fabricantes y proveedores de vehículos hacia la conducción autónoma. Tesla, Waymo, Mobileye, Nvidia, están destinando grandes cantidades de recursos para elevar la autonomía de los vehículos. El objetivo es que el vehículo, a partir de la información captada a través de los sensores, tome... Seguir leyendo →
Creando nuevas funciones en PyTorch
En este post de nuestro tutorial de deep learning con PyToch vamos a ver como extender PyTorch. Si quieremos implementar un nuevo módulo o función no disponible en las librerías de PyTorch tenemos varias opciones dependiendo del caso: Si queremos añadir primitivas clásicas (if, while,...) en un módulo, simplemente insertaremos las primitivas en el método... Seguir leyendo →
Reproducibilidad de los modelos en deep learning
En los modelos de deep learning puede haber varias fuentes de aleatoriedad. Los parámetros del modelo, algunos vectores iniciales y algunas variables auxiliares pueden requerir un valor inicial aleatorio. Por ello, es necesario realizar ciertas acciones para que los modelos tengan la máxima reproducibilidad y el modelo se comporte igual en diferentes ejecuciones. Lo primero... 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 →
