Quer aprender redes neurais? Aqui está um curso gratuito do Brain.js! Feliz Natal!

Per Harald Borgen 23 de dezembro Clique na imagem para chegar ao curso.

Nos últimos anos, o aprendizado de máquina passou de uma tecnologia promissora para algo com o qual estamos cercados diariamente. E no coração de muitos sistemas de aprendizado de máquina estão as redes neurais.

As redes neurais são o que impulsiona carros autônomos, os melhores jogadores de xadrez do mundo e muitas das recomendações que você obtém de aplicativos como o YouTube, Netflix e Spotify.

Então hoje eu estou super-feliz por finalmente apresentar um curso Scrimba que ajuda qualquer desenvolvedor web a começar facilmente com redes neurais.

No curso, Robert Plummer ensina como usar sua popular biblioteca Brain.js através da solução de vários problemas interessantes, como:

  • reconhecendo imagens
  • analisando o sentimento de sentenças
  • e até mesmo escrevendo livros infantis muito simples!

E graças à plataforma Scrimba, você poderá interagir diretamente com o código de exemplo e modificá-lo ao longo do caminho.

Este pode ser o curso mais interativo sobre redes neurais já criado.

Então, vamos dar uma olhada no que você aprenderá ao longo desses 19 screencasts gratuitos.

1. Introdução

Robert começa com uma visão geral dos conceitos que você aprenderá, dos projetos que construirá e da filosofia pedagógica geral por trás do curso. É um curso prático que se concentra em capacitar as pessoas para construir, em vez de ficar preso nos aspectos teóricos por trás das redes neurais.

2. Nossa primeira rede neural!

Nesta palestra, vamos pular no código e começar a codificar imediatamente. Robert leva você através da construção de uma rede XOR, que é a rede mais simples possível de construir. Dentro de dois minutos de palestras, você assistiu sua primeira rede neural sendo codificada.

Você também será incentivado a brincar com a rede, simplesmente pausando o screencast, editando os valores e, em seguida, executando a rede por si mesmo!

3. Como eles aprendem? Propagação

Robert continua o curso com um pouco de teoria. Nesta palestra, ele explica os conceitos de propagação direta e de propagação reversa, os quais estão no centro das redes neurais.

Ele usa um exemplo simples para explicar os conceitos de uma maneira que todos possam entender.

Robert também dá uma rápida introdução à função de erro, que é outro componente-chave das redes neurais, já que o erro informa à rede o quão longe estão suas previsões durante o treinamento.

4. Como eles aprendem? Parte 2 – Estrutura

Nesta palestra, Robert explica mais alguns conceitos. Mais especificamente, ele explica a estrutura subjacente das redes neurais.

  • entradas saídas
  • valores aleatórios
  • funções de ativação (“relu”)

Ele também fornece alguns links que você pode usar se estiver interessado em mergulhar um pouco mais nesses conceitos. Mas, sendo este um curso prático e não teórico, ele rapidamente avança.

5. Como eles aprendem? Parte 3 – Camadas

Agora é hora de se familiarizar com as camadas. Então, nesta palestra, Robert dá uma visão geral sobre como configurar as camadas Brian.js e por que as camadas são importantes.

Robert também destaca como os cálculos são simples dentro dos neurônios de uma rede feedforward. Se você está curioso e quer aprender mais sobre isso, você pode seguir os links que ele compartilha no final desta palestra.

6. Trabalhando com objetos

O Brain.js também possui um ótimo recurso que permite trabalhar com objetos. Então, neste tutorial, Robert explica como fazer exatamente isso. Para ilustrar como funciona, ele cria uma rede neural que prevê o brilho das cores com base em quanto vermelho, verde e azul elas contêm.

7. Aprender mais que números

Quando você quer resolver problemas no mundo real, muitas vezes você tem que lidar com valores que não são números. No entanto, uma rede neural só entende números. Então isso representa um desafio.

Felizmente, o Brain.js está ciente disso e tem uma solução integrada. Então, nesta palestra, Robert explica como você pode usar outros valores além dos números para criar redes neurais.

8. Contando com redes neurais

Agora é hora de se familiarizar com um novo tipo de redes neurais, as chamadas redes neurais recorrentes. Parece muito complexo, mas Robert ensina você a usar essa ferramenta de maneira simples. Ele usa uma analogia de filme fácil de entender para explicar o conceito.

Ele então ensina uma rede para contar. Ou em outras palavras, a rede usa um conjunto de números como uma entrada (por exemplo, 5,4,3) e, em seguida, adivinha o próximo número (por exemplo, 2) de forma adequada. Isso pode parecer trivial, mas na verdade é um grande passo para a criação de máquinas que lembrem e possam entender o contexto.

9. Previsão do mercado de ações – normalização

As redes neurais geralmente funcionam melhor com valores que variam em torno de 1. Então, o que acontece quando os dados de entrada estão longe de 1? Esta é uma situação em que você vai se encontrar, por exemplo, prevendo os preços das ações. Nesse caso, você precisaria normalizar os dados. Então, nesta palestra, Robert explica exatamente como fazer isso de uma maneira simples.

10. Previsão do mercado de ações – Prever próxima

Agora que sabemos como normalizar os dados, Robert demonstra como podemos criar uma rede neural que pode prever o preço das ações para o dia seguinte. Usaremos o mesmo tipo de rede que você lembra do tutorial de contagem, uma rede neural recorrente.

11. Previsão do mercado de ações – Prever os próximos 3 passos

Mas simplesmente prever um dia no futuro nem sempre é suficiente. Então, nesta palestra, Robert passa pelo método de previsão do Brain.js. Isso nos permite prever várias etapas no futuro. Essa habilidade torna uma rede neural recorrente mais útil em várias configurações.

12. Redes neurais recorrentes aprendem matemática

Nesta palestra, Robert ensina uma rede neural para adicionar números juntos. E ele está fazendo isso apenas inserindo um monte de seqüências de caracteres. Este screencasts também lhe dá uma melhor compreensão de como uma rede neural recorrente transforma as entradas que entra em matrizes antes de executá-lo.

13. Detecção do número lo-fi

Outra aplicação super-útil para redes neurais é o reconhecimento de imagens. Neste tutorial, Robert cria uma rede neural que pode reconhecer números de arte ASCII. É uma versão fictícia de visão artificial.

E mesmo sendo muito simples, ainda é dinâmico da mesma forma que uma solução adequada seria. Isso significa que você pode modificar os números ASCII até certo ponto, e a rede ainda reconhecerá o número que você está tentando dar. Em outras palavras, é capaz de generalizar.

14. Escrever um livro infantil com uma rede recorrente

Este projeto é super legal. Envolve treinar uma rede para escrever um livro infantil. Novamente, é apenas um exemplo fictício, mas definitivamente sugere o poder das redes neurais recorrentes, já que começa a improvisar uma nova sentença apenas por ter olhado quatro sentenças diferentes.

Se você quiser ter uma idéia do incrível poder das redes neurais recorrentes, confira a postagem no blog de Andrej Karpathy sobre o assunto.

15. Detecção de Sentimentos

Um caso de uso muito comum para aprendizado de máquina e redes neurais é a detecção de sentimento. Isso pode ser, por exemplo, entender como as pessoas falam sobre sua empresa nas mídias sociais. Então, para dar a você essa ferramenta no seu cinto de ferramentas, Robert explica como usar uma rede LSTM para detectar sentimentos.

16. Redes neurais recorrentes com… entradas? saídas? Como?

Uma rede neural recorrente traduzirá seus dados de entrada em um chamado mapa de entrada, que Robert explica neste screencast. Isso não é algo que você precisa pensar ao usar o Brain.js, pois ele é abstraído de você, mas é útil estar ciente dessa estrutura subjacente.

17. Aprendizado simples de reforço

O aprendizado por reforço é uma fronteira realmente empolgante do aprendizado de máquina e, nesta palestra, você terá um gostinho dele. Em poucos minutos, Robert lhe dará uma demonstração conceitual do que é o aprendizado por reforço, usando a rede mais simples possível, uma rede XOR.

18. Construindo um mecanismo de recomendação

Por fim, Robert encerra as palestras com um mecanismo de recomendação, que aprende a preferência de um usuário por cores. Os mecanismos de recomendação são muito usados por empresas como a Netflix e a Amazon para oferecer aos usuários sugestões mais relevantes, portanto, esse é um assunto muito útil para se aprender mais.

19. Pensamentos de encerramento

Se você chegar até aqui: parabéns! Você deu o primeiro passo para se tornar um engenheiro de aprendizado de máquina. Mas isso é realmente onde sua jornada começa, e Robert tem alguns pensamentos realmente interessantes sobre como você deve pensar sobre sua jornada de aprendizado de máquina no futuro, e como você deve usar sua intuição como guia.

Depois de assistir a isso, você será inspirado e capacitado a sair para o mundo e enfrentar problemas com o aprendizado de máquina!

E não se esqueça de seguir Robert no Twitter , e também agradecer por seu incrível presente de Natal para todos nós! 🙂

Boas festas!