¿Cómo puedo diseñar una gran red neuronal?

La definición de una gran red neuronal es demasiado abstracta. De hecho, no hay nada llamado una gran red neuronal. Las redes neuronales o nnets dependen de la tarea, por ejemplo, una red neuronal de avance (o más comúnmente un perceptrón multicapa), con 3 capas ocultas y una función de transferencia no lineal debería poder funcionar bien en un problema de clasificación no lineal. Los últimos MLPS profundos (unos con más de 3 capas ocultas) se han utilizado con éxito en el reconocimiento de dígitos MNIST [Ciresan, Schmidhueber], lo que arroja precisiones de reconocimiento muy altas. En el caso de secuencias en las que desearía explotar dependencias temporales, las redes neuronales recurrentes han demostrado ser muy útiles. Todo depende del tipo de enunciado del problema que tenga, y como ya señaló Lucian Sasu, debe conectar y jugar con diferentes combinaciones de parámetros de red como velocidad de aprendizaje, impulso, cantidad de neuronas ocultas. (El sitio web de Deep Learning tiene información sobre cuál debería ser el número de nodos ocultos que utiliza). Además, algunas técnicas de preprocesamiento como el Análisis de componentes de Prinicipal resultan útiles si los datos tienen demasiadas características altamente correlacionadas, antes de pasar los vectores de características a la red neuronal.

Para responder a su pregunta, la mejor manera de comenzar es escuchar las conferencias del curso de aprendizaje automático del profesor Andrew Ng o las conferencias del profesor Hinton en redes (los videos se archivan en el curso). Aparte de eso, debe leer los conceptos básicos de álgebra lineal y estadísticas. Junto con esto, algunos conocimientos de algoritmos de optimización estándar (más específicamente algoritmos de descenso de gradiente) son de gran ayuda. Existen bibliotecas estándar para agregar rápidamente módulos de algoritmos de aprendizaje para habilitar su clasificador de redes neuronales.

El punto más importante, como dije antes, es entender qué tarea desea que haga su red neuronal. Por ejemplo, no querría que una red neuronal profunda aprendiera algo que un perceptrón podría hacer fácilmente.

La pregunta es demasiado amplia, pero permítanme darles algunos consejos para el aprendizaje supervisado:
1. Asegúrese de no equipar / sobreajustar. El curso de aprendizaje automático de Andrew Ng establece muy claramente cómo dibujar algunas curvas de aprendizaje y detectar esas dos situaciones.
2. Tenga en cuenta la estrategia de regularización: puede evitar el sobreajuste imponiendo algunos antes de los pesos. Vea el curso citado de Andrew Ng o la discusión PRML de Bishop sobre la regularización (se realiza en regresión lineal, pero también es válido para redes MLP no lineales). Una forma extrema de regularización ayuda en caso de escaso autoencoder, http://www.stanford.edu/class/ar… .
3. Decide qué arquitectura de red neuronal quieres considerar. Compare, por ejemplo, RBF y MLP. Según el manifiesto de aprendizaje profundo de Yoshua Bengio ( http://www.iro.umontreal.ca/~ben …), los modelos que actúan en el vecindario no aprenden una función que varía rápidamente. MLP utiliza un enfoque distribuido que no parece ser tan sensible a este fenómeno.
4. Tenga en cuenta que, en realidad, hay muchas otras arquitecturas de redes neuronales, como la inspirada en la teoría adaptativa de la resonancia. Entre ellos, la arquitectura original Fuzzy Artmap debe evitarse por problemas con muchas características de entrada, y en su lugar se debe utilizar Gaussian Artmap / Bayesian Artmap.
5. Aunque esto de alguna manera queda fuera de su pregunta: considere el aprendizaje en conjunto, como aumentar, embolsar, conectar en cascada (vea el hermoso ejemplo de Alpadyn sobre la conexión en cascada en Clasificación múltiple por clasificadores en cascada).
6. Considere la elección del modelo de un conjunto de modelos candidatos (por ejemplo, para MLP, considere un número diferente de neuronas ocultas, parámetro de aprendizaje, término de impulso, término de penalización para el lado de regularización). Sin embargo, asegúrese de comprender, como la advertencia de Andrew Ng sobre el peligro de sobreajuste a través de la validación cruzada: http://robotics.stanford.edu/~an

Solo hay una manera. Es difícil y misterioso, pero debe hacerse.

1) Encuentra al Gran Mago Yann LeCun. Sobrevive a tu encuentro y aprende todo lo que puedas.

2) Proceder a las tierras de Geoffrey Hinton, tres veces triunfante. Participar en combate. ¡Pero cuidado! No use argumentos teóricos; solo lo enfurecerán.

Que la luz esté de tu lado.

Comience investigando para comprender lo que ya existe. Por ejemplo, estoy investigando Scheme Memory.

More Interesting

¿Cuáles son algunos de los grandes usos de Google TensorFlow?

¿Cómo puedo seleccionar todos los archivos que se modifican todos con un día de diferencia en un directorio UNIX?

Cómo crear un sistema de predicción de calificación a partir de los comentarios de los revisores para comentarios 360 dados un comentario del revisor y el conjunto de datos de calificación correspondiente

¿Puedo hacer IA y aprendizaje automático sin matemáticas?

¿A qué tipo de problemas del mundo real se aplica el aprendizaje no supervisado?

¿Por qué tenemos que convertir el valor categórico en factor (en R) o variables ficticias antes de aplicar algoritmos de aprendizaje automático (especialmente regresión lineal)? ¿Afecta nuestros resultados?

¿Hay casos en que las ideas del aprendizaje profundo hayan sido útiles para problemas de datos pequeños?

Cómo aprovechar al máximo el libro 'Programación de la inteligencia colectiva'

¿Quiénes son algunos investigadores notables del aprendizaje automático?

¿Hay alguna API o aplicaciones web como Watson?

¿Dónde estará (o podría) estar el Aprendizaje Profundo si la Ley de Moore continúa por otros 10-20 años?

Si la tasa de predicción de un algoritmo de aprendizaje automático mantiene porcentajes bajos (50% a 60%) en un conjunto de datos, ¿cómo puedo mejorar?

Todos estos algoritmos de aprendizaje automático, ¿cuál es el punto? Parece que la elección del algoritmo de aprendizaje automático, el árbol de decisión, la red neuronal, svm, no es tan importante como la selección de características y el proceso de extracción de características que determina lo que entra, basura en basura, ese tipo de cosas.

¿Por qué los pesos hacia adelante y hacia atrás son iguales en la máquina de Boltzmann restringida?

¿El procesamiento del lenguaje natural reemplaza la búsqueda elástica?