Curso de Matemáticas para IA · Lección 1 de 180

Variables, valores y los tres roles dentro de un modelo de IA

Aprende a leer ecuaciones de modelos separando los nombres de las variables de sus valores actuales y siguiendo las entradas, los parámetros y las salidas mediante un pequeño modelo de puntuación.

Comparte este artículo

Un modelo de IA puede contener millones o miles de millones de números almacenados, recibir un nuevo conjunto de números en cada solicitud y producir otro conjunto de números como respuesta. La primera habilidad necesaria para leer sus matemáticas es sorprendentemente sencilla: aprender a distinguir un nombre del valor que tiene asociado en ese momento.

Al terminar esta lección, podrás leer una ecuación breve de un modelo, identificar sus entradas, parámetros y salidas, sustituir sus valores y explicar qué cantidades pueden cambiar por razones diferentes.

El libro Mathematics for Machine Learning comienza tratando las matemáticas como un lenguaje preciso para expresar ideas de machine learning. Las variables forman parte de ese lenguaje. Nos permiten describir una regla que funciona para muchos ejemplos en lugar de escribir un cálculo separado para cada ejemplo.

Un nombre puede sobrevivir a su valor actual

Supón que un modelo pequeño asigna una puntuación a un elemento:

s=wx+b.s = wx + b.

Las cuatro letras son variables. Cada una es un nombre con un papel:

  • xx es la característica de entrada proporcionada para el elemento actual;
  • ww es un peso que controla cuánto influye la característica en la puntuación;
  • bb es un sesgo que desplaza todas las puntuaciones en la misma cantidad; y
  • ss es la puntuación de salida del modelo.

Para un elemento, los valores actuales podrían ser

x=3,w=1.5,b=1.x = 3, \qquad w = 1.5, \qquad b = -1.

La sustitución reemplaza los nombres por estos valores para este cálculo:

s=wx+b=(1.5)(3)+(1)=4.51=3.5.\begin{aligned} s &= wx + b \\ &= (1.5)(3) + (-1) \\ &= 4.5 - 1 \\ &= 3.5. \end{aligned}

El valor de ss es ahora 3.53.5. El símbolo ss no se ha convertido permanentemente en 3.53.5; otra entrada u otro conjunto de parámetros del modelo puede producir un valor diferente.

Cambia un valor mientras los nombres de las variables conservan sus funciones. Este pequeño modelo calcula s = wx + b.
Entradax = 3.0cambia con el ejemplo
Pesow = 1.5parámetro aprendido
Sesgob = -1.0parámetro aprendido
Puntuacións = 3.503.0 × 1.5 + -1.0

El producto intermedio es 4.50. Los nombres x, w, b, y s no cambian cuando cambian sus valores actuales.

El modelo interactivo muestra una separación importante. Mover el control de xx cambia el ejemplo que se presenta al modelo. Mover ww o bb cambia el modelo en sí. Ambas acciones cambian ss, pero por razones diferentes.

Las entradas, los parámetros y las salidas cumplen funciones distintas

En machine learning, las variables suelen agruparse según cómo se obtienen sus valores.

PapelDe dónde procede su valorCuándo suele cambiarSímbolo en el modelo pequeño
EntradaEl ejemplo de datos actualEntre ejemplos o solicitudesxx
ParámetroValores aprendidos durante el entrenamientoCuando el optimizador actualiza el modeloww, bb
SalidaEl cálculo del modeloCada vez que cambian las entradas o los parámetrosss

Esta distinción evita un error común de lectura. Si ves

si=wxi+b,s_i = wx_i + b,

el subíndice ii indica que xix_i y sis_i pertenecen al ejemplo ii. Se reutilizan los mismos parámetros ww y bb. Para tres entradas, un solo modelo puede producir tres puntuaciones:

Ejemplo iiEntrada xix_iCálculoSalida sis_i
111(1.5)(1)1(1.5)(1)-10.50.5
233(1.5)(3)1(1.5)(3)-13.53.5
32-2(1.5)(2)1(1.5)(-2)-14-4

La fila cambia porque cambia el ejemplo. La regla sigue siendo la misma.

El entrenamiento cambia los parámetros, no el significado de los símbolos

Antes del entrenamiento, un modelo podría tener w=0.2w=0.2 y b=0b=0. Después de ver datos, un optimizador podría actualizarlos a w=1.5w=1.5 y b=1b=-1. Los símbolos siguen nombrando los mismos papeles, pero sus valores almacenados han cambiado.

Esta es la forma más sencilla de entender el entrenamiento:

  1. elegir los valores actuales de los parámetros;
  2. calcular las salidas para algunas entradas;
  3. medir el error del modelo;
  4. actualizar los valores de los parámetros; y
  5. repetir.

Las lecciones posteriores harán preciso cada paso. Por ahora, observa por qué las variables son esenciales. La expresión s=wx+bs=wx+b describe el cálculo antes, durante y después del entrenamiento. Solo los valores asignados registran el estado actual del modelo.

En el código, la misma separación aparece en los argumentos de una función y los valores almacenados:

def score(x, weight, bias):
    return weight * x + bias

weight = 1.5
bias = -1.0

first_score = score(x=1.0, weight=weight, bias=bias)
second_score = score(x=3.0, weight=weight, bias=bias)

x, weight, bias y la puntuación devuelta son nombres. Los números asociados a ellos son valores. Los nombres de Python y las variables matemáticas no son idénticos en todos los detalles técnicos, pero la comparación resulta útil: ambos permiten expresar una operación general y después evaluarla en un estado concreto.

Un límite: una letra no revela por sí sola su papel

No existe una regla universal que diga que xx debe ser una entrada o que ww debe ser un peso. Los autores eligen la notación y deben definirla. En otra ecuación, xx podría ser un parámetro que optimizar, o ww podría ser un dato observado.

Otro límite es el tipo. Una variable no tiene por qué contener un solo número real. Puede nombrar una lista, una matriz, una imagen, una secuencia de tokens, una distribución de probabilidad o incluso una función. La distinción entre nombre y valor sigue siendo válida. Las próximas lecciones darán un lenguaje preciso para esos objetos más ricos.

Comprueba lo que has entendido

Pregunta 1

En s = wx + b, ¿qué símbolos son parámetros si x es proporcionada por la solicitud actual?

Mostrar la solución paso a paso

La solicitud proporciona xx, por lo que xx es la entrada. Las cantidades aprendidas o almacenadas son ww y bb, así que son los parámetros. La ecuación calcula ss, por lo que ss es la salida.

La clasificación es:

entrada: x,paraˊmetros: w,b,salida: s.\text{entrada: }x, \qquad \text{parámetros: }w,b, \qquad \text{salida: }s.

Pregunta 2

Calcula la puntuación cuando x = 4, w = -0.5 y b = 3. Muestra cada paso de la sustitución.

Mostrar la solución paso a paso

Comienza con la regla del modelo:

s=wx+b.s=wx+b.

Sustituye los tres valores actuales:

s=(0.5)(4)+3=2+3=1.\begin{aligned} s &= (-0.5)(4)+3 \\ &= -2+3 \\ &= 1. \end{aligned}

Por tanto, la variable de salida ss tiene el valor 11 para este estado del modelo y esta entrada.

Pregunta 3

La entrada cambia de x = 2 a x = 5 mientras w y b permanecen fijos. ¿Ha cambiado el modelo? Explica.

Mostrar la solución paso a paso

No. Los parámetros que definen la regla del modelo permanecieron fijos, así que el modelo no cambió. Se evaluó un ejemplo diferente.

La salida normalmente cambiará porque xx aparece en s=wx+bs=wx+b, pero un cambio en la salida por sí solo no indica si cambió el modelo. Hay que preguntar qué valor subyacente cambió: un valor de entrada o un valor de parámetro.

Pregunta 4

Un paso de entrenamiento cambia w de 1.5 a 1.4. ¿Qué permaneció constante y qué cambió?

Mostrar la solución paso a paso

El símbolo ww y su papel como peso del modelo permanecieron constantes. Su valor asignado cambió de 1.51.5 a 1.41.4.

Si xx y bb se mantienen fijos, el cambio en la salida es

Δs=(1.4x+b)(1.5x+b)=0.1x.\Delta s = (1.4x+b)-(1.5x+b) = -0.1x.

Esto también muestra que el efecto de actualizar el parámetro depende del valor actual de la entrada.

Pregunta 5

¿Por qué no es seguro suponer que un símbolo llamado x siempre es una entrada?

Mostrar la solución paso a paso

Los símbolos matemáticos adquieren su significado de sus definiciones, no de la letra en sí. Muchos autores usan xx para una entrada, pero otro problema puede definir xx como un parámetro, una solución desconocida o una variable aleatoria.

Un proceso de lectura seguro es:

  1. localizar la frase que define el símbolo;
  2. anotar su tipo o conjunto permitido;
  3. identificar si es observado, elegido, aprendido o calculado; y
  4. usar ese contrato de forma coherente en las ecuaciones siguientes.

Fuentes

  1. Mathematics for Machine Learning companion website
  2. Mathematics for Machine Learning book PDF