¿Las redes neuronales aprenden una función o una función de densidad de probabilidad?

19

La pregunta puede sonar un poco extraña porque soy nuevo en la inferencia estadística y las redes neuronales.

Cuando en problemas de clasificación usando redes neuronales decimos que queremos aprender una función que mapea el espacio de las entradas , al espacio de las salidas :fxy

f(x;θ)=y

¿Estamos ajustando los parámetros ( ) para modelar una función no lineal o para modelar una función de densidad de probabilidad?θ

Realmente no sé cómo escribir la pregunta de una mejor manera. He leído varias veces ambas cosas (función de densidad de probabilidad, o función así) así que, por lo tanto, mi confusión.

sdiabr
fuente

Respuestas:

15

Estrictamente hablando, las redes neuronales están ajustando una función no lineal.

Se pueden interpretar como ajustando una función de densidad de probabilidad si se eligen funciones de activación adecuadas y se respetan ciertas condiciones (los valores deben ser positivos y 1, etc.). Pero esa es una cuestión de cómo elige interpretar su salida, no de lo que realmente están haciendo. Bajo el capó, siguen siendo estimadores de funciones no lineales, que está eligiendo aplicar al problema específico de la estimación de PDF.

Skander H.
fuente
3
@sdiabr en realidad no usaría el umbral si quisiera que la red simule un pdf, ya que un pdf puede tener otros valores además de 1 y 0. Con el umbral se convierte en un clasificador sencillo.
Skander H.
2
La forma correcta de ver esto es que el umbral es un problema externo a lo que se aprende de la red. No respetar esta distinción causa muchos problemas en las aplicaciones de ML a problemas del mundo real.
Matthew Drury
1
Sí okey, lo entiendo. Entonces, olvidando el umbral, ¿estaría modelando un pdf? Creo que me confundí con el umbral porque leí algo sobre modelar una distribución de Bernouilli. Sin embargo, sin el umbral, eso ya es Bernoilli ¿verdad? En el caso de que solo tengamos un nodo de salida con una función de activación sigmoidea, que generaría 0 o 1 con una probabilidad p o (1-p)
sdiabr
1
Sí, me confundí nuevamente, gracias @CagdasOzgenc. Intentemos de nuevo: al usar una función sigmoidea en la capa de salida, estamos modelando directamente un pdf, ¿verdad? siguiendo cualquier distribución que pueda aprender a seguir.
sdiabr
2
Sin embargo, no está aprendiendo sobre la distribución de probabilidad de los coeficientes desconocidos, por lo tanto, no está aprendiendo sobre la distribución predictiva posterior.
Brash Equilibrium
11

En general, las redes neuronales no se utilizan para modelar densidades de probabilidad completas. Su enfoque es simplemente modelar la media de una distribución (o en una situación determinista simplemente una función no lineal). Sin embargo, es muy posible modelar densidades de probabilidad completas a través de redes neuronales.

Una manera fácil de hacer esto es, por ejemplo, para un caso gaussiano es emitir la media de una salida y la varianza de otra salida de la red y luego minimizar logN(y|x;μ,σ) funcionan como parte de el proceso de entrenamiento en lugar del error al cuadrado común. Este es el procedimiento de máxima probabilidad para una red neuronal.

Una vez que entrene esta red cada vez que conecte un valor de como entrada, le dará el μ y el σ , entonces puede conectar todo el triplete y , μ , σ a la densidad f ( y | x ) N ( μ , σ ) para obtener el valor de densidad para cualquier y que desee. En esta etapa se puede elegir qué y valor a utilizar en función de una función de pérdida de dominio real. Una cosa a tener en cuenta es que para μxμσy,μ,σf(y|x)N(μ,σ)yyμ la activación de salida no debe estar restringida para que pueda emitir a + inf mientras que σ debería ser una activación positiva solamente.inf+infσ

En general, a menos que se trate de una función determinista, el entrenamiento estándar de pérdida al cuadrado utilizado en las redes neuronales es prácticamente el mismo procedimiento que describí anteriormente. Debajo del capó se asume implícitamente una distribución sin preocuparse por el σ y si se examina cuidadosamente - l o g N ( y | x ; μ , σ ) le da una expresión para la pérdida al cuadrado ( La pérdida función del estimador gaussiano de máxima verosimilitud ). En este escenario, sin embargo, en lugar de a yGaussianσlogN(y|x;μ,σ)yvalor a su gusto, está atascado con la emisión de cada vez que se le da una nueva xμx valor de .

Para la clasificación, la salida será una distribución lugar de una G a u s s i a n , que tiene un único parámetro para emitir. Como se especifica en la otra respuesta, este parámetro está entre 0 y 1BernoulliGaussian01 por lo que la activación de salida debe ser acorde. Puede ser una función logística u otra cosa que logre el mismo propósito.

Un enfoque más sofisticado es Bishop's Mixture Density Networks. Puede leer sobre esto en el documento de referencia frecuente aquí:

https://publications.aston.ac.uk/373/1/NCRG_94_004.pdf

Cagdas Ozgenc
fuente
Ouch, me ganaste 😀 Quería citar los MDN de Bishop ... también hay otra forma de hacer que Neural Networks emita archivos PDF, que es, por supuesto, el paradigma bayesiano. Escribiré una respuesta sobre eso.
DeltaIV
Otro divertido artículo sobre redes de densidad de mezcla, utilizado para predecir las condiciones de navegación: icml.cc/Conferences/2005/proceedings/papers/…
Matthew Drury
¿Debería cambiar "todo el triplete y, μ, σ" a "todo el triplete x, μ, σ"?
moh
@moh no. x se da y no aparecerá en la densidad.
Cagdas Ozgenc
1

Mi respuesta discrepante es que en las aplicaciones prácticas más impresionantes (aquellas en las que obtienen la mayor cobertura en los medios, por ejemplo) no es ni la función ni las probabilidades. Implementan la toma de decisiones estocásticas.

En la superficie parece que NN solo está ajustando la función, coloca la aproximación universal referencia de . En algunos casos, cuando se utilizan ciertas funciones de activación y supuestos particulares como los errores gaussianos o cuando se leen documentos en redes bayesianas, parece que NN puede producir las distribuciones de probabilidad.

Sin embargo, esto es todo por cierto. Lo que NN pretende hacer es modelar la toma de decisiones. Cuando un automóvil es conducido por AI, su NN no está tratando de calcular la probabilidad de que tenga un objeto frente a él, luego dado que hay un objeto para calcular la probabilidad de que sea un humano. Tampoco está calculando el mapeo de las entradas del sensor a varios tipos de objetos. No, se supone que NN debe tomar una decisión basada en todos los aportes para conducir de lado o seguir conduciendo. No está calculando la probabilidad, le está diciendo al auto qué hacer.

Aksakal
fuente