Cómo un ingeniero energético estudió las redes neuronales y una revisión del curso gratuito “Udacity: Introducción a TensorFlow para el aprendizaje profundo”

Toda mi vida adulta he sido una bebida energética (no, ahora no estamos hablando de una bebida de dudosas propiedades).

Nunca me ha interesado especialmente el mundo de la tecnología de la información y apenas puedo multiplicar matrices en una hoja de papel. Y nunca necesité esto, para que comprendan un poco los detalles de mi trabajo, puedo compartirles una historia maravillosa. Una vez les pedí a mis compañeros que hicieran el trabajo en una hoja de cálculo de Excel, había pasado la mitad de la jornada laboral, me acerqué a ellos y estaban sentados y resumiendo los datos en una calculadora, eso sí, en una calculadora negra normal con botones. Bueno, ¿de qué tipo de redes neuronales podemos hablar después de esto?... Por lo tanto, nunca tuve ningún requisito previo especial para sumergirme en el mundo de las tecnologías de la información. Pero, como dicen, "es bueno donde no estamos", mis amigos me zumbaban 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, me saltaré mis intentos de dominar los conceptos básicos de Python y compartiré con ustedes mis impresiones sobre el curso gratuito TensorFlow de Udacity.

Cómo un ingeniero energético estudió las redes neuronales y una revisión del curso gratuito “Udacity: Introducción a TensorFlow para el aprendizaje profundo”

introducción

Para empezar, cabe señalar que después de 11 años en la industria energética, cuando sabes y puedes hacer de todo e incluso un poco más (según tus responsabilidades), aprender cosas radicalmente nuevas, por un lado, provoca un gran entusiasmo, pero, por otro lado, se convierte en dolor físico, "engranajes en mi cabeza".

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

Antes de pasar a la descripción general del curso, diré que para estudiarlo necesitarás al menos un conocimiento mínimo de Python. Puedes leer un par de libros para principiantes (también comencé a tomar un curso sobre Stepic, pero aún no lo domino por completo).

El curso de TensorFlow en sí no contendrá construcciones complejas, pero será necesario comprender por qué se importan las bibliotecas, cómo se define una función y por qué se sustituye algo 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 utilizando redes neuronales.

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

Intenté empezar a aprender del funcionario. tutorial .

Y luego me encontré con dos problemas.

  • Hay muchos materiales educativos y vienen en diferentes variedades. Fue muy difícil para mí crear al menos una imagen más o menos completa de cómo resolver el problema del reconocimiento de imágenes.
  • La mayoría de los artículos que necesito no han sido traducidos al ruso. Dio la casualidad de que aprendí alemán cuando era niño y ahora, como muchos niños soviéticos, no sé ni alemán ni inglés. Por supuesto, durante toda mi vida adulta intenté dominar el inglés, pero resultó algo así como en la imagen.

Cómo un ingeniero energético estudió las redes neuronales y una revisión del curso gratuito “Udacity: Introducción a TensorFlow para el aprendizaje profundo”

Después de buscar en el sitio web oficial, encontré recomendaciones para seguir uno de los dos cursos en línea.

Según tengo entendido, el curso en Coursera fue pagado y el curso Udacity: Introducción a TensorFlow para aprendizaje profundo se podía pasar “gratis, es decir, gratis”.

Contenido del curso

El curso consta de 9 lecciones.

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

La lección número 2 resultó ser mi favorita. Era bastante sencillo de entender y también demostraba las maravillas de la ciencia. En resumen, en esta lección, además de la información básica sobre redes neuronales, los creadores demuestran cómo utilizar una red neuronal de una sola capa para resolver el problema de convertir la temperatura de Fahrenheit a Celsius.

Este es realmente un ejemplo muy claro. Todavía estoy aquí sentado pensando en cómo idear y resolver un problema similar, pero sólo para los electricistas.

Desafortunadamente, me estanqué aún más, porque aprender cosas incomprensibles en un idioma desconocido es bastante difícil. Lo que me salvó fue lo que encontré en Habré. traducción de este curso al ruso.

La traducción se hizo con alta calidad, los cuadernos de Colab también fueron traducidos, así que luego miré tanto el original como la traducción.

La Lección No. 3 es, de hecho, una adaptación de los materiales del tutorial oficial de TensorFlow. En este tutorial, utilizamos una red neuronal multicapa para aprender a clasificar imágenes de ropa (conjunto de datos Fashion MNIST).

Las lecciones No. 4 a No. 7 también son una adaptación del tutorial. Pero debido al hecho de que están organizados correctamente, no es necesario que usted mismo comprenda la secuencia de estudio. En estas lecciones se nos hablará brevemente sobre las redes neuronales ultraprecisas, cómo aumentar la precisión del entrenamiento y guardar el modelo. Al mismo tiempo, solucionaremos simultáneamente el problema de clasificar perros y gatos en la imagen.

La lección número 8 es un curso completamente independiente, hay un profesor diferente y el curso en sí es bastante extenso. La lección trata sobre series de tiempo. Como todavía no me interesa, lo escaneé en diagonal.

Esto termina con la lección n.° 9, que es una invitación a realizar un curso gratuito sobre TensorFlow lite.

Lo que te gustó y lo que no te gustó

Empezaré con los profesionales:

  • El curso es gratis
  • El curso es sobre TensorFlow 2. Algunos libros de texto que vi y algunos cursos en Internet estaban sobre TensorFlow 1. No sé si hay una gran diferencia, pero es bueno aprender la versión actual.
  • Los profesores del vídeo no son molestos (aunque en la versión rusa no leen tan alegremente como en el original)
  • El curso no lleva mucho tiempo.
  • El curso no te hace sentir triste ni desesperado. Las tareas del curso son sencillas y siempre hay una pista en forma de Colab con la solución correcta si algo no queda claro (y una buena mitad de las tareas no me quedaron claras)
  • No es necesario instalar nada, todos los trabajos de laboratorio del curso se pueden realizar en el navegador.

Ahora los contras:

  • Prácticamente no existen materiales de control. Sin pruebas, sin tareas, nada que pueda comprobar de alguna manera el dominio del curso.
  • No todos mis blocs de notas funcionaron como deberían. Creo que en la tercera lección del curso original en inglés Colab arrojaba un error y no sabía qué hacer con él.
  • Conveniente para mirar solo en una computadora. Quizás no lo entendí del todo, pero no pude encontrar la aplicación Udacity en mi teléfono inteligente. Y la versión móvil del sitio no responde, es decir, casi toda el área de la pantalla está ocupada por el menú de navegación, pero para ver el contenido principal debe desplazarse hacia la derecha más allá del área de visualización. Además, el vídeo no se puede ver en el teléfono. Realmente no se puede ver nada en una pantalla que mide poco más de 6 pulgadas.
  • Algunas cosas del curso se analizan varias veces, pero al mismo tiempo, las cosas realmente necesarias en las redes convolucionales no se analizan en el curso. Todavía no entendía el propósito general de algunos de los ejercicios (por ejemplo, para qué sirve Max Pooling).

Resumen

Seguro que ya adivinaste que el milagro no ocurrió. Y después de completar este breve curso, es imposible comprender realmente cómo funcionan las redes neuronales.

Por supuesto, después de esto no pude resolver por mi cuenta mi problema con la clasificación de fotografías de interruptores y botones en cuadros.

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

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

En conclusión, me gustaría agradecer a mis amigos por animarme a escribir el primer artículo sobre Habr y ayudarme a formatearlo.

PD: Estaré encantado de ver tus comentarios y cualquier crítica constructiva.

Fuente: habr.com

Añadir un comentario