Si solo quieres mi consejo sobre cómo aprender ML, salta al resumen al final.
En realidad no seleccioné el proyecto de localización del tumor pulmonar. Para cualquiera que no sepa cuál es ese proyecto, puede encontrar una breve sinopsis en mi perfil en “investigación actual”. Básicamente me asignaron como parte del programa de Doctorado Enriquecido de la National Science Foundation. [1] Los profesores en el proyecto usan MATLAB principalmente, así que tuve que hacer casi todo en MATLAB.
Estaba trabajando en métodos más tradicionales y descubrí que simplemente no eran suficientes. Pasaré por alto por qué no fueron suficientes para evitar que tus ojos vuelvan a la cabeza por aburrimiento.
- ¿Qué es el generador Deep Dream?
- ¿Por qué el preentrenamiento no supervisado actúa como un regularizador en arquitecturas profundas?
- Cómo aprender un campo aleatorio condicional
- ¿Cuál es la fortaleza y la debilidad del departamento de CS de Caltech, especialmente en el área de Machine Learning?
- ¿Qué tipos de carreras hay para los ingenieros informáticos que se concentran en la inteligencia artificial y la máquina?
Necesitaba algo capaz de extraer patrones en la anatomía individual del paciente. Había escuchado el término “Aprendizaje automático“, pero realmente no sabía qué era, así que comencé a explorar. Como regla general, cuando aprendo algo nuevo, quiero obtener una visión general rápida de todo el campo, así que cuando no sé algo, al menos sé dónde buscar. Es por eso que vi el curso Coursera de Andrew Ng . Tenía un fondo sólido de matemáticas y un horario ocupado al día siguiente, así que lo vi a una velocidad 2x durante todo el camino. Definitivamente recomiendo el curso, pero no recomendaría verlo a una velocidad 2x a menos que esté absolutamente seguro de que no mencionará ninguna matemática con la que no esté 100% cómodo.
Esa noche, realicé un prototipo de algunos algoritmos básicos en MATLAB para la reconstrucción y encontré exactamente lo que esperaba … todos tenían demasiado sesgo. Decidí que necesitaba una red neuronal. Así que descargué MatConvNet y comencé a construir un modelo. Me equivoqué mucho , recorrí muchos caminos equivocados, leí papeles que resultaron no ser relevantes en absoluto. Eso es lo que más me enseñó. Cada vez que quería probar una idea, tenía que implementarla, ver qué salía mal y descubrir cómo solucionarla. Eso significó mucha lectura, experimentación y desmayo en mi computadora a las 6 AM.
- Experimenté con diferentes métodos de preprocesamiento.
- Tomar la magnitud del gradiente fue increíblemente útil, pero dificultó la generalización. El gradiente es sensible al ruido, por lo que su uso hace que el sistema sea menos robusto con datos reales.
- Descubrí que la agrupación era perjudicial porque no podía permitirme perder la información espacial.
- Me di cuenta de que las redes convolucionales no eran realmente útiles en comparación con las NN estándar porque las diferentes partes de la imagen eran muy diferentes.
- La imagen era demasiado grande y el NN tendría demasiados parámetros, así que lo dividí en parches.
- Tuve que implementar un nuevo tipo de regularización porque mis datos de prueba son muy diferentes de mis datos de entrenamiento.
Montones y montones de caminos falsos. Ninguno de ellos ayudará a terminar esta investigación, pero aprendí algo de todos ellos y eso me ayudó a responder preguntas sobre Quora y me ayudará inmensamente en proyectos futuros.
Aprendí mucho leyendo respuestas en Quora y también escribiéndolas.
En cuanto a lo que haré a continuación, tengo algunos problemas de investigación teórica más que quiero ver en mi perfil y hay otros que no están en la lista también. Más allá de eso, no estoy seguro …
La guía de tres pasos de Conner Davis para aprender ML
Descargo de responsabilidad: esto es lo que hice y funcionó muy bien para mí, pero no tengo muchas bases para comparar y no tengo idea de si funcionará para usted.
- Mira el curso Coursera de Andrew Ng y haz todos los ejercicios.
- Siéntase libre de agregar otro curso o dos que haya escuchado que fue bueno, pero no pase todo el tiempo viendo videos. ¡Construir cosas!
- Elija un proyecto que esté fuera de su alcance.
- Termina ese proyecto.
- Tomará un tiempo Me ha llevado meses llegar tan lejos en mi proyecto. Con lo que sé ahora, podría llegar tan lejos en una semana (y la mayor parte de ese tiempo lo pasaría esperando a que las redes entrenen).
- Implemente cada idea que tenga, no importa lo difícil que parezca.
- Asegúrese de poder explicar por qué funcionó o no funcionó. Eso significa analizar los resultados cuidadosamente. Si no puede resolverlo, investigue más.
En el camino, leerá documentos, respuestas de Quora, artículos de Wikipedia y mucha documentación. Aprenderá mucho mientras obtiene resultados tangibles.
Notas al pie
[1] Entrenamiento Doctoral Enriquecido en Ciencias Matemáticas