21 votos

¿Qué es una red neuronal artificial?

A medida que profundizamos en Redes neuronales en la literatura, llegamos a identificar otros métodos con topologías neuromórficas ("Neural-Network"-like architectures). Y no me refiero a las Teorema de aproximación universal . A continuación se ofrecen algunos ejemplos.

Entonces, me pregunto: ¿cuál es la definición de una Red Neuronal artificial? Su topología parece abarcarlo todo.


Ejemplos:

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

También se hace una identificación común entre modelos lineales (regresión logística en especial) y una Red Neuronal sin capa oculta y con una única capa de salida. Esta identificación abre varias puertas.

¿Series de Fourier y Taylor? RNA . SVM ? ANN. ¿Proceso gaussiano? RNA (con una sola capa oculta con infinitas unidades ocultas).

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

Pero cuanto más escarbamos, más similitudes aparecen. Acabo de tropezar con Árboles de decisión neuronales profundos , que realiza la identificación de una arquitectura específica de RNA con árboles de decisión, permitiendo que éstos sean aprendidos por métodos de RNA (como la retropropagación Gradient Descent). A partir de esto podemos construir Random Forests y Gradient Boosted Decision Trees a partir únicamente de topologías de Redes Neuronales.

Si todo puede expresarse como una Red Neuronal Artificial, ¿qué define a una Red Neuronal Artificial?

10voto

user777 Puntos 10934

Jürgen Schmidhuber, " Aprendizaje profundo en redes neuronales: Una visión general "recorre la historia de los conceptos clave de las redes neuronales y el aprendizaje profundo. En su opinión, las redes neuronales parecen abarcar esencialmente cualquier modelo que pueda caracterizarse como un grafo dirigido en el que cada nodo representa alguna unidad computacional. Schmidhuber es un destacado investigador de redes neuronales y escribió el artículo original sobre las redes LSTM con Sepp Hochreiter.

¿Qué componentes modificables de un sistema de aprendizaje son responsables de su éxito o fracaso? ¿Qué cambios en ellos mejoran el rendimiento? Esto se ha denominado el problema fundamental de la asignación de créditos (Minsky, 1963). Existen métodos generales de asignación de créditos para solucionadores universales de problemas que son óptimos en el tiempo en varios sentidos teóricos (Sec. 6.8). El presente estudio, sin embargo, se centrará en el subcampo del aprendizaje profundo (AD) en redes neuronales artificiales (RN), más limitado pero ahora comercialmente importante.

Una red neuronal (RN) estándar 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 (más detalles en la Sec. 2). Algunas neuronas pueden influir en el entorno desencadenando acciones. El aprendizaje o la asignación de créditos consiste en encontrar pesos que hagan que la NN muestre el comportamiento deseado, como conducir un coche. Dependiendo del problema y de cómo estén conectadas las neuronas, dicho comportamiento puede requerir largas cadenas causales de etapas computacionales (Sec. 3), en las que cada etapa transforma (a menudo de forma no lineal) la activación agregada de la red. El aprendizaje profundo consiste en asignar con precisión el crédito entre muchas de esas etapas.

Los modelos de tipo NN superficial con pocas etapas de este tipo existen desde hace muchas décadas, si no siglos (Sec. 5.1). Los modelos con varias capas sucesivas no lineales de neuronas se remontan al menos a los años 60 (Sec. 5.3) y 70 (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 (LS) basado en el profesor en redes discretas y diferenciables de profundidad arbitraria llamado retropropagación (BP), que se aplicó a las NN en 1981 (Sec. 5.5). Sin embargo, el entrenamiento basado en BP de las NN profundas con muchas capas resultó difícil en la práctica a finales de los 80 (Sec. 5.6) y se convirtió en un tema de investigación explícito a principios de los 90 (Sec. 5.9). El AD se hizo factible en la práctica hasta cierto punto con la ayuda del aprendizaje no supervisado (ANS), por ejemplo, Sec. 5.10 (1991), Sec. 5.15 (2006). En las décadas de 1990 y 2000 también se produjeron muchas mejoras del AD puramente supervisado (Sec. 5). En el nuevo milenio, las NN profundas han atraído por fin una atención generalizada, principalmente al superar a 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 muchos concursos internacionales oficiales de reconocimiento de patrones (por ejemplo, Sec. 5.17, 5.19, 5.21, 5.22), logrando los primeros resultados sobrehumanos de reconocimiento de patrones visuales en dominios limitados (Sec. 5.19, 2011). Las NN profundas también han cobrado relevancia en el ámbito más general del aprendizaje por refuerzo (RL), en el que no existe un maestro supervisor (Sec. 6).

Por otra parte, no estoy seguro de que sea necesariamente rentable intentar construir una taxonomía de categorías mutuamente excluyentes para las estrategias de aprendizaje automático. Creo que podemos decir que hay perspectivas desde las que los modelos pueden verse como redes neuronales. No creo que esa perspectiva sea necesariamente la mejor o útil en todos los contextos. Por ejemplo, sigo pensando en referirme a los bosques aleatorios y a los árboles potenciados por gradiente como "conjuntos de árboles" en lugar de abstraerme de sus distinciones y llamarlos "árboles de redes neuronales". Además, Schmidhuber distingue las NN de las máquinas kernel -aunque las máquinas kernel tienen algunas conexiones con las NN- cuando escribe "En el nuevo milenio, las NN profundas han atraído finalmente una amplia atención, principalmente por superar a métodos alternativos de aprendizaje automático como las máquinas kernel ... en numerosas aplicaciones importantes. "

7voto

Josh Pearce Puntos 2288

Si se quiere una definición básica de una RNA, se puede decir que es un modelo gráfico dirigido, en el que las entradas y salidas se procesan en cada nodo mediante una función de activación, y la mayoría de las veces se utiliza el descenso gradiente para entrenarla. Así que la pregunta es: ¿qué modelos pueden expresarse como modelos gráficos?

No soy un experto pero, creo que teóricamente se puede demostrar que algunas RNA son Turing completas, lo que significa que deberían ser capaces de realizar cualquier conjunto posible de cálculos (con un posible infinito número de recursos).

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

Para un modelo determinado, ¿puedo crear un modelo RNA que lo emule? lo más parecido posible y en un tiempo razonable?

Una red neuronal vainilla puede emular un árbol de decisión, utilizando activaciones escalonadas heaviside. El problema es que tales activaciones unitarias tienen gradiente cero, por lo que el descenso de gradiente normal no funcionará. Usted podría decir, "no hay problema, sólo tiene que utilizar una forma modificada de descenso por gradiente". Sin embargo, eso sigue sin ser suficiente. Para un mejor ejemplo, tomemos algo como XGBOOST, que no es sólo bosques con gradiente. Hay un montón de trabajo extra en la elección de los puntos de división, la poda, la optimización de la velocidad, etc. Quizá con suficientes modificaciones se pueda hacer una RNA de aspecto similar, pero no está nada claro que esa RNA funcione al menos igual de bien, ni si está optimizada para hacer el trabajo.

Creo que es un punto importante, porque aunque teóricamente podría ser satisfactorio concluir que las RNA pueden hacer cualquier cosa, en la práctica esto podría ser completamente inútil. Por ejemplo, se podría intentar hacer una RNA utilizando activaciones ReLu para aproximar $f(x)=e^{x}$ pero eso es una tontería, ya que tienes a tu disposición métodos mucho más eficaces y precisos.

3voto

John Channing Puntos 3264

Tal vez, un nombre más preciso para las RNA sea "redes diferenciables", es decir, funciones parametrizadas complejas que pueden optimizarse mediante el descenso de gradiente o su variante. Se trata de una definición muy general que hace hincapié en la diferenciabilidad, pero no dice nada sobre las ideas principales, las tareas para las que es adecuada, el marco matemático subyacente, etc.

Nótese que la diferenciabilidad es un rasgo, no necesariamente el principal. Por ejemplo, la SVM puede entrenarse utilizando el descenso de gradiente y, por tanto, presenta propiedades de una red neuronal/diferenciable, pero la idea principal está en la separación de datos utilizando hiperplanos. El autoencoder variacional utiliza MLP para el codificador y el decodificador, pero la función que optimiza proviene de la estadística bayesiana, etc.

También hay algunos modelos que suelen denominarse redes neuronales pero que no utilizan GD para el aprendizaje. Un buen ejemplo es RBM. Supongo que la etiqueta "red neuronal" se le puso sobre todo por razones históricas: al fin y al cabo, el creador de RBM es Geoffrey Hinton, y Hinton es un experto en redes neuronales, ¿no? Sin embargo, si analizamos el modelo veremos que la estructura de RBM es una red de Markov, la función de coste basada en la energía procede de la física estadística de principios del siglo XX y el muestreo MCMC/Gibbs se ha ido desarrollando en paralelo y de forma totalmente independiente a las redes neuronales.

1voto

ssn Puntos 472

Podría intentar postular algunas cosas que ayuden a definir una Red Neuronal.

  • Un gráfico de cálculo con parámetros ajustables.
  • Dichos parámetros pueden ajustarse a los datos (reales o simulados).
  • Una función objetivo a optimizar está implicada 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 agnóstico a la optimización (si impusiéramos la optimización basada en gradientes, entonces las redes evolucionadas no serían redes neuronales).

No menciona neuronas/nodos ni capas (algunas redes neuronales actuales apenas se describen con estos términos), pero supongo que podríamos incorporarlo y ser un poco más restrictivos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X