Skip to content

Od4ir/ML-Convolutional_Neural_Network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 Redes Neurais Convolucionais 🌟

Implementação do modelo de Redes Neurais Convolucionais (Convolutional Neural Networks - CNN) e do modelo Multilayer Perceptron (MLP) para efeitos comparativos usando o dataset fashion mnist.

As CNN são um tipo de modelo de ML comum em tarefas de reconhecimento de padrões e imagens. Elas aplicam diferentes transformações e filtros nas imagens de entrada que tornam sua 'compreensão' dos elementos mais complexa, auxiliando no reconhecimento de padrões.

Já MLP é um modelo mais simples em comparação, que conta com várias camadas de perceptrons que transformam também os dados, aplicam uma função de ativação para garantir não linearidade e produzem o resultado na camada final;

🔍 Índice

🗣️ Explicação da Comparação:

Para a comparação entre os dois modelos, fiz algumas alterações no dataset fashion_mnist, gerando 3 datasets diferentes e rodei os modelos com diferentes arquoiteturas para avalir a acurácia obtida. O objetivo era comprovar a capacidade superior da CNN em classificar melhor as imagens. Para informações mais detalhadas, consulte esta apresentação;

🌟 Códigos e Arquivos:

Este repositório conta com:

  • 1_Teoria_CNN.ipynb - Um JN com a historicidade das CNNs;
  • 2_Teoria_CNN.ipynb - Um JN com explicações teóricas sobre as operações da CNN;
  • CNN.ipynb - Implementação de diferentes arquiteturas de CNN para o dataset fashion mnist;
  • MLP.ipynb - Implementação de diferentes arquiteturas de MLP para o dataset fashion mnist;
  • Comparacao_MLP_CNN.pdf - Apresentação em PDF de mais detalhes das arquiteturas testadas;

⚙️ Instalação

Para clonar este repositório localmente, siga os passos abaixo:

  1. Abra o terminal na pasta em que deseja guardar esse projeto.

  2. Utilize o comando abaixo para clonar o repositório:

git clone https://github.com/Od4ir/ML-Convolutional_Neural_Network.git
  1. Após a clonagem, para rodar os JN e os arquivos em Python, é necessário a instalação da Miniconda - Download e instalação. Após instalar a Miniconda rode:
~/miniconda3/bin/conda init
  1. E crie um ambiente virtual chamado d2l para rodar os programas e instalar as bibliotecas sem afetar seu ambiente global:
conda create --name d2l python=3.9 -y   # *Lembre-se de alterar a versão do Python
  1. Ativando e desativando o ambiente virtual:
conda activate d2l     # Ativa o ambiente
conda deactivate       # Desativa o ambiente

Após isso, é necessário instalar as bibliotecas do Python: d2l, pytorch, torchvision e matplotlib:

conda activate d2l

# Instalar a biblioteca d2l
pip install d2l

# Instalar o PyTorch e torchvision
pip install torch torchvision

# Instalar matplotlib
pip install matplotlib

Caso falte alguma durante as execuções, basta instalar com o:

pip install <nome_da_biblioteca>

Para rodar os JN basta escolher o ambiente d2l criado e rodar normalmente.

☑️ Dependências e Ferramentas:

Verifique a seguir as bibliotecas e outras dependências utilizadas nesse projeto. Certifique-se de ter as essas dependências instaladas no seu ambiente:

  • Python 3.12.2 - Linguagem de programação utilizada;
  • Pytorch 2.4.0+cu121 - Biblioteca do Python criada para facilitar o trabalho com Machine Learning;
  • Jupyter Notebook - Aplicação web que permite escrever documentos com texto e código;
  • Matplotlib - Biblioteca do Python com funções para visualização de dados;
  • NumPy - Biblioteca do Python com funções para realizar várias funções numéricas;
  • d2l - Biblioteca para acompanhar o livro Dive into Deep Learning;
  • torchvision - Biblioteca para visões computacionais em PyTorch.

📚 Bibliografia

About

ML - Convolutional Neural Network

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published