Estoy realmente interesado en las redes neuronales artificiales, pero estoy buscando un lugar para comenzar.
¿Qué recursos existen y cuál es un buen proyecto inicial?
neural-network
cbrulak
fuente
fuente
Respuestas:
A continuación, se muestran algunos ejemplos de programación Neural Net. http://www.codeproject.com/KB/recipes/neural_dot_net.aspx
puede comenzar a leer aquí: http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html
Yo, por mi parte, he visitado un curso sobre el tema y he trabajado en algo de literatura.
fuente
En primer lugar, renuncie a cualquier idea de que las redes neuronales artificiales tengan algo que ver con el cerebro, sino por una similitud pasajera con las redes de neuronas biológicas. Aprender biología no le ayudará a aplicar de forma eficaz las redes neuronales; aprenderá álgebra lineal, cálculo y teoría de la probabilidad. Como mínimo, debería familiarizarse con la idea de diferenciación básica de funciones, la regla de la cadena, las derivadas parciales (el gradiente, el jacobiano y el hessiano) y comprender la multiplicación y diagonalización de matrices.
Realmente, lo que está haciendo cuando entrena una red es optimizar una función multidimensional grande (minimizando su medida de error con respecto a cada uno de los pesos de la red), por lo que una investigación de técnicas para la optimización numérica no lineal puede resultar instructiva. Este es un problema ampliamente estudiado con una gran base de literatura fuera de las redes neuronales, y hay muchas notas de clase sobre optimización numérica disponibles en la web. Para empezar, la mayoría de la gente usa el descenso de gradiente simple , pero esto puede ser mucho más lento y menos efectivo que los métodos más matizados como
Una vez que tenga las ideas básicas, puede comenzar a experimentar con diferentes funciones de "aplastamiento" en su capa oculta, agregando varios tipos de regularización y varios ajustes para hacer que el aprendizaje sea más rápido. Consulte este documento para obtener una lista completa de las "mejores prácticas".
Uno de los mejores libros sobre el tema es Neural Networks for Pattern Recognition, de Chris Bishop . Es bastante antiguo en esta etapa, pero sigue siendo un recurso excelente y, a menudo, puede encontrar copias usadas en línea por aproximadamente $ 30. El capítulo sobre redes neuronales de su libro más reciente, Reconocimiento de patrones y aprendizaje automático , también es bastante completo. Para obtener un tutorial centrado en la implementación particularmente bueno, vea este en CodeProject.com que implementa un tipo inteligente de red llamada red convolucional, que restringe la conectividad de tal manera que la hace muy buena para aprender a clasificar patrones visuales.
Las máquinas de vectores de soporte y otros métodos del kernel se han vuelto bastante populares porque puede aplicarlos sin saber qué diablos está haciendo y, a menudo, obtiene resultados aceptables. Las redes neuronales, por otro lado, son grandes problemas de optimización que requieren un ajuste cuidadoso, aunque todavía son preferibles para muchos problemas, particularmente problemas a gran escala en dominios como la visión por computadora.
fuente
Recomiendo encarecidamente esta excelente serie de Anoop Madhusudanan en Code Project .
Lo lleva a través de los fundamentos para comprender cómo funcionan de una manera fácil de entender y le muestra cómo usar su
brainnet
biblioteca para crear la suya propia.fuente
Las redes neuronales están algo declasificadas en estos días. Las máquinas de vectores de soporte y los métodos del kernel son mejores para más clases de problemas que la propagación hacia atrás. Las redes neuronales y los algoritmos genéticos capturan la imaginación de las personas que no saben mucho sobre el aprendizaje automático moderno, pero no son lo último en tecnología.
Si desea obtener más información sobre la inteligencia artificial y el aprendizaje automático, le recomiendo leer Inteligencia artificial: un enfoque moderno de Peter Norvig . Es una amplia encuesta de IA y mucha tecnología moderna. También repasa la historia y las técnicas más antiguas, y le dará una base más completa en los conceptos básicos de la inteligencia artificial y el aprendizaje automático.
Sin embargo, las redes neuronales son bastante fáciles. Especialmente si usa un algoritmo genético para determinar los pesos, en lugar de la propagación hacia atrás adecuada.
fuente
Segundo la recomendación de dwf de redes neuronales para el reconocimiento de patrones por Chris Bishop. Aunque, quizás no sea un texto de inicio. Norvig o un tutorial en línea (¡con código en Matlab!) Probablemente sería una introducción más suave.
Un buen proyecto de inicio sería OCR (reconocimiento óptico de caracteres). Puede escanear páginas de texto y alimentar a cada personaje a través de la red para realizar la clasificación. (¡Primero tendría que entrenar la red!).
fuente
El libro de Raúl Rojas es un muy buen comienzo (también es gratis). Además, la 3ª edición del libro de Haykin , aunque de gran volumen, está muy bien explicada.
fuente
Puedo recomendar por dónde no empezar. Compré An Introduction to Neural Networks de Kevin Gurney, que tiene buenas críticas en Amazon y afirma ser una "introducción muy accesible a uno de los temas más importantes de las ciencias cognitivas y de la computación". Personalmente, no recomendaría este libro como comienzo. Solo puedo comprender alrededor del 10%, pero tal vez sea solo yo (el inglés no es mi lengua materna). Voy a buscar otras opciones de este hilo.
fuente
http://www.ai-junkie.com/ann/evolved/nnt1.html es una introducción clara al perceptrón multicapa, aunque no describe el algoritmo de retropropagación
También puede echar un vistazo a generation5.org, que ofrece una gran cantidad de artículos sobre la IA en general y tiene algunos textos excelentes sobre redes neuronales.
fuente
Si no le importa gastar dinero, The Handbook of Brain Theory and Neural Networks es muy bueno. Contiene 287 artículos que cubren la investigación en muchas disciplinas. Comienza con una introducción y teoría y luego destaca las rutas a través de los artículos para cubrir mejor sus intereses.
En cuanto a un primer proyecto, los mapas de Kohonen son interesantes para la categorización : encuentra relaciones ocultas en tu colección de música, construye un robot inteligente o resuelve el premio de Netflix .
fuente
Creo que un buen punto de partida siempre sería Wikipedia . Allí encontrará algunos enlaces útiles a documentaciones y proyectos que también utilizan redes neuronales.
fuente
Dos libros que usé durante mi estudio:
Curso de introducción: Introducción a la Computación neuronal por Igor Aleksander y Helen Morton.
Curso avanzado: Neurocomputación por Robert Hecht-Nielsen
fuente
Encontré Fundamentals of Neural Networks de Fausett como un libro de texto introductorio sencillo y fácil de introducir.
fuente
Encontré que el libro de texto "Inteligencia computacional" es increíblemente útil.
fuente
Programming Collective Intelligence analiza esto en el contexto de los algoritmos de búsqueda y clasificación. Además, en el código disponible aquí (en el capítulo 4), los conceptos discutidos en el libro se ilustran en un ejemplo de Python.
fuente
Estoy de acuerdo con las otras personas que dijeron que estudiar biología no es un buen punto de partida ... porque hay mucha información irrelevante en biología. No es necesario comprender cómo funciona una neurona para recrear su funcionalidad, solo necesita simular sus acciones. Recomiendo "Cómo crear una mente" de Ray Kurzweil: se adentra en el aspecto de la biología que es relevante para los modelos computacionales (crear una neurona simulada mediante la combinación de varias entradas y disparar una vez que se alcanza un umbral), pero ignora las cosas irrelevantes como cómo la neurona suma realmente esas entradas juntas. (Solo usará + y una desigualdad para comparar con un umbral, por ejemplo)
También debo señalar que el libro no trata realmente de 'crear una mente', solo se enfoca en el reconocimiento de patrones jerárquicos / la neocorteza. Creo que se ha hablado del tema general desde la década de 1980, por lo que hay muchos libros más antiguos que probablemente contienen formas ligeramente fechadas de la misma información. He leído documentos antiguos que indican que el sistema de visión, por ejemplo, es un reconocedor de patrones de varias capas. Sostiene que esto se aplica a todo el neocórtex. Además, tome sus 'predicciones' con un grano de sal: sus estimaciones de hardware son probablemente bastante precisas, pero creo que subestima lo complicadas que pueden ser las tareas simples (por ejemplo: conducir un automóvil). Por supuesto, ha visto muchos avances (y ha sido parte de ellos), pero sigo pensando que es demasiado optimista. Hay una gran diferencia entre que un automóvil con IA sea capaz de conducir una milla con éxito el 90% del tiempo, en comparación con el 99,9% + que puede hacer un humano. No espero que ninguna IA esté realmente conduciéndome durante al menos 20 años ... (No cuento los autos de pista de BMW que necesitan ser 'entrenados' en el curso real, ya que en realidad no están jugando igual juego)
Si ya tiene una idea básica de qué es la IA y cómo se puede modelar, es mejor que salte a algo más técnico.
fuente
Si desea aprender rápidamente sobre las aplicaciones de algunos conceptos de redes neuronales en un simulador real, hay un gran libro en línea (ahora wiki) llamado 'Neurociencia cognitiva computacional' en http://grey.colorado.edu/CompCogNeuro/index. php / CCNBook / Main
El libro se usa en las escuelas como un libro de texto y lo lleva a través de muchas áreas diferentes del cerebro, desde las neuronas individuales hasta el funcionamiento ejecutivo de orden superior.
Además, cada sección se aumenta con 'proyectos' de tareas que ya están disponibles para usted. Simplemente descargue, siga los pasos y simule todo lo que se mencionó en el capítulo. El software que utilizan, Emergent, es un poco delicado pero increíblemente robusto: creo que es el producto de más de 10 años de trabajo.
Lo repasé en una clase de pregrado el semestre pasado y fue genial. Lo guía a través de todo paso a paso
fuente