La pregunta ha sido ligeramente editada desde que se respondió. Completando la pregunta del comentario:
“Actualmente estoy estudiando BS con especialización en informática. Tengo una buena comprensión de los conceptos básicos, tales como estructuras de datos y algoritmos, bases de datos, etc. y soy bueno en programación en general. Necesito un mentor que me guíe y me muestre el camino correcto a seguir (como los temas a leer, o libros, o algunos proyectos y trabajos de investigación) para que pueda progresar en mi carrera en dichos campos. Además, en este momento no tengo dinero para inscribirme en cursos en línea. Así que necesito que alguien me muestre el camino correcto “.
¡No necesitas dinero para hacer cursos en línea! Puede inscribirlos para la versión sin certificación (disponible en edX, Udacity, Coursera) que es gratis para todos. Supongo que tiene al menos una buena conexión a Internet. Es posible que desee seguir las siguientes pautas.
- ¿Cuál es una explicación intuitiva del modelo gráfico de la asignación de Dirichlet latente?
- ¿Cuán relevantes son las redes neuronales atractoras en la investigación actual del aprendizaje automático?
- ¿Qué es el mecanismo de atención en redes neuronales?
- ¿Auto-sklearn es realmente mejor que un clasificador único optimizado por hiperparámetro? ¿Tienes experiencia con esto?
- ¿Podemos aplicar tanto la selección de características como la reducción de dimensionalidad?
Asegúrese de completar primero un curso de Probabilidad y Álgebra Lineal en su universidad de pregrado o mediante cursos disponibles en línea. Estos son muy importantes para comprender los conceptos de aprendizaje automático.
Luego, comience con el Curso de Andrew Ng sobre Machine Learning en Coursera y luego repase su curso de deeplearning.ai. Una vez que haya terminado con ellos, revise los videos CS231 de Stanford disponibles en YouTube (complete al menos las primeras 6–7 conferencias). Hay otros excelentes canales de YouTube que puede seguir, como Siraj Raval, Two Minutes Paper, etc. Estos fueron realmente útiles para mí para desarrollar mi vocabulario de jerga y luego comenzar a desenterrarlos si no entendía.
Después de hacer estos cursos, tendrá la confianza de tener conocimientos básicos de visión por computadora y aprendizaje profundo. Ahora es el momento para que comiences a ensuciarte las manos codificando problemas simples disponibles en Github. (En realidad, puede comenzar a hacer ejercicios simples a medida que avanza con los cursos anteriores) Elija una biblioteca de aprendizaje profundo (PyTorch o TensorFlow) y siga los tutoriales sobre ellos para sentirse cómodo con las funciones / sintaxis. Hay muchos blogs fantásticos para estas bibliotecas disponibles en línea. Primero haría los siguientes ejercicios antes de saltar a algo complicado:
- Construya una red de retroalimentación simple en numpy y escriba su propio código de propagación hacia atrás (solo dos o tres capas completamente conectadas y juegue con regresión logística, SVM, etc.)
- Implemente el ejercicio anterior a través de una biblioteca de aprendizaje profundo.
- Clasificación MNIST / CIFAR-10 por red simple feedforward
- Juega agregando más capas
- Normalización por lotes
- Abandonar
- Use un MNIST / CIFAR-10 pre-entrenado usando Alexnet o VGG-16 y juegue con él por un tiempo: comprenda cómo se creó el código. Modifique ligeramente la red: optimizadores de cambio (RMSProp, ADAM, SGD, etc.), agregue o elimine el aumento de datos y vea cómo cambia el rendimiento
- Si tiene recursos, intente ejecutar el ejercicio anterior desde cero. Deberías estar bien con una computadora decente para MNIST.
- Utilice una arquitectura preformada y ajuste fino (aprendizaje de transferencia) en otro conjunto de datos que pueda encontrar en kaggle o algún otro problema de su interés.
Después de esto, recomiendo auditar o tomar cursos avanzados si están disponibles en su universidad en Machine Learning / Deep Learning / Computer Vision. Si no tiene acceso a dichos cursos, le recomiendo que visite cualquiera de los sitios web de sus universidades favoritas y seleccione el plan de estudios del curso, revise los documentos o lecturas asignados, trate de resolver sus problemas de tarea y siga progresando con el curso como si usted fueron inscritos en ellos. Puede encontrar qué cursos son esenciales aquí La respuesta de Anand Bhattad a ¿Qué cursos debo tomar en la escuela de posgrado para una carrera en aprendizaje automático y visión por computadora más tarde?
Una vez que esté listo con lo básico, haya resuelto algunos problemas con los juguetes y haya terminado con al menos un problema ligeramente avanzado, intente acercarse a las facultades de su universidad si tienen proyectos en curso o si pueden aconsejarlo sobre un proyecto un poco más avanzado. Si no encuentras a nadie bueno en tu universidad, después de haber hecho el ejercicio anterior, debería ayudarte al menos a obtener una pasantía decente en una de las buenas universidades para el verano. Hacer una pasantía y tener una conversación personal (en persona) con alguien experto en el tema siempre es útil y esperamos que encuentres a tu primer mentor que pueda guiarte desde allí.
¡Buena suerte y estoy seguro de que te va bien!
¡Los mejores deseos! 🙂