Como um engenheiro de energia estudou redes neurais e uma revisão do curso gratuito “Udacity: introdução ao TensorFlow para aprendizado profundo”

Durante toda a minha vida adulta fui uma bebida energética (não, agora não estamos falando de uma bebida com propriedades duvidosas).

Nunca me interessei particularmente pelo mundo da tecnologia da informação e dificilmente consigo multiplicar matrizes num pedaço de papel. E nunca precisei disso, para que vocês entendam um pouco das especificidades do meu trabalho, posso compartilhar uma história maravilhosa. Certa vez pedi aos meus colegas que fizessem o trabalho em uma planilha Excel, já havia passado metade do dia de trabalho, fui até eles e eles estavam sentados somando os dados em uma calculadora, sim, em uma calculadora preta comum com botões. Bem, de que tipo de redes neurais podemos falar depois disso?.. Portanto, nunca tive nenhum pré-requisito especial para mergulhar no mundo da TI. Mas, como dizem, “é bom onde não estamos”, meus amigos me alertaram sobre realidade aumentada, sobre redes neurais, sobre linguagens de programação (principalmente sobre Python).

Em palavras parecia muito simples, e decidi porque não dominar esta arte mágica para aplicá-la no meu campo de atividade.

Neste artigo, pularei minhas tentativas de dominar o básico do Python e compartilharei com vocês minhas impressões sobre o curso gratuito TensorFlow da Udacity.

Como um engenheiro de energia estudou redes neurais e uma revisão do curso gratuito “Udacity: introdução ao TensorFlow para aprendizado profundo”

Introdução

Para começar, vale destacar que após 11 anos no setor de energia, quando você sabe e pode fazer tudo e até um pouco mais (de acordo com suas responsabilidades), aprender coisas radicalmente novas - por um lado, causa grande entusiasmo, mas por outro lado - se transforma em dor física "engrenagens na minha cabeça".

Ainda não entendo completamente todos os conceitos básicos de programação e aprendizado de máquina, então você não deve me julgar com muita severidade. Espero que meu artigo seja interessante e útil para pessoas como eu, que estão longe do desenvolvimento de software.

Antes de passar para a visão geral do curso, direi que para estudá-lo você precisará de pelo menos um conhecimento mínimo de Python. Você pode ler alguns livros para manequins (também comecei a fazer um curso de Stepic, mas ainda não o dominei completamente).

O curso TensorFlow em si não conterá construções complexas, mas será necessário entender por que as bibliotecas são importadas, como uma função é definida e por que algo é substituído nela.

Por que TensorFlow e Udacity?

O principal objetivo do meu treinamento foi o desejo de reconhecer fotografias de elementos de instalações elétricas utilizando redes neurais.

Escolhi o TensorFlow porque ouvi falar dele por meio de amigos. E pelo que entendi, este curso é bastante popular.

Tentei começar a aprender com o oficial tutorial .

E então me deparei com dois problemas.

  • Existem muitos materiais educacionais e eles vêm em diferentes variedades. Foi muito difícil para mim criar pelo menos uma imagem mais ou menos completa da solução do problema de reconhecimento de imagem.
  • A maioria dos artigos de que preciso não foi traduzida para o russo. Acontece que aprendi alemão quando criança e agora, como muitas crianças soviéticas, não sei nem alemão nem inglês. Claro que, ao longo da minha vida adulta, tentei dominar o inglês, mas deu algo parecido com a foto.

Como um engenheiro de energia estudou redes neurais e uma revisão do curso gratuito “Udacity: introdução ao TensorFlow para aprendizado profundo”

Depois de pesquisar no site oficial, encontrei recomendações para consultar um dos dois cursos on-line.

Pelo que entendi, o curso do Coursera foi pago, e o curso Udacity: introdução ao TensorFlow para aprendizado profundo era possível passar “de graça, ou seja, de graça”.

Conteúdo do curso

O curso consiste em 9 aulas.

A primeira seção é introdutória, onde eles dirão por que isso é necessário em princípio.

A lição nº 2 acabou sendo minha favorita. Foi bastante simples de entender e também demonstrou as maravilhas da ciência. Resumindo, nesta lição, além de informações básicas sobre redes neurais, os criadores demonstram como usar uma rede neural de camada única para resolver o problema de conversão de temperatura de Fahrenheit para Celsius.

Este é realmente um exemplo muito claro. Ainda estou sentado aqui pensando em como criar e resolver um problema semelhante, mas apenas para eletricistas.

Infelizmente, parei ainda mais, porque aprender coisas incompreensíveis em um idioma desconhecido é bastante difícil. O que me salvou foi o que encontrei em Habré tradução deste curso para o russo.

A tradução foi feita com muita qualidade, os cadernos do Colab também foram traduzidos, então olhei tanto o original quanto a tradução.

A lição nº 3 é, na verdade, uma adaptação de materiais do tutorial oficial do TensorFlow. Neste tutorial, usamos uma rede neural multicamadas para aprender como classificar imagens de roupas (conjunto de dados Fashion MNIST).

As lições nº 4 a nº 7 também são uma adaptação do tutorial. Mas devido ao fato de estarem organizados corretamente, não há necessidade de entender você mesmo a sequência do estudo. Nestas lições, falaremos brevemente sobre redes neurais ultraprecisas, como aumentar a precisão do treinamento e salvar o modelo. Ao mesmo tempo, resolveremos simultaneamente o problema de classificação de cães e gatos na imagem.

A lição nº 8 é um curso completamente separado, há um professor diferente e o curso em si é bastante extenso. A lição é sobre séries temporais. Como ainda não estou interessado nele, digitalizei-o na diagonal.

Isso termina com a lição nº 9, que é um convite para fazer um curso gratuito sobre TensorFlow Lite.

O que você gostou e não gostou

Vou começar com os pontos positivos:

  • O curso é gratuito
  • O curso é sobre TensorFlow 2. Alguns livros didáticos que vi e alguns cursos na Internet eram sobre TensorFlow 1. Não sei se há muita diferença, mas é bom aprender a versão atual.
  • Os professores do vídeo não são irritantes (embora na versão russa eles não leiam tão alegremente quanto no original)
  • O curso não leva muito tempo
  • O curso não faz você se sentir triste ou sem esperança. As tarefas do curso são simples e sempre há uma dica no formato do Colab com a solução correta caso algo não esteja claro (e boa metade das tarefas não ficou clara para mim)
  • Não há necessidade de instalar nada, todos os trabalhos laboratoriais do curso podem ser feitos no navegador

Agora, os contras:

  • Praticamente não existem materiais de controle. Sem testes, sem tarefas, nada para verificar de alguma forma o domínio do curso
  • Nem todos os meus blocos de notas funcionaram como deveriam. Acho que na terceira aula do curso original de inglês o Colab estava dando um erro e eu não sabia o que fazer com isso
  • Conveniente para assistir apenas em um computador. Talvez eu não tenha entendido totalmente, mas não consegui encontrar o aplicativo Udacity no meu smartphone. E a versão mobile do site não é responsiva, ou seja, quase toda a área da tela é ocupada pelo menu de navegação, mas para ver o conteúdo principal é preciso rolar para a direita além da área de visualização. Além disso, o vídeo não pode ser visualizado no telefone. Você realmente não consegue ver nada em uma tela medindo pouco mais de 6 polegadas.
  • Algumas coisas no curso são mastigadas várias vezes, mas, ao mesmo tempo, as coisas realmente necessárias nas próprias redes convolucionais não são mastigadas no curso. Ainda não entendi o objetivo geral de alguns exercícios (por exemplo, para que serve o Max Pooling).

Resumo

Certamente você já adivinhou que o milagre não aconteceu. E depois de concluir este breve curso, é impossível entender verdadeiramente como funcionam as redes neurais.

Claro que depois disso não consegui resolver sozinho o meu problema com a classificação de fotografias de interruptores e botões em quadros.

Mas no geral o curso é útil. Ele mostra o que pode ser feito com o TensorFlow e qual direção tomar a seguir.

Acho que primeiro preciso aprender o básico de Python e ler livros em russo sobre como funcionam as redes neurais, e depois aprender o TensorFlow.

Concluindo, gostaria de agradecer aos meus amigos por me incentivarem a escrever o primeiro artigo sobre Habr e me ajudarem a formatá-lo.

PS Ficarei feliz em ver seus comentários e quaisquer críticas construtivas.

Fonte: habr.com

Adicionar um comentário