En un post pasado vimos que la programación diferenciable (differentiable programming) es una extensión del deep learning con nuevos bloques parametrizables en modelos diferenciables extremo a extremo usando diferenciación automática. Estos bloques añaden nuevas capacidades como razonamiento, atención, memoria, modelos físicos, etc. y permiten que el modelo se adapte a cada situación y tarea concreta.... Seguir leyendo →
Procesamiento de lenguaje, de los word embeddings hasta BERT
Nuevas representaciones con contexto En posts pasados vimos las representaciones distribuidas de palabras y cómo han mejorado la eficiencia en tareas de procesamiento de lenguaje. Estas representaciones mapean cada palabra del espacio original en un elemento de un espacio vectorial en el que la proximidad entre vectores se corresponde con la proximidad sintáctica y semántica... Seguir leyendo →
Interpretabilidad en machine learning y los mecanismos de atención
Como comentamos en un post pasado, la interpretabilidad y explicabilidad son dos de las limitaciones más mencionadas del machine learning. La interpretabilidad trata de explicar la relación causa-efecto del algoritmo y saber cómo variará la salida ante cambios en la entrada o en los parámetros. La explicabilidad proporciona un conocimiento del funcionamiento interno del algoritmo... Seguir leyendo →
Conocimientos para profundizar en deep learning
A continuación vamos a mostrar un esquema con los conocimientos necesarios para poder entender y profundizar en machine y deep learning. Aunque en realidad con unas nociones básicas de álgebra y programación ya se puede empezar a programar y utilizar modelos de deep learning, los conocimientos indicados son los necesarios si se quiere además entender... Seguir leyendo →
Expresividad, potencial y necesaria, de las redes neuronales
El deep learning ha proporcionado grandes avances en problemas que hace unos años tenían tasas de errores considerables. Sin embargo, ese éxito no ha venido acompañado de una justificación teórica y formal de la eficacia del deep learning. Sabemos, por el teorema de aproximación universal, que una red neuronal de una capa y un número... Seguir leyendo →
Programación diferenciable, una evolución del deep learning
En este blog hemos descrito multitud de modelos de deep learning en los que varias capas de redes neuronales procesan la información de la entrada produciendo representaciones cada vez más abstractas y apropiadas para resolver una tarea. Estos modelos podían tener recurrencia como las RNN, filtros usando redes convoluciones o word embeddings para poder reflejar... Seguir leyendo →
Teorema NFL y meta-learning
El teorema No-Free-Lunch (NFL) de optimización nos dice que no existe un algoritmo de aprendizaje universal. En tareas de clasificación, para cada algoritmo de aprendizaje, siempre existirá una distribución de probabilidad (que genera los datos entrada-salida) en la que falle. Una definición intuitiva, como la aportada en el libro de Shalev-Shwartz y Ben-David, establece que... Seguir leyendo →
Entender la generalización, clave para comprender el Deep Learning
Una de las partes importantes del machine learning es la generalización de los algoritmos, es decir su comportamiento para datos no vistos durante el entrenamiento. Dado que los algoritmos se han entrenado usando muestras finitas, este entrenamiento está sujeto a errores de muestreo (error debido a obtener los parámetros del modelo de sólo una muestra... Seguir leyendo →
PyTorch con CUDA en Colab
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 →
Perspectivas del deep symbolic learning
La historia de la inteligencia artificial siempre ha estado marcada por el debate entre el enfoque simbólico y el enfoque conexionista. Este debate ha marcado las distintas etapas del machine learning y del procesamiento del lenguaje natural: Un primer período a partir de los años 50 marcado por el Test de Turing, el racionalismo y... Seguir leyendo →
