Redes neurais: exercícios do Playground

Uma primeira rede neural

Neste exercício, vamos treinar nossa primeira rede neural. As redes neurais vão nos permitir aprender modelos não lineares sem usar cruzamentos de atributos explícitos.

Tarefa 1: o modelo fornecido combina nossos dois recursos de entrada em um único neurônio. Esse modelo vai aprender alguma não linearidade? Execute-o para confirmar sua chute.

Tarefa 2: tente aumentar o número de neurônios na camada escondida de 1 para 2 e também mude de uma ativação linear para uma ativação não linear, como ReLU. Você consegue criar um modelo para aprender não linearidades? Ele consegue modelar os dados de maneira eficaz?

Tarefa 3: tente aumentar o número de neurônios na camada oculta de 2 para 3, usando uma ativação não linear, como a ReLU. Ele pode modelar os dados de maneira eficaz? Como a qualidade dos modelos varia de uma execução para outra?

Tarefa 4: continue o experimento adicionando ou removendo camadas e neurônios ocultos por camada. Também é possível alterar as taxas de aprendizado, a regularização e outras configurações de aprendizado. Qual é o menor número de neurônios e camadas que podem ser usados, resultando em uma perda de teste de 0,177 ou menor?

O aumento do tamanho do modelo melhora a adequação ou a convergência? Isso muda a frequência com que ele converge para um bom modelo? Por exemplo, teste a seguinte arquitetura:

  • Primeira camada escondida com três neurônios.
  • Segunda camada escondida com três neurônios.
  • Terceira camada escondida com dois neurônios.

As respostas aparecem logo abaixo do exercício.



Inicialização da rede neural

Esse exercício usa os dados XOR novamente, mas analisa a capacidade de repetição do treinamento de redes neurais e a importância da inicialização.

Tarefa 1:execute o modelo da mesma maneira quatro ou cinco vezes. Antes de cada teste, clique no botão Redefinir a rede para uma nova inicialização aleatória. O botão Redefinir a rede é a seta de redefinição circular à esquerda do botão "Reproduzir". Execute cada teste por pelo menos 500 passos para garantir a convergência. Em que formato cada saída de modelo converge? O que isso diz sobre o papel da inicialização em otimização não convexa?

Tarefa 2: inclua uma camada e alguns nós extras para tornar o modelo um pouco mais complexo. Repita os testes da Tarefa 1. Isso adiciona alguma estabilidade aos resultados?

As respostas aparecem logo abaixo do exercício.



Espiral da rede neural

Este conjunto de dados é uma espiral com ruído. Obviamente, um modelo linear falhará aqui, mas até mesmo os cruzamentos de atributos definidos manualmente podem ser difíceis de construir.

Tarefa 1:treinar o melhor modelo que puder, usando apenas X1 e X2. Você pode adicionar ou remover camadas e neurônios, mudar configurações de aprendizado, como taxa de aprendizado, taxa de regularização e tamanho do lote. Qual é a melhor perda de teste que você pode ter? Sua superfície de saída do modelo é suave?

Tarefa 2: mesmo com redes neurais, é necessário algum tipo de engenharia de atributos para alcançar a melhor performance. Adicione outros recursos do produto ou outras transformações, como sin(X1) e sin(X2). Você consegue um modelo melhor? A superfície de saída do modelo é mais suave?

As respostas aparecem logo abaixo do exercício.