Un gran número de profesionales IT desean capacitarse, y trabajar, en la última tendencia tecnológica, una de éstas es el Deep Learning. Un gran problema al que se enfrenta es la falta de conocimiento para saber por dónde empezar y en qué dirección necesitan centrar su energía,.
La mayoría de los practicantes de Deep Learning temen que los grandes gigantes tecnológicos estén trabajando en algunos algoritmos que automatizarán todo el proceso d y no existiría una oportunidad como ingeniero en Deep Learning. Así que déjame confirmarte una cosa que no va a suceder, no ahora con seguridad. La automatización se está apoderando del lugar, pero aún queda un largo camino por recorrer.
Mientras trabaja en Machine Learning/Deep Learning, no es cómo si solo tuvieras que conocer algunos algoritmos y aplicarlos a los datos que obtendrás. Comenzarás desde la fase de requisitos, es decir, primero identificarás el problema y encontrarás su solución. Una cosa muy importante es que no todos los problemas requieren soluciones de esta tecnología, primero intente analizar el problema y ve si se puede resolver utilizando algoritmos tradicionales, en caso afirmativo, ahorrarás mucha energía y recursos; de lo contrario, puede elegir la solución de Deep Learning.
Aquí hay algunos puntos que te ayudarán a emnpezar con del Deep Learning:
Un lenguaje de programación adecuado para AI/ML/DL
Elegir el lenguaje de programación es la primera tarea que te pone en el camino del Deep Learning. Los lenguajes comunes preferidos para DL son Python y R
Ambos lenguajes tienen sus especialidades, no es que cuando estás usando uno puedas ignorar completamente el otro, tener conocimiento de ambos es la guinda del pastel. Cuando empieces a aprender alguno de estos lenguajes de programación, intenta concentrarte por completo en un lenguaje y, una vez que lo hayas dominado, otro te resultará muy fácil. Intente dominar tantas bibliotecas como pueda, una vez que lo haya hecho, le resultará muy fácil trabajar en proyectos del mundo real.
Problemas a los que te enfrentarás:
Si bien cualquiera comienza a aprender un lenguaje de programación, el principal problema al que se enfrenta es el conocimiento de los recursos que reducirán el proceso de aprendizaje. Una sugerencia importante es no mirar conferencias en video sólo para obtener certificados y disfrutar de tu perfil vinculado, míralos, obtén conocimientos que eventualmente te ayudarán a ser un mejor desarrollador.
Fundamentos de informática y estructuras de datos
Conocer los algoritmos de ML/DL no es suficiente, también necesitarás conocimientos de ingeniería de software como estructuras de datos, ciclo de vida de desarrollo de software, Github, algoritmos (clasificación, búsqueda y optimización).
Cuando trabajas en cualquier proyecto del mundo real, el cliente no necesitaría ningún modelo de Machine Learning, lo que necesitaría es una solución en forma de cualquier Servicio o Aplicación para lo que necesitas tener una comprensión más profunda de estos conceptos.
Problemas a los que te enfrentarás:
La mayoría de los entusiastas de la ciencia de datos piensan que si van a trabajar en el campo de AI/ML/DL, sólo tendrán que aprender un montón de algoritmos que de todos modos obtendrán en algún paquete, y otros conceptos no son tan estructura de datos espacialmente muy importante. Además, cuando trabajes en proyectos, debes cumplir con los plazos, por lo que para entregar los proyectos a los clientes a tiempo, debe tener una comprensión adecuada de SDLC.
Matemáticas para el Machine Learning
Si es ingeniero de software, puede programar fácilmente cualquier solución, pero cuando se trata de ML, debes comprender los conceptos matemáticos y estadísticos que te ayudarán a analizar cualquier algoritmo y ajustarlo según sus necesidades.
Para el entrenamiento y la inferencia, también necesitará tener conocimiento de conceptos como Descenso de gradiente, Matrices de distancia, Media, Mediana y Moda, etc.
Problemas a los que te enfrentarás:
La mayoría piensa la mayoría de los algoritmos ya están implementados y sólo se aplicarán a diferentes campos, ¿por qué aprender conceptos matemáticos? Entonces, como he experimentado cada vez que va a trabajar en cualquier algoritmo de Deep Learning, tendrás que ajustarlo de acuerdo a tu caso de uso y para eso, necesita estos conceptos.
Servicios de implementación y tecnología front-end/U
Cuando tenga lista su solución de ML, debes presentársela a otros en forma de algunos gráficos o visualizaciones porque la persona a la que explicarás podría no tener el conocimiento de estos algoritmos y lo que querría es la solución funcional para su problema. Entonces, lo que puede mejorar este proceso de desarrollo es el conocimiento de cualquier tecnología de interfaz de usuario como Django, Flask y, si es necesario, JavaScript, tu código de ML sería el backend mientras que creará una interfaz para el mismo.
Una vez que la solución completa esté lista, debes implementar esa solución en algún lugar para eso, debe aprender tecnologías como Apache, Wamp, etc.
Problemas a los que te enfrentarás:
Esta tecnología es imprescindible para trabajar en proyectos de Deep Learning, si eres parte de una organización muy grande, hay desarrolladores frontend y backend dedicados, por lo que no te preocupes si trabajas solo en la parte backend pero si eres parte de una organización pequeña. o un equipo pequeño, lo más probable es que tenga que manejar el desarrollo de frontend y backend.
Conocimiento de plataformas de Cloud Computing
A medida que avanzamos en tecnología, la cantidad de datos aumenta enormemente, no puede administrar esos datos en su servidor local, por lo que debe pasar a tecnologías en la nube. Estas plataformas brindan muy buenos servicios, desde la preparación de datos hasta el desarrollo de modelos.
Algunas de estas plataformas informáticas tienen algunas soluciones basadas en aprendizaje profundo que son de última generación. Las plataformas preferidas son AWS y Azure y también puedes probar Google Cloud.
Estas son las tecnologías que uno debe aprender mientras trabaja como ingeniero de aprendizaje profundo, por supuesto, también puede aprender otras tecnologías, pero estas son las imprescindibles.
imagen: @rawpixel.com