Cómo un ingeniero eléctrico estudió redes neuronales y un resumen del curso gratuito "Udacity: Introducción a TensorFlow para Aprendizaje Profundo"

Durante toda mi vida consciente, he sido un trabajador del sector energético (no, no me refiero a una bebida con propiedades dudosas).

Nunca me había interesado mucho el mundo de las tecnologías de la información, y dudo que pudiera multiplicar matrices en un papel. Y realmente no necesitaba hacerlo nunca, pero para que entiendan un poco la especificidad de mi trabajo, puedo compartir una historia increíble. Una vez pedí a mis colegas que hicieran un trabajo en Excel; pasó media jornada laboral, me acerqué a ellos y estaban sentados sumando datos en una calculadora, sí, en una simple calculadora negra con botones. Así que, ¿de qué redes neuronales estamos hablando después de eso?.. Por lo tanto, nunca tuve ninguna predisposición especial para sumergirme en el mundo de TI. Pero, como se dice,

En palabras parecía bastante simple, así que decidí, ¿por qué no aprender este arte mágico para aplicarlo en mi campo de actividad?.

En este artículo dejaré de lado mis intentos de aprender los fundamentos de Python y compartiré con ustedes mi impresión sobre el curso gratuito de TensorFlow de Udacity.

Cómo un ingeniero eléctrico estudió redes neuronales y un resumen del curso gratuito "Udacity: Introducción a TensorFlow para Aprendizaje Profundo"

Introducción

Para empezar, vale la pena mencionar que, después de 11 años en el sector energético, cuando sabes y puedes hacer todo y, incluso, un poco más (dentro de tu rango de responsabilidades), aprender cosas completamente nuevas — por un lado, puede generar un intenso entusiasmo, pero por otro lado, se convierte en un dolor físico de 'engranajes en la cabeza'.

Todavía no comprendo del todo todos los conceptos básicos de programación y aprendizaje automático, así que no deberías juzgarme demasiado estrictamente. 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 revisión del curso, diré que necesitarás al menos un conocimiento básico de Python para estudiarlo. Puedes leer un par de libros para principiantes (yo empecé a hacer un curso en Stepic, pero aún no lo he terminado).

En el curso de TensorFlow no habrá construcciones complejas, pero será necesario entender por qué se importan bibliotecas, cómo se define una función y por qué se insertan cosas en ella.

¿Por qué TensorFlow y Udacity?

El objetivo principal de mi aprendizaje es poder reconocer fotografías de componentes de instalaciones eléctricas utilizando redes neuronales.

Elegí TensorFlow porque había oído hablar de él por parte de mis amigos. Y por lo que entendí, este curso es bastante popular.

Intenté comenzar mi estudio con la oficial tutorial .

Y enseguida me encontré con dos problemas.

  • Hay muchos materiales de estudio, y están desorganizados. Me resultó muy difícil formar al menos una imagen algo coherente sobre cómo resolver el problema del reconocimiento de imágenes.
  • La mayoría de los artículos que necesitaba no están traducidos al ruso. Así fue como en mi infancia aprendí alemán y ahora, como muchos niños soviéticos, no sé ni alemán ni inglés. Por supuesto, en el transcurso de mi vida consciente he intentado aprender inglés, pero me ha ido más o menos como se muestra en la imagen.

Cómo un ingeniero eléctrico estudió redes neuronales y un resumen del curso gratuito "Udacity: Introducción a TensorFlow para Aprendizaje Profundo"

Después de buscar un poco más en el sitio oficial, encontré recomendaciones para tomar uno de los dos cursos en línea.

Por lo que entendí, el curso en Coursera era de pago, mientras que el curso Udacity: Introducción a TensorFlow para Aprendizaje Profundo se podía hacer "de forma gratuita, es decir, sin costo".

Contenido del curso

El curso consta de 9 lecciones.

La primera sección es introductoria, allí explicarán para qué se necesita en principio.

La lección n.º 2 resultó ser mi favorita. Era lo suficientemente simple como para entenderlo y también mostraba 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, utilizando una red neuronal de una sola capa, resolver la tarea de convertir la temperatura de grados Fahrenheit a grados Celsius.

Es realmente un ejemplo muy ilustrativo. Todavía estoy pensando en cómo idear y resolver una tarea similar, pero solo para electricidad.

Desafortunadamente, más adelante me quedé atascado, porque aprender cosas incomprensibles en un idioma desconocido es bastante difícil. Me salvó el hecho de que encontré en Habr la traducción de este curso al ruso.

La traducción fue realizada con calidad, los cuadernos de Colab también están traducidos, por lo que más adelante miraba tanto el original como la traducción.

La lección n.º 3 es, en esencia, una adaptación de los materiales del tutorial oficial de TensorFlow. En esta lección, aprendemos a clasificar imágenes de ropa utilizando una red neuronal multicapa (conjunto de datos Fashion MNIST).

Las lecciones 4 a 7 también son una adaptación del tutorial. Sin embargo, debido a su correcta organización, no es necesario que uno mismo comprenda el orden de estudio. En estas lecciones se nos presentará brevemente sobre redes neuronales de alta precisión, cómo aumentar la precisión del aprendizaje y guardar el modelo. Al mismo tiempo, resolveremos la tarea de clasificación de gatos y perros en la imagen.

La lección 8 es en realidad un curso separado, hay otro instructor y el curso es bastante extenso. La lección está dedicada a las series temporales. Dado que esto no me interesa por ahora, lo revisé por encima.

Cierra todo la lección 9, que es una invitación a realizar un curso gratuito sobre TensorFlow Lite.

Lo que me gustó y no me gustó

Comenzaré con los aspectos positivos:

  • El curso es gratuito
  • El curso es sobre TensorFlow 2. Algunos libros y cursos que he visto en internet eran sobre TensorFlow 1. No sé cuán grande es la diferencia, pero es agradable aprender la versión actual.
  • Los instructores en los videos no son molestos (aunque en la versión rusa leen con menos energía que en la original)
  • El curso no toma mucho tiempo
  • El curso no genera un sentimiento de tristeza y desesperanza. Las tareas del curso son simples y siempre hay una sugerencia en forma de Colab con la solución correcta, si algo no está claro (y para mí la buena parte de las tareas no estaban claras)
  • No es necesario instalar nada, todos los trabajos de laboratorio del curso se pueden realizar en el navegador

Ahora los aspectos negativos:

  • Prácticamente no hay materiales de control. Ni pruebas, ni tareas, nada que pueda verificar de alguna manera la asimilación del curso
  • No todos mis cuadernos funcionaron correctamente. Creo que en la tercera lección del curso original en inglés, Colab arrojó un error y no sabía qué hacer con él
  • Es conveniente verlo solo en la computadora. Puede que no me haya familiarizado completamente, pero no encontré la aplicación de Udacity en mi teléfono inteligente. Y la versión móvil del sitio no es adaptable, es decir, casi toda el área de la pantalla está ocupada por el menú de navegación, y para ver el contenido principal hay que desplazarlo hacia la derecha fuera del área de vista. Además, no se pueden reproducir los videos en el teléfono. En una pantalla de poco más de 6 pulgadas, no se puede ver nada con claridad.
  • Algunas cosas en el curso se explican varias veces, pero realmente no se abordan las cosas necesarias sobre las redes de convolución. No entendí el objetivo global de algunas de las actividades (por ejemplo, para qué sirve el Max Pooling).

Currículum

Seguramente ya se habrán dado cuenta de que no ha habido un milagro. Y después de completar este breve curso, es imposible entender verdaderamente cómo funcionan las redes neuronales.

Por supuesto, no pude resolver por mi cuenta la tarea de clasificar fotos de interruptores y botones en dispositivos de distribución.

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

Creo que primero debo repasar los fundamentos de Python y leer libros en español sobre cómo funcionan las redes neuronales, y luego ya asumir TensorFlow.

Para concluir, quiero agradecer a mis amigos por empujarme a escribir mi primer artículo en «Habr» y por ayudarme a estructurarlo.

P.D. Estaré encantado de recibir sus comentarios y cualquier crítica constructiva.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster