Volver a la lista

Red neuronal: una máquina de reconocimiento de patrones hecha de diales e interruptores.

Comprenda las neuronas, los pesos, los sesgos y las funciones de activación de las redes neuronales mediante un escenario de lectura de portaobjetos patológicos. Se explica cómo la detección jerárquica de características permite pasar de los píxeles a la identificación de tumores, y cómo el LLM del #1 funciona sobre esta estructura.

Principiante
|
17min
|
Verificado (2026-07)
Progreso0/15 (0%)

Qué es una red neuronal — Una máquina de reconocimiento de patrones hecha de diales y conmutadores

Al finalizar este tema

Comprenderá por qué la red neuronal (Neural Network) no es una "imitación del cerebro", sino una sofisticada función matemática. Entenderá cómo cuatro componentes —neuronas, pesos, sesgos y funciones de activación— se combinan para transformar datos de bajo nivel, como píxeles, en decisiones de alto nivel, como el diagnóstico de un tumor, y cómo esto se conecta en una sola narrativa con la forma en que el LLM aprendido en la parte #1 es una extensión de esta estructura.

Este episodio es el inicio de la sección de principios y sienta las bases para los episodios posteriores: parte #3 (descenso de gradiente), parte #4 (retropropagación) y parte #5 (Transformer).


El problema de una sola lámina de patología

Supongamos que usted es un estudiante de posgrado enviado al departamento de patología de un hospital. Su tarea de hoy es analizar 500 láminas de tejido que acaban de llegar al laboratorio. Cada lámina es una imagen de un corte de tejido teñido con H&E, y lo que usted debe determinar es una de tres opciones: "¿Hay células tumorales en este tejido? Si las hay, ¿son benignas o malignas?".

500 láminas. Incluso si solo tarda 5 minutos en observar cuidadosamente cada lámina, es un trabajo de 40 horas al día. Además, este tipo de diagnósticos son tan sutiles que incluso los patólogos especialistas a menudo discrepan entre sí. Esto se debe a que no es cada píxel individual el que tiene un significado especial, sino el patrón de disposición, forma y densidad de las células que los píxeles forman en conjunto lo que constituye la base del juicio.

Pero, ¿y si tuviera una máquina mágica? Una máquina que, al introducir todos los valores de los píxeles de una imagen como entrada, devuelve la probabilidad de tres diagnósticos: normal, benigno o maligno. Con esta máquina, podría procesar las 500 láminas en pocos segundos, y usted solo tendría que seleccionar y revisar minuciosamente los casos límite donde la probabilidad sea ambigua.

Esta máquina es precisamente la red neuronal (Neural Network). Y el LLM que aprendimos en la parte #1 es una forma especial, muy sofisticada y gigantesca de esta red neuronal. En este episodio, analizaremos de qué componentes está hecha esta máquina y cómo los datos de bajo nivel, como los pímenes, conducen a decisiones de alto nivel, como el diagnóstico de un tumor.


La red neuronal no es una "imitación del cerebro"

Primero, aclaremos un malentendido común. Debido al nombre "Red Neuronal Artificial" (Artificial Neural Network), la gente suele imaginarla como una imitación sofisticada del cerebro o como un cerebro artificial. Esto no es cierto.

Las redes neuronales artificiales son funciones matemáticas multivariadas extremadamente sofisticadas. El nombre "neuronal" se debe a que los desarrolladores iniciales se inspiraron en la estructura de disparo de las neuronas biológicas; sin embargo, las redes neuronales actuales difieren enormemente de las neuronas cerebrales reales tanto en estructura como en funcionamiento. Mientras que una neurona biológica procesa información mediante la sincronización de impulsos (spikes), la transmisión de señales químicas y la colaboración de miles de canales iónicos, una neurona en una red neuronal artificial es simplemente una unidad de cálculo que realiza la suma ponderada de las entradas, añade un sesgo (bias) y aplica una función no lineal.

Es fundamental mantener esta perspectiva. Esto se debe a que los conceptos que aprenderemos más adelante no pretenden descifrar los misterios del cerebro, sino comprender la forma de las funciones matemáticas.

Comencemos con la definición precisa.

Una red neuronal artificial es una función matemática multivariada que mapea datos de entrada de alta dimensión (por ejemplo, valores de píxeles de una imagen) a un espacio de salida deseado (por ejemplo, probabilidades de normal, benigno o maligno) mediante un proceso de extracción jerárica de características.

Aquí hay dos palabras clave: jerárquico y mapeo. Estas dos palabras resumen todo lo que hace una red neuronal.


La esencia de la neurona: un único número con un estado de activación

El componente más pequeño que compone una red neuronal es la neurona, o nodo. La esencia de una neurona individual es sorprendentemente simple.

Una neurona = un número. Por lo general, un número real entre 0 y 1.

A este número se le llama estado de activación. Un valor cercano a 0 significa "esta neurona no está reaccionando particularmente en este momento", mientras que un valor cercano a 1 indica "esta neurona está reaccionando con fuerza". El estado de activación de una neurona individual no es una entidad física, sino simplemente el resultado de un cálculo específico.

Apliquémoslo al ejemplo de una laminilla de patología. Si la imagen de la laminilla tiene un tamaño de 256×256 píxeles, el número total de píxeles es 65.536. Si tratamos el valor de brillo de cada píxel como una neurona, esto significa que hay 65.536 neuronas en la capa de entrada. El valor de brillo de cada píxel (normalizado entre 0 y 1) es el estado de activación de esa neurona.

Por supuesto, la salida final consiste en tres probabilidades: normal, benigno y maligno. Por lo tanto, hay tres neuronas en la capa de salida, y el estado de activación de cada neurona representa la probabilidad de cada clase.

Entre la capa de entrada y la capa de salida existen capas intermedias llamadas capas ocultas. Se denominan "ocultas" porque son resultados de cálculos intermedios que no vemos directamente. El estado de activación de las neuronas en las capas ocultas no se interpreta por nosotros, sino que se transmite a la siguiente capa.

La estructura general es la siguiente:

text
Capa de entrada (65.536 neuronas, brillo de los píxeles)
   ↓ [conexiones]
Capa oculta 1 (p. ej., 512 neuronas; su función se determina durante el aprendizaje)
   ↓ [conexiones]
Capa oculta 2 (p. ej., 128 neuronas; características más abstractas)
   ↓ [conexiones]
Capa oculta 3 (p. ej., 32 neuronas; características aún más abstractas)
   ↓ [conexiones]
Capa de salida (3 neuronas; probabilidades de normal, benigno y maligno)

Esta estructura se denomina perceptrón multicapa (Multi-Layer Perceptron) o red neuronal de alimentación hacia adelante (feed-forward neural network). Se llama "feed-forward" porque la información fluye en una sola dirección, desde la entrada hacia la salida.


Detección jerárquica de características: de bajo a alto nivel

Aquí es donde ocurre la verdadera magia de las redes neuronales. ¿Por qué se apilan tantas capas? Porque cada capa realiza un nivel diferente de abstracción.

Imaginemos lo que sucede realmente en una laminilla patológica.

Las neuronas de la capa oculta 1 detectan características muy locales alrededor de cada píxel. Por ejemplo, una neurona responde a la señal de "aquí el brillo cambia drásticamente", actuando como un detector de bordes celulares. Otra neuriente responde a la señal de "esto es particularmente oscuro", actuando como un detector de núcleos celulares.

Las neuronas de la capa oculta 2 combinan múltiples señales de la capa oculta 1 para detectar patrones algo más grandes. "Varios bordes celulares dispuestos en círculo" → detector de células individuales. "Núcleos grandes y agrupados" → detector de atipia nuclear.

Las neuronas de la capa oculta 3 combinan las señales de la capa oculta 2 para observar patrones aún más grandes. "Células desordenadas y entrelazadas" → detector de pérdida de la estructura tisular. "Preservación de la disposición tisular normal" → detector de disposición tisular normal.

Las tres neuronas de la capa de salida sintetizan las características de la capa oculta 3 para emitir un veredicto final. Si las señales de pérdida de estructura y de atipia nuclear son fuertes → aumento de la probabilidad de malignidad. Si la señal de disposición normal es fuerte → aumento de la probabilidad de normalidad.

Esta detección jerárquica de características es lo que significa el término "profundo" en aprendizaje profundo (Deep Learning). La razón para apilar capas es permitir que la abstracción fluya naturalmente de bajo a alto nivel: píxel → borde → célula → disposición tisular → diagnóstico de tumor. Este flujo es la clave de por qué las redes neuronales pueden manejar datos complejos como imágenes, lenguaje y sonido.

Dato interesante. No le indicamos previamente a las neuronas de la capa oculta: "tú detecta los bordes celulares". Simplemente proporcionamos datos de entrenamiento (por ejemplo, miles de laminillas patológicas con etiquetas correctas) y las entrenamos; la red neuronal descubre por sí misma qué características asignar a cada capa oculta. Es el entrenamiento el que determina qué neurona se convierte en detector de bordes celulares y cuál en detector de núcleos. Esto se aborda en detalle en el artículo #3 (descenso de gradiente) y el artículo #4 (retropropagación).

Este enfoque resultará especialmente familiar para los investigadores en biología. La vía de transducción de señales de nuestro cuerpo tiene exactamente esta estructura: receptores de superficie celular (cientos) → segundos mensajeros (decenas) → factores de regulación transcripcional (unos pocos) → cambios en la expresión génica. Una jerarquía en la que la combinación de señales de bajo nivel da lugar a respuestas celulares de alto nivel. El flujo de las capas ocultas de una red neuronal es conceptualmente idéntico.


Diales y umbrales: pesos y sesgos

Ahora veamos cómo se conectan las neuronas entre sí. Seleccionemos una neurona específica de la capa oculta 1. ¿Cómo se determina el estado de activación de esta neurona?

Cada una de las 65.536 neuronas de la capa de entrada está conectada a esta neurona de la capa oculta mediante una única conexión. Y a cada una de estas conexiones se le asigna un número. Este número se denomina peso (weight).

Un peso grande (por ejemplo, +2.0) significa "prestar mucha atención a la señal de esta neurona de entrada". Un peso de 0 significa "ignorar la señal de esta neurona de entrada". Un peso negativo (por ejemplo, -1.5) significa "reaccionar de forma opuesta, es decir, desactivarme si esta neurona de entrada se activa".

El estado de activación de la neurón de la capa oculta se determina de la siguiente manera:

  1. Se multiplican los estados de activación de todas las neuronas de entrada conectadas a ella por el peso de cada conexión y se suman todos estos productos. Esto se denomina suma ponderada (weighted sum).
  2. A esto se le suma un número adicional llamado sesgo (bias).
  3. El resultado se pasa a través de una función de activación (activation function). La función de activación es una función no lineal que comprime los valores de entrada en un rango entre 0 y 1 (u otro rango especificado).

Si se expresa como fórmula (aunque aquí solo presentamos el concepto, la definición exacta se encuentra en el Apéndice A.1):

text
estado_de_activación = función_de_activación(suma_ponderada + sesgo)

Los pesos son como diales y los sesgos, como umbrales. Los diales ajustan "cuánta atención presta esta neurona a esta entrada", mientras que los umbrales ajustan "qué tan fácilmente se activa esta neurona". Si el sesgo es un valor positivo grande, la neurona se activa con poca estimulación; si es un valor negativo grande, necesita una estimulación fuerte para activarse.

¿Por qué son necesarias las funciones de activación? Si solo calculamos la suma ponderada y la transmitimos tal cual, toda la red neuronal se convierte en una única función lineal gigante. Por mucho que encadenemos funciones lineales, el resultado final sigue siendo una sola función lineal. Esto imposibilita la detección jerárquica de características. Es necesario que cada capa tenga una función de activación no lineal para que cada capa pueda realizar diferentes tipos de cálculos.

Las dos funciones de activación más utilizadas son:

Sigmoide: Comprime suavemente la entrada entre 0 y 1. Es una función clásica. Debido a que es fácil de interpretar como una probabilidad, se sigue utilizando en la capa de salida.

ReLU (Rectified Linear Unit): max(0, x). Los valores negativos se convierten en 0 y los positivos permanecen igual. Es mucho más simple, pero funciona muy bien en las capas ocultas. La mayoría de las redes neuronales actuales utilizan esta función como activación en sus capas ocultas.

El Apéndice A.3 trata las fórmulas exactas y la forma de la gráfica de cada función.


Entendiendo la escala: ¿cuántos diales hay?

Veamos la escala con un ejemplo sencillo.

Supongamos que construimos una red neuronal para diapositivas de patología muy pequeña: entrada 65.536 → capa oculta 512 → capa oculta 128 → capa oculta 32 → salida 3.

Asumiremos que las conexiones entre cada capa son totalmente conectadas (fully connected). Es decir, todas las neuronas de la capa anterior están conectadas con todas las neuronas de la siguiente capa.

  • Capa de entrada → capa oculta 1: 65.536 × 512 = 33.554.432 pesos
  • Capa oculta 1 → capa oculta 2: 512 × 128 = 65.536 pesos
  • Capa oculta 2 → capa oculta 3: 128 × 32 = 4.096 pesos
  • Capa oculta 3 → capa de salida: 32 × 3 = 96 pesos

Solo los pesos suman aproximadamente 33,62 millones. Además, hay un sesgo por cada neurona, lo que añade 675 sesgos. Estos diales y umbrales son los valores que se ajustarán durante el entrenamiento.

¿Podría una persona ajustar manualmente 33,62 millones de parámetros? Incluso si girara un solo dial durante todo el día, tardaría 100 años. Por supuesto, se necesita un algoritmo de ajuste automático. Esta es la razón de ser del algoritmo de aprendizaje que se tratará en el episodio #3 (descenso de gradiente).

Estos 33,62 millones representan una red neuronal muy pequeña. Las IA de patología reales (por ejemplo, PathAI, Paige) utilizan cientos de millones o miles de millones de parámetros. Como vimos en el episodio #1, GPT-3 tiene 175.000 millones, y los modelos de vanguardia más recientes tienen incluso más. La escala de los parámetros determina la complejidad y la capacidad del modelo.

Si lo trasladamos a una escala familiar para los investigadores biológicos, el genoma humano contiene aproximadamente 20.000 genes, y cada gen está conectado a decenas o cientos de elementos de regulación transcripcional (sitios de unión de TF, potenciadores, silenciadores). El número total de "conexiones" en la red de regulación genómica es de aproximadamente millones a decenas de millones. Esto significa que la escala de parámetros de una red neuronal es similar o incluso mayor que la de esta red de regulación genómica. Dado que la regulación genómica en el organismo regula el desarrollo, la homeostasis y las enfermedades con este nivel de complejidad, no resulta extraño que una red neuronal realice un reconocimiento de patrones complejo a esta misma escala.


Forward Propagation — Cálculo en una sola dirección

Ahora, describamos el proceso mediante el cual la red neuronal realiza una clasificación. Este proceso se denomina propagación hacia adelante (forward propagation) o feed-forward.

  1. Entrada: Establecer los valores de brillo de los 65.536 píxeles de la imagen de la diapositiva como el estado de activación de las neuronas de la capa de entrada.
  2. Cálculo de la capa oculta 1: Para cada neurona de la capa oculta 1, calcular (suma ponderada + sesgo) y pasar por la función de activación para determinar su estado de activación.
  3. Cálculo de la capa oculta 2: Utilizar los estados de activación de la capa oculta 1 como entrada para repetir el mismo cálculo.
  4. Cálculo de la capa oculta 3: Utilizar los estados de activación de la capa oculta 2 como entrada.
  5. Cálculo de la capa de salida: Utilizar los estados de activación de la capa oculta 3 como entrada para el cálculo final. La capa de salida suele utilizar la función de activación Softmax para que los valores de las tres neuronas formen una distribución de probabilidad (cuya suma sea 1).
  6. Decisión: Clasificar como la clase con la probabilidad más alta, o bien, utilizar la propia probabilidad como indicador de riesgo.

Este proceso en pseudocódigo:

python
def clasificar_con_red(valores_de_pixeles):
a = valores_de_pixeles # vector de entrada, tamaño 65.536
for W, b in capas_de_la_red:
suma_ponderada = W · a + b
a = funcion_de_activacion(suma_ponderada) # ReLU o Sigmoid
return Softmax(a) # distribución final de probabilidades

Esto es todo. Multiplicación, suma y el paso por una función no lineal. Una red neuronal ya entrenada realiza este cálculo en cuestión de milisegundos por cada imagen de portaobjetos.

El entrenamiento es un proceso completamente distinto. Lo que la red neuronal hace realmente durante el entrenamiento es ajustar los pesos y sesgos poco a poco para lograr predicciones más cercanas a la respuesta correcta. Este algoritmo de ajuste es el descenso de gradiente del episodio #3 y la retropropagación del episodio #4.


¿Cómo se conecta con el LLM del episodio #1?

Volvamos un momento al episodio #1. El LLM que aprendimos en el episodio #1 también es una red neuronal, pero con las siguientes diferencias:

1. Naturaleza de la entrada. La red neuronal de patología recibe píxeles de imagen (números reales continuos). El LLM recibe tokens de texto (símbolos discretos). El proceso de convertir los tokens de texto en vectores que la red neuronal pueda procesar es el embedding (incrustación), lo cual trataremos en detalle en el episodio #5.

2. Diferencia de arquitectura. La red neuronal feedforward tratada en este episodio tiene capas completamente conectadas. El LLM utiliza una arquitectura diferente llamada Transformer. Aunque los Transformers también incluyen capas feedforward, antes de estas se aplica una operación especial llamada atención (attention), que se abordará en los episodios #5 y #6.

3. Diferencia de escala. Si los parámetros de la red neuronal de patología son de cientos de millones, los LLM más recientes son entre 100 y 1000 veces mayores. Al aumentar la escala, aparecen las capacidades emergentes que vimos en el episodio #1.

Puntos en común. Su estructura fundamental es la misma: una función multivariable compuesta por pesos, sesgos y funciones de activación. El principio de que los datos de bajo nivel se abstraen en representaciones de alto nivel al pasar por las capas también es idéntico. Los conceptos aprendidos en este episodio serán la base para todas las familias de modelos de redes neuronales que aparecerán en el futuro.


Escenarios de aplicación biológica

¿Cómo se traduce la teoría a la práctica?

Escenario 1 — Clasificación de tipos celulares en secuenciación de ARN de célula única

En la secuenciación de ARN de célula única (scRNA-seq), cada célula se representa como un vector de valores de expresión de miles de genes. Introducir este vector en una red neuronal para clasificar automáticamente los tipos celulares (células T, células B, macrófagos, etc.) es un caso de aplicación directa de los conceptos de este episodio.

  • Capa de entrada: miles de genes (por ejemplo, los 2,000 genes con mayor variabilidad)
  • Capa oculta 1: combinaciones de bajo nivel de patrones de expresión génica (por ejemplo, activación de vías de señalización específicas)
  • Capa oculta 2: combinaciones de programas celulares (por ejemplo, estado activo vs. en reposo)
  • Capa de salida: distribución de probabilidad del tipo celular

Bibliotecas como scVI y scanpy han estandarizado este enfoque.

Escenario 2 — Lectura automática de portaobjetos de tejido (el escenario real del inicio de este episodio)

La patología basada en aprendizaje profundo es un campo que ha avanzado rápidamente hacia la práctica clínica en los últimos cinco años. Soluciones comerciales como PathAI, Paige y Aiforia se utilizan para la lectura automática de portaobjetos en cáncer de mama, próstata y colon, entre otros. En Corea del Sur, también se están realizando investigaciones activas en instituciones como Asan Medical Center y Samsung Medical Center.

Las redes neuronales utilizadas en este contexto son las redes neuronales convolucionales (CNN, Convolutional Neural Network), que son más sofisticadas que la estructura totalmente conectada tratada en esta sección. Sin embargo, sus principios fundamentales (detección jerárquica de características, pesos, sesgos y funciones de activación) son los mismos. Aunque no trataremos las CNN por separado en este track, si ha comprendido los conceptos de esta sección, la comprensión de las CNN será natural.

Escenario 3 — Predicción de la respuesta a fármacos

Es posible entrenar una red neuronal con datos de pruebas de varios fármacos candidatos en líneas celulares para crear un modelo que prediga la respuesta a fármacos (IC50) en nuevas líneas celulares.

  • Entrada: perfil genético de la línea celular + vector de características químicas del fármable
  • Capa oculta: extracción de patrones de interacción entre genes y características del fármaco
  • Salida: valor de IC50 predicho (número real)

Este es un problema de regresión, no de clasificación, pero la estructura de la red neuronal es casi la misma. La principal diferencia es que la función de activación de la capa de salida se cambia de Softmax a una función identidad (identity). Este es un enfoque utilizado en la práctica en el desarrollo de nuevos fármacos por empresas como Genentech y Novartis.


Resumen clave

  • Las redes neuronales artificiales no son una imitación del cerebro, sino una sofisticada función matemática multivariada. No se deje engañar por el nombre.
  • Neurona = estado de activación (un número). Conexión = peso (dial). Umbral = sesgo. Función de activación = transformación no lineal.
  • Las redes neuronales convierten datos de bajo nivel en decisiones de alto nivel mediante la detección jerárquica de características: píxeles → bordes → células → disposición tisular → diagnóstico de tumor.
  • Esta es la razón por la que se apilan múltiples capas para crear "profundidad (deep)".
  • El número de parámetros (pesos y sesgos) es de millones a cientos de miles de millones. Es imposible ajustarlos manualmente; el algoritmo de entrenamiento es el que los determina.
  • Los LLM son estructuras especiales como Transformer y Atención superpuestas sobre estos principios de redes neuronales.

Próximos conceptos

  • Episodio #3 how-nn-learns — Cómo ajustar automáticamente 33,62 millones de "diales". Intuición del descenso de gradiente.
  • Episodio #4 backpropagation-intuition — Cómo la señal de error de la última capa se traduce en el ajuste de los pesos de las capas anteriores.
  • Episodio #5 transformer-and-embedding — ¿Qué extensiones se han aplicado a la arquitectura de este episodio en la red neuronal del LLM?

📐 Apéndice — Fórmulas matemáticas para expertos

Dificultad: Muy difícil Dirigido a: Lectores con conocimientos de álgebra lineal, cálculo y probabilidad a nivel de posgrado

El cuerpo principal se centró en la intuición, pero aquí se formaliza la matemática rigurosa de las redes neuronales. Si es su primera vez leyendo esto, puede omitir esta sección.

A.1 Cálculo de la activación de una neurona individual

Si el vector de activación de la capa anterior es a^{l-1} ∈ R^{n_{l-1}}, el vector de pesos de la j-ésima neurona de esta capa es w_j^{l} ∈ R^{n_{l-1}} y el sesgo es b_j^{l} ∈ R, el estado de activación de la j-ésima neurona es:

text
z_j^{l} = Σ_i w_{ji}^{l} · a_i^{l-1} + b_j^{l}       (suma ponderada)
a_j^{l} = σ(z_j^{l})                                  (función de activación)

Aquí, σ representa la función de activación (Sigmoid, ReLU, etc.).

A.2 Cálculo de capas vectorizadas

Representar las capas completas mediante vectores y matrices resulta más elegante. De la capa l-1 a la capa l:

text
z^{l} = W^{l} · a^{l-1} + b^{l}
a^{l} = σ(z^{l})
  • W^{l} ∈ R^{n_l × n_{l-1}}: Matriz de pesos de la capa l. W_{ji}^{l} es el peso que va de la i-ésima neurona de la capa anterior a la j-ésima neurona de esta capa.
  • a^{l-1} ∈ R^{n_{l-1}}: Vector de activación de la capa anterior
  • b^{l} ∈ R^{n_l}: Vector de sesgo de esta capa
  • a^{l} ∈ R^{n_l}: Vector de activación de esta capa

Esta vectorización es la base del procesamiento paralelo en GPU. La GPU calcula grandes multiplicaciones de matriz por vector en paralelo utilizando miles de núcleos.

A.3 Lista de funciones de activación

Sigmoid — Curva suave en forma de S, salida (0, 1):

text
σ(z) = 1 / (1 + exp(-z))

El gradiente es σ(z)(1 - σ(z)). Debido a que el gradiente se reduce drásticamente cuando zz es muy grande o muy pequeño, esto causa el problema de la desvanecimiento del gradiente, por lo que no se utiliza habitualmente en las capas ocultas de redes neuronales profundas.

Tanh — curva suave en forma de S, salida (-1, 1):

text
tanh(z) = (exp(z) - exp(-z)) / (exp(z) + exp(-z))

Versión desplazada del centro de la función sigmoide. Ligeramente mejor que la función sigmoide en las capas ocultas. El problema del desvanecimiento del gradiente persiste.

ReLU — Los valores negativos son 0, los positivos permanecen igual:

text
ReLU(z) = max(0, z)

Estándar para las capas ocultas desde la década de 2010. El cálculo de la derivada es extremadamente rápido, ya que se realiza mediante 1 (z > 0) o 0 (z < 0). Sin embargo, existe el fenómeno de "neuronas muertas" (dying ReLU) debido a que el gradiente es 0 en la región z < 0.

Leaky ReLU — refleja ligeramente los valores negativos:

text
LeakyReLU(z) = max(0.01 · z, z)

Mitigación de ReLU muerto. El coeficiente 0.01 es un hiperparámetro.

GELU (Gaussian Error Linear Unit) — estándar en Transformers y LLM:

text
GELU(z) = z · Φ(z)

Φ es la función de distribución acumulada de la distribución normal estándar. Es similar a una ReLU suavizada, pero difiere sutilmente cerca de z=0. Se utiliza en modelos como GPT y BERT.

A.4 Softmax — Estándar para la capa de salida multiclase

Cuando la salida debe ser una distribución de probabilidad de varias clases (por ejemplo, una clasificación ternaria: normal/positivo/maligno). Dados los logits z_1, ..., z_K de K clases:

text
Softmax(z_k) = exp(z_k) / Σ_j exp(z_j)

Características:

  • Todas las salidas están en el intervalo (0, 1).
  • La suma de todas las salidas es exactamente 1 (cumple con la distribución de probabilidad).
  • La probabilidad se concentra en el logit más alto (soft argmax).

Estabilidad numérica: Se calcula mediante exp(z_k - max(z)) para evitar el desbordamiento (overflow).

A.5 Fórmula general de la propagación hacia adelante

Si se representa toda la red neuronal con L capas ocultas como una única función f_θ:

text
a^{(0)} = x                                    (entrada)
z^{(l)} = W^{(l)} · a^{(l-1)} + b^{(l)}        (l = 1, ..., L)
a^{(l)} = σ^{(l)}(z^{(l)})                      (l = 1, ..., L-1)
a^{(L)} = Softmax(z^{(L)})                      (salida, para clasificación)
f_θ(x) = a^{(L)}

Conjunto de parámetros θ = {W^{(1)}, b^{(1)}, ..., W^{(L)}, b^{(L)}}. El ajuste de estos parámetros mediante entrenamiento es el tema del siguiente capítulo (descenso de gradiente).

A.6 Fórmula para calcular el número de parámetros

Cuando el tamaño de la capa es [n_0, n_1, ..., n_L], el número total de parámetros es:

text
parámetros totales = Σ_{l=1}^{L} (n_{l-1} · n_l + n_l)
            = Σ_{l=1}^{L} n_l · (n_{l-1} + 1)

Ejemplo: [65536, 512, 128, 32, 3] Estructura:

  • Capa 1: 512 × (65536 + 1) = 33,554,944
  • Capa 2: 128 × (512 + 1) = 65,664
  • Capa 3: 32 × (128 + 1) = 4,128
  • Capa 4: 3 × (32 + 1) = 99
  • Total: 33,624,835 elementos

Este valor es la cifra exacta de "aproximadamente 33,62 millones" mencionada en el texto.

A.7 Teorema de Aproximación Universal (Universal Approximation Theorem)

Antecedentes teóricos. Incluso con una sola capa oculta, si el número de neuronas es suficientemente grande, una red neuronal puede aproximar cualquier función continua con una precisión arbitraria (Cybenko 1989, Hornik 1991).

Matemáticamente: si f : [0,1]^n → R es una función continua, para cualquier ε > 0, existe una red neuronal de una sola capa oculta g tal que para todo x ∈ [0,1]^n, |f(x) - g(x)| < ε.

Este teorema es poderoso, pero tiene limitaciones prácticas. El requisito de "suficientemente muchas neuronas" puede implicar, en la práctica, un tamaño exponencialmente grande, y no hay garantía de que el entrenamiento pueda encontrar ese punto óptimo. El descubrimiento empírico del aprendizaje profundo es que apilar capas más profundas es mucho más eficiente en términos de parámetros.

A.8 Inicialización (Initialization)

Es crucial cómo se establecen los pesos antes de comenzar el entrenamiento. Si todos se inicializan en cero, debido al problema de la simetría, todas las neuronas aprenderán el mismo valor, por lo que la inicialización aleatoria es imprescindible.

Inicialización de Xavier / Glorot (para Sigmoid, Tanh):

text
W ~ Uniform(-√(6/(n_in + n_out)), √(6/(n_in + n_out)))

Inicialización de He (para ReLU):

text
W ~ Normal(0, √(2/n_in))

El sesgo se inicializa generalmente en 0. Una inicialización incorrecta puede causar que el entrenamiento no se realice o que sea mucho más lento.


Referencias

Todo el contenido, los escenarios y las analogías de este capítulo son desarrollos propios de BioPlayground; a continuación, se presentan referencias externas útiles para el aprendizaje conceptual:

  • Libro de texto estándar de Deep Learning: Goodfellow, Bengio, Courville, "Deep Learning" (MIT Press, gratuito en línea)
  • Visualización educativa de redes neuronales: Serie "Neural Networks" de 3Blue1Brown (YouTube) — referencia pedagógica
  • Artículo original del Teorema de Aproximación Universal: Cybenko, "Approximation by Superpositions of a Sigmoidal Function" (1989)
  • Métodos de inicialización: He et al., "Delving Deep into Rectifiers" (ICCV 2015)
  • Casos clínicos de patología con Deep Learning: Campanella et al., "Clinical-grade computational pathology using weakly supervised deep learning on whole slide images" (Nature Medicine 2019)
  • Deep Learning en scRNA-seq: Lopez et al., "Deep generative modeling for single-cell transcriptomics (scVI)" (Nature Methods 2018)

Este capítulo es el inicio de la sección de principios y sirve como base para los capítulos posteriores. En el capítulo #3, trataremos cómo esta red neuronal "aprende", es decir, cómo se ajustan automáticamente los 33,62 millones de diales.

💬 Preguntas y comentarios

0 comentarios

Puedes publicar sin iniciar sesión. Los comentarios de invitados no pueden editarse ni eliminarse después.

0/2000

Cargando...