Como un enxeñeiro enerxético estudou as redes neuronais e unha revisión do curso gratuíto "Udacity: Intro to TensorFlow for Deep Learning"

Toda a miña vida adulta fun unha bebida enerxética (non, agora non falamos dunha bebida con dubidosas propiedades).

Nunca me interesou especialmente o mundo das tecnoloxías da información, e case nin sequera podo multiplicar matrices nun anaco de papel. E nunca o necesitei, para que entendades un pouco os detalles do meu traballo, podo compartir unha historia marabillosa. Unha vez pedinlle aos meus compañeiros que fixeran o traballo nunha folla de cálculo de Excel, xa pasara a metade da xornada, achegueime a eles, e eles estaban sentados e sumando os datos nunha calculadora, iso si, nunha calculadora negra común e con botóns. Ben, de que tipo de redes neuronais podemos falar despois disto?... Polo tanto, nunca tiven ningún requisito especial para mergullarme no mundo das TI. Pero, como din, "está ben onde non estamos", os meus amigos zumbáronme os oídos sobre a realidade aumentada, sobre as redes neuronais, sobre as linguaxes de programación (principalmente sobre Python).

En palabras parecía moi sinxelo, e decidín por que non dominar esta arte máxica para aplicala no meu campo de actividade.

Neste artigo, omitirei os meus intentos de dominar os conceptos básicos de Python e compartirei contigo as miñas impresións sobre o curso gratuíto de TensorFlow de Udacity.

Como un enxeñeiro enerxético estudou as redes neuronais e unha revisión do curso gratuíto "Udacity: Intro to TensorFlow for Deep Learning"

Introdución

Para comezar, vale a pena sinalar que despois de 11 anos na industria enerxética, cando sabes e podes facer todo e incluso un pouco máis (segundo as túas responsabilidades), aprender cousas radicalmente novas, por unha banda, provoca un gran entusiasmo, pero por outro - transfórmase en dor física "engrenaxes na miña cabeza".

Aínda non entendo completamente todos os conceptos básicos de programación e aprendizaxe automática, polo que non deberías xulgarme con demasiada dureza. Espero que o meu artigo sexa interesante e útil para persoas coma min que están lonxe do desenvolvemento de software.

Antes de pasar á visión xeral do curso, direi que para estudalo necesitarás polo menos un coñecemento mínimo de Python. Podes ler un par de libros para maniquíes (tamén empecei a facer un curso de Stepic, pero aínda non o dominei por completo).

O curso TensorFlow en si non conterá construcións complexas, pero será necesario comprender por que se importan as bibliotecas, como se define unha función e por que se substitúe algo nela.

Por que TensorFlow e Udacity?

O obxectivo principal da miña formación foi o desexo de recoñecer fotografías de elementos de instalacións eléctricas mediante redes neuronais.

Elixín TensorFlow porque oín falar dos meus amigos. E, segundo entendo, este curso é bastante popular.

Tentei comezar a aprender do oficial titorial .

E entón atopeime con dous problemas.

  • Hai moitos materiais educativos, e veñen de diferentes variedades. Foime moi difícil crear polo menos unha imaxe máis ou menos completa da solución do problema do recoñecemento de imaxes.
  • A maioría dos artigos que necesito non foron traducidos ao ruso. Ocorreu que eu aprendín alemán de nena e agora, como moitos nenos soviéticos, non sei nin alemán nin inglés. Por suposto, ao longo da miña vida adulta, tentei dominar o inglés, pero resultou algo así como na imaxe.

Como un enxeñeiro enerxético estudou as redes neuronais e unha revisión do curso gratuíto "Udacity: Intro to TensorFlow for Deep Learning"

Despois de buscar no sitio web oficial, atopei recomendacións para seguir un dos dous cursos en liña.

Segundo teño entendido, o curso de Coursera estaba de pago, e o curso Udacity: Introdución a TensorFlow para a aprendizaxe profunda era posible pasar "de balde, é dicir, de balde".

Contido do curso

O curso consta de 9 leccións.

A primeira sección é introdutoria, onde che dirán por que é necesario en principio.

A lección #2 resultou ser a miña favorita. Foi o suficientemente sinxelo de entender e tamén demostrou as marabillas da ciencia. En resumo, nesta lección, ademais da información básica sobre as redes neuronais, os creadores demostran como usar unha rede neuronal dunha soa capa para resolver o problema de converter a temperatura de Fahrenheit a Celsius.

Este é un exemplo moi claro. Aínda estou aquí sentado pensando en como atopar e resolver un problema semellante, pero só para electricistas.

Desafortunadamente, quedei máis parado, porque aprender cousas incomprensibles nunha lingua descoñecida é bastante difícil. O que me salvou foi o que atopei en Habré tradución deste curso ao ruso.

A tradución fíxose con gran calidade, tamén se traduciron os cadernos de Colab, polo que logo mirei tanto o orixinal como a tradución.

A lección número 3 é, de feito, unha adaptación de materiais do titorial oficial de TensorFlow. Neste tutorial, usamos unha rede neuronal multicapa para aprender a clasificar imaxes de roupa (conxunto de datos MNIST de moda).

As leccións no 4 ao 7 tamén son unha adaptación da titoría. Pero debido ao feito de que están correctamente dispostos, non hai necesidade de comprender a secuencia de estudo. Nestas leccións falarase brevemente sobre as redes neuronais ultraprecisas, como aumentar a precisión do adestramento e gardar o modelo. Ao mesmo tempo, resolveremos simultaneamente o problema de clasificar gatos e cans na imaxe.

A lección número 8 é un curso completamente separado, hai un profesor diferente e o curso en si é bastante extenso. A lección é sobre series temporais. Como aínda non me interesa, escaneino en diagonal.

Isto remata coa lección #9, que é unha invitación a realizar un curso gratuíto sobre TensorFlow lite.

O que che gustou e non

Vou comezar cos aspectos positivos:

  • O curso é gratuíto
  • O curso está en TensorFlow 2. Algúns libros de texto que vin e algúns cursos en Internet estaban en TensorFlow 1. Non sei se hai unha gran diferenza, pero é agradable aprender a versión actual.
  • Os profesores do vídeo non son molestos (aínda que na versión rusa non len tan alegremente como no orixinal)
  • O curso non leva moito tempo
  • O curso non te fai sentir triste nin desesperado. As tarefas do curso son sinxelas e sempre hai unha pista en forma de Colab coa solución correcta se algo non está claro (e boa metade das tarefas non me quedaron claras)
  • Non é necesario instalar nada, todo o traballo de laboratorio do curso pódese facer no navegador

Agora os contras:

  • Practicamente non hai materiais de control. Sen probas, nin tarefas, nin nada para comprobar dalgún xeito o dominio do curso
  • Non todos os meus blocs de notas funcionaron como deberían. Creo que na terceira lección do curso orixinal de inglés Colab estaba botando un erro e non sabía que facer con el
  • Conveniente para ver só nun ordenador. Quizais non o entendín completamente, pero non puiden atopar a aplicación Udacity no meu teléfono intelixente. E a versión móbil do sitio non responde, é dicir, case toda a área da pantalla está ocupada polo menú de navegación, pero para ver o contido principal cómpre desprazarse cara á dereita máis aló da área de visualización. Ademais, o vídeo non se pode ver no teléfono. Realmente non podes ver nada nunha pantalla de pouco máis de 6 polgadas.
  • Algunhas cousas do curso mastigan varias veces, pero ao mesmo tempo, as cousas realmente necesarias nas propias redes convolucionais non se mastigan no curso. Aínda non entendín o propósito xeral dalgúns dos exercicios (por exemplo, para que serve Max Pooling).

Resumo

Seguro que xa adiviñaches que o milagre non ocorreu. E despois de completar este breve curso, é imposible comprender realmente como funcionan as redes neuronais.

Por suposto, despois disto non puiden resolver o meu problema pola miña conta coa clasificación de fotografías de interruptores e botóns en aparellos.

Pero en xeral o curso é útil. Mostra que cousas se poden facer con TensorFlow e que dirección tomar a continuación.

Creo que primeiro teño que aprender os conceptos básicos de Python e ler libros en ruso sobre como funcionan as redes neuronais, e despois asumir TensorFlow.

Como conclusión, gustaríame dar as grazas aos meus amigos por impulsarme a escribir o primeiro artigo sobre Habr e axudarme a formatalo.

PD Estarei encantado de ver os teus comentarios e calquera crítica construtiva.

Fonte: www.habr.com

Engadir un comentario