Como visualizar um modelo de rede neural de aprendizado profundo em Keras

Como visualizar um modelo de rede neural de aprendizado profundo em Keras

A biblioteca de aprendizado profundo Keras Python fornece ferramentas para visualizar e entender melhor seus modelos de rede neural.

Neste tutorial, você descobrirá exatamente como resumir e visualizar seus modelos de aprendizado profundo no Keras.

Depois de concluir este tutorial, você saberá:

  • Como criar um resumo textual do seu modelo de aprendizado profundo.
  • Como criar um gráfico de seu modelo de aprendizado profundo.
  • Dicas de práticas recomendadas ao desenvolver modelos de aprendizado profundo em Keras.

Comece seu projeto com meu novo livro Deep Learning With Python, incluindo tutoriais passo a passo e a Código-fonte Python arquivos para todos os exemplos.

Vamos começar.

Como visualizar um modelo de rede neural de aprendizado profundo em Keras

Como visualizar um modelo de rede neural de aprendizado profundo em Keras
Foto de Ed Dunens, alguns direitos reservados.

Visão geral do tutorial

Este tutorial é dividido em 4 partes; eles estão:

  1. Modelo de exemplo
  2. Resumo do modelo
  3. Visualize o modelo
  4. Dicas de boas práticas

Modelo de exemplo

Podemos começar definindo um modelo simples de Perceptron multicamadas em Keras que podemos usar como assunto para resumo e visualização.

O modelo que definiremos tem uma variável de entrada, uma camada oculta com dois neurônios e uma camada de saída com uma saída binária.

Por exemplo:

Se você é novo no Keras ou no aprendizado profundo, consulte este tutorial passo a passo do Keras.

A lista de códigos para esta rede é fornecida abaixo.

Resumo do modelo

Keras fornece uma maneira de resumir um modelo.

O resumo é textual e inclui informações sobre:

  • As camadas e sua ordem no modelo.
  • A forma de saída de cada camada.
  • O número de parâmetros (pesos) em cada camada.
  • O número total de parâmetros (pesos) no modelo.

O resumo pode ser criado chamando o resumo() função no modelo que retorna uma string que por sua vez pode ser impressa.

Abaixo está o exemplo atualizado que imprime um resumo do modelo criado.

A execução deste exemplo imprime a tabela a seguir.

Podemos ver claramente a forma de saída e o número de pesos em cada camada.

Visualize o modelo

O resumo é útil para modelos simples, mas pode ser confuso para modelos que possuem várias entradas ou saídas.

Keras também fornece uma função para criar um gráfico do gráfico da rede neural da rede que pode tornar os modelos mais complexos mais fáceis de entender.

O plot_model () função em Keras criará um gráfico de sua rede. Esta função tem alguns argumentos úteis:

  • modelo: (obrigatório) O modelo que você deseja plotar.
  • arquivar: (obrigatório) O nome do arquivo no qual salvar a plotagem.
  • show_shapes: (opcional, o padrão é Falso) Se deve ou não mostrar as formas de saída de cada camada.
  • show_layer_names: (opcional, o padrão é Verdade) Se deve ou não mostrar o nome de cada camada.

Abaixo está o exemplo atualizado que plota o modelo criado.

Observe que o exemplo pressupõe que você tenha a biblioteca de gráficos graphviz e a interface Python instaladas.

Executar o exemplo cria o arquivo model_plot.png com um gráfico do modelo criado.

Plot of Neural Network Model Graph

Plot of Neural Network Model Graph

Dicas de boas práticas

Eu geralmente recomendo sempre criar um resumo e um gráfico de seu modelo de rede neural em Keras.

Eu recomendo isso por alguns motivos:

  • Confirme a ordem das camadas. É fácil adicionar camadas na ordem errada com a API sequencial ou conectá-las incorretamente com a API funcional. O gráfico pode ajudá-lo a confirmar se o modelo está conectado da maneira desejada.
  • Confirme a forma de saída de cada camada. É comum ter problemas ao definir a forma dos dados de entrada para redes complexas, como redes neurais convolucionais e recorrentes. O resumo e o gráfico podem ajudá-lo a confirmar se a forma de entrada para a rede é a desejada.
  • Confirme os parâmetros. Algumas configurações de rede podem usar muito menos parâmetros, como o uso de um TimeDistributed camada Densa envolvida em uma rede neural recorrente codificador-decodificador. A revisão do resumo pode ajudar a identificar casos de uso de muito mais parâmetros do que o esperado.

Leitura Adicional

Esta seção fornece mais recursos sobre o tópico se você deseja se aprofundar.

Resumo

Neste tutorial, você descobriu como resumir e visualizar seus modelos de aprendizado profundo no Keras.

Especificamente, você aprendeu:

  • Como criar um resumo textual do seu modelo de aprendizado profundo.
  • Como criar um gráfico de seu modelo de aprendizado profundo.
  • Dicas de práticas recomendadas ao desenvolver modelos de aprendizado profundo em Keras.

Você tem alguma pergunta?
Tire suas dúvidas nos comentários abaixo e farei o possível para responder.

Desenvolva projetos de aprendizado profundo com Python!

Aprendizado profundo com Python

E se você pudesse desenvolver uma rede em minutos

... com apenas algumas linhas de Python

Descubra como em meu novo Ebook:
Aprendizado profundo com Python

Cobre projetos ponta a ponta em tópicos como:
Perceptrons Multicamadas, Redes convolucionais e Redes Neurais Recorrentes, e mais...

Finalmente leve o aprendizado profundo para
Seus Próprios Projetos

Ignore os acadêmicos. Apenas resultados.

Veja o que há dentro

Você também pode estar interessado em