Mi amigo, que es ingeniero de aprendizaje automático, dijo que ML no es nada especial y que todos pueden hacerlo con suficientes datos de capacitación, ¿verdad?

Tu amigo tiene razón, pero en realidad no.

Tiene razón en el sentido de que el aprendizaje automático es solo una técnica como cualquier otra. No es magia Los ingenieros de aprendizaje automático no son magos, ni unicornios, ni alguna raza especial de genios. Somos ingenieros normales y es una ocupación normal como cualquier otra.

Sin embargo, lo que hacemos no es fácil. Al igual que con otras ocupaciones especializadas, se requiere un amplio conocimiento y experiencia para hacer un trabajo real en esta área. Entonces no diría que todos pueden hacerlo. No todos están dispuestos a hacer el esfuerzo necesario para alcanzar un nivel profesional de experiencia.

La industria del aprendizaje automático adolece de expectativas mal administradas. Algunas personas piensan que lo que hacemos es magia que solo puede ser realizada por unicornios. Otros piensan que es súper fácil siempre que tenga las herramientas adecuadas. La verdad obviamente está en algún punto intermedio.

¡Oh demonios! Tu amigo es uno de los que ha estado usando ML como una caja negra. ¡Y me da miedo decir que tiene razón! 😉

Pero, ahí yace el problema también. Afortunadamente, tenemos muchos datos, pero la mayoría de ellos son ruidos para un propósito u otro. ¿Cómo se define, suficiente? ¿Cuál es la proporción perfecta de datos de entrenamiento para una tarea en particular?

Pero, la mayoría de los investigadores que conozco no usan ML solo como una caja negra, sino que aprenden las matemáticas detrás de ella. Aprender las matemáticas detrás de ML te hará lo suficientemente flexible para trabajar en diferentes algoritmos de ML y reconocer qué y por qué usar un cierto algoritmo para una tarea en particular.

La diversión en ML radica en las exquisiteces dentro del modelo. Cómo un texto se convierte en una forma vectorial y el vector con otras características (si las hay) se alimentan al algoritmo. Ahora, qué forma de vector usar para representar el texto vendrá con evaluaciones y jugando con las matemáticas.

Conclusión:

Aunque no hay nada especial para muchos, ya que hay muchos otros que están construyendo herramientas y haciendo que sea más fácil para otros usarlo como un cuadro negro simplemente ingresando los datos en el formato de entrada correcto. 🙂

Depende. Se necesita mucha capacitación, pero los requisitos matemáticos y de programación son tales que la mayoría de los licenciados en STEM probablemente podrían aprenderlo lo suficiente como para entender lo que están haciendo y aplicar los algoritmos correctamente (probablemente 10-20% de la población general tiene la capacidad de aprender todo lo que se necesita: cálculo, estadística, álgebra lineal, informática. Para comprenderlo lo suficientemente bien como para jugar con los algoritmos e investigar en el campo, generalmente necesita cursos de matemáticas de nivel superior (análisis real, topología) o ciencias de la computación teóricas (propiedades del algoritmo …). Esto limita el número de personas que pueden obtener un título de posgrado y comprender el material lo suficientemente bien como para publicar (o tomar una posición de I + D en la industria); Supongo que entre el 5 y el 10% de la población general tendría la capacidad y el interés / la ambición de embarcarse en estudios de posgrado en el área, así como la capacidad de escribir resultados de una manera que tenga sentido.

Supongo que se trata de muchas más personas de las que podría obtener un doctorado en otra área de matemáticas / estadística o informática teórica. El umbral inicial más bajo para trabajar en el aprendizaje automático aplicado / ciencia de datos permite el acceso a más personas que una especialización en matemáticas o física.

El truco para ser bueno en este campo es la combinación de habilidades (matemáticas, informática, programación, conocimiento de dominio, visualización y habilidades de presentación). Hay menos personas que pueden hacer todo esto lo suficientemente bien que quienes son capaces de hacerlo bien en uno o dos de ellos. Eso tiende a limitar el número de personas altamente calificadas en el campo de la estimación inicial del 10-20% de la población.

Casi todos pueden nadar, montar a caballo, correr un maratón, con suficiente entrenamiento. Las matemáticas no son especiales, al igual que la física, la química o cualquier otra cosa, pero son herramientas importantes y útiles para comprender el funcionamiento del universo que nos rodea.

Sin embargo, para un nadador, un jinete y un maratonista, esos rasgos no son difíciles (aunque son especiales) porque él / ella ya lo sabe. Pero para ese especialista, escalar el monte. El Everest puede ser difícil. Dependiendo de a quién le pida consejo, la definición de ‘ser especial’ y ‘difícil’ cambia.

Te recomendaría, pregúntate, ¿es “especial” para ti aprender ML o es solo porque otros lo dicen? ¿Agregaría valor al aprender ML a su carrera, conocimiento o intereses? En caso afirmativo, hágalo, conviértase en un experto y dígale a ese novato que “no es nada especial, puede aprenderlo con suficiente capacitación”

Puede que también le guste leer esto: la respuesta de Shehroz Khan a ¿Cómo aprendo el aprendizaje automático?

Hay una serie de bibliotecas de aprendizaje automático disponibles, a las que se puede alimentar el conjunto de datos dado y el modelo se puede construir con solo una llamada API. Si eso es suficiente, sí, no hay nada difícil aquí. Puedo darle los datos y pedirle que use llamar a una biblioteca existente y construir el modelo.

Pero, la mayoría de las veces esto no será suficiente. Deberá ensuciarse las manos y alterar los métodos disponibles. A veces, necesitaría combinar dos o más enfoques o seguir experimentando hasta obtener un modelo satisfactorio. Ahora piense en desarrollar algoritmos desde cero. Esto necesita un conocimiento intenso tanto teórica como matemáticamente.

Aún si. Esto no es imposible. Cualquiera puede hacer eso, dado que está dispuesto a pasar suficiente tiempo profundizando en las ideas teóricas y matemáticas detrás de los algoritmos.

En resumen, si solo desea utilizar las bibliotecas existentes, los datos de capacitación son todo lo que necesita. Pero si quieres ser un ingeniero de ML en su sentido real, obtener los datos de entrenamiento es solo el último y último paso.

Sí, él tiene razón. Es como cualquier cosa Con suficiente instrucción, cualquier humano puede aprender a hacer cualquier cosa.

El aprendizaje automático es en realidad bastante simple, aunque a los empollones matemáticos les gustaría que MIRAR sea mucho más complicado de lo que es.

Las matemáticas ahuyentan a los usuarios ocasionales, porque parece una ciencia esotérica de cohetes. Pero estoy seguro de que si tuviéramos videos animados en 3D que explicaran cosas como la regresión lineal y el descenso de gradiente en términos visuales / laicos, la mayoría de la gente diría “wtf, ¿eso es todo?”.

Realmente no es nada especial o incluso difícil. Si ya eres programador, es un paseo por el parque.

Sin embargo, si no lo eres, Y tampoco eres del tipo analítico. Entonces puedes luchar. Pero en su mayor parte … es fácil para las personas que ya se inclinan en esa dirección (analítica, lógica, etc.)

Es tentador pensar que sí, pero puede revelar algunos malentendidos.

Primero, ¿qué es suficiente?

¿Estudiar no es nada especial? solo necesitas una memoria lo suficientemente buena.
¿El negocio no es nada especial? solo necesitas suficiente dinero.
¿Es especial la criptografía? solo necesita suficiente potencia informática para descifrar el código.

Pero la vida real es hacer lo que tienes. No “y si tuviera suficiente”. Si tienes suficiente, hazlo mejor. Es como preguntarse cuánta RAM es suficiente en una computadora. Corrimos una computadora con solo megabytes de RAM (y mucho menos). ¿Fue suficiente? En ese momento sí, seguro, entonces alguien logra usarlo para hacer algo mejor. Entonces ya no era suficiente. El progreso siempre está haciendo todo lo posible para tener más y crear todo lo que podamos a partir de él. En otras palabras, nada es suficiente.

Entonces, ¿qué tipo de resultado quieres?

Ah, sí, puedes leer un documento, implementarlo o incluso usar una biblioteca para replicar su resultado. En este caso, todos pueden hacerlo, porque simplemente no hiciste prácticamente nada. Es posible que necesite ajustar los parámetros, adaptar el modelo y comprender lo que sucede debajo del capó para tomar medidas relevantes. Es posible que deba hacer algún experimento y seguir de alguna manera un proceso científico.

La cuestión es que puedes tener un éxito satisfactorio sin hacer mucho. En algunos casos es cierto, y es algo bastante bueno, ¿verdad? Ahora, decir que ML en su conjunto solo depende de los datos de entrenamiento es una tontería. ¿El investigador de ML solo está creando conjuntos de datos? No lo creo.

Aún así, estoy de acuerdo en que el aprendizaje automático no es nada especial . Seguro. Y todos pueden hacerlo, dada la educación adecuada, la motivación y el trabajo, supongo que sí.

Entonces, ¿por qué no darle datos y pedirle que resuelva algo?

El hecho es que se necesitan datos, a pesar de tener datos, el componente crítico es saber qué algoritmo se utilizará para qué propósito. Una vez identificado, lo que en sí mismo toma mucho tiempo y muchas iteraciones para obtener el resultado deseado. No es fácil hacer esto, ya que involucra matemáticas, programación y muchos otros aspectos para resolverlo.

Puede que no sea nada especial, pero es una tarea desafiante.

Tu no entiende las herramientas que está usando. Se basan en conceptos matemáticos complejos y estadísticas. El algoritmo de aprendizaje puede inspirarse en la biología, la evolución y otras ramas científicas.

El aprendizaje automático no es fácil, pero algunos de nosotros estamos tratando de hacerlo más accesible. Además, lo que está sucediendo en la industria no es equivalente al último avance en investigación. Mira en Google Scholar …

Patricia

Tiene razón en un punto de vista muy estrecho. Sin embargo, esta afirmación no es válida en un sentido amplio.

Veamos lo que hacemos en ML. En la práctica, uno puede jugar con algoritmos ML en un conjunto de datos particular. Sin embargo, esto puede o no darle un modelo exitoso. Si tiene suerte, entonces probablemente estará feliz y gritará diciendo “sí, lo logré”. Sin embargo, ¿es cierto que ha logrado los siguientes puntos?

  1. Quizás había una mejor manera en términos de recursos computacionales y precisión.
  2. ¿Está seguro de que su modelo no se sobreajusta? Del mismo modo, su modelo podría ser exitoso por suerte. Sin embargo, no se generaliza bien para los próximos datos.
  3. Tal vez había una mejor manera de dividir y equilibrar su conjunto de datos para una mejor generalización.
  4. ¿Qué pasa con la maldición de la dimensionalidad? Tal vez un menor número de atributos traería una mejor precisión y recuperación.
  5. Por último, los hiperparámetros. Por ejemplo, SVM es un buen ejemplo que requiere comprender bien la naturaleza de los tipos de datos y kernel. Si aplica un núcleo incorrecto, es obvio que el éxito del modelo creado disminuirá. En este punto, la importancia del ajuste de hiperparámetros adquiere importancia.

En resumen, aunque las aplicaciones / kits de herramientas para ML facilitaron la creación de modelos, el núcleo de ML sigue siendo un arte que necesita al menos algunos antecedentes teóricos. Sin ese antecedente, obtener una visión correcta es muy difícil y aumentará la cantidad de errores.

Si uno se ha entrenado en el fondo de ML, acercarse a un buen modelo de ML es de alguna manera similar a desaparecer fácilmente en un punto de apoyo, de modo que la optimización SGD lo hace. De lo contrario, puede tomar mucho más tiempo elegir un método correcto y ajustarlo correctamente (también necesita suerte)

Para ser sincero, me sentí especial cuando aprendí a conducir una bicicleta. Ahora, después de 20 años, lo encuentro tan simple / natural.

Del mismo modo, no creo que ML sea mágico. Pero sí creo que enseñar máquinas para aprender es:

  • un problema no trivial
  • dados los datos de entrenamiento finito y la hipótesis infinita para elegir, ¿tenemos alguna garantía de que una máquina elegirá de manera confiable la hipótesis que sea aproximadamente correcta? (por ejemplo, y = 2.1 x, y = 2.5 x, y = -1.5 x son solo 3 hipótesis o modelos diferentes de los infinitos posibles que un modelo lineal simple puede aprender)
  • incluso con datos infinitos, algunos conceptos no se pueden aprender, por ejemplo, un límite de forma libre en dos dimensiones
  • Tiene un potencial real para resolver algunos problemas cruciales en la vida, por ejemplo, atención médica
  • no había sido probado / aplicado a esta escala y alcance antes
  • Es fácil alimentar algunos datos en un algoritmo de ML y obtener resultados que a veces parecen decentes. Eso es definitivamente cierto.

    Estas son las cosas en las que un novato podría cometer errores. Y lo he visto toneladas de veces, y no importa la cantidad de datos que tengan:

    1. tener una evaluación demasiado optimista de la calidad del algoritmo. Le dirán que su clasificador funciona con un 90% de precisión. Luego, cuando se aplica en realidad, es del 60%.
    2. Su modelo tiene una precisión de entrenamiento moderada; Un tipo experimentado puede entrar y trabajar en él durante 2 horas y, de repente, tiene una gran precisión.
    3. La modelo tarda una eternidad en entrenar. O no se entrena en absoluto. Entra un tipo con experiencia, de repente se entrena rápidamente.
    4. algún algoritmo simplemente “no funciona”. ML amigo hace que funcione fácilmente.

    El principal problema con ML es que, a diferencia de la programación, cuando algo está roto, aún podría funcionar. O algo funciona perfectamente correctamente, pero parece roto. Y se necesita experiencia para saber que eso es lo que está sucediendo, y poder resolverlo y depurarlo.

    Para todos los ejemplos anteriores, la mayoría de la gente no sabría que algo anda mal. Solo pensarían

    1. yay tengo 90% de precisión!
    2. ¡Supongo que el 68% de precisión es lo mejor que puede hacer este algoritmo!
    3. ¡Supongo que este algoritmo solo toma 3 días para entrenar!
    4. ¡Supongo que los modelos lineales simplemente no funcionan en este problema!

    Como no hay un “error” obvio, probablemente continuarán creyendo que están haciendo un gran trabajo y no tienen idea de que están trabajando con algoritmos cobardes.

    Pensando que hicieron un trabajo asesino porque le dieron 10 millones de muestras.

    Pero no es necesariamente así.

    Estoy de acuerdo con tu amigo hasta cierto punto. En mi opinión, el aprendizaje automático es un tipo de

    metaestadísticas. En las estadísticas tradicionales creamos un modelo para describir la distribución de datos. Se supone que los datos históricos y los datos futuros obedecen a la misma distribución de datos, por lo que podríamos usarlos para hacer predicciones. Por ejemplo, la temperatura promedio de los últimos 10 años de mayo en Beijing es de 23 ℃, podemos suponer la temperatura promedio de mayo de este año. Entonces, ¿cuál es la diferencia exactamente entre ml y estadísticas? Bueno, eso depende de la conciencia. En las estadísticas tradicionales, conocemos todos los detalles del modelo, sabemos cómo se distribuyen los datos, sabemos el significado de cada parámetro y cómo afectarán el resultado, que eran matemáticas. Sin embargo,

    en ml, también utilizamos métodos de estadísticas, pero el modelo es demasiado complejo que para los seres humanos es difícil describir la distribución de datos, decir qué parámetro hace qué contribución al resultado final, cuál es su relevancia y cuál es el significado . Es una caja negra, sabemos que generará la respuesta correcta, pero no tenemos mucha idea acerca de cómo funciona esta máquina. Al igual que le preguntas a una persona, “¿Qué tiempo hace hoy?”, A quién le importa.

    Es en parte cierto.

    Si desea crear su nuevo algoritmo ML, o escribir su programa desde cero, eso requiere mucho estudio y esfuerzo para lograrlo.

    Si solo usa algunas bibliotecas para trabajar, use ML, entonces es un poco más fácil. Todo lo que necesita saber es cómo funciona ML y cómo escribir programas, como Python.

    Más fácil, hay un producto llamado DataRobot, que todo lo que necesita es información de capacitación para usarlo. Simplemente puede cargar datos en DataRobot y obtendrá un modelo entrenado. DataRobot, sin embargo, es bastante costoso.

    https://www.datarobot.com/

    De todos modos, todos pueden usar ML, solo si pueden estudiar o invertir.

    Aquí están los pasos necesarios para entrenar un modelo ML,

    1. Identificar un problema (1 hora)
    2. Encuentre el algoritmo correcto para resolver el problema (1–2 días)
    3. Obtenga los datos de entrenamiento correctos (toma el 95% de su tiempo)
    4. Escriba el código o use los modelos ML existentes en línea (1–3 días)
    5. Introducirlo en el algoritmo y entrenar al modelo (1 hora)

    Si su objetivo es programar un modelo de ML simple usando Amazon, entonces le tomará menos de 2 horas: https://console.aws.amazon.com/m

    Pero si desea predecir el mercado de valores o los modelos complejos, debería llevarle una eternidad, ya que los pasos 2 y 3 son la parte más compleja del aprendizaje automático.

    Depende de lo que estés haciendo. Si desea utilizar un clasificador o bibliotecas precompiladas para abordar ingenuamente una tarea simple, esto puede no ser especialmente difícil.

    Pero los problemas interesantes generalmente no son tan obvios. Desarrollar un nuevo algoritmo interesante es difícil. Aplicar un algoritmo existente a un problema difícil también es difícil. El análisis de errores puede ser difícil. La evaluación puede ser extremadamente difícil.

    He dicho en otra parte que creo que las grandes ideas en el aprendizaje automático a menudo se explican de manera innecesariamente complicada, pero sería un error decir que hacer algo interesante no es difícil.

    Sí y no. Sí, ya que puede hacerlo cualquier persona dispuesta a abordarlo adecuadamente, y no, ya que el solo hecho de ser un buen programador no es lo suficientemente bueno.

    Debe entenderse que el aprendizaje automático es un enfoque para resolver los mismos problemas. Para ser específicos, es un enfoque matemático para resolver problemas. Siempre está tratando de formar una solución como:

    Salida = función (entrada)

    Dependiendo de qué campo provenga, debe desaprender mucho y aceptar este enfoque. Debe tener claro el problema en cuestión como un problema matemático y estar en condiciones de elegir la herramienta ML adecuada para resolverlo (modelar la función). Una vez que te sientas cómodo con esto, es fácil.

    Hay bibliotecas disponibles para todas estas soluciones. Es cierto que, con suficientes datos de entrenamiento, puede resolver cualquier problema, pero también es cierto que la mayoría de los problemas no vienen con muchos datos de entrenamiento y aún tiene la carga de decidir qué herramienta de ML aplicar a su problema. E incluso después de haber tomado esa decisión. la mayor parte del trabajo todavía se basa en la prueba y el error para ajustar su modelo para obtener el mejor rendimiento, que es donde espera pasar la mayor parte de su tiempo.

    Tu amigo es, probablemente, solo siendo modesto.

    ML es una herramienta. Dado un conjunto de datos, la experiencia no reside en la herramienta, sino en la forma en que se utiliza esa herramienta para explorar, comprender y extraer el valor de esos datos. Cualquiera puede aprender las diversas herramientas de ML, pero se necesita talento y experiencia para comprender cómo usar las herramientas para obtener el máximo valor de los datos.

    Lo es, si lo miras desde una vista muy estrecha. Por supuesto, realmente necesita pensar en los costos de obtener más ejemplos de capacitación, cómo un modelo que requiere menos ejemplos de capacitación podría tener un mejor valor que uno que obtuviera muchos ejemplos, incluso si las métricas de precisión no son tan buenas, ¿cómo maneje ejemplos incompletos (por ejemplo, puede determinar que una característica sexual es importante pero a menudo nula porque la información se recopiló de personas que confunden su necesidad de esos datos con su identidad de género) y cómo debe equilibrar la precisión y la precisión.