¿Debo construir una gran base en el desarrollo de backend antes de aprender Machine Learning y Deep Learning, ya que la mayoría de las arquitecturas de ML se basan en el backend?

Gran pregunta! En realidad, parece que ya sabes la respuesta, Neo …

Realmente volví a la investigación de la puerta lógica, luego cuestioné la naturaleza misma del binario dado que me habían dicho muchas veces que un problema o problema dado era “no solo blanco y negro”. Por lo tanto, por qué elegí usar visual estímulo en esta respuesta. Nuestro camino hacia la IA es casi como el reverso del viaje de Neo en las películas de Matrix. Entonces, la mayoría del desarrollo comienza, sin rodeos, desde cero. Watson no sucedió de la noche a la mañana, tampoco lo hizo la IA de David Cope. Los primeros algoritmos de ML que quería usar para mi programa actual se escribieron hace casi un año, pero lo que lleva mucho más tiempo es construir el sistema, las redes, el hardware ……. cables, tantos cables.

Uno de mis tíos es arquitecto de bases de datos y me regaló un libro antes de que yo fuera un adolescente:

Debo haber recibido una primera impresión de este libro debido al momento. Para resumir, comencé a trabajar en particiones en ese momento. Luego, trabajé un poco en las transformaciones geométricas y obtuve muchas miradas sucias de mis maestros de matemáticas, aunque obtendría el 100% en sus exámenes y me comportaría mal en clase. Hice videojuegos y luego renuncié porque odiaba dibujar gráficos sin una tableta digitalizadora … en 2001. Finalmente, aprendí qué era una base de datos y qué hacía exactamente mi tío en el día a día. Hoy, no estoy satisfecho con la lógica binaria, así que me expandí a algo más:

Lógica de muchos valores

Aquí está mi héroe:

Entonces, supongo que se podría considerar hacer backend primero, y creo que es el único camino a seguir si usted es serio.

Primero comprendamos Machine Learning (ML) y Deep Learning (DL).

ML es una técnica informática que tiene su origen en la Inteligencia Artificial (IA) y las estadísticas. La IA de alto nivel es una técnica para imitar el comportamiento humano, como extraer conocimiento de los datos, tomar algunas decisiones y sugerir resultados procesables. Simplificando aún más el LD: es un subconjunto de técnicas de IA que utilizan métodos estadísticos para permitir que las máquinas mejoren con las experiencias (datos).

DL es un subconjunto de ML que utiliza un modelo de computación que está muy inspirado en la estructura del cerebro humano que consiste en numerosas unidades funcionales llamadas neuronas. Por eso llamamos a este modelo una red neuronal .

¡Las técnicas ML y DL comienzan con Data! Sin datos, sin ML o DL, tan simple.

Sin embargo, estas técnicas ML y DL dependen en gran medida del procesamiento de datos, y su rendimiento depende de la infraestructura de los sistemas que procesan los datos para producir resultados procesables, preferiblemente a un ritmo más rápido. Existe la necesidad de una base sólida de canalización de datos de fondo que sea robusta, escalable, tolerante a fallas, etc.

Por lo tanto, los sistemas ML, DL y backend son tres pilas distintas y enormes en su propia disciplina. ¡Puedes hacer ML y DL usando datos en MS Excel también! Sin embargo, con el crecimiento de 5 V (volumen, velocidad, variedad, valor y veracidad) de datos e integraciones con una variedad de sistemas de origen de datos, cualquier herramienta tradicional de sistemas de almacenamiento de datos como MS Excel u otros sistemas RDBMS puede convertirse en un cuello de botella para ML o DL rendimiento y su uso. Es por eso que uno debe enfocarse en la infraestructura de datos de back-end o ML y DL. Sin embargo, la comprensión de la infraestructura de datos de back-end ayuda mucho a los programadores de ML y DL. Pero si quieres aprender ML y DL, enfócate primero en ML y DL solamente.

Creo que la respuesta depende de tu aplicación. ¿Quieres crear una aplicación que use ML? ¿O quieres ser una de las personas en Facebook que solo trabaja en aplicaciones ML del lado del servidor? El punto más importante es: si no está trabajando en la aplicación real (o si tiene otras personas trabajando en la aplicación), entonces probablemente no deba preocuparse por un conocimiento profundo del back-end.

La mayoría de ML se ejecutará “en” el back-end, lo que significa que casi nunca interactúa directamente con la interfaz. Pero a menudo tiene mucho sentido ejecutar el ML independientemente del resto de su stack de producción. Esto se debe a que existen lenguajes y bibliotecas excelentes para ejecutar un back-end (NodeJS, PHP, etc.), y lenguajes que son excelentes para ML (C ++, Python), pero hacer ambos en un solo idioma a menudo es más complicado de lo que vale. La solución más común es construir el backend y el código ML por separado, y luego hacer que interactúen a través de subprocesos, sockets o algún otro método.

Probablemente valga la pena su tiempo para obtener un conocimiento general de la arquitectura de back-end: solo puede ayudar cuando se trata de codificación para la producción. Pero definitivamente no diría que necesita una “gran base”, lo suficiente como para saber cómo configurar su código ML para que no cause demasiados dolores de cabeza.

También señalaré que la mayoría de las clases introductorias de ML están basadas en la teoría, por lo que su preocupación no debería ser un problema hasta que llegue al punto de escribir el código de producción.