Skip to content
rodolfo.gg
Go back

Glosario de sistemas cognitivos artificiales.

CC BY-NC-ND 4.0
Rodolfo González González

Glosario de sistemas cognitivos artificiales.

Introducción

Los sistemas cognitivos artificiales son sistemas computacionales diseñados para realizar, de manera parcial y orientada a una tarea, capacidades relacionadas con la cognición: percibir regularidades, construir representaciones, aprender de la experiencia, predecir, decidir y adaptar su comportamiento. No reproducen una mente completa ni una copia fiel del cerebro; combinan datos, modelos matemáticos, objetivos de aprendizaje y recursos de cómputo para resolver problemas que requieren interpretar información o elegir acciones.

Este glosario estudia tales sistemas principalmente desde el aprendizaje profundo. Parte de las neuronas artificiales y la retropropagación, continúa con los frameworks y las técnicas prácticas de entrenamiento, y después aborda arquitecturas especializadas: redes convolucionales para visión, representaciones distribuidas para lenguaje, redes recurrentes para secuencias y aprendizaje por refuerzo para decisiones sucesivas. También explica cómo las GPU, el entrenamiento distribuido y la nube permiten escalar el cálculo, y cómo el serving, la validación y la monitorización convierten un modelo entrenado en un sistema confiable en producción.

El recorrido concluye con modelos generativos y metaaprendizaje, que amplían el objetivo desde predecir una etiqueta hasta aprender distribuciones, producir muestras nuevas o mejorar el propio proceso de aprendizaje. En conjunto, el glosario presenta un sistema cognitivo artificial como una cadena completa: los datos se transforman en representaciones, una función de pérdida orienta el aprendizaje, el modelo produce decisiones o contenido y la infraestructura mantiene su funcionamiento en condiciones reales.


Tabla de contenido

Tabla de contenido

1. Introducción al aprendizaje profundo

mindmap
  root((Aprendizaje profundo))
    Inteligencia artificial
      Aprendizaje automatico
      Datos y patrones
    Representacion
      Features
      Feature engineering
      Representation learning
    Redes neuronales
      Neurona
      Pesos y bias
      Activacion
      Capas
    Profundidad
      Jerarquia de conceptos
      MLP
      Feed forward

Inteligencia artificial (IA)

Disciplina que construye sistemas capaces de resolver tareas asociadas con la percepción, el lenguaje, la decisión o el razonamiento. Abarca tanto sistemas basados en reglas explícitas como métodos que adquieren regularidades a partir de datos.

Aprendizaje automático (machine learning)

Área de la IA en la que un algoritmo obtiene patrones desde ejemplos o experiencia y los utiliza para predecir, clasificar o estructurar datos nuevos. A diferencia de un sistema de reglas escrito a mano, el conocimiento operativo queda codificado en parámetros aprendidos.

Característica (feature)

Variable utilizada para representar un aspecto relevante de un ejemplo. En una imagen podría ser un píxel, una forma o una textura; en un problema clínico, una medición seleccionada por especialistas. La utilidad del modelo depende en gran medida de que la representación exponga información pertinente.

Ingeniería de características (feature engineering)

Proceso humano de seleccionar, transformar o construir características que faciliten el aprendizaje. Puede ser eficaz, pero exige conocimiento del dominio y resulta difícil cuando los patrones útiles son numerosos, variables o demasiado complejos para describirlos manualmente.

Aprendizaje de representaciones (representation learning)

Enfoque en el que el sistema aprende también la forma de representar los datos, en vez de recibir únicamente características diseñadas por personas. Su objetivo es producir variables internas que hagan más sencilla la tarea final.

Aprendizaje profundo (deep learning)

Subcampo del aprendizaje automático que construye representaciones jerárquicas: las capas iniciales detectan regularidades simples y las posteriores las combinan en conceptos más abstractos. La profundidad suele asociarse con el número de transformaciones o capas, no con un umbral universal.

Neurona artificial o unidad

Unidad de cómputo que combina entradas ponderadas, añade un término independiente y aplica una función de activación. Para una entrada x\mathbf{x}, pesos w\mathbf{w} y sesgo bb:

z=wTx+b,a=ϕ(z)z = \mathbf{w}^{\mathsf T}\mathbf{x} + b, \qquad a = \phi(z)

Símbolos: x\mathbf{x} es el vector de entrada; w\mathbf{w}, el vector de pesos; T\mathsf T indica transposición; bb es el sesgo; zz, la combinación lineal; ϕ\phi, la función de activación; y aa, la salida de la unidad.

Peso (weight)

Parámetro que regula cuánto influye una entrada en la salida de una neurona. Entrenar la red consiste, en gran parte, en ajustar sus pesos para reducir el error observado en los ejemplos.

Sesgo (bias)

Parámetro aditivo que permite desplazar la respuesta de la neurona con independencia de sus entradas. Gracias a él, la transformación no queda obligada a pasar por el origen.

Función de activación o no linealidad

Transformación aplicada a la combinación lineal de una unidad. Sin activaciones no lineales, encadenar capas seguiría siendo equivalente a una sola transformación lineal y la red no podría modelar relaciones complejas.

Función sigmoide

Activación que comprime cualquier número real al intervalo (0,1)(0,1), por lo que puede interpretarse como una probabilidad en ciertos modelos:

σ(z)=11+ez\sigma(z)=\frac{1}{1+e^{-z}}

Símbolos: zz es la entrada de la activación; σ(z)\sigma(z), su salida; y ee, la constante de Euler.

Perceptrón multicapa (MLP)

Red formada por múltiples capas de unidades. Cada capa utiliza la salida de la anterior, lo que permite combinar rasgos simples en representaciones progresivamente más complejas.

Capa de entrada, capa oculta y capa de salida

La capa de entrada recibe la representación del ejemplo; las capas ocultas realizan transformaciones intermedias; y la capa de salida produce la predicción requerida por la tarea.

Red totalmente conectada (fully connected network)

Arquitectura en la que cada unidad de una capa recibe la salida de todas las unidades de la capa precedente. Esta conectividad ofrece flexibilidad, pero puede generar muchos parámetros.

Red prealimentada (feed-forward network)

Red cuyo flujo de información avanza desde la entrada hasta la salida sin ciclos. Se distingue de las redes recurrentes, que realimentan un estado interno para procesar secuencias.

Inspiración biológica

Analogía histórica entre las unidades artificiales y las neuronas biológicas: ambas reciben señales, las integran y producen una salida. El parecido es limitado; las arquitecturas y activaciones del aprendizaje profundo son modelos matemáticos, no reproducciones fieles del cerebro.


2. Entrenamiento de redes neuronales

mindmap
  root((Entrenamiento))
    Objetivo
      Funcion de coste
      MSE
      Optimizacion
    Gradientes
      Derivada
      Regla de la cadena
      Backpropagation
    Flujo
      Forward pass
      Backward pass
    Actualizacion
      Gradient descent
      SGD
      Mini batch
      Learning rate

MNIST

Conjunto de imágenes pequeñas de dígitos manuscritos utilizado como problema introductorio y benchmark de clasificación. Cada imagen de 28×2828\times28 píxeles puede convertirse en un vector de 784 entradas y la salida suele contener diez clases.

Benchmark

Problema, conjunto de datos y protocolo de evaluación que permiten comparar métodos bajo condiciones comunes. Un resultado de benchmark solo es comparable cuando se mantienen las mismas particiones, métricas y reglas de evaluación.

Hiperparámetro

Valor elegido antes o durante el proceso de entrenamiento que no se aprende como un peso ordinario. Son hiperparámetros, por ejemplo, el número de unidades ocultas, el tamaño del lote y la tasa de aprendizaje.

Función de coste o pérdida (loss)

Función diferenciable que cuantifica la discrepancia entre la salida del modelo y el valor esperado. El entrenamiento busca los parámetros θ\theta que minimizan el coste promedio:

J(θ)=1mi=1m ⁣(fθ(xi),yi)J(\theta)=\frac{1}{m}\sum_{i=1}^{m}\ell\!\left(f_\theta(x_i),y_i\right)

Símbolos: JJ es el coste promedio; θ\theta, el conjunto de parámetros del modelo; mm, el número de ejemplos; ii, el índice de cada ejemplo; fθ(xi)f_\theta(x_i), la predicción para la entrada xix_i; yiy_i, su valor esperado; y \ell, la pérdida de un ejemplo.

Error cuadrático medio (MSE)

Pérdida que promedia el cuadrado de la diferencia entre predicción y objetivo. Para salidas vectoriales:

MSE=1mi=1mfθ(xi)yi22\operatorname{MSE}=\frac{1}{m}\sum_{i=1}^{m} \left\lVert f_\theta(x_i)-y_i\right\rVert_2^2

Símbolos: mm es el número de ejemplos; θ\theta, los parámetros del modelo; fθ(xi)f_\theta(x_i), la predicción para xix_i; yiy_i, el objetivo correspondiente; y 2\lVert\cdot\rVert_2, la norma euclídea, cuyo cuadrado mide la magnitud del error.

El cuadrado evita cancelaciones de signo y produce una función diferenciable.

Optimización

Proceso de buscar parámetros que reduzcan una función objetivo. En redes neuronales, el espacio suele tener muchas dimensiones y no se obtiene una solución cerrada, por lo que se emplean métodos iterativos.

Derivada y derivada parcial

La derivada mide la variación local de una función respecto de una variable. Cuando la función depende de varias variables, una derivada parcial cambia una de ellas y mantiene fijas las demás.

fxj=limh0f(x1,,xj+h,)f(x)h\frac{\partial f}{\partial x_j} =\lim_{h\to0}\frac{f(x_1,\ldots,x_j+h,\ldots)-f(\mathbf{x})}{h}

Símbolos: ff es una función de varias variables; x\mathbf{x}, su vector de entrada; xjx_j, la variable respecto de la cual se deriva; jj, su índice; y hh, una perturbación que tiende a cero.

Gradiente

Vector que reúne las derivadas parciales de una función y apunta hacia su mayor incremento local:

J(θ)=[Jθ1,,Jθn]T\nabla J(\theta)= \left[ \frac{\partial J}{\partial \theta_1},\ldots, \frac{\partial J}{\partial \theta_n} \right]^{\mathsf T}

Símbolos: JJ es la función objetivo; θ\theta es el vector de parámetros; θ1,,θn\theta_1,\ldots,\theta_n son sus nn componentes; J\nabla J es el gradiente; y T\mathsf T indica que las derivadas se organizan como un vector columna.

Descenso de gradiente (gradient descent)

Algoritmo que actualiza los parámetros en la dirección opuesta al gradiente para reducir el coste:

θt+1=θtηθJ(θt)\theta_{t+1}=\theta_t-\eta\nabla_\theta J(\theta_t)

Símbolos: θt\theta_t contiene los parámetros en la iteración tt; θt+1\theta_{t+1}, sus valores actualizados; η\eta, la tasa de aprendizaje; JJ, el coste; y θJ(θt)\nabla_\theta J(\theta_t), su gradiente respecto de los parámetros actuales.

Tasa de aprendizaje (learning rate)

Hiperparámetro η\eta que determina la longitud del paso de optimización. Un valor excesivo puede rebasar regiones útiles o hacer divergir el coste; uno demasiado pequeño vuelve lento el aprendizaje.

Descenso de gradiente estocástico (SGD)

Variante que estima el gradiente con un ejemplo o con un subconjunto aleatorio del conjunto de entrenamiento, en vez de usar todos los datos en cada actualización. Reduce el coste por paso e introduce ruido que puede ayudar a explorar el espacio de parámetros.

Lote y minilote (batch y mini-batch)

Grupo de ejemplos procesados conjuntamente para calcular una actualización. Los minilotes equilibran la estabilidad de una estimación basada en varios ejemplos con la eficiencia de las operaciones vectorizadas.

Pase hacia delante (forward pass)

Evaluación del grafo desde las entradas hasta la salida. Durante el entrenamiento se conservan resultados intermedios que después permiten calcular derivadas.

Regla de la cadena

Regla que permite derivar una composición de funciones. Si y=f(u)y=f(u) y u=g(x)u=g(x):

dydx=dydududx\frac{dy}{dx}=\frac{dy}{du}\frac{du}{dx}

Símbolos: xx es la variable de entrada; u=g(x)u=g(x), el valor intermedio; y=f(u)y=f(u), la salida; y cada cociente diferencial expresa la sensibilidad de una variable respecto de otra.

Es la base matemática para propagar la influencia de la pérdida a través de las capas.

Retropropagación (backpropagation)

Algoritmo que recorre el grafo en sentido inverso y aplica repetidamente la regla de la cadena para obtener el gradiente de la pérdida respecto de cada parámetro. Hace viable entrenar redes con grandes cantidades de pesos sin derivar manualmente cada expresión completa.

Pase hacia atrás (backward pass)

Fase en la que los gradientes fluyen desde la pérdida hacia las operaciones anteriores. Cada nodo combina el gradiente recibido con su derivada local y lo entrega a sus entradas.


3. Frameworks de aprendizaje profundo

mindmap
  root((Frameworks))
    Abstracciones
      Tensor
      Grafo de computacion
      Autodiferenciacion
    Ejecucion
      Grafo estatico
      Grafo dinamico
      CPU y GPU
    Ecosistema
      TensorFlow
      PyTorch
      Theano
      Keras
      Caffe y Caffe2
      CNTK y MXNet
    Modelado
      API secuencial
      API funcional
      Compilacion

Framework de aprendizaje profundo

Biblioteca o conjunto de bibliotecas que proporciona operaciones, capas, optimizadores y herramientas para definir y entrenar redes neuronales. Reduce la necesidad de programar a mano el cálculo vectorial y las derivadas.

Tensor

Arreglo numérico de dimensión arbitraria: un escalar es un tensor de orden cero, un vector de orden uno y una matriz de orden dos. Los frameworks expresan datos, parámetros y resultados intermedios como tensores.

Grafo de computación

Representación dirigida de un cálculo: los nodos son operaciones y las aristas transportan tensores. Permite conocer dependencias, ordenar la ejecución, calcular gradientes y distribuir operaciones entre dispositivos.

Diferenciación automática

Mecanismo que construye derivadas a partir de las operaciones registradas en el grafo. Aplica reglas locales y la regla de la cadena, evitando implementar manualmente el backward pass de cada modelo completo.

Grafo estático

Grafo definido antes de ejecutar los datos. Conocer toda la estructura por adelantado facilita validaciones y optimizaciones globales, aunque puede volver menos natural el código con control dinámico.

Grafo dinámico

Grafo construido a medida que se ejecutan las operaciones. Hace que la definición se parezca al flujo ordinario del programa y permite variar la estructura entre ejemplos o iteraciones.

TensorFlow

Framework de computación numérica orientado especialmente al aprendizaje automático. Su modelo original utilizaba grafos estáticos y sesiones; las versiones modernas adoptaron la ejecución inmediata como comportamiento habitual.

Sesión de TensorFlow

En la API histórica de TensorFlow 1.x, entorno que reservaba recursos y evaluaba las operaciones de un grafo mediante llamadas a run(). Es un concepto relevante para mantener o migrar código antiguo, pero no describe la interfaz principal actual.

Ejecución inmediata (eager execution)

Modo en el que cada operación se evalúa al invocarse, sin requerir una sesión explícita. Facilita la inspección de valores y la depuración interactiva.

TensorBoard

Herramienta de visualización para inspeccionar grafos, métricas, distribuciones y otros datos de un experimento. Ayuda a diagnosticar el entrenamiento y comparar ejecuciones.

Theano

Biblioteca pionera de computación numérica con grafos y aceleración por GPU. Influyó en frameworks posteriores; su desarrollo oficial terminó y actualmente tiene un valor principalmente histórico.

Torch (Lua)

Framework de cálculo científico y aprendizaje profundo cuyo lenguaje principal era Lua. Aportó tensores, módulos neuronales y aceleración mediante CPU o GPU, y constituye el antecedente directo de PyTorch.

PyTorch

Framework que popularizó un estilo imperativo con grafos dinámicos y diferenciación automática. Este enfoque simplifica el código de investigación y la definición de estructuras que dependen de los datos.

Caffe y Caffe2

Caffe fue un framework centrado en visión y despliegue que describía las redes mediante archivos prototxt. Caffe2 amplió esa idea con grafos estáticos, una interfaz de Python y mayor atención a escenarios de producción.

Microsoft Cognitive Toolkit (CNTK)

Framework de Microsoft orientado al entrenamiento distribuido de redes profundas. Permitía expresar modelos como grafos de cómputo y ejecutarlos sobre CPU o GPU.

Apache MXNet

Framework de aprendizaje profundo concebido para ofrecer eficiencia, flexibilidad y escalado distribuido. Mantuvo una asociación histórica con los servicios de AWS.

Keras

API de alto nivel para componer capas, configurar el entrenamiento y ejecutar modelos con menos código. Abstrae operaciones de bajo nivel sin impedir definir arquitecturas más complejas cuando se necesita.

API secuencial

Estilo de Keras que encadena capas en un único recorrido lineal. Es adecuado cuando cada capa tiene exactamente una entrada y una salida dentro de una pila simple.

API funcional

Estilo que conecta explícitamente tensores y capas. Permite ramas, múltiples entradas o salidas, reutilización de capas y topologías que no caben en una secuencia lineal.

Capa densa (Dense)

Capa totalmente conectada que calcula una transformación afín seguida, opcionalmente, de una activación:

y=ϕ ⁣(Wx+b)\mathbf{y}=\phi\!\left(W\mathbf{x}+\mathbf{b}\right)

Símbolos: x\mathbf{x} es el vector de entrada; WW, la matriz de pesos; b\mathbf{b}, el vector de sesgos; ϕ\phi, la función de activación; y y\mathbf{y}, el vector de salida.

Compilación del modelo

Configuración que asocia al modelo una pérdida, un optimizador y métricas. En APIs de alto nivel también verifica compatibilidad de formas y prepara el procedimiento de entrenamiento.

Entropía cruzada categórica

Pérdida habitual para clasificación multiclase. Si yky_k es la etiqueta y y^k\hat y_k la probabilidad predicha para la clase kk:

L=k=1Kyklogy^k\mathcal{L}=-\sum_{k=1}^{K} y_k\log \hat y_k

Símbolos: L\mathcal{L} es la pérdida; KK, el número de clases; kk, el índice de clase; yky_k, la etiqueta real para esa clase; y y^k\hat y_k, la probabilidad que el modelo le asigna.


4. Entrenamiento práctico: activación, inicialización, optimización y regularización

mindmap
  root((Entrenamiento practico))
    Activaciones
      Sigmoid y tanh
      ReLU y variantes
      Maxout
    Inicializacion
      Ruptura de simetria
      Xavier
      He
    Optimizacion
      Momentum
      AdaGrad
      RMSProp
      Adam
    Regularizacion
      L1 y L2
      Dropout
      Early stopping

Saturación

Región de una activación donde cambios grandes en la entrada producen variaciones mínimas en la salida. Allí la derivada se acerca a cero y el gradiente que atraviesa la unidad puede debilitarse.

Tangente hiperbólica (tanh)

Activación acotada entre 1-1 y 11 y centrada en cero:

tanh(z)=ezezez+ez\tanh(z)=\frac{e^z-e^{-z}}{e^z+e^{-z}}

Símbolos: zz es la entrada; tanh(z)\tanh(z), la salida de la activación; y ee, la constante de Euler.

Aunque mejora el centrado respecto de la sigmoide, también se satura para entradas de gran magnitud.

Unidad lineal rectificada (ReLU)

Activación que conserva los valores positivos y anula los negativos:

ReLU(z)=max(0,z)\operatorname{ReLU}(z)=\max(0,z)

Símbolos: zz es la entrada de la unidad y ReLU(z)\operatorname{ReLU}(z) es su salida rectificada.

Es barata de calcular y no se satura en el tramo positivo, cualidades que favorecen el entrenamiento de redes profundas.

ReLU muerta

Unidad ReLU que queda siempre en el tramo negativo y, por tanto, produce salida y gradiente iguales a cero. Actualizaciones demasiado grandes pueden provocar este estado.

Leaky ReLU y PReLU

Variantes que conservan una pendiente pequeña cuando z<0z<0 para evitar unidades completamente inactivas:

LeakyReLU(z)=max(αz,z)\operatorname{LeakyReLU}(z)=\max(\alpha z,z)

Símbolos: zz es la entrada y α\alpha es la pendiente aplicada en la región negativa; en Leaky ReLU se fija como una constante pequeña y en PReLU se aprende como parámetro.

ELU

Activación lineal para valores positivos y exponencial para negativos. Su rama negativa permite salidas por debajo de cero y suaviza la transición respecto de una ReLU básica.

Maxout

Unidad que devuelve el máximo entre varias transformaciones afines. Puede representar funciones lineales por tramos flexibles, a cambio de incrementar el número de parámetros.

Ruptura de simetría

Necesidad de iniciar unidades equivalentes con pesos diferentes. Si todos los pesos comienzan en cero, unidades de una misma capa reciben gradientes idénticos y aprenden la misma función.

Inicialización aleatoria

Asignación de valores pequeños y distintos a los pesos para romper la simetría. La escala importa: valores extremos pueden saturar activaciones y valores demasiado pequeños pueden debilitar señales en redes profundas.

Inicialización Xavier o Glorot

Estrategia que escala los pesos según el número de entradas y salidas para conservar aproximadamente la varianza entre capas:

Var(W)2nin+nout\operatorname{Var}(W)\approx\frac{2}{n_{\text{in}}+n_{\text{out}}}

Símbolos: WW es la matriz de pesos; Var(W)\operatorname{Var}(W), la varianza buscada para sus valores; ninn_{\text{in}} y noutn_{\text{out}}, los números de conexiones de entrada y salida; y 22, el factor de escala de esta inicialización.

Inicialización He

Escalado pensado para activaciones ReLU, cuya varianza típica es:

Var(W)2nin\operatorname{Var}(W)\approx\frac{2}{n_{\text{in}}}

Símbolos: WW es la matriz de pesos; Var(W)\operatorname{Var}(W), la varianza buscada; ninn_{\text{in}}, el número de conexiones de entrada; y 22, el factor que compensa el efecto de las activaciones ReLU.

Normalización por lotes (batch normalization)

Normaliza activaciones con la media y la varianza del minilote, y después aplica escala y desplazamiento aprendibles:

x^i=xiμBσB2+ε,yi=γx^i+β\hat{x}_i=\frac{x_i-\mu_B}{\sqrt{\sigma_B^2+\varepsilon}}, \qquad y_i=\gamma\hat{x}_i+\beta

Símbolos: xix_i es la activación del ejemplo ii; BB, el minilote; μB\mu_B y σB2\sigma_B^2, su media y varianza; ε\varepsilon, una constante pequeña que evita inestabilidad numérica; x^i\hat{x}_i, la activación normalizada; γ\gamma y β\beta, la escala y el desplazamiento aprendibles; y yiy_i, la salida transformada.

Durante inferencia se emplean estadísticas acumuladas, no las de un lote nuevo.

Momento (momentum)

Extensión de SGD que acumula una velocidad basada en gradientes anteriores. Reduce oscilaciones y mantiene avance en direcciones coherentes:

vt=ρvt1ηJ(θt),θt+1=θt+vtv_t=\rho v_{t-1}-\eta\nabla J(\theta_t), \qquad \theta_{t+1}=\theta_t+v_t

Símbolos: vtv_t es la velocidad acumulada en la iteración tt; ρ\rho, el coeficiente que conserva parte de la velocidad anterior; η\eta, la tasa de aprendizaje; JJ, el coste; θt\theta_t, los parámetros actuales; y J(θt)\nabla J(\theta_t), su gradiente.

Momento de Nesterov

Variante que calcula el gradiente después de anticipar el desplazamiento asociado con la velocidad. Esta “mirada hacia delante” puede mejorar la corrección del paso.

AdaGrad

Optimizador que adapta una tasa distinta a cada parámetro al dividir el gradiente por la raíz de los cuadrados acumulados. Favorece parámetros con gradientes infrecuentes, pero su tasa efectiva puede disminuir demasiado.

RMSProp

Evita la acumulación ilimitada de AdaGrad usando una media móvil exponencial de los gradientes cuadrados. Así mantiene tasas adaptativas sin detener prematuramente el aprendizaje.

Adam

Optimizador adaptativo que combina una media móvil del gradiente con otra de su cuadrado, junto con correcciones de sesgo. En forma simplificada:

θt+1=θtηm^tv^t+ε\theta_{t+1}=\theta_t- \eta\frac{\hat m_t}{\sqrt{\hat v_t}+\varepsilon}

Símbolos: θt\theta_t son los parámetros en la iteración tt; η\eta, la tasa de aprendizaje; m^t\hat m_t, la estimación corregida del promedio del gradiente; v^t\hat v_t, la estimación corregida del promedio de su cuadrado; y ε\varepsilon, una constante pequeña de estabilidad numérica.

Decaimiento de la tasa de aprendizaje

Reducción programada de η\eta durante el entrenamiento. Permite pasos grandes al principio y ajustes más finos cerca de una solución; puede seguir escalones, una curva exponencial u otra agenda.

Sobreajuste (overfitting)

Situación en la que el modelo se adapta demasiado a particularidades del conjunto de entrenamiento y pierde rendimiento en datos no vistos. Se observa cuando el error de entrenamiento sigue bajando mientras el de validación comienza a subir.

Generalización

Capacidad del modelo para conservar un buen desempeño en ejemplos que no participaron en su ajuste. Es el objetivo real del aprendizaje, no la memorización del conjunto de entrenamiento.

Regularización

Conjunto de técnicas que limitan la capacidad efectiva del modelo o introducen restricciones para reducir el sobreajuste.

Regularización L2

Añade a la pérdida una penalización por el cuadrado de los pesos:

JL2(θ)=J(θ)+λjwj2J_{L2}(\theta)=J(\theta)+\lambda\sum_j w_j^2

Símbolos: JL2J_{L2} es el coste regularizado; JJ es el coste original; θ\theta, el conjunto de parámetros; λ\lambda, la intensidad de la penalización; y wjw_j, cada peso penalizado.

Favorece pesos pequeños y distribuidos; normalmente no se aplica a los términos de sesgo.

Regularización L1

Penaliza el valor absoluto de los pesos:

JL1(θ)=J(θ)+λjwjJ_{L1}(\theta)=J(\theta)+\lambda\sum_j |w_j|

Símbolos: JL1J_{L1} es el coste regularizado; JJ es el coste original; θ\theta, el conjunto de parámetros; λ\lambda, la intensidad de la penalización; y wjw_j, cada peso penalizado.

Tiende a producir soluciones dispersas, con numerosos pesos iguales o cercanos a cero.

Regularización por norma máxima (max-norm)

Restringe la norma de los vectores de pesos para que no supere un límite. Tras una actualización, los pesos que exceden ese radio se proyectan de nuevo al conjunto permitido.

Dropout

Durante el entrenamiento desactiva aleatoriamente una fracción de las unidades. Impide dependencias excesivas entre activaciones y puede interpretarse como el entrenamiento de muchas subredes compartiendo parámetros. En inferencia se usa la red completa con el escalado correspondiente.

Parada temprana (early stopping)

Interrumpe el entrenamiento cuando la métrica de validación deja de mejorar. Evita continuar hacia una región que reduce el error de entrenamiento pero empeora la generalización.

Conjunto de validación

Subconjunto separado del entrenamiento que sirve para elegir hiperparámetros, decidir cuándo detener el ajuste y comparar configuraciones. No debe reemplazar al conjunto de prueba final.


5. Redes neuronales convolucionales (CNN)

mindmap
  root((CNN))
    Tareas de vision
      Clasificacion
      Deteccion
      Segmentacion
      Recuperacion
    Convolucion
      Filtro
      Mapa de activacion
      Stride
      Padding
    Arquitectura
      ReLU
      Pooling
      Fully connected
      AlexNet y VGG
    Datos
      ImageNet
      Data augmentation
      Transfer learning

Red neuronal convolucional (CNN)

Arquitectura que explota la estructura espacial de imágenes u otros datos en rejilla. Usa filtros locales con pesos compartidos, por lo que necesita muchos menos parámetros que una capa totalmente conectada aplicada directamente a todos los píxeles.

Clasificación de imágenes

Tarea de asignar una o varias categorías a una imagen completa. La salida suele ser una distribución de probabilidad sobre las clases.

Recuperación de imágenes (image retrieval)

Búsqueda de imágenes visualmente o semánticamente similares. Puede comparar representaciones internas extraídas por una CNN, en vez de los píxeles sin procesar.

Detección de objetos

Problema que combina clasificación y localización: identifica qué objetos aparecen y estima sus regiones o cajas delimitadoras.

Segmentación

Asignación de una clase a cada píxel o región de la imagen. A diferencia de la clasificación global, conserva explícitamente la distribución espacial de los elementos.

Filtro o kernel convolucional

Pequeño tensor de pesos que recorre el volumen de entrada. En cada posición calcula un producto local y aprende a responder ante patrones como bordes, texturas o formas.

Capa convolucional

Capa que aplica varios filtros compartidos a distintas posiciones del dato. Para una convolución bidimensional simplificada:

yi,j,k=bk+u,v,cWu,v,c,kxi+u,j+v,cy_{i,j,k}=b_k+\sum_{u,v,c}W_{u,v,c,k}\,x_{i+u,j+v,c}

Símbolos: yi,j,ky_{i,j,k} es la salida en la posición (i,j)(i,j) y el canal kk; bkb_k, el sesgo del filtro kk; Wu,v,c,kW_{u,v,c,k}, su peso en el desplazamiento espacial (u,v)(u,v) y el canal de entrada cc; y xi+u,j+v,cx_{i+u,j+v,c}, el valor de entrada cubierto por ese peso.

Cada índice kk corresponde a un filtro y, por tanto, a un canal de salida.

Mapa de activación

Matriz producida al desplazar un filtro sobre la entrada. Indica dónde y con qué intensidad se detectó el patrón asociado con ese filtro.

Profundidad o canales

Tercera dimensión de una imagen o volumen de activaciones. Una imagen RGB tiene tres canales; una capa convolucional produce tantos canales de salida como filtros tenga.

Paso (stride)

Cantidad de posiciones que avanza el filtro en cada desplazamiento. Un paso mayor reduce las dimensiones espaciales de la salida.

Relleno con ceros (zero-padding)

Adición de ceros alrededor de la entrada para controlar el tamaño de salida y permitir que el filtro procese los bordes. Para entrada NN, filtro FF, relleno PP y paso SS:

Nsalida=NF+2PS+1N_{\text{salida}}=\left\lfloor\frac{N-F+2P}{S}\right\rfloor+1

Símbolos: NN es el tamaño espacial de la entrada; FF, el tamaño del filtro; PP, el relleno aplicado a cada lado; SS, el paso; y NsalidaN_{\text{salida}}, el tamaño espacial resultante.

Pooling

Operación fija que resume regiones vecinas para reducir dimensiones espaciales. No añade pesos y aporta cierta tolerancia a pequeños desplazamientos.

Max pooling

Forma de pooling que conserva el máximo de cada ventana. Puede interpretarse como seleccionar la activación más fuerte de una región.

ImageNet e ILSVRC

ImageNet es un gran conjunto de imágenes etiquetadas; ILSVRC fue una competición de reconocimiento visual construida sobre parte de esos datos. Su uso impulsó comparaciones estandarizadas entre arquitecturas profundas.

LeNet-5

Arquitectura convolucional temprana aplicada al reconocimiento de caracteres y dígitos. Demostró que convolución, reducción espacial y entrenamiento por gradiente podían formar un sistema práctico de visión.

AlexNet

CNN profunda que obtuvo una mejora decisiva en ILSVRC 2012. Combinó convoluciones, ReLU, dropout, aumento de datos y entrenamiento acelerado con GPU.

VGGNet

Familia de CNN profundas basada en bloques repetidos de filtros 3×33\times3 y pooling. VGG16 y VGG19 muestran cómo filtros pequeños apilados pueden construir campos receptivos mayores, aunque con muchos parámetros.

Aumento de datos (data augmentation)

Generación de ejemplos de entrenamiento mediante transformaciones que preservan la etiqueta, como recortes, reflejos o cambios moderados de brillo. Aumenta la variabilidad observada y actúa como regularizador.

Aprendizaje por transferencia (transfer learning)

Reutilización de un modelo entrenado en una tarea amplia como punto de partida para otra relacionada. Las capas iniciales aportan representaciones generales y las finales se sustituyen o reajustan.

Congelación de capas

Decisión de mantener fijos ciertos pesos durante la transferencia. Reduce el número de parámetros que deben ajustarse y es útil cuando el nuevo conjunto de datos es pequeño.


6. Representaciones del lenguaje y Word2Vec

mindmap
  root((Representaciones del lenguaje))
    Discretas
      Vocabulario
      Term frequency
      Bag of words
    Distribuidas
      Word vector
      Embedding
      Similitud coseno
    Word2Vec
      Contexto y ventana
      Skip gram
      CBOW
      Negative sampling
    Probabilidad
      Likelihood
      Softmax

Procesamiento del lenguaje natural (PLN)

Área que desarrolla métodos computacionales para analizar o generar lenguaje humano. Su dificultad procede, entre otros factores, de la ambigüedad, el contexto y el cambio continuo de significados.

WordNet

Recurso léxico que agrupa palabras por significado y registra relaciones como sinonimia o antonimia. Representa conocimiento semántico explícito, pero exige mantenimiento manual y no proporciona por sí solo una geometría continua del significado.

Vocabulario

Conjunto finito de unidades lingüísticas reconocidas por un modelo. En las representaciones discretas, cada posición del vector suele corresponder a una palabra del vocabulario.

Frecuencia de término (term frequency)

Número de veces que una palabra aparece en un texto. Produce una representación simple, pero no conserva el orden ni distingue por sí misma la relevancia semántica.

Bolsa de palabras (bag-of-words)

Representación que registra presencia o frecuencia de términos e ignora su orden. Es compacta conceptualmente, aunque pierde información sintáctica y relaciones entre palabras.

Representación discreta

Codificación en la que cada palabra ocupa una dimensión independiente. Dos términos distintos resultan ortogonales aun cuando sus significados sean cercanos.

Representación distribuida

Vector denso en el que el significado se reparte entre múltiples dimensiones aprendidas. Palabras usadas en contextos parecidos tienden a ocupar regiones próximas.

Vector de palabra o embedding

Representación numérica densa de una palabra. Su geometría permite usar similitudes y relaciones semánticas como entrada de otros modelos.

Corpus

Colección de textos usada para obtener estadísticas lingüísticas o entrenar representaciones. La cobertura, calidad y sesgos del corpus afectan directamente a los vectores aprendidos.

Contexto y ventana

El contexto es el conjunto de palabras próximas a un término central; la ventana define cuántas posiciones a cada lado se consideran. Word2Vec aprende a partir de estas coapariciones.

Word2Vec

Familia de modelos que aprende vectores prediciendo palabras relacionadas por contexto. Su supuesto distributivo es que términos usados en entornos lingüísticos semejantes suelen guardar una relación semántica.

Verosimilitud (likelihood)

Medida de qué tan probables son los contextos observados bajo los vectores actuales. En skip-gram, una formulación del objetivo es:

L(θ)=t=1Tmjmj0p(wt+jwt;θ)L(\theta)=\prod_{t=1}^{T} \prod_{\substack{-m\le j\le m\\j\ne0}} p(w_{t+j}\mid w_t;\theta)

Símbolos: L(θ)L(\theta) es la verosimilitud; θ\theta, los parámetros de los vectores; TT, la longitud de la secuencia; tt, la posición de la palabra central wtw_t; mm, el radio de la ventana; jj, el desplazamiento dentro de ella; y p(wt+jwt;θ)p(w_{t+j}\mid w_t;\theta), la probabilidad de una palabra de contexto dada la central.

El entrenamiento suele minimizar el logaritmo negativo, que transforma productos en sumas.

Similitud coseno

Mide la orientación compartida por dos vectores, independientemente de su escala:

cos(u,v)=uTvu2v2\operatorname{cos}(\mathbf{u},\mathbf{v})= \frac{\mathbf{u}^{\mathsf T}\mathbf{v}}{\lVert\mathbf{u}\rVert_2\lVert\mathbf{v}\rVert_2}

Símbolos: u\mathbf{u} y v\mathbf{v} son los vectores comparados; uTv\mathbf{u}^{\mathsf T}\mathbf{v} es su producto escalar; y u2\lVert\mathbf{u}\rVert_2 y v2\lVert\mathbf{v}\rVert_2 son sus magnitudes euclídeas.

Valores cercanos a 1 indican direcciones similares.

Softmax

Función que convierte una colección de puntuaciones en una distribución de probabilidad:

softmax(zi)=ezij=1Kezj\operatorname{softmax}(z_i)= \frac{e^{z_i}}{\sum_{j=1}^{K}e^{z_j}}

Símbolos: ziz_i es la puntuación de la clase ii; KK, el número de clases; jj, el índice usado para normalizar todas las puntuaciones; ee, la constante de Euler; y softmax(zi)\operatorname{softmax}(z_i), la probabilidad asignada a la clase ii.

En Word2Vec, las puntuaciones pueden ser productos escalares entre vectores centrales y de contexto.

Muestreo negativo (negative sampling)

Aproximación que contrasta pares de palabras observados con unos pocos pares elegidos como negativos. Evita normalizar sobre todo el vocabulario en cada paso y acelera el entrenamiento.

Skip-gram

Variante de Word2Vec que predice las palabras del contexto a partir de una palabra central.

Continuous bag-of-words (CBOW)

Variante que combina las palabras del contexto para predecir la palabra central. Invierte la dirección predictiva de skip-gram.

Vectores preentrenados

Embeddings aprendidos previamente con corpus extensos y reutilizados como entrada de otra tarea. Constituyen una forma de transferencia de conocimiento lingüístico.


7. Redes neuronales recurrentes (RNN)

mindmap
  root((Redes recurrentes))
    Secuencias
      Time step
      Hidden state
      Entradas y salidas variables
    Entrenamiento
      BPTT
      TBPTT
      Gradient clipping
    Modelos
      Vanilla RNN
      LSTM
      GRU
    Lenguaje
      Modelo del lenguaje
      Muestreo

Secuencia

Colección ordenada de elementos cuya posición o dependencia temporal es relevante. Texto, audio, vídeo y series de sensores son ejemplos de datos secuenciales.

Red neuronal recurrente (RNN)

Red que procesa una secuencia manteniendo un estado interno. En cada paso combina el elemento actual con la memoria acumulada, lo que permite entradas y salidas de longitud variable.

Estado oculto (hidden state)

Vector que resume la información procesada hasta un punto de la secuencia. Para una RNN básica:

ht=tanh ⁣(Wxhxt+Whhht1+bh)\mathbf{h}_t=\tanh\!\left(W_{xh}\mathbf{x}_t+W_{hh}\mathbf{h}_{t-1}+\mathbf{b}_h\right)

Símbolos: xt\mathbf{x}_t es la entrada del paso tt; ht1\mathbf{h}_{t-1} y ht\mathbf{h}_t, los estados ocultos anterior y actual; WxhW_{xh}, la matriz de pesos de entrada a estado; WhhW_{hh}, la matriz recurrente; bh\mathbf{b}_h, el sesgo; y tanh\tanh, la activación.

Paso temporal (time step)

Iteración en la que la RNN consume un elemento xt\mathbf{x}_t y actualiza su estado. El término no implica necesariamente tiempo físico: también puede ser la posición de una palabra.

RNN básica (vanilla RNN)

Forma elemental de red recurrente que usa una sola transformación, normalmente tanh, para actualizar el estado. Comparte las mismas matrices de pesos en todos los pasos.

Desenrollado de una RNN

Representación del ciclo recurrente como una cadena de copias a lo largo de la secuencia. Las copias comparten parámetros, pero mantienen estados intermedios distintos.

Retropropagación a través del tiempo (BPTT)

Aplicación de backpropagation sobre la red desenrollada. La pérdida puede recibir aportaciones de varios pasos y el gradiente recorre las dependencias temporales hacia atrás.

BPTT truncada (TBPTT)

Variante que divide secuencias largas y limita cuántos pasos atraviesa el gradiente. Conserva el estado entre fragmentos, pero reduce memoria y coste computacional.

Modelo del lenguaje

Modelo que asigna probabilidad a una secuencia. Mediante la regla del producto:

p(w1,,wT)=t=1Tp(wtw1,,wt1)p(w_1,\ldots,w_T)=\prod_{t=1}^{T}p(w_t\mid w_1,\ldots,w_{t-1})

Símbolos: w1,,wTw_1,\ldots,w_T son los elementos de una secuencia de longitud TT; tt, la posición actual; p(w1,,wT)p(w_1,\ldots,w_T), la probabilidad de la secuencia completa; y p(wtw1,,wt1)p(w_t\mid w_1,\ldots,w_{t-1}), la probabilidad del elemento actual dado su historial.

Puede puntuar secuencias o generar nuevos elementos de forma autoregresiva.

Muestreo autoregresivo

Procedimiento de generar un elemento desde la distribución predicha y utilizarlo como entrada del paso siguiente. Muestrear, en vez de elegir siempre el máximo, produce secuencias diversas.

Gradiente explosivo

Gradiente cuya magnitud crece de forma descontrolada al multiplicarse repetidamente durante BPTT. Puede producir actualizaciones inestables y valores numéricos inválidos.

Recorte de gradiente (gradient clipping)

Control que reescala el gradiente cuando su norma supera un umbral cc:

ggmin ⁣(1,cg2)\mathbf{g}\leftarrow \mathbf{g}\min\!\left(1,\frac{c}{\lVert\mathbf{g}\rVert_2}\right)

Símbolos: g\mathbf{g} es el vector de gradiente; cc, la norma máxima permitida; g2\lVert\mathbf{g}\rVert_2, su norma euclídea; y \leftarrow indica que el gradiente se reemplaza por su versión reescalada.

Mitiga gradientes explosivos, pero no resuelve los que se desvanecen.

Gradiente desvanecido

Gradiente que se aproxima a cero al atravesar muchas operaciones. Impide que los pasos lejanos influyan de forma efectiva en los parámetros iniciales de la secuencia.

LSTM (long short-term memory)

Unidad recurrente con un estado de celda y puertas que regulan qué información olvidar, incorporar y exponer. Su ruta aditiva facilita conservar dependencias más largas que una RNN básica.

Estado de celda (cell state)

Memoria interna mathbfctmathbf{c}_t de una LSTM. Se actualiza combinando parte de la memoria anterior con nueva información candidata:

ct=ftct1+itc~t\mathbf{c}_t=\mathbf{f}_t\odot\mathbf{c}_{t-1} +\mathbf{i}_t\odot\tilde{\mathbf{c}}_t

Símbolos: ct\mathbf{c}_t y ct1\mathbf{c}_{t-1} son los estados de celda actual y anterior; ft\mathbf{f}_t, la puerta de olvido; it\mathbf{i}_t, la puerta de entrada; c~t\tilde{\mathbf{c}}_t, la memoria candidata; y \odot, la multiplicación elemento a elemento.

Puertas de una LSTM

Vectores con valores entre cero y uno que funcionan como controles. La puerta de olvido mathbfftmathbf{f}_t conserva o descarta memoria; la de entrada mathbfitmathbf{i}_t escribe información; y la de salida mathbfotmathbf{o}_t regula el estado visible.

GRU (gated recurrent unit)

Unidad recurrente con puertas que combina estado oculto y memoria en un solo vector. Es más simple que una LSTM y también busca preservar dependencias largas.

RNN apilada

Arquitectura profunda donde la secuencia de salidas de una RNN alimenta a otra. Las capas superiores pueden aprender patrones temporales más abstractos.

RNN bidireccional

Arquitectura que procesa la secuencia en ambos sentidos y combina las representaciones. Es útil cuando la predicción puede usar contexto anterior y posterior.


8. Agentes inteligentes y aprendizaje profundo por refuerzo

mindmap
  root((Aprendizaje por refuerzo))
    Interaccion
      Agente
      Entorno
      Estado
      Accion
      Recompensa
    MDP
      Transicion
      Politica
      Retorno
      Descuento
    Valor
      V
      Q
      Bellman
    Deep Q Learning
      Q network
      Experience replay
      Target network
      Exploracion

Aprendizaje por refuerzo (RL)

Paradigma en el que un agente aprende a elegir acciones mediante su interacción con un entorno. No recibe la respuesta correcta para cada estado; recibe recompensas y busca maximizar su acumulación a largo plazo.

Agente

Entidad que observa un estado, selecciona una acción y actualiza su comportamiento según la experiencia.

Entorno

Sistema externo sobre el que actúa el agente. Determina el estado siguiente y la recompensa producida por una acción.

Estado

Representación de la situación relevante para decidir. Puede ser compacta, como posición y velocidad, o de alta dimensión, como varios fotogramas de un videojuego.

Acción

Decisión disponible para el agente en un estado. El conjunto puede ser discreto, continuo o depender del estado.

Recompensa (reward)

Señal escalar inmediata que expresa el resultado local de una transición. Diseñar recompensas adecuadas es crucial, pues el agente optimiza esa señal y no una intención no formalizada.

Proceso de decisión de Markov (MDP)

Modelo matemático definido, en una notación común, por la tupla (S,A,P,R,γ)(\mathcal S,\mathcal A,P,R,\gamma): estados, acciones, probabilidades de transición, recompensas y factor de descuento.

Propiedad de Markov

Supuesto de que el estado actual contiene toda la información necesaria para modelar la transición siguiente; dado sts_t y ata_t, el pasado no añade información relevante.

Política

Regla de comportamiento π(as)\pi(a\mid s) que asigna acciones, o probabilidades sobre acciones, a cada estado.

Factor de descuento

Valor γ[0,1]\gamma\in[0,1] que reduce el peso de recompensas futuras. El retorno desde tt es:

Gt=k=0γkrt+k+1G_t=\sum_{k=0}^{\infty}\gamma^k r_{t+k+1}

Símbolos: GtG_t es el retorno desde el paso tt; kk, la distancia hasta una recompensa futura; γ\gamma, el factor de descuento; y rt+k+1r_{t+k+1}, la recompensa recibida k+1k+1 pasos después.

Política óptima

Política π\pi^* que maximiza el retorno esperado. Puede no ser única si varias acciones obtienen el mismo valor.

Función de valor de estado

Retorno esperado al comenzar en ss y seguir una política π\pi:

Vπ(s)=Eπ[GtSt=s]V^\pi(s)=\mathbb E_\pi[G_t\mid S_t=s]

Símbolos: Vπ(s)V^\pi(s) es el valor del estado ss bajo la política π\pi; GtG_t, el retorno desde tt; StS_t, la variable aleatoria que representa el estado en ese paso; y Eπ\mathbb E_\pi, la esperanza sobre trayectorias generadas por la política.

Función de valor de acción (Q)

Retorno esperado después de ejecutar aa en ss y continuar según π\pi:

Qπ(s,a)=Eπ[GtSt=s,At=a]Q^\pi(s,a)=\mathbb E_\pi[G_t\mid S_t=s,A_t=a]

Símbolos: Qπ(s,a)Q^\pi(s,a) es el valor de ejecutar la acción aa en el estado ss y continuar con la política π\pi; GtG_t es el retorno; y StS_t y AtA_t son las variables aleatorias de estado y acción en el paso tt.

Ecuación de optimalidad de Bellman

Relaciona el valor óptimo de una acción con la recompensa inmediata y el mejor valor futuro:

Q(s,a)=E ⁣[r+γmaxaQ(s,a)s,a]Q^*(s,a)=\mathbb E\!\left[r+\gamma\max_{a'}Q^*(s',a')\mid s,a\right]

Símbolos: Q(s,a)Q^*(s,a) es el valor óptimo de la acción aa en el estado ss; rr, la recompensa inmediata; γ\gamma, el factor de descuento; ss', el estado siguiente; aa', una posible acción en ese estado; y E\mathbb E, la esperanza sobre las transiciones posibles.

Iteración de valores

Método que aplica repetidamente una actualización de Bellman hasta aproximar el valor óptimo. Una tabla explícita deja de ser práctica cuando el espacio de estados es enorme.

Q-learning

Algoritmo que aprende valores de acción a partir de transiciones sin exigir que la política seguida sea la misma que se evalúa como óptima.

Red Q profunda (DQN)

Red neuronal Q(s,a;θ)Q(s,a;\theta) que aproxima la función Q en espacios de alta dimensión. Puede recibir el estado y producir un valor por cada acción discreta.

Memoria de repetición de experiencias

Buffer de transiciones (s,a,r,s)(s,a,r,s') del que se extraen minilotes aleatorios. Reduce la correlación entre ejemplos consecutivos y permite reutilizar experiencia.

Red objetivo (target network)

Copia de la Q-network cuyos parámetros se actualizan con menor frecuencia. Estabiliza el objetivo de Bellman evitando que cambie al mismo ritmo que la red entrenada.

Episodio

Trayectoria desde un estado inicial hasta una condición terminal, como una partida completa.

Compromiso exploración-explotación

Equilibrio entre elegir acciones conocidas por su buen rendimiento y probar otras que podrían revelar mejores resultados. Una política ε\varepsilon-greedy actúa al azar con probabilidad ε\varepsilon y elige la mejor acción conocida en caso contrario.


9. GPU y entrenamiento distribuido

mindmap
  root((Computo a escala))
    Hardware
      CPU
      GPU
      Memoria
      CUDA y cuDNN
    Rendimiento
      Paralelismo
      Vectorizacion
      Cuello de botella
    Distribucion
      Model parallelism
      Data parallelism
      Parameter server
      Workers
    Sincronizacion
      Parameter averaging
      Asynchronous SGD
      Stale gradients

Unidad de procesamiento gráfico (GPU)

Coprocesador con muchos núcleos relativamente simples, diseñado para ejecutar gran cantidad de operaciones numéricas en paralelo. Resulta eficaz para productos de matrices y convoluciones de redes neuronales.

Unidad central de procesamiento (CPU)

Procesador de propósito general con menos núcleos, pero más complejos y rápidos en tareas secuenciales. Suele coordinar la ejecución y preparar datos para el acelerador.

Ancho de banda de memoria

Cantidad de datos transferible por unidad de tiempo entre memoria y procesador. El entrenamiento puede quedar limitado por esta transferencia aunque exista capacidad aritmética disponible.

CUDA

Plataforma de NVIDIA para programación paralela sobre sus GPU. Proporciona el entorno sobre el que funcionan bibliotecas numéricas optimizadas.

cuDNN

Biblioteca de primitivas para redes profundas aceleradas en GPU NVIDIA, como convoluciones, pooling, normalización y operaciones recurrentes. Los frameworks la utilizan sin exponer normalmente su implementación de bajo nivel.

OpenCL

Estándar abierto para cómputo paralelo en diferentes clases de dispositivos. Ofrece una alternativa más general a tecnologías ligadas a un fabricante.

Cuello de botella de entrada

Situación en la que lectura, decodificación o transformación de datos es más lenta que el entrenamiento. Se mitiga con almacenamiento rápido, procesamiento paralelo, buffers y carga anticipada.

Paralelismo de modelo

División de una red entre varios dispositivos o máquinas. Permite ejecutar modelos que no caben en un solo acelerador, pero introduce comunicación entre sus partes.

Paralelismo de datos

Replicación del modelo en varios trabajadores, cada uno con un subconjunto de ejemplos. Los gradientes o parámetros se combinan para mantener un modelo compartido.

Trabajador (worker)

Proceso o máquina que ejecuta una parte del entrenamiento distribuido, normalmente el cálculo de predicciones y gradientes sobre un lote local.

Servidor de parámetros

Componente que almacena los parámetros globales, recibe actualizaciones de los trabajadores y distribuye nuevas versiones del modelo.

Promedio de parámetros

Esquema síncrono en el que cada trabajador entrena una copia y el servidor promedia los parámetros recibidos. La espera al trabajador más lento limita el rendimiento y la tolerancia a fallos.

SGD asíncrono

Entrenamiento en el que los trabajadores envían gradientes sin esperar a los demás. Aumenta utilización y tolerancia a retrasos, pero cada gradiente puede haberse calculado con una versión anterior del modelo.

Downpour SGD

Diseño asíncrono basado en paralelismo de datos y servidores de parámetros. Cada trabajador obtiene parámetros, calcula gradientes y los entrega independientemente para que el servidor actualice el modelo.

Gradiente obsoleto (stale gradient)

Gradiente calculado con parámetros que ya fueron modificados por otros trabajadores. Un retraso excesivo puede deteriorar la convergencia.

Benchmark de rendimiento

Medición controlada del tiempo, rendimiento o uso de recursos de una configuración. Debe especificar hardware, software, modelo, tamaño de lote y precisión numérica para ser interpretable.


10. Nube y puesta en producción de modelos

mindmap
  root((Produccion de ML))
    Serving
      Inferencia
      Concurrencia
      Batching
      Balanceo
    Operacion
      Versionado
      Rollback
      Monitorizacion
    Nube
      Recursos bajo demanda
      GPU y TPU
      API gestionada
    Calidad
      Training serving skew
      Subpoblaciones
      Pipeline continuo

Inferencia

Uso de un modelo entrenado para producir una salida a partir de datos nuevos. Normalmente requiere solo un pase hacia delante, sin retropropagación ni actualización de parámetros.

Tiempo de servicio (serving time)

Etapa operativa en la que el modelo responde solicitudes reales. También se denomina tiempo de predicción o de inferencia y se contrapone al entrenamiento.

Servidor de modelos

Servicio que carga artefactos entrenados y expone una interfaz de predicción. Puede incorporar concurrencia, lotes dinámicos, control de versiones y métricas operativas.

Concurrencia

Capacidad para atender varias solicitudes durante el mismo intervalo. Evita que una predicción lenta bloquee por completo las siguientes.

Latencia y tiempo de ida y vuelta

La latencia es el tiempo hasta obtener una respuesta; el round-trip time incluye el recorrido completo de la solicitud y su respuesta. Un modelo puede ser rápido aisladamente y aun así sufrir latencia por red, colas o preprocesamiento.

Batching de inferencia

Agrupación de solicitudes en un tensor para aprovechar operaciones vectorizadas. Aumenta el rendimiento total, aunque esperar a formar el lote puede elevar la latencia individual.

Buffer

Almacenamiento temporal donde se acumulan solicitudes o datos antes de procesarlos. En serving permite crear lotes, siempre con límites de tiempo y tamaño.

Balanceador de carga

Componente que reparte solicitudes entre réplicas del servicio según disponibilidad o carga. Facilita el escalado horizontal y la tolerancia a fallos.

Versionado y rollback de modelos

Identificación explícita de cada artefacto desplegado y capacidad de volver a una versión anterior. Permite rastrear predicciones y recuperarse si el modelo nuevo empeora el servicio.

REST y gRPC

Formas comunes de exponer predicciones por red. REST suele intercambiar recursos mediante HTTP; gRPC define contratos y llamadas remotas eficientes. La elección depende del ecosistema y los requisitos de interoperabilidad y rendimiento.

Computación en la nube

Provisión bajo demanda de cómputo, almacenamiento y servicios gestionados. Permite ampliar o reducir recursos sin mantener toda la infraestructura física propia.

TPU (tensor processing unit)

Acelerador especializado para operaciones tensoriales de aprendizaje automático. Es un ejemplo de hardware ofrecido mediante ecosistemas de nube para entrenamiento e inferencia.

API de IA gestionada

Servicio listo para tareas como visión, voz, traducción o análisis de texto. Reduce la infraestructura propia, pero introduce dependencia del proveedor y limita el control sobre datos y modelo.

Monitorización

Recopilación de métricas técnicas y del comportamiento del modelo: tráfico, errores, latencia, distribuciones de entrada y calidad de predicción. Debe permitir alertar antes de que la degradación sea grave.

Métricas offline y online

Las métricas offline se calculan con datos retenidos antes del despliegue; las online miden el efecto real del sistema en producción. Un buen resultado offline no garantiza impacto positivo para todos los usuarios.

Desviación entre entrenamiento y servicio (training-serving skew)

Degradación causada por diferencias entre los datos o transformaciones usados al entrenar y al predecir. También aparece cuando cambia la distribución real con el tiempo o entre poblaciones.

Comportamiento por subpoblaciones

Evaluación separada de grupos relevantes. Una métrica agregada puede mejorar mientras un grupo pequeño empeora de forma importante, por lo que conviene definir segmentos y umbrales explícitos.

Pipeline de entrenamiento continuo

Flujo automatizado que ingiere y valida datos, entrena, evalúa y despliega nuevas versiones cuando el dominio exige actualización frecuente.

Validación de datos

Comprobaciones de esquema, valores ausentes, rangos y distribuciones antes de entrenar o servir. Debe detener el pipeline si una anomalía amenaza la validez del modelo.

Validación del modelo

Puerta previa al despliegue que verifica compatibilidad, métricas globales, desempeño por segmentos y ausencia de regresiones frente a la versión vigente.


11. Modelos generativos y metaaprendizaje

mindmap
  root((Avances del aprendizaje profundo))
    Modelos generativos
      Distribucion de datos
      Muestreo
      Densidad explicita e implicita
    GAN
      Generador
      Discriminador
      Juego minimax
    Meta learning
      Learner
      Meta learner
      Optimizador aprendido
      Busqueda de arquitectura
      Few shot learning

Modelo generativo

Modelo que aprende regularidades de la distribución de los datos para producir ejemplos nuevos con propiedades similares a los observados.

Muestreo

Obtención de una realización concreta desde una distribución. En generación, variar la muestra latente permite producir salidas distintas.

Estimación explícita de densidad

Enfoque que representa o aproxima directamente una función de probabilidad sobre los datos. Los modelos autoregresivos y los autoencoders variacionales pertenecen a esta familia.

Estimación implícita de densidad

Enfoque que aprende un procedimiento para generar muestras sin evaluar de forma explícita la densidad de cada dato. Las GAN pertenecen a esta categoría.

PixelRNN y PixelCNN

Modelos autoregresivos de imagen que factorizan la probabilidad conjunta en probabilidades condicionadas de píxeles. PixelRNN emplea recurrencia; PixelCNN usa convoluciones enmascaradas.

Autoencoder variacional (VAE)

Modelo generativo latente que aprende una distribución aproximada para codificar datos y un decodificador para reconstruir o generar ejemplos. Optimiza una cota variacional que combina reconstrucción y regularización del espacio latente.

Red generativa adversarial (GAN)

Sistema con dos redes entrenadas en oposición: el generador produce muestras y el discriminador intenta distinguirlas de los datos reales.

Generador

Red GG que transforma un vector aleatorio z\mathbf z en una muestra sintética G(z)G(\mathbf z). Aprende a producir resultados que el discriminador considere reales.

Discriminador

Red DD que estima la probabilidad de que una muestra proceda de los datos y no del generador. Su señal de error guía indirectamente el aprendizaje de GG.

Objetivo minimax de una GAN

Juego de dos participantes en el que el discriminador maximiza la clasificación correcta y el generador intenta engañarlo:

minGmaxD  Expdata[logD(x)]+Ezpz[log(1D(G(z)))]\min_G\max_D\; \mathbb E_{\mathbf{x}\sim p_{\text{data}}}[\log D(\mathbf{x})] +\mathbb E_{\mathbf{z}\sim p_{\mathbf z}}[\log(1-D(G(\mathbf z)))]

Símbolos: GG es el generador y DD, el discriminador; x\mathbf{x} es una muestra real extraída de pdatap_{\text{data}}; z\mathbf{z}, un vector latente extraído de la distribución pzp_{\mathbf z}; D(x)D(\mathbf{x}), la probabilidad asignada a una muestra real; y D(G(z))D(G(\mathbf z)), la asignada a una muestra generada. E\mathbb E representa el promedio esperado sobre cada distribución.

Entrenar ambas redes requiere equilibrio; si una domina demasiado pronto, la otra recibe una señal poco útil.

Metaaprendizaje (meta-learning)

Familia de métodos que optimiza la capacidad de aprender tareas nuevas usando experiencia obtenida en tareas anteriores. Su meta no es solo ajustar un modelo, sino mejorar el propio proceso de adaptación.

Ajuste de hiperparámetros

Búsqueda de configuraciones para un modelo y una tarea concretos. Se relaciona con metaaprendizaje, pero no es equivalente: elegir una configuración no implica aprender una estrategia transferible entre tareas.

Learner y meta-learner

El learner resuelve una tarea particular; el meta-learner modifica cómo se inicializa, actualiza o diseña el primero para que aprenda nuevas tareas con mayor rapidez.

Aprendizaje de optimizadores

Enfoque donde un modelo auxiliar aprende una regla de actualización de parámetros. Puede usar una RNN para aprovechar la historia de gradientes y proponer pasos adaptados a una familia de problemas.

Búsqueda de arquitecturas neuronales (NAS)

Automatización del diseño de redes. Un controlador propone arquitecturas hijas, recibe su rendimiento como señal y mejora sus propuestas sucesivas.

Controlador y red hija

En NAS, el controlador genera descripciones de arquitectura y la red hija se entrena y evalúa. La métrica de la hija proporciona realimentación al controlador.

Aprendizaje con pocos ejemplos (few-shot learning)

Capacidad de adaptarse a una tarea con una cantidad reducida de ejemplos etiquetados. En metaaprendizaje se entrena sobre muchas tareas y se evalúa la adaptación a tareas no vistas.

Metaentrenamiento y metaprueba

El metaentrenamiento usa una distribución de tareas para aprender el mecanismo de adaptación; la metaprueba mide ese mecanismo en tareas separadas, cada una con pocos datos propios.


12. Apéndice: mapa mental global de relaciones

mindmap
  root((Sistemas cognitivos artificiales))
    Representacion
      Features
      Deep learning
      CNN
      Word embeddings
      RNN
    Aprendizaje
      Loss
      Backpropagation
      Optimizadores
      Regularizacion
      Meta learning
    Decision
      Agente
      MDP
      Politica
      Q function
      DQN
    Escala
      GPU
      Entrenamiento distribuido
      Nube
      Serving
    Ciclo de vida
      Datos
      Entrenamiento
      Validacion
      Despliegue
      Monitorizacion
      Reentrenamiento
    Generacion
      Modelo generativo
      GAN
      Generador
      Discriminador

El mapa resume un recorrido común: los datos se convierten en representaciones; una función de pérdida guía el aprendizaje; las arquitecturas se especializan según el tipo de dato o decisión; el hardware permite escalar el cálculo; y el sistema productivo cierra el ciclo mediante validación, monitorización y actualización.


13. Referencias

Apache Software Foundation. (2024). Apache MXNet. The Apache Attic. https://attic.apache.org/projects/mxnet.html

Andrychowicz, M., Denil, M., Gómez, S., Hoffman, M. W., Pfau, D., Schaul, T., Shillingford, B., & de Freitas, N. (2016). Learning to learn by gradient descent by gradient descent. En Advances in Neural Information Processing Systems 29. https://proceedings.neurips.cc/paper_files/paper/2016/hash/fb87582825f9d28a8d42c5e5e5e8b23d-Abstract.html

Berkeley Vision and Learning Center. (s. f.). Caffe: A fast open framework for deep learning [Repositorio de código]. GitHub. Recuperado el 30 de agosto de 2026, de https://github.com/BVLC/caffe

Dean, J., Corrado, G., Monga, R., Chen, K., Devin, M., Mao, M., Ranzato, M. A., Senior, A., Tucker, P., Yang, K., Le, Q. V., & Ng, A. Y. (2012). Large scale distributed deep networks. En Advances in Neural Information Processing Systems 25. https://proceedings.neurips.cc/paper/2012/hash/6aca97005c68f1206823815f66102863-Abstract.html

Finn, C., Abbeel, P., & Levine, S. (2017). Model-agnostic meta-learning for fast adaptation of deep networks. En Proceedings of the 34th International Conference on Machine Learning (Vol. 70, pp. 1126-1135). PMLR. https://proceedings.mlr.press/v70/finn17a.html

Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT Press. https://www.deeplearningbook.org/

Goodfellow, I. J., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A., & Bengio, Y. (2014). Generative adversarial nets. En Advances in Neural Information Processing Systems 27 (pp. 2672-2680). https://proceedings.neurips.cc/paper_files/paper/2014/hash/f033ed80deb0234979a61f95710dbe25-Abstract.html

Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural Computation, 9(8), 1735-1780. https://doi.org/10.1162/neco.1997.9.8.1735

Ioffe, S., & Szegedy, C. (2015). Batch normalization: Accelerating deep network training by reducing internal covariate shift. En Proceedings of the 32nd International Conference on Machine Learning (Vol. 37, pp. 448-456). PMLR. https://proceedings.mlr.press/v37/ioffe15.html

Keras Team. (s. f.). Keras 3. Recuperado el 30 de agosto de 2026, de https://keras.io/keras_3/

KServe Authors. (s. f.). KServe documentation. Recuperado el 30 de agosto de 2026, de https://kserve.github.io/website/docs/intro

Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet classification with deep convolutional neural networks. En Advances in Neural Information Processing Systems 25. https://proceedings.neurips.cc/paper/2012/hash/c399862d3b9d6b76c8436e924a68c45b-Abstract.html

LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521, 436-444. https://doi.org/10.1038/nature14539

Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., & Dean, J. (2013). Distributed representations of words and phrases and their compositionality. En Advances in Neural Information Processing Systems 26. https://proceedings.neurips.cc/paper_files/paper/2013/hash/9aa42b31882ec039965f3c4923ce901b-Abstract.html

Microsoft. (s. f.). Microsoft Cognitive Toolkit (CNTK) [Repositorio de código archivado]. GitHub. Recuperado el 30 de agosto de 2026, de https://github.com/microsoft/CNTK

Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., Graves, A., Riedmiller, M., Fidjeland, A. K., Ostrovski, G., Petersen, S., Beattie, C., Sadik, A., Antonoglou, I., King, H., Kumaran, D., Wierstra, D., Legg, S., & Hassabis, D. (2015). Human-level control through deep reinforcement learning. Nature, 518, 529-533. https://doi.org/10.1038/nature14236

NVIDIA. (2026). NVIDIA Triton Inference Server documentation. https://docs.nvidia.com/triton-inference-server/index.html

PyTensor Development Team. (s. f.). Getting started. Recuperado el 30 de agosto de 2026, de https://pytensor.readthedocs.io/en/latest/introduction.html

PyTorch Contributors. (s. f.). Contributing to PyTorch [Documentación del repositorio]. GitHub. Recuperado el 30 de agosto de 2026, de https://github.com/pytorch/pytorch/blob/main/CONTRIBUTING.md

RISELab. (s. f.). Clipper: A low-latency prediction-serving system [Repositorio de código]. GitHub. Recuperado el 30 de agosto de 2026, de https://github.com/ucbrise/clipper

Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323, 533-536. https://doi.org/10.1038/323533a0

Sculley, D., Holt, G., Golovin, D., Davydov, E., Phillips, T., Ebner, D., Chaudhary, V., Young, M., Crespo, J.-F., & Dennison, D. (2015). Hidden technical debt in machine learning systems. En Advances in Neural Information Processing Systems 28. https://proceedings.neurips.cc/paper/2015/hash/86df7dcfd896fcaf2674f757a2463eba-Abstract.html

TensorFlow. (s. f.). TensorFlow 1.x vs. TensorFlow 2: Behaviors and APIs. Recuperado el 30 de agosto de 2026, de https://www.tensorflow.org/guide/migrate/tf1_vs_tf2

Torch7 Contributors. (s. f.). Torch7 [Repositorio de código sin desarrollo activo]. GitHub. Recuperado el 30 de agosto de 2026, de https://github.com/torch/torch7

Universidad Internacional de La Rioja. (s. f.). Sistemas cognitivos artificiales [Material didáctico de maestría]. UNIR.



Next Post
Instalación de DeepSeek Harness e integración con VS Code