Funciones y aplicaciones: por qué todo modelo de IA es una función
Dominio, imagen, inyectividad, composición, inversa, funciones de varias variables y convexidad — con gráficas de la sigmoide, ReLU y el paisaje del error.
Serie Fundamentos de IA Parte 6 de 52
- Mapa de la inteligencia artificial: qué es cada cosa y cómo encaja todo
- Breve historia de la inteligencia artificial: de Turing a los modelos de lenguaje
- Datos, modelo, entrenamiento, inferencia: los conceptos básicos en un solo ejemplo
- Cómo leer la notación matemática: símbolos, subíndices, sumatorios y cuantificadores
- Conjuntos y relaciones: las piezas con las que se construyen las definiciones en IA
- Funciones y aplicaciones: por qué todo modelo de IA es una función
- Lógica y demostraciones: las reglas con las que se razona en IA
- Grafos y árboles: la estructura sobre la que se apoyan la búsqueda y las redes neuronales
- Álgebra lineal para aprendizaje automático: vectores, matrices y por qué la IA sobre todo multiplica
- Derivadas, gradiente y regla de la cadena: cómo sabe un modelo en qué dirección aprender
- Descenso de gradiente: cómo aprende un modelo
- Qué es la probabilidad: del lanzamiento de un dado a los axiomas de Kolmogórov
- Probabilidad condicionada y teorema de Bayes: cómo cambiar una estimación cuando te enteras de algo nuevo
- Variable aleatoria y función de distribución: una sola función que lo dice todo sobre la distribución
- Función de densidad y función de probabilidad: por qué una variable continua tiene probabilidad cero en cada punto
- Esperanza, varianza y covarianza: dónde está una distribución, qué anchura tiene y qué se relaciona con qué
- Resumen de las distribuciones de probabilidad: Bernoulli, binomial, Poisson, uniforme, normal y exponencial
- Ley de los grandes números y teorema central del límite: por qué las medias se comportan de forma tan predecible
- Estadística y estimación de parámetros: máxima verosimilitud, MAP e intervalos de confianza
- Teoría de la información: entropía, entropía cruzada y divergencia KL, el origen de las funciones de pérdida
- Búsqueda en el espacio de estados: BFS, DFS, UCS y A* con animaciones
- Juegos y adversarios: minimax, poda alfa-beta y Monte Carlo tree search
- Satisfacción de restricciones: backtracking, propagación de restricciones y AC-3 con un sudoku y un mapa de regiones checas
- Lógica y sistemas basados en conocimiento: encadenamiento hacia delante y hacia atrás, resolución y sistemas expertos
- Planificación: STRIPS, el mundo de bloques, heurísticas a partir de la relajación y la planificación en los agentes de IA
- Búsqueda local y recocido simulado: un viajante por las capitales regionales checas
- Algoritmos genéticos: población, cruce, mutación y selección en una mochila para la excursión
- Estrategias evolutivas y programación genética: de la regla de un quinto a la ley de Kepler
- Optimización por colonia de hormigas: cómo un rastro de feromona encuentra un camino corto
- Optimización por enjambre de partículas: inercia, experiencia propia y experiencia del enjambre
- Neuroevolución: evolución de los pesos y la forma de las redes neuronales, y el algoritmo NEAT
- Conjuntos difusos y funciones de pertenencia: cómo escribir «algo cálido»
- Lógica difusa y probabilidad: por qué «algo cálido» no significa «probablemente cálido»
- Lógica difusa: t-normas, implicaciones y reglas SI–ENTONCES
- Control difuso: Mamdani y Sugeno, del ventilador al péndulo invertido sobre un carro
- Agrupamiento difuso: el algoritmo fuzzy c-means y los puntos entre clusters
- Sistemas neuro-difusos (ANFIS): reglas difusas que aprenden de los datos
- Cadenas de Markov: matriz de transición, distribución estacionaria y PageRank
- Modelos ocultos de Márkov: el algoritmo de Viterbi y el casino deshonesto
- Redes bayesianas: por qué está mojada la hierba y qué significa eso para el aspersor
- El filtro de Kalman: cómo estimar a partir de mediciones imprecisas dónde está un coche y a qué velocidad va
- Tipos de aprendizaje automático: supervisado, no supervisado, semisupervisado y más
- Prompts, contexto y RAG: cómo darle a un modelo la información correcta
- Autocodificadores variacionales (VAE): imágenes nuevas a partir de un espacio latente continuo
- Redes generativas adversarias (GAN): el falsificador contra el detective
- Modelos de difusión: cómo el ruido puro se convierte en una imagen
- Procesos de decisión de Markov: estados, acciones, recompensas y ecuaciones de Bellman
- Q-learning y DQN: aprender el valor de las acciones, de la tabla a la red neuronal
- Gradiente de la política y PPO: aprender directamente la política
- Cómo funciona un agente de IA: un modelo de lenguaje en un bucle con herramientas
- Programación con agentes de IA: encargo, pruebas y revisión
- Evaluación y seguridad de los sistemas de IA: cómo medir y cómo vigilar
Temario completo de la serie 52 de 83 temas publicados
- Qué es una función, su dominio y su imagen — y qué funciones encontrarás con más frecuencia en IA.
- Qué significa inyectiva, sobreyectiva y biyectiva, por qué una red neuronal es una composición de funciones y cuándo existe la inversa.
- Por qué la función de pérdida es un paisaje y por qué la convexidad importa al buscar su fondo.
Conviene conocer antes: Cómo leer la notación matemática: símbolos, subíndices, sumatorios y cuantificadores, Conjuntos y relaciones: las piezas con las que se construyen las definiciones en IA
Todo modelo de inteligencia artificial es una función. Un clasificador de spam toma un correo y devuelve «spam» o «no spam», un modelo de lenguaje toma un texto y devuelve las probabilidades de la siguiente palabra, una red neuronal es una función compuesta de miles de funciones más pequeñas. Y aprender no es otra cosa que buscar la función correcta.
La parte anterior terminó con la definición de función como una relación especial. Aquí partimos de ella: qué aspecto tienen las funciones, qué propiedades tienen, cómo se componen y por qué todo eso importa en IA.
1. Qué es una función
Definición — función (aplicación)
Una función f : X → Y asigna a cada elemento x ∈ X exactamente un elemento f(x) ∈ Y. La palabra aplicación significa lo mismo.
X es el dominio, Y el codominio (conjunto de llegada). La imagen de la función es el conjunto de valores que realmente toma: f(X) = {f(x) : x ∈ X} ⊆ Y.
La gráfica de la función es el conjunto de pares {(x, f(x)) : x ∈ X} ⊆ X × Y.
Una función es una máquina expendedora: metes una entrada y sale exactamente una salida — siempre la misma. El dominio dice qué se puede meter en la máquina; el codominio, qué puede salir de ella. La imagen es lo que de verdad sale.
La diferencia entre codominio e imagen se ve en la sigmoide σ : ℝ → ℝ: puede devolver cualquier número real, pero en realidad solo devuelve números entre 0 y 1. Por eso se puede leer como una probabilidad.
2. Funciones que encontrarás en IA
Una función de una variable se entiende mejor a partir de su gráfica. Estas aparecen en inteligencia artificial una y otra vez — como modelos, como funciones de activación de redes neuronales o como funciones de pérdida:
- La función lineal es el modelo más sencillo — la regresión lineal no es otra cosa.
- La función cuadrática es la base del error cuadrático medio: la penalización crece con el cuadrado de la desviación.
- La exponencial y el logaritmo son inversos entre sí; el logaritmo convierte la multiplicación en suma, y por eso lo encontrarás en toda función de pérdida basada en probabilidades.
- La sigmoide y tanh «comprimen» cualquier número en el intervalo (0, 1) y (−1, 1), respectivamente.
- ReLU deja pasar los números positivos y anula los negativos. Es tan sencilla que durante mucho tiempo nadie creyó que fuera a funcionar — hoy es la función de activación más usada.
3. Inyectiva, sobreyectiva y biyectiva
Definición — función inyectiva, sobreyectiva y biyectiva
f : X → Y es inyectiva cuando entradas distintas dan salidas distintas: ∀x1, x2 : f(x1) = f(x2) ⇒ x1 = x2.
f es sobreyectiva (suprayectiva) cuando alcanza todos los elementos de Y: ∀y ∈ Y ∃x ∈ X : f(x) = y, es decir, f(X) = Y.
f es biyectiva (correspondencia uno a uno) cuando es a la vez inyectiva y sobreyectiva.
Inyectiva: no hay dos entradas que compartan salida — por la salida se sabe de dónde vino. Sobreyectiva: nada en el conjunto de llegada se queda abandonado. Biyectiva: a cada entrada le corresponde exactamente una salida y viceversa — como en un guardarropa donde cada abrigo tiene su ficha.
En IA casi todo modelo es no inyectivo: un clasificador envía miles de fotos distintas de gatos a una sola clase, «gato». La información sobre qué foto era se pierde — y está bien, es justo lo que queremos de un clasificador. En cambio, los modelos de compresión (autocodificadores) intentan ser «casi inyectivos», para que a partir de la forma comprimida se pueda reconstruir de nuevo la entrada.
4. Composición de funciones
Definición — función compuesta
Dadas f : X → Y y g : Y → Z, la función compuesta g ∘ f : X → Z se define como (g ∘ f)(x) = g(f(x)).
La composición es asociativa, h ∘ (g ∘ f) = (h ∘ g) ∘ f, pero en general no es conmutativa: g ∘ f ≠ f ∘ g.
La composición es una cadena de montaje: la salida de una máquina entra directamente en la siguiente. El orden importa — vestirse primero y lavarse después no acaba igual que al revés.
Tomemos f(x) = 2x + 1 y g(x) = x2:
(g ∘ f)(3) = g(f(3)) = g(7) = 49
(f ∘ g)(3) = f(g(3)) = f(9) = 19
Así es exactamente como está construida una red neuronal. Cada capa es una función — un paso lineal seguido de una función de activación — y la red entera es su composición: f = f3 ∘ f2 ∘ f1. Una red «profunda» es simplemente una composición larga. Y cuando en las próximas partes aprendamos a derivar, la regla de la cadena nos dirá precisamente cómo derivar funciones compuestas.
5. Función inversa
Definición — función inversa
Una función f−1 : Y → X es la inversa de f : X → Y cuando f−1(f(x)) = x para todo x ∈ X y f(f−1(y)) = y para todo y ∈ Y.
Teorema. La función inversa existe si y solo si f es biyectiva.
La función inversa da un paso atrás: a partir de la salida averigua la entrada. Solo es posible cuando no hay dos entradas que lleven a la misma salida (si no, no estaría claro adónde volver) y cuando cada salida de verdad lleva a alguna parte.
La exponencial y el logaritmo son un par de funciones inversas: ln(ex) = x. La inversa de la sigmoide es la función logit, logit(p) = ln(p / (1 − p)) — convierte una probabilidad de nuevo en cualquier número real. Por eso a las salidas de la red antes de la sigmoide o del softmax se las llama «logits».
6. Funciones de varias variables
Definición — función de varias variables
Una función f : ℝn → ℝ asigna al vector (x1, …, xn) un número; una función f : ℝn → ℝm asigna a un vector otro vector (función vectorial).
La mayoría de las funciones reales toman varias entradas a la vez: el precio de un piso depende de la superficie, la ubicación y la antigüedad. Una capa de una red neuronal toma un vector entero y devuelve otro vector.
Una función de dos variables se puede dibujar como un mapa: coloreamos cada punto (x, y) según el valor f(x, y). Aquí está la función de Himmelblau, una prueba clásica para algoritmos de optimización. Las zonas oscuras son valles de valor pequeño; los puntos blancos son los cuatro mínimos, en los que la función vale cero:
Así es exactamente como debes imaginar la función de pérdida de un modelo: la entrada son sus parámetros, la salida es el error. Entrenar es buscar el punto más bajo del paisaje — solo que, en lugar de dos dimensiones, el paisaje de un modelo real tiene millones.
7. Monotonía y convexidad
Definición — función creciente y función convexa
f es creciente cuando x1 < x2 ⇒ f(x1) < f(x2). Una función creciente es siempre inyectiva.
f es convexa cuando para todos x1, x2 y t ∈ [0, 1] se cumple f(tx1 + (1 − t)x2) ≤ t f(x1) + (1 − t) f(x2).
Teorema. Todo mínimo local de una función convexa es también global.
Una función convexa tiene forma de cuenco: el segmento entre dos puntos de la gráfica siempre queda por encima de la gráfica. Un cuenco tiene un solo fondo — quien baja sin parar lo encuentra. Con una función no convexa puedes acabar en un hoyo más pequeño sin enterarte del más profundo que hay al lado.
convexa: x², un único mínimo
no convexa: x⁴ − 3x² + x
La función no convexa x4 − 3x2 + x tiene dos mínimos: el global en x ≈ −1,30 con valor ≈ −3,51 y el local en x ≈ 1,13 con valor ≈ −1,07. Quien empiece a buscar por la derecha y siempre baje acabará en el peor. Las funciones de pérdida de la regresión lineal y de la logística son convexas — por eso su entrenamiento encuentra de forma fiable la mejor solución. Las pérdidas de las redes neuronales no son convexas, y de cómo se vive con eso tratará la parte sobre el descenso del gradiente.
8. Funciones en la inteligencia artificial
Ahora ya se puede contar todo el aprendizaje automático en el lenguaje de las funciones:
- Un modelo es una función fθ : X → Y con parámetros θ — toda una familia de funciones, una para cada elección de parámetros.
- La función de pérdida L : Y × Y → ℝ dice cuánto cuesta la respuesta ŷ cuando la correcta es y.
- Aprender es elegir una función de la familia: el argmin sobre θ de la pérdida media — la función de los parámetros que acabamos de dibujar como paisaje.
- Las funciones de activación (sigmoide, tanh, ReLU) convierten capas lineales en una red no lineal; sin ellas, la composición de funciones lineales volvería a ser solo una función lineal.
9. Resumen
- Una función asigna a cada entrada exactamente una salida; la imagen es adonde realmente llega.
- Una función inyectiva no confunde dos entradas, una sobreyectiva cubre todo el destino, una biyectiva tiene inversa.
- La composición de funciones es una cadena de montaje — y una red neuronal es una composición de capas.
- La función de pérdida es un paisaje sobre el espacio de parámetros; un paisaje convexo tiene un único fondo, uno no convexo puede tener varios.
¿Lo ves de otra manera? Escribe a support@coden-app.com.