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.

Inteligencia Artificial

La entropía cruzada categórica (categorical cross-entropy)

La entropía cruzada categórica es la función de pérdida estándar para clasificar en varias clases mutuamente excluyentes. Compara la distribución que predice la red, normalmente tras una softmax, con la etiqueta real codificada en formato one-hot, y penaliza con fuerza asignar poca probabilidad a la clase correcta.

Inteligencia Artificial

La entropía cruzada binaria (binary cross-entropy)

La entropía cruzada binaria es la función de pérdida estándar para clasificar entre dos clases. Compara la probabilidad que devuelve la sigmoide con la etiqueta real, 0 o 1, y castiga con fuerza los fallos seguros. Su fórmula nace de la máxima verosimilitud y su derivada se combina con la sigmoide en un gradiente muy simple.

Inteligencia Artificial

El error absoluto medio (MAE) y la pérdida de Huber

El error absoluto medio (MAE) promedia el valor absoluto de la diferencia entre predicción y realidad, así que un valor atípico pesa lo justo y no dispara la pérdida. La pérdida de Huber combina esa robustez con la suavidad del error cuadrático medio mediante un parámetro delta que decide dónde cambia de comportamiento.

Inteligencia Artificial

Qué es una función de pérdida y una función de coste

Una función de pérdida mide cuánto se equivoca una red neuronal en un solo ejemplo, comparando su predicción con el valor correcto. La función de coste promedia esa pérdida sobre todo el conjunto de datos. Ese número único es el que el entrenamiento intenta reducir paso a paso con el descenso de gradiente.

Inteligencia Artificial

Propagación hacia delante en una red multicapa

La propagación hacia delante es el proceso por el que una red neuronal transforma la entrada en una predicción, capa por capa. En cada capa multiplica el vector de entradas por una matriz de pesos, suma un sesgo y aplica una función de activación, de modo que la salida de una capa alimenta a la siguiente hasta el resultado final.

Inteligencia Artificial

El problema del gradiente explosivo

El gradiente explosivo ocurre cuando la norma del gradiente crece sin control al retropropagar el error, sobre todo en redes profundas y recurrentes con pesos grandes. El entrenamiento se desestabiliza y la pérdida se vuelve NaN. El recorte de gradiente, junto con una buena inicialización y normalización, es la solución estándar.

Inteligencia Artificial

El problema del gradiente que se desvanece

El gradiente que se desvanece aparece cuando la señal de error se encoge al retropropagarse por muchas capas. Las funciones sigmoide y tangente hiperbólica tienen derivadas pequeñas, y su producto tiende a cero, así que las primeras capas apenas aprenden. ReLU, una buena inicialización y la normalización resuelven el problema.

Inteligencia Artificial

Cómo elegir una función de activación (comparativa)

Elegir una función de activación es sencillo con una regla base: usa ReLU en las capas ocultas, GELU o SiLU en transformers y reserva la salida para softmax en clasificación multiclase, sigmoide en problemas binarios y una activación lineal en regresión. Esta comparativa reúne fórmulas, rangos y casos de uso.

Inteligencia Artificial

La función de activación Mish

La función Mish se define como mish(x) = x·tanh(softplus(x)). Es suave, no monótona y se autorregulariza, propiedades que le permiten superar a Swish y a ReLU en muchas pruebas. El detector de objetos YOLOv4 la adoptó en su columna vertebral como activación por defecto.

Inteligencia Artificial

La función de activación Softplus

La función Softplus se define como softplus(x) = ln(1 + eˣ): una aproximación suave y siempre positiva de ReLU cuya derivada es exactamente la sigmoide. Es derivable en todo su dominio, evita el vértice anguloso de ReLU y su salida nunca llega a cero del todo.

Inteligencia Artificial

La función SELU y las redes autonormalizadas

La función SELU (Scaled Exponential Linear Unit) se define como SELU(x) igual a lambda por ELU(x), con lambda cercano a 1,0507 y alfa cercano a 1,6733. Esas dos constantes hacen que las activaciones converjan solas hacia media cero y varianza uno capa tras capa, y crean redes profundas que se normalizan a sí mismas sin batch normalization.

Inteligencia Artificial

La función de activación ELU (Exponential Linear Unit)

La función ELU (Exponential Linear Unit) devuelve x cuando la entrada es positiva y α(eˣ−1) cuando es negativa. Al permitir valores negativos suaves, acerca a cero la media de las activaciones, acelera la convergencia frente a ReLU y evita las neuronas muertas gracias a un gradiente que nunca se anula del todo.

Inteligencia Artificial

La función de activación Swish (SiLU)

La función Swish, también llamada SiLU, multiplica la entrada por su sigmoide: swish(x) = x·σ(x). Es suave, no monótona y se autorregula, por lo que suele superar a ReLU en redes profundas. Modelos como LLaMA y EfficientNet la usan como activación por defecto.

Inteligencia Artificial

La función de activación GELU en redes neuronales

La función GELU (Gaussian Error Linear Unit) multiplica cada valor de entrada por la probabilidad de que la normal estándar sea menor que ese valor. El resultado es una curva suave, con derivada continua, que pesa las entradas por su magnitud y se ha convertido en la activación por defecto de BERT y GPT.

Inteligencia Artificial

Pesos, sesgos y la suma ponderada de una neurona

En una neurona artificial, los pesos miden la importancia de cada entrada y el sesgo desplaza el resultado. La neurona multiplica cada entrada por su peso, suma todo y añade el sesgo para obtener la suma ponderada z = Wx + b, el número que luego pasa por la función de activación.

Inteligencia Artificial

El perceptrón, la neurona artificial y sus matemáticas

El perceptrón es la neurona artificial más simple: recibe varias entradas, las multiplica por sus pesos, suma un sesgo y aplica una función de activación que decide entre dos salidas. Frank Rosenblatt lo presentó en 1958 y sigue siendo la pieza básica con la que se construyen las redes neuronales modernas.

Inteligencia Artificial

Nociones de probabilidad para redes neuronales

La probabilidad en redes neuronales aparece en tres ideas: una distribución asigna pesos a los resultados posibles, el valor esperado promedia esos resultados y la verosimilitud mide cómo de bien encaja el modelo con los datos. De esas tres piezas nacen la softmax y la entropía cruzada.

Inteligencia Artificial

Exponencial y logaritmo natural en el aprendizaje profundo

La función exponencial eˣ y su inversa, el logaritmo natural ln(x), aparecen una y otra vez en el aprendizaje profundo. La exponencial construye la sigmoide y la softmax para convertir números en probabilidades, y el logaritmo natural define la entropía cruzada, la pérdida con la que se entrenan los clasificadores.

Inteligencia Artificial

Derivadas parciales y el gradiente en redes neuronales

Una derivada parcial mide cómo cambia una función cuando movemos solo una de sus variables y dejamos fijas las demás. El gradiente reúne todas esas derivadas parciales en un vector que apunta hacia el ascenso más pronunciado; en una red neuronal, moverse en sentido contrario reduce el error y guía el entrenamiento.

Inteligencia Artificial

La regla de la cadena, el motor de la retropropagación

La regla de la cadena calcula la derivada de una función compuesta multiplicando las derivadas de sus eslabones: si y depende de u y u depende de x, entonces dy/dx es dy/du por du/dx. Esa multiplicación de derivadas capa por capa es exactamente lo que hace la retropropagación para entrenar una red neuronal.

Inteligencia Artificial

Reglas de derivación esenciales para redes neuronales

Las reglas de derivación esenciales son un puñado de fórmulas que convierten cualquier función en su derivada: la regla de la potencia, las del producto y del cociente, y las del exponencial y el logaritmo. Con ellas, más la regla de la cadena, una red neuronal calcula gradientes y aprende ajustando sus pesos.

Inteligencia Artificial

Derivadas, la tasa de cambio que enseña a la red

Una derivada mide la tasa de cambio de una función: cuánto varía su salida cuando la entrada cambia un poco. En una red neuronal, esa pendiente indica en qué dirección y con qué fuerza ajustar cada peso para reducir el error, y es la base del descenso de gradiente y la retropropagación.