Como engenheiro, estudei redes neurais e uma visão geral do curso gratuito "Udacity: Introdução ao TensorFlow para Aprendizado Profundo".

Durante toda a minha vida consciente, fui um eletricista (não, não estou falando de uma bebida com propriedades duvidosas agora).

Nunca tive um grande interesse pelo mundo das tecnologias da informação, e mesmo as matrizes eu duvido que conseguiria multiplicar em um pedaço de papel. Além disso, nunca precisei disso. Para que você entenda um pouco sobre a especificidade do meu trabalho, posso compartilhar uma história incrível. Um dia pedi aos meus colegas para fazerem um trabalho no Excel – uma planilha, passaram-se metade do dia de trabalho, fui até eles, e eles estavam sentados somando os dados em uma calculadora, sim, isso mesmo, em uma simples calculadora preta com botões. Então, sobre quais redes neurais podemos falar depois disso?.. Portanto, nunca tive grandes pré-requisitos para mergulhar no mundo da TI. Mas, como dizem, "é bom onde não estamos", meus amigos não pararam de me falar sobre realidade aumentada, redes neurais, linguagens de programação (principalmente sobre Python).

Pelas palavras, parecia bastante simples, e decidi por que não dominar essa arte mágica para aplicar na minha área de atuação.

Neste artigo, deixarei de lado minhas tentativas de dominar os fundamentos do Python e compartilharei minha impressão sobre o curso gratuito de TensorFlow da Udacity.

Como engenheiro, estudei redes neurais e uma visão geral do curso gratuito "Udacity: Introdução ao TensorFlow para Aprendizado Profundo".

Introdução

Para começar, vale ressaltar que depois de 11 anos na eletricidade, quando você sabe e pode fazer tudo e até um pouco mais (dentro de seus deveres), aprender coisas completamente novas – por um lado, provoca um grande entusiasmo, mas por outro – resulta em dor física nas "engrenagens da cabeça".

Ainda não compreendo totalmente todos os conceitos básicos de programação e aprendizado de máquina, portanto, não me julguem com rigor. Espero que meu artigo seja interessante e útil para pessoas como eu – distantes do desenvolvimento de software.

Antes de passar para a revisão do curso, direi que para estudá-lo é necessário pelo menos um conhecimento mínimo de Python. Pode-se ler alguns livros para iniciantes (comecei a fazer um curso no Stepic, mas ainda não o completei).

No próprio curso de TensorFlow, não haverá construções complicadas, mas será necessário entender para que bibliotecas são importadas, como uma função é definida e por que algo é inserido nela.

Por que TensorFlow e Udacity?

O principal objetivo do meu aprendizado foi o desejo de reconhecer fotos de elementos de instalações elétricas usando redes neurais.

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

Tentei começar o estudo pelo oficial tutoriais .

E logo me deparei com dois problemas.

  • Existem muitos materiais de aprendizado, e eles são desorganizados. Foi muito difícil para mim formar uma imagem mais ou menos coerente sobre como resolver a tarefa de reconhecimento de imagens.
  • A maioria dos artigos que eu precisava não estava traduzida para o russo. Aconteceu que, na infância, eu estudei alemão e agora, assim como muitas crianças soviéticas, não sei nem alemão nem inglês. Eu, claro, tentei ao longo da minha vida consciente aprender inglês, mas fui mais ou menos bem-sucedido, como na imagem.

Como engenheiro, estudei redes neurais e uma visão geral do curso gratuito "Udacity: Introdução ao TensorFlow para Aprendizado Profundo".

Depois de pesquisar um pouco mais no site oficial, encontrei recomendações para fazer um dos dois cursos online.

Pelo que entendi, o curso na Coursera era pago, enquanto o curso Udacity: Introdução ao TensorFlow para Aprendizado Profundo podia ser feito "sem custo, ou seja, de graça".

Conteúdo do curso

O curso consiste em 9 aulas.

A primeira seção é introdutória, onde eles explicam para que ele serve, basicamente.

A aula nº 2 se tornou a minha favorita. Era suficientemente fácil de entender e também demonstrava maravilhas da ciência. Em resumo, nesta aula, além de informações básicas sobre redes neurais, os criadores demonstram como resolver a tarefa de converter temperatura de graus Fahrenheit para graus Celsius usando uma rede neural de camada única.

Este é realmente um exemplo muito claro. Até agora estou pensando em como inventar e resolver uma tarefa semelhante, mas apenas para eletricidade.

Infelizmente, eu me empacquei, porque aprender coisas desconhecidas em um idioma estranho é bastante difícil. Fui salvo pelo fato de que encontrei no Habr a tradução deste curso para o russo.

A tradução foi feita de forma qualitativa, os cadernos Colab também foram traduzidos, então, a partir daí, eu olhava tanto para o original quanto para a tradução.

A aula nº 3 é, essencialmente, uma reformulação dos materiais do tutorial oficial do TensorFlow. Nessa aula, aprendemos a classificar imagens de roupas (conjunto de dados Fashion MNIST) usando uma rede neural de múltiplas camadas.

As aulas de número 4 a 7 também são adaptações do tutorial. Contudo, como estão bem organizadas, não há necessidade de entender por conta própria a sequência de aprendizado. Nestes módulos, vamos apresentar brevemente redes neurais de alta precisão, como aumentar a precisão do treinamento e salvar modelos. Durante o processo, resolveremos a tarefa de classificar imagens de gatos e cães.

A aula número 8 é, na verdade, um curso separado, com outro instrutor, e o curso é bastante extenso. Esta aula é dedicada a séries temporais. Como isso ainda não me interessa, passei apenas rapidamente por ela.

Finalizando, temos a aula número 9, que é um convite para fazer um curso gratuito sobre TensorFlow Lite.

O que gostei e não gostei

Começarei pelos pontos positivos:

  • O curso é gratuito.
  • O curso é sobre TensorFlow 2. Alguns materiais que vi e alguns cursos na internet eram sobre TensorFlow 1. Não sei quão grande é a diferença, mas é bom aprender a versão atual.
  • Os instrutores nos vídeos não são irritantes (embora na versão em russo leiam de forma menos animada do que no original).
  • O curso não toma muito do seu tempo.
  • O curso não provoca sentimentos de tristeza ou desesperança. As tarefas são simples e sempre há dicas em forma de Colab com as soluções corretas, caso algo não esteja claro (e eu não entendi boa parte das tarefas).
  • Não é necessário instalar nada, todos os trabalhos de laboratório do curso podem ser feitos no navegador.

Agora, os pontos negativos:

  • Praticamente não há materiais de controle. Nenhum teste, nem exercícios, nada para verificar de alguma forma a compreensão do curso.
  • Nem todos os notebooks funcionavam corretamente. Parece que na terceira aula do curso original em inglês, o Colab apresentava um erro e eu não sabia como lidar com isso.
  • É conveniente assistir apenas no computador. Pode ser que eu não tenha conseguido entender completamente, mas não encontrei o aplicativo da Udacity no meu smartphone. E a versão móvel 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 fora da área de visualização. Além disso, os vídeos não podem ser assistidos no telefone. Em uma tela de pouco mais de 6 polegadas, não dá para enxergar nada corretamente.
  • Algumas coisas no curso são explicadas várias vezes, mas as informações realmente necessárias sobre redes convolucionais não são suficientemente abordadas. Eu ainda não compreendi o objetivo global de parte dos exercícios (por exemplo, para que serve o Max Pooling).

Resumo

Certamente você já percebeu que o milagre não aconteceu. E após concluir este curto curso, é impossível entender verdadeiramente como funcionam as redes neurais.

Claro, não consegui resolver por conta própria a minha tarefa de classificação de fotos de disjuntores e botões em dispositivos de distribuição.

Mas, no geral, o curso é útil. Ele mostra quais coisas podem ser feitas com o TensorFlow e em qual direção seguir em frente.

Acho que, para começar, preciso estudar os fundamentos do Python e ler livros em português sobre como funcionam as redes neurais, e só então partir para o TensorFlow.

Para concluir, gostaria de agradecer aos meus amigos por me encorajarem a escrever meu primeiro artigo no "Habr" e ajudarem na sua formatação.

P.S. Ficarei feliz com seus comentários e qualquer crítica construtiva.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster