Categorías

Herramientas

Healthchecks y políticas de reinicio en Docker Compose

Un healthcheck es un comando que Docker ejecuta de forma periódica dentro del contenedor para decidir si el servicio está sano; su estado pasa de starting a healthy o unhealthy. Combinado con una política de reinicio (no, always, on-failure o unless-stopped) y con depends_on y la condición service_healthy, evita que una aplicación arranque antes que su base de datos.

Herramientas

Variables de entorno y secretos en Docker Compose

Docker Compose ofrece tres formas de pasar configuración a un contenedor: la clave environment, el atributo env_file y el archivo .env para interpolar valores. Para datos sensibles no uses variables de entorno; los secretos en Docker Compose se montan como ficheros de solo lectura en /run/secrets/, lejos de los logs y del entorno del proceso.

Herramientas

Volúmenes y bind mounts en Docker: persistencia de datos

Un contenedor pierde sus datos cuando lo borras, salvo que los guardes fuera. Docker ofrece dos vías: los volúmenes con nombre, que gestiona él mismo en /var/lib/docker/volumes, y los bind mounts, que enlazan una carpeta del host. Aquí verás cuándo usar cada uno, cómo montarlos en Compose y cómo hacer copias de seguridad.

Herramientas

Redes en Docker: bridge, host y redes personalizadas

Docker ofrece seis tipos de red: bridge, host, none, overlay, macvlan e ipvlan. La red bridge por defecto conecta contenedores por IP, pero sin resolución de nombres. Una red bridge personalizada añade un DNS interno para que los servicios se localicen por su nombre, y es la opción recomendada para casi cualquier despliegue.

Inteligencia Artificial

Dropout y su interpretación matemática

El dropout es una técnica de regularización que desactiva neuronas al azar durante el entrenamiento, con probabilidad de retención p, y divide las activaciones supervivientes entre p para conservar su escala. En inferencia la red completa actúa sin apagar nada. Matemáticamente equivale a promediar un ensemble enorme de subredes que comparten pesos.

Inteligencia Artificial

La normalización de capa (layer normalization) y sus variantes

La normalización de capa estabiliza el entrenamiento normalizando cada ejemplo por separado, con la media y la desviación típica de sus propias activaciones. A diferencia de la normalización por lotes, no depende del tamaño del lote, y por eso los transformers la adoptaron. RMSNorm es su variante más ligera y extendida hoy.

Inteligencia Artificial

La normalización por lotes (batch normalization)

La normalización por lotes (batch normalization) es una técnica que normaliza las activaciones de cada capa usando la media y la varianza del minilote, y después las reescala con dos parámetros aprendibles, gamma y beta. Introducida en 2015, permite tasas de aprendizaje más altas, acelera el entrenamiento y estabiliza las redes profundas.

Inteligencia Artificial

Inicialización de pesos, Xavier/Glorot y He

La inicialización de pesos fija la escala de los valores iniciales de la matriz W antes de entrenar. Xavier/Glorot, de 2010, reparte la varianza entre entradas y salidas y sirve para sigmoide y tanh; He, de 2015, la duplica para ReLU, que anula la mitad de las activaciones. Elegir mal frena o rompe el aprendizaje.

Inteligencia Artificial

Métodos de segundo orden, Newton y sus aproximaciones

Los métodos de segundo orden usan la hessiana, la matriz de segundas derivadas de la pérdida, para orientar mejor cada paso que el gradiente solo. El método de Newton actualiza los pesos restando la inversa de la hessiana por el gradiente, pero invertirla es demasiado costoso en redes grandes, así que se recurre a aproximaciones cuasi-Newton.

Inteligencia Artificial

AdaGrad y RMSProp, tasas de aprendizaje adaptativas

AdaGrad y RMSProp son optimizadores que dan a cada peso su propia tasa de aprendizaje. AdaGrad acumula el cuadrado de todos los gradientes y divide el paso por su raíz, lo que la apaga con el tiempo. RMSProp lo corrige con una media móvil que olvida el pasado con un factor de 0,9.

Inteligencia Artificial

El gradiente acelerado de Nesterov (NAG)

El gradiente acelerado de Nesterov mejora el momentum clásico calculando el gradiente en un punto adelantado, el que la inercia va a alcanzar, en lugar del punto actual. Ese paso de anticipación corrige la trayectoria antes de pasarse y logra una convergencia O(1/k²) en problemas convexos suaves, la más rápida posible para un método de primer orden.

Inteligencia Artificial

El momentum en el descenso de gradiente

El momentum es una mejora del descenso de gradiente que acumula una velocidad a partir de los gradientes anteriores en lugar de mirar solo el actual. Con un coeficiente β cercano a 0,9, esa inercia suaviza el zigzag del SGD puro, atraviesa los valles alargados y hace que el entrenamiento converja bastante más rápido.

Inteligencia Artificial

Mínimos locales, puntos de silla y la superficie de pérdida

En redes neuronales grandes la superficie de pérdida casi nunca atrapa al entrenamiento en un mínimo local malo. El obstáculo real son los puntos de silla, mucho más abundantes en alta dimensión. Este artículo explica mínimos locales frente a globales, por qué el descenso de gradiente estocástico los esquiva y qué papel juega la convexidad.

Inteligencia Artificial

Gradientes de una capa densa, matrices y jacobianos

En una capa densa con z igual a Wx más b, la matriz jacobiana de la salida respecto a la entrada es la propia matriz de pesos W. De ahí salen las dos reglas del entrenamiento: el gradiente respecto a los pesos vale delta por x transpuesta, y el gradiente respecto a la entrada vale W transpuesta por delta.

Inteligencia Artificial

El grafo computacional y la diferenciación automática

Un grafo computacional representa una función como una red de operaciones elementales. La diferenciación automática recorre ese grafo para calcular derivadas exactas: el modo inverso, base de la retropropagación, obtiene el gradiente de todos los pesos en una sola pasada hacia atrás. Es el mecanismo que hace posible entrenar redes con miles de millones de parámetros.

Inteligencia Artificial

Retropropagación, la intuición detrás del aprendizaje

La retropropagación reparte la culpa del error entre todos los pesos de una red neuronal. Propaga hacia atrás una señal de error capa por capa, multiplicando por las derivadas locales, y así obtiene el gradiente de cada peso en una sola pasada. Esa idea, publicada en 1986, es la que hace posible entrenar redes profundas.

Inteligencia Artificial

Descenso de gradiente por lotes, estocástico y mini-batch

El descenso de gradiente por lotes usa todos los datos en cada paso, el estocástico usa una sola muestra y el mini-batch escoge un grupo intermedio, casi siempre de 32 a 256 ejemplos. Esta guía compara las tres variantes, su coste, su ruido y por qué el mini-batch se ha convertido en el estándar del entrenamiento.

Inteligencia Artificial

El descenso de gradiente (gradient descent)

El descenso de gradiente es el algoritmo que entrena casi todas las redes neuronales. Calcula la pendiente de la función de pérdida respecto a cada peso y da un paso pequeño en la dirección contraria, controlado por la tasa de aprendizaje, hasta acercarse a un mínimo donde el error deja de bajar.

Inteligencia Artificial

La regularización L1 y L2 (weight decay) en la pérdida

La regularización L1 y L2 añade a la función de pérdida un término que penaliza los pesos grandes. La L2, o weight decay, encoge los pesos de forma suave hacia cero; la L1 los lleva exactamente a cero y produce modelos dispersos. Ambas reducen el sobreajuste y mejoran la capacidad de generalización de una red neuronal.

Inteligencia Artificial

Entropía, entropía cruzada y divergencia KL

La entropía mide la incertidumbre media de una distribución en bits, la entropía cruzada mide el coste de codificar los datos reales con un modelo equivocado y la divergencia KL es la diferencia entre ambas. Por eso minimizar la entropía cruzada al entrenar equivale a minimizar la divergencia KL frente a las etiquetas.