Hola, soy Karan, un estudiante de secundaria que vive en Singapur. Habiendo pasado el último año explorando el campo de la Inteligencia Artificial (IA) y el Aprendizaje Automático (ML), creo que no existe una ruta de aprendizaje en este campo diseñada específicamente para estudiantes de secundaria . Este es mi intento de crear uno.
Desde que comencé mi andadura en esta área, he intentado dedicar un par de horas cada día a comprender todo lo que puedo, ya sea viendo vídeos de Youtube, realizando proyectos personales o simplemente leyendo libros. Me han guiado compañeros mayores que han tenido mucha más experiencia que yo, pero sé que esa orientación no está disponible para todos, así que este es mi intento de transmitir todos los aprendizajes en un documento concreto.
Toda la información que he recopilado en esta guía está destinada a estudiantes de secundaria que deseen sobresalir en este campo emergente. Está destinado a ser seguido cronológicamente y, a diferencia de la mayoría de las guías/rutas de aprendizaje con las que me he encontrado, no requiere una comprensión de álgebra lineal, derivadas parciales y otros conceptos matemáticos complejos que no se pueden encontrar en los programas de estudios de la escuela secundaria. Sin embargo, incluye un curso que cubre los fundamentos de las matemáticas esenciales para el aprendizaje automático, cuyo nivel consideraría comparable al de las matemáticas de la escuela secundaria. Si sigue este camino con regularidad, creo que podría alcanzar un nivel razonablemente competente en unos tres meses. Sin embargo, esta ruta de aprendizaje proporciona contenido que puede mantenerte aprendiendo durante el resto de tu tiempo en la escuela secundaria.
Entonces, vayamos a ello.
Recomiendo encarecidamente Python como punto de partida, ya que es un lenguaje que cumple con la mayoría de los requisitos cuando se trata de ser utilizado en el dominio AI/ML; no solo es extremadamente fácil de aprender, sino que proporciona bibliotecas y marcos para prácticamente todos los algoritmos básicos. conocido en el campo. Si bien R es útil, encuentro que Python es mucho más adecuado para estudiantes de secundaria debido a su legibilidad y facilidad de aprendizaje. Además de la programación básica, para Machine Learning en particular, las bibliotecas más útiles son Numpy, Pandas y Matplotlib.
Para aquellos de ustedes que nunca antes han codificado, les sugiero que asistan a un curso ofrecido por la Universidad de Toronto (una de las mejores universidades para AI/ML en este momento). Le llevará algunas semanas, pero vale la pena su tiempo: la mayor parte del conocimiento que obtenga a través de este curso se puede aplicar a cualquier otro lenguaje de programación, la única diferencia es la sintaxis. El curso es gratuito y se puede encontrar aquí.
Para aquellos de ustedes que tienen experiencia en codificación en un lenguaje además de Python, simplemente lean este tutorial para obtener una comprensión básica de la sintaxis de Python; no debería llevarles más de un día.
El aprendizaje automático y la IA se basan en principios matemáticos como el cálculo, el álgebra lineal, la probabilidad, la estadística y la optimización; muchos profesionales de la IA esperanzados (como yo) encuentran esto desalentador. Este curso sobre edX Essential Math for Machine Learning: Python Edition de Microsoft no está diseñado para convertirte en un matemático. Más bien, su objetivo es ayudarle a aprender algunos conceptos fundamentales esenciales y la notación utilizada para expresarlos. El curso proporciona un enfoque práctico para trabajar con datos y aplicar las técnicas que ha aprendido en entornos de problemas del mundo real. Hay ayuda financiera disponible para quienes la necesitan.
Ahora, una vez que haya aprendido los conceptos básicos de Python, debe comprender las dos bibliotecas fundamentales utilizadas en este campo: Numpy y Pandas, que se utilizan principalmente para la manipulación, representación y almacenamiento de datos. Matplotlib, la tercera biblioteca "central" del área, se utiliza para visualizar estos datos a través de gráficos y diagramas, pero llegaremos a eso más adelante. Estos dos cursos juntos no deberían tomar más de un par de días: Numpy y Pandas.
Con esto en su bolsillo trasero, ahora debería estar configurado en la programación básica necesaria para aprender aprendizaje automático e inteligencia artificial.
Si hay un curso universal para el aprendizaje automático, tiene que ser el de Andrew Ng. Puede parecer un poco desafiante para los estudiantes de secundaria, ya que se refiere a conceptos como derivadas parciales.
pero creo firmemente que comprenderlos no es necesario para obtener conocimientos tangibles del curso. Me resultó particularmente beneficioso volver a ver algunas conferencias en las semanas 3 a 5; estos temas son avanzados, por lo que puede parecer un poco rápido la primera vez que los veas. No se preocupe demasiado si no puede seguir completamente las matemáticas básicas, especialmente con respecto al cálculo; algo de esto ciertamente requiere conocimientos matemáticos de nivel universitario. Es más importante que pueda seguir el proceso de pensamiento que utiliza el Prof. Ng al transmitir sus conocimientos, ya que esto le permite comprender lo que sucede bajo el capó de los procesos de aprendizaje automático.
Le animo a que tome notas durante el curso, ya que escribir lo que aprende ayuda a garantizar que realmente comprende la información transmitida. No es esencial completar los tutoriales y ejercicios de programación, ya que se realizan en Matlab, lo cual (en mi experiencia) puede ser complicado de entender, ya que es un lenguaje basado en matrices. Pero no te preocupes, estaremos haciendo los mismos algoritmos (y mucho más avanzados) en Python en muy poco tiempo.
Este curso gratuito se puede encontrar aquí.
Implementar algoritmos de aprendizaje automático sin el conocimiento matemático de nivel universitario que impulsa los aspectos prácticos de estos algoritmos parece una tarea paradójica; sin embargo, un equipo de Australia se propuso hacer precisamente esto.
Kirill Eremenko y Hadelin de Ponteves, un par de investigadores que forman parte del equipo 'SuperDataScience', son absolutamente fantásticos a la hora de encontrar formas relevantes de aplicar algoritmos simples en la vida real. Además, profundizan lo suficiente para comprender la funcionalidad del algoritmo, pero sin las matemáticas complejas que un estudiante de secundaria no sería capaz de entender. Su curso cubre tanto Python como R, aunque yo no me preocuparía por R en este momento; simplemente siga los tutoriales de Python. Además, si crees que van demasiado lentos, juega este curso a una velocidad de 1,25x (yo lo hice y lo encontré mucho más adecuado para mi aprendizaje).
Su curso está en Udemy y solo se ofrece como versión paga, aunque Udemy ofrece regularmente descuentos del 90% o más en sus cursos. Se puede encontrar aquí y suele costar unos 10 dólares. Cubre todo, desde algoritmos de regresión básicos hasta redes neuronales profundas, la última de las cuales es la arquitectura central utilizada en muchas aplicaciones modernas como ChatGPT y AlphaFold. Si desea explorar áreas aún más avanzadas, su curso de Deep Learning se ofrece al final del Machine Learning con un 90% de descuento.
Si no está dispuesto a pagar por este curso, puede consultar el curso gratuito de aprendizaje profundo de Google aquí o el curso gratuito de la Universidad de Michigan aquí. Sin embargo, en mi opinión, estos están lejos de ser tan completos como los cursos del equipo de SuperDataScience.
Para estos cursos, tomar notas no es una necesidad: hay toneladas de "hojas de trucos de algoritmos" en línea, que ofrecen una rápida intuición sobre cómo funcionan. Este sitio web enumera algunos.
Ahora que ha cubierto una amplia gama de conceptos de aprendizaje automático, es hora de que utilice este conocimiento de forma independiente para completar algunos proyectos. Sugeriría explorar Kaggle y el repositorio de aprendizaje automático de UCI: encontrar un conjunto de datos que le interese y modelar algunas soluciones a los problemas relacionados. Experimente con diferentes algoritmos y trabaje para optimizar el rendimiento.
Asegúrese de que los conjuntos de datos que utilice sean simples y limpios por naturaleza, es decir, no deberían requerir demasiado preprocesamiento o conocimientos específicos del dominio para trabajar con ellos. Algunos conjuntos de datos sencillos que se me ocurren son Iris, Wine, Breast Cancer Wisconsin, Autism Screening, Congress Voting, Handwriting Digits MNIST y Fashion MNIST.
Si alguna vez te encuentras con un obstáculo, Stack Overflow es tu mejor amigo: tiene una respuesta a casi cualquier pregunta que tengas. Si no es así, simplemente publique uno; ¡debería recibir respuestas en un par de horas! No hay mucho más en este paso: cuando descubras que te sientes cómodo con todo el proceso de modelado de atrás hacia adelante, ¡siéntete libre de seguir adelante!
Ahora no sólo debería tener una gran y amplia comprensión de todos los conceptos básicos, sino también la capacidad de aplicarlos a algunos problemas de datos del mundo real. Sin embargo, es importante comprender que estos conceptos básicos no abarcan todo el mundo de ML/AI; más bien, muchos de ellos han sido formas conocidas de abordar estos problemas de datos durante años, pero desafortunadamente solo más recientemente las computadoras fueron lo suficientemente potentes como para aprovechar verdaderamente estos problemas. ellos en un tiempo de ejecución razonable. La mayor parte del trabajo moderno en el área se centra en mejorarlos de diversas formas novedosas y en construir sistemas tangenciales a estos que aprovechen los algoritmos subyacentes pero los mejoren, amplíen y potencien de diversas maneras. Por lo tanto, le sugiero que encuentre un área de interés en el campo más amplio del aprendizaje automático y profundice en ella para adquirir más experiencia con el estado del arte de ese campo tal como está hoy. Probablemente no tendrás tiempo para convertirte en expertos en todas las áreas que describí durante tu estancia en la escuela secundaria, pero intenta conquistar una o dos.
Antes de entrar en estas áreas, recomendaría comprender realmente lo que corresponde: una simple búsqueda en Youtube de una explicación de alto nivel le dará todo lo que necesita. Así que vayamos a ello.
Visión por computadora: esta área se refiere a hacer que las computadoras vean y comprendan cosas utilizando un tipo especial de red neuronal. Stanford publica su curso sobre esto en línea aquí, con conferencias, notas del curso y tareas disponibles en línea. Realice esto, pero no se preocupe si las matemáticas son demasiado complicadas a veces: el curso está destinado principalmente a profundizar sus conocimientos, lo que inevitablemente hará. También puede consultar OpenCV, una biblioteca de visión por computadora que hace muchas de las cosas complejas por usted. Puede encontrar un excelente tutorial aquí. Una vez que haya terminado con esto, mire conjuntos de datos de imágenes más avanzados en Kaggle y UCI, o incluso participe en algunas competencias de Kaggle.
Procesamiento del lenguaje natural: comprender cómo las computadoras aprenden a hablar también es un tema destacado en la actualidad. Una vez más, Stanford ofrece un excelente curso en línea y se puede encontrar aquí. Si no comprende algunos de los conceptos matemáticos, no se preocupe, simplemente comprenda cómo funciona este dominio. Para implementaciones, puede realizar este curso de Udemy. Sin embargo, también puedes ver algunos de los vídeos del conocido Machine Learner Siraj Raval. Una vez que hayas hecho esto, intenta emprender proyectos simples y conocidos, como crear un chatbot, analizar sentimientos o crear la letra de una canción; las búsquedas simples en Youtube te ayudarán. Las aplicaciones más modernas como ChatGPT y Claude se basan en un sistema basado en redes neuronales llamado Large Language Models, que se basan principalmente en la arquitectura Transformer; este curso de Andrew Ng es un buen punto de partida.
Aprendizaje por refuerzo: este dominio se centra en cómo las máquinas aprenden a actuar en un entorno particular y su aplicación más popular es en el campo de los videojuegos. Siraj Raval tiene una lista de reproducción bastante buena sobre esto, que se puede encontrar aquí. Si está buscando tutoriales basados en implementación que utilicen específicamente un paquete de alto nivel como Tensorflow, Denny Britz tiene un sólido conjunto de tutoriales que puede encontrar aquí. El curso UCL de David Silver también es excelente, aunque a los principiantes les puede resultar un poco complicado; se puede encontrar aquí. Una vez que haya terminado con esto, es bastante lógico comenzar a descargar proyectos base o juegos en línea y agregar un elemento de IA para controlar cómo actúan los agentes. Nuevamente se pueden encontrar tutoriales simples mediante una simple búsqueda en Youtube.
Ciencia y análisis de datos: este campo es un dominio en ciernes con toneladas de oportunidades laborales interesantes y se utiliza ampliamente en la mayoría de las corporaciones modernas para obtener información de las cantidades de datos que se recopilan con el fin de informar las decisiones comerciales. Sugiero realizar el curso pago de SuperDataScience o el curso gratuito basado en Python de UC San Diego, aunque puede encontrar rutas de aprendizaje específicas para ciencia de datos con una simple búsqueda en Google. También puede utilizar los siguientes enlaces para aprender SQL y Matplotlib, que son lenguajes tangenciales utilizados para muchos análisis de datos modernos. La ventaja de aprender esto a nivel estudiantil es la empleabilidad: tengo numerosos amigos en la escuela secundaria a quienes se les han ofrecido pasantías en ciencia de datos, ya que las empresas pueden monetizar instantáneamente los conocimientos adquiridos en esta disciplina. La toma de decisiones basada en datos es realmente la única forma de toma de decisiones en el mundo empresarial actual.
También hay áreas como Máquinas de Boltzmann (utilizadas para sistemas de recomendación), Redes Adversas (IA que mejora la IA) y Algoritmos Genéticos (que mejoran una solución a un problema de forma similar a la evolución natural), pero en mi opinión, la combinación de su nicho su aplicabilidad y el requisito de niveles más avanzados de matemáticas los hacen menos deseables como punto de partida. Siéntete libre de explorarlas si tienes una pasión particular por alguna de ellas, aunque tampoco están tan bien documentadas como las otras áreas, lo que puede hacer que dominarlas sea un poco más complicado.
Si desea trabajar en este campo a largo plazo, es fundamental comprenderlo desde una perspectiva más holística; con esto me refiero a aprender sobre descubrimientos innovadores, el discurso sobre cómo deben aplicarse y sus implicaciones generales en la sociedad. Debería comenzar a hacer las cosas enumeradas en esta sección tan pronto como tenga la comprensión necesaria de cómo funciona la tecnología; creo que un buen punto de partida es comenzar la Sección 4 de esta ruta de aprendizaje. Es posible que este tipo de información no ayude específicamente a implementar algoritmos para problemas de datos, pero para una tecnología que es tan integral para el mundo actual, realmente ayuda a dar forma a una comprensión más sólida de su papel, su verdadero potencial y sus límites.
Hay algunas cosas que un estudiante de secundaria puede hacer para profundizar su comprensión general del campo y adquirir más conocimientos:
Comience a leer artículos de investigación: me gustaría enfatizar que estos realmente no son tan desafiantes como parecen. Si bien las matemáticas que gobiernan las técnicas modernas pueden ser muy avanzadas, simplemente estar expuesto a lo que sucede en las primeras líneas de la industria nunca es algo malo. Si alguna vez te encuentras con uno que no entiendes, simplemente déjalo; hay alternativas más que suficientes para mantenerte ocupado. Este sitio web ofrece una gran cantidad de excelentes artículos para empezar, aunque después de terminarlos, ofrece una lista más larga; simplemente lea los que le interesen o estén relacionados con su área de "especialidad" en la Sección 5. Es útil mantener un pequeño diario de aprendizajes de cada artículo. Si no puede comprender realmente muchos de estos artículos de investigación, intente leer esta guía que escribí y que proporciona desgloses más digeribles de algunas innovaciones recientes. Este canal de Youtube también tiene una gran cantidad de explicaciones introductorias de los artículos, cada una cubierta en solo dos minutos.
Siga a los pioneros: personas como Andrew Ng, Ian Goodfellow y Yann LeCunn son entrevistadas periódicamente, lo que brinda la perspectiva de los "fundadores" de lo que hoy conocemos como IA y ML. Este canal de Youtube reúne lo mejor de estas charlas y las compila en un recurso central: mire una por noche y le garantizo que se sentirá como un experto en unas semanas.
Manténgase actualizado en el campo: Wired es una de las mejores plataformas para cualquier persona interesada en la tecnología. Publica varias historias relacionadas con la IA todos los días (¿aunque no lo hace todo el mundo hoy en día?), que se pueden encontrar aquí. Es una forma rápida y atractiva de comprender las tendencias de la época. Alternativamente, suscríbase al bot de Facebook Messenger de TechCrunch: a menudo tiene artículos interesantes relacionados con la IA y le brinda información todos los días.
Comprenda las implicaciones: no hay mejor manera de hacer esto que escuchando charlas TED. Sus oradores tienen un gran conocimiento en el campo y hay un énfasis cada vez mayor en la IA en sus discursos. Puede encontrar una colección de vídeos aquí.
La Filosofía: La IA tiene sus partidarios y sus opositores. La filosofía detrás de esto, sin embargo, es intrigante. Mis libros favoritos que exploran esta área y que son adecuados para estudiantes de secundaria incluyen 'Cómo crear una mente' de Ray Kurzweil y 'Vida 3.0' de Max Tegmark. Pruébelos. Examinan la trayectoria a más largo plazo de la IA, que puede no parecer tan relevante en el día a día, pero ayuda a comprender el contexto más amplio de la tecnología en su conjunto.
Contribuir: si usted es el tipo de persona a la que le gusta aprender de la experiencia de los demás, consulte vías de discurso como este grupo de Facebook, donde la gente publica periódicamente artículos y artículos interesantes relacionados con los avances en el área. Alternativamente, para conversaciones más informales, consulte subreddits sobre IA como este.
Profundiza en las matemáticas: Sí, necesitas conocimientos básicos de matemáticas de nivel universitario para esto, pero si eres un buen estudiante de matemáticas, no hay nada que te impida tomar algunos cursos en línea. Microsoft tiene un curso gratuito del que he oído hablar bien y que sólo requiere matemáticas de nivel secundario. Este hilo de Quora también tiene excelentes recursos que deberías consultar. 3Blue1Brown también es un nombre famoso en la comunidad, ya que sus videos de Youtube son fantásticos para aprender las matemáticas (principalmente álgebra lineal y cálculo) detrás de algunos de los conceptos más complicados.
He escuchado a demasiadas personas decirme que aprender aprendizaje automático e inteligencia artificial es demasiado difícil para un estudiante de secundaria como para no escribir esto; con un camino de aprendizaje bien pavimentado, cualquiera puede estudiarlo. Y con eso, les deseo a todos la mejor de las suertes en este camino de aprendizaje.
Si tiene adiciones o posibles mejoras a esta guía, no dude en realizar un PR en este repositorio. Y para comentarios, colaboraciones o simplemente consultas generales, no dudes en escribirme a [email protected].