¿Cómo aprende y consigue un trabajo en inteligencia artificial / aprendizaje automático / computación en la nube? ¿Puede una persona con experiencia en TI (otras tecnologías / marcos) conseguir un trabajo en esas áreas?

En una palabra : si tiene pasión por hacer (aprender desde cero), nada (experiencia laboral actual no relacionada) lo detendrá.

Cada día más personas se interesan en el aprendizaje automático. De hecho, sería difícil encontrar un campo que genere más expectación en estos días que este. Dicho esto, una cosa es interesarse en el Aprendizaje automático, otra cosa es comenzar a trabajar en el campo.

Para comenzar, hay dos cosas muy importantes que debes entender si estás considerando una carrera como ingeniero de Machine Learning. Primero, no es un rol académico “puro”. No necesariamente tiene que tener una investigación o antecedentes académicos. En segundo lugar, no es suficiente tener experiencia en ingeniería de software o ciencia de datos. Lo ideal es que necesites ambos.

También es fundamental comprender las diferencias entre un analista de datos y un ingeniero de aprendizaje automático. En la forma más simple, la distinción clave tiene que ver con el objetivo final. Como analista de datos, está analizando datos para contar una historia y producir ideas procesables.

Como ingeniero de Machine Learning, por otro lado, su “salida” final es software de trabajo (no los análisis o visualizaciones que puede tener que crear en el camino), y su “audiencia” para esta salida a menudo consiste en otros componentes de software que funcionan de forma autónoma con una mínima supervisión humana.

Ser ingeniero de Machine Learning requiere comprender todo el ecosistema para el que está diseñando. Ahora, entremos en los detalles reales de lo que se necesita para ser un ingeniero de Machine Learning. Si dividimos esto en dos secciones principales: Resumen de habilidades, idiomas y bibliotecas.

Habilidades principales necesarias:

  1. Fundamentos y programación de la informática : estructuras de datos (pilas, colas, matrices multidimensionales, árboles, gráficos, etc.), algoritmos (búsqueda, clasificación, optimización, programación dinámica, etc.), computabilidad y complejidad (P vs. NP, Problemas NP-completos, notación big-O, algoritmos aproximados, etc.) y arquitectura de la computadora (memoria, caché, ancho de banda, puntos muertos, procesamiento distribuido, etc.).
  2. Probabilidad y estadística : una caracterización formal de la probabilidad (probabilidad condicional, regla de Bayes, probabilidad, independencia, etc.) y las técnicas derivadas de ella (redes de Bayes, procesos de decisión de Markov, modelos ocultos de Markov, etc.) están en el corazón de muchas máquinas Algoritmos de aprendizaje.
  3. Modelado y evaluación de datos: el modelado de datos es el proceso de estimar la estructura subyacente de un conjunto de datos dado, con el objetivo de encontrar patrones útiles (correlaciones, grupos, vectores propios, etc.) y / o predecir propiedades de instancias nunca antes vistas (clasificación, regresión) , detección de anomalías, etc.). Una parte clave de este proceso de estimación es evaluar continuamente qué tan bueno es un modelo dado.
  4. Aplicación de algoritmos y bibliotecas de aprendizaje automático: las implementaciones estándar de algoritmos de aprendizaje automático están ampliamente disponibles a través de bibliotecas / paquetes / API (por ejemplo, scikit-learn, Theano, Spark MLlib, H2O, TensorFlow, Caffe, Torch, etc.), pero aplicarlas de manera efectiva implica elegir un modelo adecuado (árbol de decisión, vecino más cercano, red neuronal, máquina de vectores de soporte, conjunto de modelos múltiples, etc.), un procedimiento de aprendizaje para ajustar los datos (regresión lineal, descenso de gradiente, algoritmos genéticos, embolsado, refuerzo y otro modelo -específicos), así como comprender cómo los hiperparámetros afectan el aprendizaje. También debe tener en cuenta las ventajas y desventajas relativas de los diferentes enfoques, y las numerosas trampas que pueden hacer que se tropiece (sesgo y varianza, sobreajuste y falta de ajuste, datos faltantes, pérdida de datos, etc.). Los desafíos de la ciencia de datos y el aprendizaje automático, como los de Kaggle, son una excelente manera de exponerse a diferentes tipos de problemas y sus matices.
  5. Ingeniería de software y diseño de sistemas : al final del día, la salida o entrega típica de un ingeniero de Machine Learning es software. Y a menudo es un componente pequeño que encaja en un ecosistema más grande de productos y servicios. Debe comprender cómo funcionan estas diferentes piezas, comunicarse con ellas (mediante llamadas a la biblioteca, API REST, consultas de bases de datos, etc.) y crear interfaces apropiadas para su componente de las que dependerán otros. Puede ser necesario un diseño cuidadoso del sistema para evitar cuellos de botella y permitir que sus algoritmos se escalen bien con el aumento de los volúmenes de datos. Las mejores prácticas de ingeniería de software (incluidos el análisis de requisitos, el diseño del sistema, la modularidad, el control de versiones, las pruebas, la documentación, etc.) son invaluables para la productividad, la colaboración, la calidad y el mantenimiento.

Los trabajos relacionados con el aprendizaje automático están creciendo rápidamente a medida que las empresas intentan aprovechar al máximo las tecnologías emergentes. La tabla a continuación muestra la importancia relativa de las habilidades básicas para estos tipos generales de roles, con un rol típico de Analista de datos para la comparación.

El mundo está cambiando indudablemente de manera rápida y dramática, y la demanda de ingenieros de Machine Learning seguirá aumentando exponencialmente. Los desafíos del mundo son complejos y requerirán sistemas complejos para resolverlos. Los ingenieros de Machine Learning están construyendo estos sistemas. Si este es SU futuro, entonces no hay tiempo como el presente para comenzar a dominar las habilidades y desarrollar la mentalidad que necesitará para tener éxito.

Buena suerte.

En 2016, Google dio a las empresas la capacidad de construir modelos de aprendizaje automático utilizando su plataforma en la nube. La guía completa de TechRepublic explica cómo funciona y por qué es importante.

Los grandes avances en inteligencia artificial (IA), especialmente en el subconjunto del aprendizaje automático, han superado las expectativas en los últimos años. En enero de 2016, por ejemplo, DeepMind de Google creó AlphaGo, que venció al antiguo juego chino Go 10 años antes de que los expertos predijeran que lo haría.

Estos importantes logros han impulsado a las empresas a aprovechar las herramientas de aprendizaje automático para la empresa que pueden respaldar su uso de datos. En lugar de depender de la programación, los algoritmos de aprendizaje automático pueden “enseñar” a los sistemas informáticos a identificar patrones y hacer predicciones basadas en conjuntos de datos masivos.

En septiembre de 2016, Google denominó oficialmente sus tecnologías en la nube para la empresa Google Cloud, y ofreció una serie de nuevas tecnologías en la nube y herramientas de aprendizaje automático como parte del paquete.

Entonces, ¿por qué es importante construir una plataforma de aprendizaje automático para la empresa? Esta guía completa explora la tecnología detrás y las implicaciones comerciales de Google Cloud Machine Learning.

Puede aprender aquí Inteligencia artificial, Aprendizaje automático, Ciencia de datos y Búsqueda de empleo sobre estas habilidades

More Interesting

¿Tendré problemas para encontrar pasantías de ingeniería de software a finales de mis 20 años?

Soy un último año BE estudiante de informática. Pero estoy muy interesado en los automóviles. ¿Qué tengo que hacer?

¿Cuál es la mejor manera de dejar una empresa de software explotador?

¿Qué más aparte de la codificación puedo hacer, si no soy un buen programador siendo un estudiante de ciencias de la computación?

Como recién graduado en ciencias de la computación, ¿debo agregar a mi currículum los muchos trabajos de restaurante que he tenido?

¿Puede alguien sin experiencia en informática convertirse en experto en aprendizaje profundo?

¿Puedo ingresar al programa de doctorado en informática o ser muy bueno en informática si solo tengo un coeficiente intelectual de 120?

¿Cuáles son algunas formas en que puede usar un título en informática?

¿La informática tiene una buena carrera?

¿Qué tan útil es la experiencia laboral en redes y sistemas operativos para MS en CS con enfoque en sistemas distribuidos y computación paralela?

Mi compañero de clase no tiene experiencia en programación antes de la universidad, pero recibió una oferta de pasante de Google por solo 1 año de estudio, ¿cómo podría ser esto posible?

Tengo 40 años, actualmente vivo bien y quiero entrar en programación o ciencias de la computación (actualmente en cumplimiento normativo). Necesito mantener a mi familia, por lo que dejar todo y volver a la escuela no es una opción. Ideas?

¿Qué dirección debería elegir, matemática aplicada o informática, si quisiera convertirme en un investigador de doctorado en IA, robótica o visión por computadora?

¿Qué tipo de trabajos te ayudan a programar los bootcamps? ¿Vale la pena el dinero para alguien que busca un cambio de carrera con alguna experiencia básica en programación?

¿Sería imprudente tomar mi primer rol de desarrollador junior con un equipo que usa Smalltalk?