Deep Learning es una forma de hacer Machine Learning. Entonces, cuando estás aprendiendo Deep Learning también estás aprendiendo Machine Learning. Para el aprendizaje automático en general y el aprendizaje profundo en particular, necesita algunas habilidades fundamentales. Estos van desde las matemáticas hasta la ingeniería de software y debes aprenderlos en paralelo. Recientemente escribí una respuesta que entra en algunos detalles. Espero que te ayude.
Álgebra Lineal, Probabilidad y Cálculo
Desearía que alguien me hubiera dicho esto en la escuela secundaria. Álgebra lineal, probabilidad y cálculo son las herramientas más importantes para expresar y ejecutar ideas . Enfoque su estudio desde una perspectiva de herramientas. La mejor manera de comenzar es leer la parte 1 del Libro de aprendizaje profundo. Luego, haga que el aprendizaje de Álgebra lineal, Probabilidad y Cálculo sea parte de su experiencia de aprendizaje mediante el consumo continuo de material. Aquí hay algunos recursos más. No hay límite de cuán profundo puedes llegar. Soy un novato y sigo aprendiendo …
- ¿Cuáles son los problemas de Hilbert para la inteligencia artificial?
- ¿Cuál es la principal diferencia entre el aprendizaje por refuerzo y el proceso de decisión de Markov?
- ¿Cuál es la diferencia entre el procesamiento del lenguaje natural y la IA?
- ¿Cuáles son las críticas efectivas, si las hay, del 'Principio de optimismo' de David Deutsch: que todo mal proviene de la falta de conocimiento?
- ¿Hay alguna forma, método o plan para poder controlar una IA superinteligente?
- La esencia del álgebra lineal: Increíble construcción de intuiciones. Simplemente hermoso.
- La esencia del cálculo. Igual que arriba pero para cálculo.
- Notas del curso de Métodos matemáticos para visión artificial, robótica y gráficos. Esto es asombroso. Un poco difícil de digerir y tendrá que referirse a material complementario, pero merece la pena. Recomiendo volver a la Academia Khan para obtener materiales complementarios.
- Métodos matemáticos para ingenieros 1 y 2. Curso MIT sobre matemáticas aplicadas. Algunos métodos relevantes para la IA y otros no.
Ingeniería de software para IA
Alabado sea la gente que decidió usar Python y no cosas como Matlab para compartir conocimientos y técnicas de IA.
- Aprende Python. La mayoría de las bibliotecas de IA y el código de muestra están implementadas en Python. Vengo de un entorno JAVA y este libro me ayudó inmensamente a comprender las formas pitónicas.
- Una vez que se sienta cómodo con lo básico, comience a sentirse cómodo con la programación paralela en Python. Tendrá que usarlo para crear datos de entrenamiento en paralelo o acelerar tareas de cocción de datos mundanos. Este blog te dará un buen comienzo. Encontrarás el maravilloso mundo de GIL :).
- Mejora el uso de NumPy y Scipy. Estas herramientas implementan las matemáticas en las computadoras. Esta introducción de Stanford es un gran comienzo. Un punto sutil es este: NumPy parece haber establecido los estándares sobre cómo se debe pensar en Álgebra lineal en las computadoras. Entonces, los conceptos aprendidos aquí se transfieren a la mayoría de los otros kits de herramientas de IA.
- Elija su kit de herramientas de aprendizaje profundo y sea bueno en eso. Por ejemplo, Tensorflow o Tensorflow + Keras. Muchos para elegir. Los sitios web de estos kits de herramientas están llenos de material de aprendizaje y guías.
- El aprendizaje profundo requiere mucha computación y la mejor manera de resolver esto es mediante el uso de GPU. La mayoría del marco de Deep Learning proporciona una fácil integración con las GPU. Aprenda sobre las GPU y cómo hacen las cosas más rápido. Recomiendo este libro y este curso. Recuerde, no necesita saberlo todo, pero la comodidad con este material lo ayudará a ejecutar sus redes más rápido y a solucionar problemas.
Materiales de aprendizaje profundo
En mi humilde opinión, la progresión de la digestión de materiales es conferencias -> blogs / libros -> documentos. Algunos de mis favoritos
Conferencias
- Redes neuronales para el aprendizaje automático
- Redes neuronales convolucionales para reconocimiento visual
- Aprendizaje profundo para el procesamiento del lenguaje natural
- Oxford CS Deep PNL
- Redes neuronales
Blogs / Libros
- Libro de aprendizaje profundo
- Andrej Karapathy
- Colah
- Sebastian Ruder
- WildML
- Destilar
Papeles
- Gran lista compilada por Terry Taewoong Um
- Crea una cuenta en Arxiv Sanity Preserver y vuelvete loco
Este campo se mueve tan rápido que la mejor manera de “mantenerse informado” es seguir a los líderes del campo. La mejor manera de hacerlo es en las redes sociales. Algunas recomendaciones y muy probablemente las redes sociales que elijas (la mayoría de ellas están activas en Twitter) comenzarán a mostrarte personas más relevantes 🙂
- Andrew Ng
- Yoshua Bengio
- Yann LeCun
- Fie-Fie Li
- Andrej Karpathy
- François Chollet
Infraestructura
Pronto comenzará a desear un poderoso sistema de GPU. Comenzará a prestar más atención a la nueva versión de GPU que a la nueva versión de gadget. Recomiendo construir un equipo de GPU si te tomas en serio la búsqueda de IA y jugar con ella. Las siguientes guías serán útiles
- Una guía completa de hardware para el aprendizaje profundo – Tim Dettmers
- Construyendo su propio cuadro de aprendizaje profundo – Hacia la ciencia de datos – Medio
- GTC 2017