Hiciste lo correcto al aprender Python. La mayoría del software de aprendizaje automático y de inteligencia artificial utiliza Python como el lenguaje front-end. Así que felicidades por eso 🙂
Aprender ML / AI se divide en 3 partes. Tendrás que avanzar en los 3 en paralelo. Lo profundo que vayas es totalmente tu elección.
- Computación científica : se trata de hacer cálculos matemáticos en su computadora. Qué software usar, cómo aplicar diferentes operaciones, etc.
- Matemáticas : necesitará fundamentos matemáticos sólidos para comprender, depurar y crear aplicaciones ML. En general, se necesita la teoría de álgebra lineal, cálculo y probabilidad.
- Características específicas del aprendizaje automático : el campo del aprendizaje automático es muy vasto. En estos días, las redes neuronales y el aprendizaje profundo están experimentando mucho éxito en diferentes aplicaciones y proyectos, por lo que es posible que desee elegir eso.
Le recomiendo que haga el curso CS231n: Redes neuronales convolucionales para el reconocimiento visual. Este curso cubre los 3 temas anteriores y no asume muchos conocimientos previos. Al mismo tiempo, no “atonta” las cosas.
- ¿Hasta dónde cree que hemos llegado para lograr la inteligencia artificial?
- ¿Crees que la realidad virtual podría reemplazar a las universidades físicas en la próxima década o 2, con Ai avanzado como profesores?
- ¿Hay algún buen punto de partida de código abierto para escribir una IA para un RTS?
- ¿Por qué hay tantas preocupaciones sobre la inteligencia artificial? Si somos los creadores de estas supermáquinas, ¿no tenemos el control total de ellas?
- Chip-wise es suficiente GPU, ¿o hay otras pilas de hardware que puedan competir?
Si sobrevives a este curso y sigues hambriento por más de su tiempo para cavar más profundo. Respondí una pregunta similar sobre el autoaprendizaje de ML. Lo pegaré aquí para su referencia.
Material fundamental
Matemáticas
Se requerirá álgebra lineal, probabilidad y cálculo. Enfoque su estudio desde una perspectiva de herramientas, es decir, aprenda sobre un tema cuando lo encuentre y sea muy claro sobre por qué ese tema es importante.
- Primera sección del libro Deep Learning. Introducción agradable y amable a los conceptos matemáticos relacionados con el aprendizaje automático.
- Esencia de álgebra lineal y esencia de cálculo. Serie de videos cortos de Youtube que proporcionan una intuición muy hermosa sobre álgebra lineal y cálculo. Por ejemplo, ¿sabía que el determinante describe cómo el espacio es escalado y transformado por una matriz?
- Cálculo hecho fácil por Thompson. Recientemente me topé con este texto (alguien publicó en Twitter) y me enamoré. Da una buena introducción superficial al cálculo.
- Análisis de sistemas de probabilidad MIT y probabilidad aplicada. Va un poco lento para mi gusto pero cubre todos los temas principales.
- Notas del curso de Métodos matemáticos para visión artificial, robótica y gráficos. 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. Miro conferencias selectas cuando estoy revisando algún material.
Ingeniería de software
- 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.
Aprendizaje automático acelerado por GPU
La mayor parte del aprendizaje automático es transformaciones matriciales. Matemáticas matriciales pueden acelerarse masivamente en GPU. Recomiendo explorar GPU para acelerar sus modelos ML.
- A la larga, construir su propia caja de GPU será más barato. Consulte estas guías: Una guía completa de hardware para el aprendizaje profundo: Tim Dettmers y la construcción de su propio cuadro de aprendizaje profundo: hacia la ciencia de datos: medio.
- 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.
- También necesitará aprender un marco basado en GPU. Hay muchos para elegir, como MXNet, Theano, Tensorflow y PyTorch. Todos estos marcos son motores de álgebra lineal. Sus sitios web están llenos de guías y tutoriales. Elige uno y sé bueno en eso.
Materiales específicos de aprendizaje automático
El aprendizaje automático es un campo vasto. Esta sección variará según el tipo de aprendizaje automático que desee realizar. Utilizo las redes neuronales para seguir el aprendizaje automático, por lo que mi descripción se basará en esas técnicas.
En mi humilde opinión, la progresión de la digestión de materiales es conferencias -> blogs / libros -> documentos. Algunos de mis favoritos
Conferencias
- Aprendiendo de los datos.
- Redes neuronales para el aprendizaje automático.
- Redes neuronales convolucionales para el 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
Documentos
- 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
Organizar su material de lectura (opcional)
Intento constantemente optimizar cómo organizo mi material. En un momento había impreso papeles en todas partes. Luego, con iPad Pro y Apple Pencil, “intenté” dejar de usar papel, pero volví. Pero, en el último mes (después del lanzamiento del iPad de 10.5 pulgadas) creo que finalmente encontré un sistema que funciona para mí.
- Utilizo documentos para organizar mis archivos PDF. Puede importar archivos PDF de fuentes como Arxiv.
- Utilizo LiquidText para leer y anotar mis archivos PDF. Lo bueno aquí es que puede abrir archivos PDF desde documentos en LiquidText y cuando haya terminado puede enviarlos de vuelta a documentos con sus anotaciones intactas.
- Uso Google Keep para marcadores sobre la marcha. Luego, cuando tengo algo de tiempo, importo cosas en Papers o LiquidText para futuras lecturas.