Red de conocimiento informático - Conocimiento sistemático - ¿Qué conceptos básicos necesitas dominar para aprender el aprendizaje profundo?

¿Qué conceptos básicos necesitas dominar para aprender el aprendizaje profundo?

Acerca de los conceptos básicos de programación

¿Puedo aprender el lenguaje Java pero no C/C/Python? O aprendí C/C/Python, pero nunca lo apliqué en la práctica, o la base no es buena. ¿Puedo aprenderlo? ¿Hay algún tutorial de aprendizaje de Python que recomendaría? ¿Puedo aprender C/Python si tengo una base débil?

La respuesta está absolutamente bien.

Seguiremos la escritura del código real y brindaremos orientación paso a paso. En los campos de la ciencia de datos, big data y aprendizaje automático (aprendizaje profundo), Python se considera el lenguaje de programación de scripts más conciso y sencillo y se usa ampliamente en los campos de la investigación científica y la ingeniería. Por lo tanto, este curso también se centrará en Python. lenguaje de programación en sí y seguir la programación Práctica práctica, explicación paso a paso durante el proceso de programación con todos.

De hecho, el lenguaje de programación Java también se usa ampliamente en los campos del procesamiento de big data y el aprendizaje automático. Para las partes del curso que involucran código de ingeniería real, mostraremos y explicaremos C y Java. versiones juntas. Dado que este no es un curso que enseña lenguajes de programación, sino que se centra más en escribir aplicaciones prácticas, el umbral para las características del lenguaje de programación es bajo.

Este curso se centra en el procesamiento en tiempo real de datos masivos y en la arquitectura y programación de redes neuronales profundas. Los lenguajes de programación no serán el cuello de botella. Además, todos seguirán al profesor para escribir código de aprendizaje automático y familiarizarse con la programación en Python. De hecho, esto será muy útil para el desarrollo y el trabajo personal en el futuro.

En la segunda mitad del curso, utilizaremos los programas experimentales escritos en la primera mitad del curso para convertirlos en códigos y productos reales de grado industrial, lo que implicará la escritura de C/C. y código Java. Dado que Java es muy similar a C en su estructura básica orientada a objetos, esto tampoco debería ser un problema.

Como se explicó anteriormente, también mostraremos la versión Java de la implementación de la aplicación de alto nivel. Al final, los estudiantes encontrarán que, aunque estos códigos se implementan en diferentes lenguajes de programación, son más o menos iguales sin mucha diferencia. Además, ante dudas sobre lenguajes de programación, el profesor también partirá del código más básico y explicará cada fragmento de código importante con el mayor detalle posible.

Todo el curso no solo explicará la teoría de lo más superficial a lo más profundo, sino que también se explicará la programación práctica desde la parte más básica (incluida la parte del lenguaje). Espero que esto pueda disipar las dudas de los estudiantes. Al estudiar este curso, no solo tendrá una comprensión integral de todo el aprendizaje automático, el aprendizaje profundo y el procesamiento distribuido de big data en tiempo real, sino que también mejorará enormemente en la práctica de ingeniería muy práctica, la búsqueda de empleo y el desarrollo profesional en el futuro. .

Si tienes una base en otros lenguajes, pero no tienes una base en C++ y Python, aún puedes aprenderlos. Los idiomas son solo herramientas. Puedes aprender un nuevo lenguaje muy rápidamente, especialmente Python, que es muy simple y puede llevar más tiempo aprender C. Sin embargo, este curso también proporcionará explicaciones detalladas del código escrito en la sesión de práctica de ingeniería, para garantizar que las preocupaciones de todos sobre este aspecto se eliminen en la medida de lo posible.

¿Este curso requiere una base de big data?

La respuesta es no.

Este curso no solo explicará las teorías, algoritmos y prácticas de ingeniería clásicas en el campo del aprendizaje automático, sino que también tendrá la característica principal de explicar el procesamiento distribuido de alto rendimiento de big data o aprendizaje masivo. Y la colisión jugará un papel aún más poderoso en el desarrollo y la planificación de la carrera futura de todos. Esto es difícil de reflejar en otros cursos, y también es una de las características principales de este curso.

El profesor de este curso tiene muchos años de experiencia en computación en la nube y procesamiento distribuido en tiempo real. También ha escrito libros relevantes y marcos de procesamiento de big data de código abierto. Explicará el aprendizaje automático y las redes neuronales profundas que permiten a los estudiantes aprender y dominar de manera integral varios puntos clave en este campo.

Acerca de los fundamentos de las matemáticas

Algunos estudiantes tienen una base en matemáticas, pero carecen del lenguaje de programación C/Python, algunos estudiantes no tienen una base en matemáticas, ¿pueden aprenderlo? ? ¿Qué nivel de base matemática se requiere? ¿Hay algún material que recomendarías si quieres estudiar con antelación?

Respuesta: En primer lugar, aprender este curso no requiere una base matemática particularmente avanzada. Solo necesita dominar matemáticas avanzadas, álgebra lineal, teoría de la probabilidad y otros cursos estudiados a nivel universitario.

Aunque desde la perspectiva de la aplicación:

Si desea estudiar el aprendizaje profundo en profundidad, como implementar una red de diferentes estructuras usted mismo, es mejor poder utilizarlo con habilidad. Matrices para diseñar las capas y parámetros de la red. Herramientas relacionadas en teoría, pero creo que si su planificación de carrera no es un ingeniero de algoritmos, generalmente no profundizará en este nivel.

En correspondencia con los diferentes campos de aplicación, también se requieren diferentes herramientas matemáticas, como campos relacionados con el reconocimiento de imágenes y señales, pero esta ya es una aplicación complicada. Los problemas no están dentro del alcance de la enseñanza de este curso. El campo de aplicación de este curso aún es relativamente simple.

De hecho, si eres estudiante de ingeniería, descubrirás que la parte más difícil de aprender matemáticas es no entender qué problemas pueden ayudarnos a resolver estas herramientas matemáticas, porque la mayoría de los profesores universitarios son estudiantes de matemáticas. No explicar problemas matemáticos desde la perspectiva de las respectivas carreras de los estudiantes. Pero cuando sepa lo que necesita hacer con las herramientas matemáticas y tenga un objetivo claro, encontrará que su motivación y capacidad de aprendizaje tendrán un gran avance y no encontrará aburridos estos conocimientos matemáticos. Por lo tanto, incluso si su base matemática es relativamente débil, si tiene un propósito claro y complementa este conocimiento matemático, creo que los estudiantes podrán resolver este problema por sí mismos. Las matemáticas definitivamente no son un obstáculo para aprender este curso, pero si quieres convertirlo en una carrera, es indispensable sentar una buena base en matemáticas.

Finalmente, si eres estudiante de matemáticas, o eres un estudiante que cree que eres bueno en matemáticas, no tienes que preocuparte por no saber 1 o 2 idiomas, porque el lenguaje informático es solo una herramienta. y lo más importante es entrenar tu propio pensamiento, cuyo núcleo son las matemáticas y los algoritmos. Si eres bueno en matemáticas, aprender estos idiomas es rápido y en este curso no se aplicarán características gramaticales especiales, excepto el desarrollo final en C.

Pero, por otro lado, no ignores la importancia de aprender bien estas herramientas. Solo espero que los estudiantes puedan sopesarlas ellos mismos. Para los estudiantes que son buenos en matemáticas, quizás el malentendido más fatal es que debido a que la base de las computadoras son las matemáticas, no es ningún problema utilizar completamente el pensamiento matemático para resolver problemas informáticos. Todo lo que puedo decir aquí es que las computadoras tienen sus propios patrones de pensamiento. Incluso si son problemas algorítmicos basados ​​​​en principios matemáticos, los estudiantes de matemáticas deben aprender a reconocer esta diferencia en el pensamiento y aprender a utilizar el pensamiento informático para resolver problemas, y el aprendizaje automático es un representante típico del pensamiento informático. detalle en el curso.

En cuanto a la base matemática requerida, definitivamente espero que los estudiantes puedan aprender los conocimientos relevantes de cálculo, álgebra lineal y teoría de probabilidad en matemáticas avanzadas. Para los estudiantes sin experiencia práctica en programación, se recomienda estudiar matemáticas discretas. en profundidad (Independientemente de si eres bueno en matemáticas). Esa es toda la base matemática requerida para este curso.

Haga clic para ingresar la descripción de la imagen

Acerca del contenido

¿Cuál es la relación entre el aprendizaje profundo y el aprendizaje automático? Muchos estudiantes piensan que primero deberían aprender el aprendizaje automático y luego el aprendizaje profundo.

Respuesta: El aprendizaje automático es definitivamente la base del aprendizaje profundo, porque el aprendizaje profundo es una red neuronal profunda y la red neuronal artificial es un modelo clásico de aprendizaje automático. Sin embargo, debemos darnos cuenta de que el campo del aprendizaje automático contiene demasiados algoritmos y modelos, por lo que si desea especializarse en aprendizaje profundo, no necesariamente necesita aprender muchos otros algoritmos y teorías de aprendizaje automático. Por lo tanto, organizaremos contenido relacionado con el aprendizaje automático en el curso, que es solo el conocimiento básico necesario relacionado con el aprendizaje automático y el aprendizaje profundo.

Pero si desea convertirse en un ingeniero de algoritmos en el futuro, también es esencial aprender y familiarizarse con otros modelos de aprendizaje automático. Sin embargo, este curso no tiene todos los requisitos necesarios. El conocimiento del aprendizaje automático se explicará en detalle en la primera mitad del curso.

¿Necesitas aprender tanto el marco Caffe como el marco TensorFlow?

Respuesta: En primer lugar, este curso utiliza principalmente Caffe, pero también explicará el uso básico de TensorFlow y ofrecerá una demostración sencilla. En nuestro trabajo diario, encontramos que TensorFlow es actualmente el marco de aprendizaje automático más poderoso y cuenta con el apoyo de Google y la comunidad más grande. Siempre que haya un nuevo modelo, habrá una implementación de TensorFlow que se puede usar (beneficio). sobre el diseño arquitectónico de TensorFlow). TensorFlow es una excelente opción para experimentos rápidos.

Sin embargo, también descubrimos que TensorFlow tiene dos problemas importantes. El primer problema es que la eficiencia de ejecución de una sola máquina de TensorFlow es baja, especialmente en comparación con Caffe. Hay una cierta cantidad de datos, es imposible admitir un clúster que pueda ejecutar rápidamente el entrenamiento de TensorFlow. En este momento, Caffe y sus diversas modificaciones suelen ser una mejor opción, pero los escenarios experimentales de nuestro trabajo diario están limitados por esto. por eso preferimos el uso práctico de Caffe.

El segundo problema es que TensorFlow es demasiado grande. Cuando realmente desarrollamos SDK de productos, esperamos que los modelos entrenados se puedan usar directamente en los productos, por lo que los marcos de aprendizaje profundo utilizados en la capacitación y los SDK de productos suelen ser los mismos. iguales. O se pueden convertir entre sí. Sin embargo, TensorFlow es demasiado grande y complejo y requiere el uso de herramientas de construcción especializadas. En la integración de aplicaciones de productos reales, a menudo se utilizan y modifican herramientas y marcos que se pueden controlar por completo. La complejidad de TensorFlow va en contra de este requisito. Por supuesto, también puede ser que nuestros escenarios de trabajo y limitaciones de personal nos impidan tener la mano de obra para realizar una investigación, adaptación y mantenimiento en profundidad de TensorFlow. Es por eso que utilizamos Caffe en nuestros productos.

Haga clic para ingresar la descripción de la imagen

Acerca del empleo

Después de estudiar el curso y dominar esta habilidad, ¿puedo encontrar un trabajo que coincida? ?

¡La respuesta es definitivamente sí!

Sin embargo, practicar más es la única manera de convertirse en un experto en un campo determinado. Una de las funciones más importantes de este curso es permitirle saber qué aprender, así como las ideas para aprender. , así como experiencia práctica en ingeniería y métodos arquitectónicos de grandes empresas que suelen ser de difícil acceso, que serán de gran ayuda para los estudiantes en su futuro laboral y desarrollo profesional.

Al estudiar este curso, se le pueden asignar los siguientes puestos:

Este puesto real suele ser el de ingeniero de algoritmos en muchas empresas.

Análisis y procesamiento de big data Puestos en el campo

Ingenieros de desarrollo de aplicaciones o plataformas de computación en la nube

Ingenieros de I+D de aplicaciones o plataformas de aprendizaje automático o aprendizaje profundo

Ingenieros en el departamento de ingeniería de algoritmos En general, habrá dos tipos de personas (excluidos los puestos superiores, como los jefes de departamento):

El primer tipo son aquellos que dominan más el uso de 1 a 2 lenguajes (como Python, Java o C), tienen buenas habilidades matemáticas y están familiarizados con el aprendizaje automático. Para aquellos que trabajan en aprendizaje profundo, su tarea es optimizar continuamente el modelo de aprendizaje automático, realizar capacitación y pruebas, ajustar parámetros, etc. En este proceso, también Necesito escribir bastantes guiones para ayudarlos a resolver varios problemas. Finalmente, para poder escribir código de producto real, no es necesario tener muy buenas ideas de arquitectura e diseño. La clave es poder implementar de manera eficiente un determinado algoritmo.

El primer tipo son personas que tienen buenas habilidades de programación y básicamente pueden comprender el aprendizaje automático y el aprendizaje profundo. Su tarea suele ser encapsular y mejorar los módulos funcionales implementados por el primer tipo de personas, desde el tiempo y el espacio. y la implementación del módulo de mejora de la calidad del código, y es responsable de mantener un SDK de algoritmo completo. Este tipo de SDK a menudo requiere actualizaciones iterativas rápidas y un proceso completo de capacitación y prueba. Requiere que los desarrolladores tengan sólidas capacidades de ingeniería y arquitectura. .

En cuanto a las cuestiones laborales, los estudiantes no deberían preocuparse en absoluto, especialmente ahora que muchas empresas con inteligencia artificial como núcleo están experimentando un crecimiento explosivo, y las empresas de TI tradicionales se están moviendo cada vez más hacia los campos del procesamiento masivo de datos. aprendizaje automático y aprendizaje profundo, existe una gran demanda de este tipo de ingenieros.

¿Las grandes empresas o las pequeñas empresas necesitan este tipo de puestos? ¿Cuál es el salario de un ingeniero de aprendizaje automático?

Hoy en día existen tanto grandes como pequeñas empresas, especialmente empresas centradas en la inteligencia artificial. En cuanto al puesto de trabajo, los estudiantes no deberían preocuparse en absoluto, especialmente ahora que muchas empresas con inteligencia artificial como núcleo están experimentando un crecimiento explosivo, y las empresas de TI tradicionales están aumentando continuamente su inversión en los campos del procesamiento masivo de datos, el aprendizaje automático y el aprendizaje profundo. aprendizaje. La necesidad de tales ingenieros La demanda es enorme.

En cuanto a salario y beneficios, la demanda y brecha para este tipo de puestos es muy grande en la actualidad y en el futuro creo que después de completar este curso, los estudiantes estarán más familiarizados con ellos. carreras.La experiencia práctica y laboral en este campo puede conducir a niveles salariales superiores al mercado.

Si quieres dominar rápidamente diversas habilidades profesionales y no quedarte atrás en esta era de la inteligencia artificial, este es definitivamente un curso que no puedes ignorar. Si su base de aprendizaje automático es muy débil, nunca ha utilizado el aprendizaje automático en la práctica de ingeniería y no tiene experiencia en el procesamiento de datos en tiempo real, entonces esto es todo.

Le daremos un código de descuento FCXTG3BGYX por valor de 200 yuanes para este curso, que solo se puede usar 10 veces

Haga clic para ingresar la descripción de la imagen

Haga clic para ingresar la descripción de la imagen

Haga clic para ingresar la descripción de la imagen