Cómo el ingeniero de energía estudió las redes neuronales y la revisión del curso gratuito "Udacity: Introducción a TensorFlow for Deep Learning"

Toda mi vida consciente, fui ingeniero de potencia (no, ahora no estamos hablando de una bebida con propiedades dudosas).

Nunca me ha interesado realmente el mundo de la tecnología de la información, e incluso es poco probable que pueda multiplicar las matrices en una hoja de papel. Sí, y nunca lo necesité, para que entiendas un poco sobre los detalles de mi trabajo, puedo compartir una historia maravillosa. Una vez les pedí a mis colegas que trabajaran en una hoja de cálculo de Excel, pasó medio día, me acerco a ellos y se sientan y resumen los datos en una calculadora, sí, en una calculadora negra normal con botones. Bueno, ¿qué tipo de redes neuronales se pueden discutir después de eso? ... Por lo tanto, nunca he tenido requisitos previos especiales para la inmersión en el mundo de TI. Pero, como dicen "bueno, donde no estamos", mis amigos me dejaron boquiabierto sobre la realidad aumentada, sobre las redes neuronales, sobre los lenguajes de programación (principalmente sobre Python).

En palabras, parecía muy simple, y decidí por qué no dominar este arte mágico para aplicarlo en mi campo de actividad.

En este artículo, omitiré mis intentos de aprender los conceptos básicos de Python y compartiré con ustedes mi impresión del curso gratuito TensorFlow de Udacity.



Introducción


Para empezar, vale la pena señalar que después de 11 años en el sector energético, cuando sabes y puedes hacer todo e incluso un poco más (en términos de responsabilidades), aprender cosas radicalmente nuevas, por un lado, causa un entusiasmo intenso, pero por el otro, se convierte en dolor físico ". engranajes en la cabeza ".

Todavía no entiendo completamente todos los conceptos básicos de programación y aprendizaje automático, por lo que no debería ser estrictamente juzgado. Espero que mi artículo sea interesante y útil para personas como yo, lejos del desarrollo de software.

Antes de pasar a revisar el curso, diré que requerirá al menos un conocimiento mínimo de Python para estudiarlo. Puedes leer un par de libros para tontos (todavía comencé a tomar un curso sobre Stepic, pero aún no lo he dominado).

No habrá construcciones complejas en el curso TensorFlow en sí, pero será necesario comprender por qué se importan las bibliotecas, cómo se define una función y por qué algo se sustituye en ella.

¿Por qué TensorFlow y Udacity?


El objetivo principal de mi formación fue el deseo de reconocer fotografías de elementos de instalaciones eléctricas que utilizan redes neuronales.

Elegí TensorFlow porque lo escuché de mis amigos. Y según tengo entendido, este curso es bastante popular.

Traté de comenzar a aprender del tutorial oficial .

Y luego me encontré con dos problemas.

  • Hay muchos materiales de capacitación, y entran en discordia. Fue muy difícil para mí hacer al menos una imagen más o menos completa de resolver el problema del reconocimiento de imágenes.
  • La mayoría de los artículos que necesito no están traducidos al ruso. Dio la casualidad de que en mi infancia estudié alemán y ahora, como muchos niños soviéticos, no sé alemán ni inglés. Por supuesto, a lo largo de mi vida consciente, intenté aprender inglés, pero resultó aproximadamente como en la imagen.



Habiendo hurgado todavía en un sitio oficial, encontré recomendaciones para tomar uno de los dos cursos en línea .

Según tengo entendido, el curso sobre Courcera fue pagado, y el curso Udacity: Introducción a TensorFlow for Deep Learning podría tomarse "gratis, es decir, para nada".

Contenido del curso


El curso consta de 9 lecciones.

La primera sección es introductoria, te dirán por qué es necesaria en principio.

La lección número 2 fue mi favorita. Era lo suficientemente simple como para ser entendido, y también demostró las maravillas de la ciencia. En resumen, en esta lección, además de la información básica sobre las redes neuronales, los creadores demuestran cómo resolver el problema de convertir la temperatura de grados Fahrenheit a grados Celsius utilizando una red neuronal de una sola capa.

Este es realmente un muy buen ejemplo. Todavía estoy pensando en cómo encontrar y resolver un problema similar, pero solo para electricistas.

Desafortunadamente, me detuve aún más, porque es bastante difícil aprender cosas extrañas en un idioma desconocido. Me salvó que encontré en Habré una traducción de este curso al ruso .

La traducción se realizó con alta calidad, los cuadernos de Colab también se tradujeron, por lo que más tarde eché un vistazo tanto al original como a la traducción.

La lección número 3 es, de hecho, la disposición de los materiales del tutorial oficial de TensorFlow. En esta lección, aprendemos cómo clasificar imágenes de ropa usando la Red Neural Multicapa (conjunto de datos Fashion MNIST).

Las lecciones del número 4 al número 7 también son una disposición del tutorial. Pero debido al hecho de que están organizados correctamente, no hay necesidad de comprender la secuencia de estudio usted mismo. En estas lecciones, hablaremos brevemente sobre redes neuronales ultraprecisas, cómo mejorar la precisión del entrenamiento y salvar el modelo. Al mismo tiempo, resolveremos simultáneamente el problema de clasificación de gatos y perros en la imagen.

La lección número 8 generalmente es un curso separado, hay otro maestro y el curso en sí es bastante voluminoso. La lección es sobre series de tiempo. Como esto todavía no me interesa, lo miré en diagonal.

Completa toda la lección número 9, que es una invitación a tomar un curso gratuito sobre TensorFlow lite.

Lo que me gustó y no me gustó


Comenzaré con los profesionales:

  • Curso - Gratis
  • El curso está en TensorFlow 2. Algunos libros de texto que vi y algunos cursos en Internet estaban en TensorFlow 1. No sé si hay una gran diferencia, pero es bueno aprender la versión actual.
  • Los profesores en el video no son molestos (aunque en la versión rusa no leen tan alegremente como en el original)
  • El curso no toma mucho tiempo.
  • El curso no conduce a una sensación de melancolía y desesperanza. Las tareas en el curso son simples y siempre hay una pista en forma de Colab con la solución correcta, si algo no está claro (y una buena mitad de las tareas no me fueron claras)
  • No es necesario instalar nada, todo el trabajo de laboratorio del curso se puede hacer en el navegador

Ahora los contras:

  • Prácticamente no hay material de control. Sin pruebas, sin tareas, nada que al menos de alguna manera revise el curso
  • No todos los cuadernos funcionaron para mí como deberían. En mi opinión, en la tercera lección del curso de inglés original, Colab dio un error y no sabía qué hacer con él.
  • . , Udacity . , , , . . 6
  • , , . (, Max Pooling).


Seguramente ya has adivinado que el milagro no sucedió. Y después de completar este breve curso, es imposible descubrir realmente cómo funcionan las redes neuronales.

Por supuesto, después de eso no pude resolver mi problema con la clasificación de fotos de interruptores y botones en interruptores.

Pero en general, el curso es útil. Muestra qué cosas se pueden hacer con TensorFlow y en qué dirección avanzar.

Creo que, para empezar, necesito aprender los conceptos básicos de Python y leer libros en ruso sobre cómo funcionan las redes neuronales, y luego asumir TensorFlow.

En conclusión, quiero agradecer a mis amigos por presionarme a escribir el primer artículo sobre "Habr" y ayudar a organizarlo.

PD: Me complacerá sus comentarios y cualquier crítica constructiva.

All Articles