Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Projeto] Sessão 05: Redes Neurais

Nesta atividade, implementei uma arquitetura neural para um problema de classificação de flores a partir de atributos estruturais, utilizando duas abordagens vistas em aula: nn.Sequential e a criação de uma classe personalizada herdando de nn.Module.

Como o problema envolve amostras com atributos estruturais de flores, considerei uma entrada com 4 atributos. A arquitetura proposta foi composta por uma camada linear escondida com 6 neurônios, uma função de ativação ReLU e uma camada linear de saída com 3 neurônios, representando as possíveis classes do problema.

Na implementação com nn.Sequential, organizei as camadas de forma direta e sequencial, facilitando a visualização do fluxo dos dados pela rede. Já na implementação com nn.Module, defini a arquitetura dentro de uma classe, separando a construção das camadas no método __init__ e o fluxo de execução no método forward.

Durante a execução no Google Colab, encontrei um erro ao utilizar o torchsummary, indicando que alguns tensores estavam em dispositivos diferentes, parte na GPU e parte na CPU. Para corrigir isso, ajustei a chamada do resumo do modelo para executar explicitamente na CPU:

summary(net, input_size=(1, input_size), device='cpu')

Após esse ajuste, o notebook executou corretamente e foi possível visualizar a estrutura da rede implementada. Essa atividade ajudou a reforçar a importância de definir corretamente as dimensões de entrada, camada escondida e saída em uma rede neural, além de mostrar na prática a diferença entre criar modelos com nn.Sequential e com nn.Module.

Segue o link: https://github.com/Moquiuti/Deep-Learning-com-PyTorch/blob/main/Arquitetura.ipynb

1 resposta

Olá, Leandro! Como vai?

Obrigado por compartilhar sua implementação e suas reflexões com a comunidade. Trabalhar com arquitetura de redes neurais para um problema de classificação de flores a partir de atributos estruturais é uma ótima forma de consolidar os conceitos fundamentais de Deep Learning com PyTorch.

Sua análise ficou muito bem estruturada. A escolha de uma entrada com 4 atributos, uma camada escondida com 6 neurônios e uma camada linear de saída com 3 neurônios está alinhada com o problema proposto.

Como próximo passo, vale experimentar variações na arquitetura, como adicionar mais uma camada escondida, alterar a quantidade de neurônios ou testar outras funções de ativação além da ReLU. Pequenas mudanças na estrutura da rede podem gerar impactos significativos no desempenho do modelo durante o treinamento.

Continue explorando e compartilhando seus projetos com o fórum. Bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!