¿Qué * es * una red neuronal artificial?

15

A medida que profundizamos en la literatura sobre redes neuronales , podemos identificar otros métodos con topologías neuromórficas (arquitecturas similares a "redes neuronales"). Y no estoy hablando del teorema de aproximación universal . A continuación se dan ejemplos.

Entonces, me hace preguntarme: ¿cuál es la definición de una red neuronal artificial? Su topología parece cubrir todo.


Ejemplos:

Una de las primeras identificaciones que hacemos es entre PCA y un Autoencoder lineal con pesos atados en el codificador y decodificador y activaciones con umbral en la capa de cuello de botella.

Además, se realiza una identificación común entre modelos lineales (regresión logística en especial) y una red neuronal sin capa oculta y una sola capa de salida. Esta identificación abre varias puertas.

¿Serie de Fourier y Taylor? ANNs . SVM ? ANA. Proceso Gaussiano? ANN (con una sola capa oculta con infinitas unidades ocultas).

Y así, con la misma facilidad, podemos incorporar versiones arbitrarias regularizadas con funciones de pérdida especializadas de estos algoritmos en un marco de red neuronal.

Pero cuanto más cavamos, más similitudes aparecen. Me topé con los árboles de decisión neuronales profundos , que identifican una arquitectura ANN específica con árboles de decisión, lo que permite que estos se aprendan mediante métodos ANN (como la propagación hacia atrás de Pendiente de gradiente). A partir de esto, podemos construir bosques aleatorios y árboles de decisión potenciados por gradientes a partir de topologías de redes neuronales únicamente.

Si todo se puede expresar como una red neuronal artificial, ¿qué define una red neuronal artificial?

Firebug
fuente
Ese documento sobre Deep Neural Decision Trees está bastante lejos. Normalmente, las funciones de activación son funciones de valor real, no productos externos. Por lo tanto, no están discutiendo realmente los ANN como normalmente pensamos en ellos, sino una generalización matemática que no se usa ni acepta ampliamente. Para mostrar una RNA es diferente al de un árbol de decisión, me limitaré a recordar que todos los RNAs son paramétricas (tener un espacio paramétrico finito) mientras que los árboles son no paramétrico (tiene un espacio de parámetros potencialmente infinito.)
olooney
@olooney, el producto Kronecker no es una función de activación, es simplemente una operación en las salidas de la capa anterior (como una convolución o cualquier otra operación que definimos sobre activaciones). El DNDT puede representar cualquier árbol de decisión, Y cada DNDT puede representarse mediante un árbol de decisión.
Firebug
1
@olooney según su definición de función de activación, Softmax no es una función de activación.
Firebug
2
No estoy completamente seguro de entender la motivación de esta pregunta. Una posible definición flexible de un ANN es que es un modelo gráfico dirigido, que usa neuronas (es decir, funciones de activación) para procesar entradas / salidas, y la mayoría de las veces usa el descenso de gradiente para entrenarlo. Cuando dice que "todo se puede expresar como un ANN", ¿está preguntando específicamente si existe un mapeo exacto entre los otros modelos mencionados y los ANN? El problema es que tendrá que crear rutinas de entrenamiento altamente modificadas para que coincidan con las optimizaciones.
Alex R.
1
@Sycorax también lo hago, tanto él como Hinton lo insinuaron. Quiero dar una oportunidad a los respondedores en el otro campo para proporcionar fuentes creíbles :)
Firebug

Respuestas:

6

Jürgen Schmidhuber, " Aprendizaje profundo en redes neuronales: una visión general " traza la historia de conceptos clave en redes neuronales y aprendizaje profundo. En su opinión, las redes neuronales parecerían abarcar esencialmente cualquier modelo que pueda caracterizarse como un gráfico dirigido donde cada nodo represente alguna unidad computacional. Schmidhuber es un destacado investigador de redes neuronales, y escribió el artículo original sobre redes LSTM con Sepp Hochreiter.

¿Qué componentes modificables de un sistema de aprendizaje son responsables de su éxito o fracaso? ¿Qué cambios a ellos mejoran el rendimiento? Este ha sido llamado el problema fundamental de asignación de crédito (Minsky, 1963). Existen métodos generales de asignación de créditos para los solucionadores de problemas universales que son óptimos en el tiempo en varios sentidos teóricos (Sec. 6.8). Sin embargo, la presente encuesta se centrará en el subcampo más estrecho, pero ahora comercialmente importante, de aprendizaje profundo (DL) en redes neuronales artificiales (NN).

Una red neuronal estándar (NN) consta de muchos procesadores simples y conectados llamados neuronas, cada uno de los cuales produce una secuencia de activaciones de valor real. Las neuronas de entrada se activan a través de sensores que perciben el entorno, otras neuronas se activan a través de conexiones ponderadas de neuronas previamente activas (detalles en la sección 2). Algunas neuronas pueden influir en el medio ambiente al desencadenar acciones. El aprendizaje o la asignación de crédito se trata de encontrar pesos que hagan que el NN exhiba el comportamiento deseado, como conducir un automóvil. Dependiendo del problema y de cómo están conectadas las neuronas, tal comportamiento puede requerir largas cadenas causales de etapas computacionales (Sec. 3), donde cada etapa transforma (a menudo de manera no lineal) la activación agregada de la red. Deep Learning se trata de asignar créditos con precisión en muchas de esas etapas.

Los modelos poco profundos tipo NN con pocas etapas de este tipo han existido durante muchas décadas, si no siglos (Sección 5.1). Los modelos con varias capas sucesivas de neuronas no lineales se remontan al menos a la década de 1960 (Sec. 5.3) y 1970 (Sec. 5.5). En las décadas de 1960 y 1970, se desarrolló un método eficiente de descenso de gradiente para el aprendizaje supervisado (SL) basado en el maestro en redes discretas y diferenciables de profundidad arbitraria llamada backpropagation (BP), y se aplicó a las NN en 1981 (Sec. 5.5). Sin embargo, a fines de los años ochenta se descubrió que la capacitación basada en BP de NN profundos con muchas capas era difícil en la práctica (sección 5.6) y se había convertido en un tema de investigación explícito a principios de la década de 1990 (sección 5.9). DL se volvió prácticamente factible hasta cierto punto a través de la ayuda de aprendizaje no supervisado (UL), por ejemplo, Sec. 5.10 (1991), sec. 5.15 (2006). Las décadas de 1990 y 2000 también vieron muchas mejoras de DL puramente supervisada (Sec. 5). En el nuevo milenio, las NN profundas finalmente han atraído la atención generalizada, principalmente al superar los métodos alternativos de aprendizaje automático, como las máquinas kernel (Vapnik, 1995; Scholkopf et al., 1998) en numerosas aplicaciones importantes. De hecho, desde 2009, las NN profundas supervisadas han ganado muchas competiciones internacionales oficiales de reconocimiento de patrones (por ejemplo, Sec. 5.17, 5.19, 5.21, 5.22), logrando los primeros resultados de reconocimiento visual de patrones sobrehumanos en dominios limitados (Sec. 5.19, 2011). Las NN profundas también se han vuelto relevantes para el campo más general del aprendizaje de refuerzo (RL) donde no hay un maestro supervisor (Sec. 6). principalmente superando a los métodos alternativos de aprendizaje automático, como las máquinas kernel (Vapnik, 1995; Scholkopf et al., 1998) en numerosas aplicaciones importantes. De hecho, desde 2009, las NN profundas supervisadas han ganado muchas competiciones internacionales oficiales de reconocimiento de patrones (por ejemplo, Sec. 5.17, 5.19, 5.21, 5.22), logrando los primeros resultados de reconocimiento visual de patrones sobrehumanos en dominios limitados (Sec. 5.19, 2011). Las NN profundas también se han vuelto relevantes para el campo más general del aprendizaje de refuerzo (RL) donde no hay un maestro supervisor (Sec. 6). principalmente superando a los métodos alternativos de aprendizaje automático, como las máquinas kernel (Vapnik, 1995; Scholkopf et al., 1998) en numerosas aplicaciones importantes. De hecho, desde 2009, las NN profundas supervisadas han ganado muchas competiciones internacionales oficiales de reconocimiento de patrones (por ejemplo, Sec. 5.17, 5.19, 5.21, 5.22), logrando los primeros resultados de reconocimiento visual de patrones sobrehumanos en dominios limitados (Sec. 5.19, 2011). Las NN profundas también se han vuelto relevantes para el campo más general del aprendizaje de refuerzo (RL) donde no hay un maestro supervisor (Sec. 6). lograr el primer reconocimiento de patrón visual sobrehumano da como resultado dominios limitados (Sec. 5.19, 2011). Las NN profundas también se han vuelto relevantes para el campo más general del aprendizaje de refuerzo (RL) donde no hay un maestro supervisor (Sec. 6). lograr el primer reconocimiento de patrón visual sobrehumano da como resultado dominios limitados (Sec. 5.19, 2011). Las NN profundas también se han vuelto relevantes para el campo más general del aprendizaje de refuerzo (RL) donde no hay un maestro supervisor (Sec. 6).

Por otro lado, no estoy seguro de que sea necesariamente rentable intentar construir una taxonomía de cubos mutuamente excluyentes para las estrategias de aprendizaje automático. Creo que podemos decir que hay perspectivas desde las cuales los modelos pueden verse como redes neuronales. No creo que esa perspectiva sea necesariamente la mejor o útil en todos los contextos. Por ejemplo, todavía planeo referirme a bosques aleatorios y árboles impulsados ​​por gradientes como "conjuntos de árboles" en lugar de abstraer sus distinciones y llamarlos "árboles de redes neuronales". Además, Schmidhuber distingue las NN de las máquinas del núcleo, a pesar de que las máquinas del núcleo tienen algunas conexiones con las NN, cuando escribe "En el nuevo milenio, las NN profundas finalmente han atraído la atención generalizada, principalmente superando los métodos alternativos de aprendizaje automático, como las máquinas kernel ... en numerosas aplicaciones importantes. "

Sycorax dice reinstalar a Mónica
fuente
Entonces, ¿básicamente todos los modelos y heurísticas conocidos en Machine Learning y Estadística hoy en día serían considerados un ANN por Schmidhuber, con la nomenclatura distintiva simplemente dada por la estrategia de optimización (incluidos los modelos sin optimización aquí)?
Firebug
1
Lo entiendo, desde un punto de vista práctico, pero no cambia el hecho de que prácticamente todos los modelos son, estrictamente hablando, un ANN (no puedo pensar en ningún modelo que no lo sea).
Firebug
2
@Firebug ¿Cómo reformatearía la regresión o (simples k-means y otros) problemas de agrupación, que se entrenan o se colocan en un 'entorno de aprendizaje', de modo que sean iguales a esta definición de ANN?
Sextus Empiricus
1
@Firebug No veo cómo el hecho de que se pueda demostrar que PCA es equivalente a un codificador automático particular hace de PCA "una red neuronal". En PCA estándar ni siquiera estamos usando el descenso de gradiente.
ameba dice Reinstate Monica
1
@Firebug Si define "NN" como "nodos computacionales conectados", entonces supongo que cualquier cálculo es un NN. No estoy seguro de que sea útil, pero está bien.
ameba dice Reinstate Monica
7

Si desea una definición básica de un ANN, podría decir que es un modelo gráfico dirigido, donde las entradas y salidas se procesan en cada nodo a través de una función de activación, y la mayor parte del descenso del gradiente de tiempo se usa para entrenarlo. Entonces, la pregunta realmente es: ¿qué modelos se pueden expresar como modelos gráficos?

No soy un experto, pero creo que, en teoría, se puede demostrar que algunos ANN están completos, lo que significa que deberían poder hacer cualquier conjunto de cálculos posible (con un posible número infinito de recursos, eso sí).

También voy a interpretar su pregunta de la siguiente manera:

Para cualquier modelo dado, ¿puedo juntar un modelo ANN para emular ese modelo, lo más cerca posible y en un tiempo razonable?

Una red neuronal vainilla puede emular un árbol de decisión, mediante el uso de activaciones escalonadas laterales. El problema es que tales activaciones de unidad tienen gradiente cero, por lo que el descenso normal del gradiente no funcionará. Puede decir, "no hay problema, solo use una forma modificada de descenso de gradiente". Sin embargo, eso todavía no es suficiente. Para un mejor ejemplo, tome algo como XGBOOST, que no es solo bosques impulsados ​​por gradientes. Hay mucho trabajo adicional para elegir puntos divididos, podar, optimizar la velocidad, etc. Tal vez después de suficientes modificaciones puedas hacer un ANN de aspecto similar, pero no está del todo claro que tal ANN funcione al menos como bueno, ni si está optimizado para hacer el trabajo.

F(X)=miX

Alex R.
fuente
2
¡Gracias por la respuesta! Con respecto a la pregunta, "For any given model, can I slap together an ANN model to emulate that model, as close as possible, and in a reasonable amount of time?"tengo miedo de decir que ese no es el punto. El punto es que la topología de ANN es tan general que parece cubrir todo, y la estrategia de optimización no parece ser capaz de determinar qué es y qué no es un ANN. Por lo tanto, la pregunta, ¿qué define un ANN? Porque de lo contrario, todo es, en cierto modo, un ANN expresado en otros términos.
Firebug
1
"A vanilla neural network can emulate a decision tree, by using heaviside step-activations. The problem is that such unit activations have zero gradient, so normal gradient descent won't work. You might say, "no problem, just use a modified form of gradient descent." However, that's still not enough. [...]"- Como podríamos afirmar, la optimización no es un factor determinante para la definición de lo que constituye un ANN. Si puede escribir cada árbol de decisión como una red neuronal (y podemos hacerlo), entonces podemos decir con seguridad que los DT son (un tipo de) NN, mientras que lo contrario no es cierto.
Firebug
"If you want a basic definition of an ANN, you might say that it's a directed-graphical-model, where inputs and outputs are processed at each node via an activation function, and most of the time gradient descent is used to train it. So the question really becomes: what models out there can be expressed as graphical models?"- Estoy de acuerdo con ésto. Entonces, "Red neuronal" puede interpretarse como la clase más general de modelos, quizás solo menos general que "Modelos de gráficos", que es un superconjunto de modelos de gráficos no dirigidos y dirigidos. Quizás podría explicar más sobre esto;)
Firebug
2

Quizás, un nombre más exacto para ANNs es "redes diferenciables", es decir, funciones parametrizadas complejas que se pueden optimizar utilizando el descenso de gradiente o su variante. Esta es una definición muy general que enfatiza la diferenciabilidad, pero no dice nada sobre las ideas principales, las tareas para las que es adecuada, el marco matemático subyacente, etc.

Tenga en cuenta que la diferenciabilidad es un rasgo, no necesariamente el principal. Por ejemplo, SVM se puede entrenar usando el descenso de gradiente y, por lo tanto, exhibe propiedades de una red neural / diferenciable, pero la idea principal es la separación de datos usando hiperplanos. El codificador automático variable utiliza MLP para codificador y decodificador, pero la función que optimiza proviene de estadísticas bayesianas, etc.

También hay algunos modelos que a menudo se denominan redes neuronales, pero no usan GD para aprender. Un buen ejemplo es RBM. Mi conjetura es que la etiqueta "red neuronal" se le atribuyó principalmente por razones históricas; eventualmente, el creador de RBM es Geoffrey Hinton, y Hinton es un tipo de red neuronal, ¿verdad? Sin embargo, si analiza el modelo, verá que la estructura de RBM es una función de costo neto basada en energía de Markov, proviene de la física estadística de principios del siglo XX y el muestreo de MCMC / Gibbs se ha desarrollado en paralelo y totalmente independiente de las redes neuronales. .

amigo
fuente
2
El aprendizaje basado en el gradiente ciertamente ha jugado un papel en el éxito de los ANN. Pero no veo la diferenciabilidad como algo esencial para la definición, porque algunos ANN no son diferenciables. Por ejemplo, el primer ANN (modelo McCulloch-Pitts) usó unidades de umbral binarias. Un tema de investigación actual es cómo realizar el aprendizaje en ANN no diferenciables, como redes de púas. O supongamos que comenzamos con un ANN típico y diferenciable, pero luego declaramos que queremos minimizar una función de pérdida no diferenciable. ¿Ya no es un ANN?
usuario20160
Esa es exactamente la razón por la que propuse una definición alternativa que cubre redes de alimentación, recurrentes, recursivas, convolucionales, autoencoders, VAE, GAN, atención y muchos otros modelos que normalmente llamamos "redes neuronales", pero excluye, por ejemplo, enfoques basados ​​en la simulación del cerebro humano. o muestreo extenso sobre PGMs. A partir de 2018, estos enfoques son realmente diferentes, usan diferentes métodos de optimización, diferentes bibliotecas, etc. (Aunque no puedo pensar en un nombre mejor que "red neuronal" para redes de picos, ya que, a diferencia de las CNN o RNN, en realidad simulan humanos cerebro).
amigo
1

Podría intentar postular algunas cosas que ayudan a definir una red neuronal.

  • Un gráfico de cálculo con parámetros ajustables.
  • Dichos parámetros pueden ajustarse para ajustarse a los datos (reales o simulados).
  • Una función objetiva a optimizar está involucrada implícita o explícitamente. Puede ser global o local en los parámetros.

Estoy bastante seguro de que esto cubre todas las redes neuronales de uso común hoy en día y también algunas esotéricas.

Es independiente de la optimización (si impusiéramos una optimización basada en gradiente, las redes evolucionadas no serían redes neuronales).

No menciona neuronas / nodos o capas (algunas redes neuronales hoy en día apenas se describen con estos términos), pero supongo que podríamos incorporar eso y ser un poco más restrictivo.

Firebug
fuente