Esto es algo que me costó entender, hasta que obtuve un poco de experiencia en razonamiento estadístico.
Las redes neuronales, y en general los algoritmos de aprendizaje automático, buscan encontrar una función que minimice la pérdida esperada o maximice la probabilidad esperada. Esto significa que buscamos optimizar una función cuyas entradas son nuestras observaciones de entrenamiento. Estas observaciones de entrenamiento provienen de una distribución de generación de datos D, de la cual tenemos una muestra de tamaño N. La distribución de generación de datos D nos da las probabilidades de todos los pares posibles (x, y) que nuestra red neuronal espera predecir con precisión, pero solo tiene acceso a un subconjunto muy pequeño de estos datos.
La distribución de nuestros datos de entrenamiento puede caracterizarse por alguna función de densidad de probabilidad P (x, y), que depende de algunos parámetros desconocidos . Este es el quid del aprendizaje automático: nuestro objetivo es utilizar modelos estadísticos para aproximar estos parámetros que modelan la verdadera distribución de generación de datos. Como ejemplo, si asumimos que nuestros datos de entrenamiento se distribuyen normalmente con parámetros desconocidos, buscaríamos encontrar estimadores [math] \ hat {\ mu} [/ math] y [math] \ hat {\ sigma} [/ math] aproximar los verdaderos parámetros de la distribución.
- ¿Pueden los vapores o el vapor contener información en ellos, como redes neuronales o cualquier otra cosa?
- ¿Cuál es el progreso en descifrar patrones neuronales de multipoblación?
- ¿Estaba mal que la comunidad de IA bromeara sobre el lanzamiento de la compañía RocketAI?
- Si la personalidad humana cambia con el tiempo, ¿cómo puede funcionar la 'inmortalidad digital'?
- ¿Cuál es la diferencia y similitud de la inteligencia artificial con IR?
En general, el aprendizaje se puede definir como el problema de encontrar una función de hipótesis particular h en un conjunto de funciones de hipótesis H , de modo que nuestra función elegida h sea la “más óptima” para predecir correctamente las etiquetas a partir de los datos de entrenamiento. ¿Cómo podemos cuantificar lo que queremos decir con lo más óptimo?
Tendríamos que definir una función de costo para nuestros datos de entrenamiento [math] J (y, \ hat {y}) [/ math] que es una función de nuestras etiquetas de entrenamiento y nuestra predicción. Esta función debería cuantificar cuán “apagada” está nuestra predicción. Nos da una idea sobre el error de nuestra función de hipótesis en nuestro conjunto de entrenamiento. Ahora, si nuestra función de hipótesis está definida por [matemáticas] \ hat {y} = h (x_1, x_2,… x_n) [/ matemáticas] donde [matemáticas] x_1,… x_n [/ matemáticas] son las características individuales de cada entrenamiento ejemplo, entonces nuestro problema se convierte en encontrar [matemáticas] h (\ overrightarrow {x}) \ en H | J (y, h (\ overrightarrow {x})) \ leq J (y, h) \ forall h \ en H [/ math].
Idealmente, nos gustaría minimizar la pérdida real para toda la población de pares (x, y) en la distribución D. Es decir, queremos minimizar la siguiente función:
[matemáticas] E (y, h (x)) = \ sum_ {x, y} J (y, h (x) p (x, y) [/ matemáticas]
Esto puede pensarse en la diferencia de medias entre la etiqueta verdadera y y nuestra predicción h (x) , ponderada por la probabilidad p (x, y) (que sería pequeña si algunas características [matemáticas] \ overrightarrow {x} [/ matemáticas ] es poco probable que correspondan a una etiqueta y ). Sin embargo, como se mencionó anteriormente, no conocemos el PDF de la distribución de generación de datos y, por lo tanto, no podemos calcular p (x, y) . Aprender la mejor aproximación para p (x, y) y , por lo tanto, la función f que define la distribución de la que se extraen nuestros datos, es lo que formula un problema de aprendizaje automático.
Como no podemos optimizar la función anterior, tenemos que aproximar el costo utilizando solo nuestros datos de entrenamiento y, en su lugar, minimizar [matemáticas] \ hat {E} = J (y, h (\ overrightarrow {x}) = \ frac {1} {N} \ sum_ {i} (h (\ overrightarrow {x_i}) – y_i) ^ 2 [/ math] (una función de costo de ejemplo, hay muchas otras, como la pérdida de entropía cruzada). Para minimizar esta función , generalmente buscamos encontrar un conjunto de parámetros [math] \ theta [/ math] que definan la función [math] h (\ overrightarrow {x}) [/ math]. Para redes neuronales, estos serían los pesos que multiplique nuestras entradas y salidas de capas ocultas por (Nota al margen: generalmente, minimizar esta función no producirá una función que se aproxime mejor a toda la distribución de generación de datos, ya que solo ha visto un conjunto de entrenamiento comparativamente pequeño. Una parte muy importante de el aprendizaje automático se asegura de que nuestra función se generalice bien a datos invisibles, y esto a menudo se realiza a través de métodos que evitan el sobreajuste, como el abandono y la regularización en Redes neuronales).
Una vez que se encuentran estos parámetros, pueden considerarse estimadores de los parámetros reales que definen la distribución de generación de datos de la que se extrajeron nuestras N muestras. En otras palabras, nuestro modelo ha aprendido a aproximar la distribución desconocida de la que provienen nuestros ejemplos de entrenamiento.
Para responder a su próxima pregunta sobre cómo entender la “distribución” en términos de imágenes, podemos considerar cada imagen como un vector n- dimensional (donde n es el producto del ancho y alto de la imagen), donde cada componente del vector tiene un valor binario (imágenes en escala de grises) o tres canales separados (R, G, B). Por ejemplo, el conjunto de datos MNIST consta de ~ 60k 28 x 28 imágenes, que la computadora ve como un grupo de 784 vectores dimensionales x , junto con sus etiquetas asociadas y .
Entonces, la distribución D puede considerarse como cualquier distribución antigua para un conjunto de datos: solo cuantifica la probabilidad de que una determinada imagen (ahora un vector x dimensional n) tenga una etiqueta de y (en el caso de MNIST, un entero entre 0 y 9). Por ejemplo, si el vector x, cuando se ve como una imagen, aparece como el número 2 para los humanos, entonces es probable que p (x, 9) sea pequeño y que p (x, 2) sea muy grande. Si es un 2 descuidadamente dibujado para que parezca un 7, entonces p (x, 7) también puede ser grande.