O que sãoCNNs?
As Redes Neurais Convolucionais (CNNs –
Convolutional Neural Networks) são um tipo de rede
neural projetada especificamente para processar dados
estruturados em forma de grade, como imagens. Elas
utilizam operações de convolução para detectar
padrões e características em diferentes camadas da
rede.
3.
Redes Neurais Convolucionais
(CNNs)
As Redes Neurais Artificiais (ANNs – Artificial Neural
Networks) são modelos computacionais inspirados no
funcionamento do cérebro humano. Elas são
compostas por camadas de neurônios artificiais
conectados por pesos, que são ajustados durante o
treinamento para realizar tarefas como classificação,
regressão e reconhecimento de padrões.
4.
Papel das CNNsna análise de
imagens
As CNNs são amplamente utilizadas para análise de
imagens devido à sua capacidade de extrair
automaticamente características relevantes, como
bordas, texturas e formas. Elas são aplicadas em tarefas
como reconhecimento facial, diagnóstico médico por
imagem, detecção de objetos e classificação de imagens.
5.
Importância das CNNs
As Redes Neurais Convolucionais (CNNs) são
extremamente úteis para Visão Computacional porque
conseguem aprender automaticamente padrões em
imagens sem a necessidade de extração manual de
características. Diferente de abordagens tradicionais,
que exigem o desenvolvimento de filtros específicos, as
CNNs aprendem a identificar texturas, bordas, formas
e até objetos completos à medida que são treinadas.
Isso torna a análise de imagens mais eficiente, precisa e
escalável.
6.
Por que CNNssão úteis para Visão
Computacional?
Extração automática de características: Dispensam a
necessidade de engenharia manual de características, facilitando
a análise de imagens complexas.
Redução de parâmetros: Camadas convolucionais
compartilham pesos, reduzindo significativamente o número de
parâmetros e melhorando a eficiência computacional.
Robustez a variações: São eficazes mesmo com mudanças de
iluminação, rotação e escalonamento, tornando-as ideais para
aplicações do mundo real.
Capacidade de generalização: CNNs podem ser treinadas em
grandes bases de dados e adaptadas a diferentes domínios com
transfer learning (aprendizado por transferência).
7.
Exemplos de AvançosGraças às
CNNs
Reconhecimento Facial: Tecnologias como Face ID (Apple) e
sistemas de segurança biométrica se beneficiam de CNNs para
identificar rostos com alta precisão.
Diagnóstico Médico: CNNs são usadas em radiologia para
detecção de tumores, doenças pulmonares e retinopatia
diabética, auxiliando médicos no diagnóstico precoce.
Carros Autônomos: Veículos como os da Tesla utilizam CNNs
para interpretar imagens de câmeras e identificar pedestres,
sinais de trânsito e outros veículos.
Detecção de Objetos: Algoritmos como YOLO e Faster R-CNN
são utilizados em videomonitoramento, drones e sistemas de
segurança para identificar e rastrear objetos em tempo real.
Tradução Automática de Imagens: Aplicações como o Google
Translate usam CNNs para reconhecer e traduzir textos em
imagens, facilitando a comunicação global.
8.
Arquitetura e Funcionamentodas
CNNs
As Redes Neurais Convolucionais (CNNs) possuem
uma arquitetura específica para processar dados
visuais de forma eficiente. Elas são compostas por
várias camadas especializadas que extraem e
processam características das imagens, reduzindo
gradualmente sua complexidade e permitindo
classificações precisas.
9.
Camadas das CNNs
Uma CNN típica é formada por três tipos principais de camadas:
Camadas Convolucionais – Extraem características da imagem.
Camadas de Ativação (ReLU) – Introduzem não linearidade ao
modelo.
Camadas de Pooling – Reduzem a dimensionalidade e preservam
informações importantes.
(Opcional) Camadas Totalmente Conectadas (FC) – Finalizam a
classificação.
10.
Camadas Convolucionais
Acamada convolucional é o coração das CNNs. Ela
aplica filtros (kernels) sobre a imagem para detectar
padrões locais, como bordas, texturas e formas.
Cada filtro percorre a imagem aplicando uma operação
matemática chamada convolução, gerando um mapa
de características (feature map).
Os primeiros filtros aprendem padrões básicos,
enquanto camadas mais profundas detectam
estruturas complexas.
Exemplo: Para detectar bordas, um filtro simples pode
destacar transições entre cores escuras e claras.
11.
Função de Ativação(ReLU –
Rectified Linear Unit)
Após a convolução, a função de ativação ReLU
(Rectified Linear Unit) é aplicada a cada valor do mapa
de características.
Fórmula:
Objetivo: Introduzir não linearidade e evitar que a rede
se torne um simples modelo linear.
Benefícios: Evita o problema do vanishing gradient e
acelera o treinamento.
12.
Camadas de Pooling
As camadas de pooling reduzem a dimensionalidade
dos mapas de características, tornando o modelo mais
eficiente e resistente a variações.
Tipos comuns de pooling:
Max Pooling: Seleciona o valor máximo dentro de
uma região (mais comum).
Average Pooling: Calcula a média dos valores da
região.
13.
Exemplo (Max Pooling2x2)
Se tivermos um mapa de características:
Após o max pooling 2×2 (tomando o maior valor em
cada região 2×2), teremos:
Isso reduz a dimensionalidade da imagem sem perder
informações importantes.
14.
Processo de Extraçãode
Características em CNNs
As Redes Neurais Convolucionais (CNNs) são capazes
de identificar padrões nas imagens por meio de filtros
(kernels), que realizam operações de convolução para
extrair características relevantes em diferentes níveis
da rede. Esse processo ocorre de maneira hierárquica,
similar à percepção humana.
15.
Como os FiltrosIdentificam
Padrões nas Imagens
Os filtros atuam como detectores de características
específicas. Durante a passagem de uma imagem por uma
CNN:
Camadas iniciais: Identificam padrões simples, como
bordas horizontais, verticais e diagonais.
Camadas intermediárias: Capturam texturas e formas
básicas, como cantos e curvas.
Camadas profundas: Detectam estruturas mais complexas,
como olhos, rostos ou objetos inteiros.
Cada filtro percorre a imagem aplicando a operação de
convolução, gerando um mapa de características que
destaca os elementos mais importantes para a classificação.
16.
Comparação com aPercepção
Humana
A forma como as CNNs extraem características se
assemelha ao funcionamento do sistema visual humano:
Camadas Iniciais (Detecção de Bordas) → Retina e
Córtex Visual Primário: Assim como a retina e o córtex
visual primário detectam contrastes e bordas, as primeiras
camadas da CNN identificam padrões básicos.
Camadas Intermediárias (Texturas e Formas) →
Processamento no Córtex Visual Secundário: O cérebro
começa a interpretar formas e texturas, assim como as
camadas intermediárias da CNN.
Camadas Profundas (Objetos Complexos) →
Reconhecimento Cognitivo: O cérebro reconhece rostos,
objetos e cenas completas, da mesma forma que as últimas
camadas da CNN realizam a classificação final.
17.
Camada Totalmente Conectadae
Classificação em CNNs
Após a extração de características nas camadas
convolucionais e de pooling, os dados passam por uma
Camada Totalmente Conectada (Fully Connected
Layer – FC).
Essa camada funciona como uma rede neural
tradicional e é responsável por combinar as
informações extraídas para tomar a decisão final sobre
a classificação da imagem.
18.
Como os Neurôniosda Última
Camada Tomam Decisões
Achatar os Dados (Flattening): O mapa de
características gerado pelas camadas anteriores é
convertido em um vetor unidimensional.
Multiplicação com Pesos e Soma: Cada neurônio da
camada totalmente conectada recebe os valores desse vetor,
multiplica por pesos ajustáveis e soma os resultados.
Ativação (ReLU / Sigmoid / Softmax): Dependendo do
tipo de saída desejada, uma função de ativação é aplicada
para gerar probabilidades ou uma decisão binária.
Tomada de Decisão: O neurônio com a maior saída
representa a classe prevista.
19.
Softmax para Classificação
Quando a CNN precisa classificar uma imagem em
múltiplas categorias (por exemplo, diferenciar entre
gatos, cachorros e pássaros), utiliza-se a função
Softmax na última camada para converter as saídas
em probabilidades.
A função Softmax transforma um conjunto de valores
arbitrários em probabilidades normalizadas,
garantindo que a soma de todas as saídas seja 1.
20.
Fórmula do Softmax:
Onde:
zi é a saída bruta do neurônio para a classe i.
O denominador soma todas as exponenciais das
saídas, garantindo que o resultado esteja entre 0 e 1.
21.
Exemplo:
Se umaCNN classifica imagens entre três classes e gera os
seguintes valores brutos:
Gato: 2.3
Cachorro: 1.8
Pássaro: 0.5
Após aplicar o Softmax, as probabilidades podem ser:
Gato: 70%
Cachorro: 25%
Pássaro: 5%
O modelo então prevê a imagem como um gato por ter a
maior probabilidade.
22.
Resumo
A CamadaTotalmente Conectada transforma as
características extraídas pela CNN em um vetor e
processa a informação para decidir a classificação.
O Softmax é usado na última camada para converter
os valores de saída em probabilidades, garantindo uma
decisão clara e interpretável.
A classe com maior probabilidade é escolhida como a
previsão final do modelo.
23.
Treinamento de CNNs
Para que uma Rede Neural Convolucional (CNN)
aprenda a reconhecer padrões e classificar imagens
corretamente, ela precisa passar por um processo de
treinamento baseado em ajuste de pesos por meio do
backpropagation e otimização da função de perda.
24.
Função de Perdae
Backpropagation
O treinamento ocorre iterativamente, seguindo os
passos abaixo:
Propagação Direta (Forward Propagation)
A imagem de entrada passa pelas camadas
convolucionais, de ativação, pooling e totalmente
conectadas.
A camada final gera uma predição (probabilidades para
cada classe).
25.
Função de Perdae
Backpropagation
Cálculo da Função de Perda
Compara-se a saída prevista com o rótulo real da
imagem.
A função de perda mede o erro do modelo.
26.
Função de Perdae
Backpropagation
Backpropagation (Retropropagação do Erro)
O erro calculado pela função de perda é distribuído de
trás para frente na rede.
Gradientes são calculados para ajustar os pesos dos
filtros e conexões.
Usa-se o Gradiente Descendente ou variações, como
Adam, para atualizar os pesos de forma eficiente.
27.
Função de Perdae
Backpropagation
Atualização dos Pesos
Com base nos gradientes, os pesos da rede são ajustados
para reduzir o erro na próxima iteração.
O processo se repete até que a rede atinja um
desempenho satisfatório.
28.
Uso de GrandesBases de Dados
no Treinamento
Para que as CNNs aprendam padrões robustos, elas
precisam de grandes conjuntos de dados anotados.
Exemplos famosos incluem:
ImageNet:
Contém mais de 14 milhões de imagens classificadas
em 1.000 categorias.
Utilizada para treinar modelos como AlexNet, VGG,
ResNet e EfficientNet.
Impactou significativamente a evolução da visão
computacional.
29.
Uso de GrandesBases de Dados
no Treinamento
CIFAR-10 e CIFAR-100:
Conjuntos menores (60.000 imagens) usados para
experimentação e testes de CNNs.
COCO (Common Objects in Context):
Utilizado para detecção de objetos e segmentação de
imagens.
30.
Vantagens do usode grandes
bases de dados
✅ Ajudam a CNN a generalizar melhor para novos
dados.
✅ Permitem o aprendizado transferível (Transfer
Learning), onde modelos pré-treinados são adaptados
para novas tarefas.
✅ Reduzem problemas de overfitting (quando a rede
aprende apenas os dados de treino e não generaliza
bem).
31.
Modelos CNN Populares
As Redes Neurais Convolucionais (CNNs) têm
evoluído bastante ao longo do tempo, com cada
modelo trazendo inovações que influenciaram o
campo de visão computacional.
32.
LeNet (1998)
Arquitetura:LeNet foi uma das primeiras CNNs bem-
sucedidas, criada por Yann LeCun. A arquitetura é
relativamente simples, com 7 camadas, sendo 2
camadas convolucionais seguidas de camadas de
pooling e camadas totalmente conectadas.
Avanço: Introduziu a ideia de usar camadas
convolucionais e pooling em conjunto para
reconhecimento de padrões, o que revolucionou a
visão computacional na época.
Aplicação: Originalmente foi desenvolvida para
reconhecimento de dígitos manuscritos (MNIST).
33.
AlexNet (2012)
Arquitetura:AlexNet é uma rede muito maior, com 8 camadas
principais (5 convolucionais e 3 totalmente conectadas). Ela utiliza
camadas convolucionais maiores e mais filtros do que o LeNet.
Avanço:
ReLU: Introduziu a função de ativação ReLU (Rectified Linear Unit),
que melhora o treinamento por evitar o problema do "desvanecimento
do gradiente" que ocorre com funções como sigmoide.
Dropout: Para evitar overfitting, introduziu a técnica de "dropout" nas
camadas totalmente conectadas.
Data Augmentation: Fez uso de técnicas de aumento de dados para
melhorar o desempenho e reduzir overfitting.
Uso de GPUs: AlexNet foi um dos primeiros a usar GPUs para
treinamento em larga escala, o que acelerou significativamente o
processo.
Aplicação: Ganhou a competição ImageNet em 2012, marcando um
marco importante no desenvolvimento das CNNs.
34.
VGG (2014)
Arquitetura:VGG é conhecida por sua arquitetura profunda, com até
19 camadas (dependendo da variante VGG-16 ou VGG-19), usando
filtros 3x3 pequenos em todas as camadas convolucionais. Essa escolha
de filtros pequenos foi uma maneira de aumentar a profundidade sem
aumentar o número de parâmetros.
Avanço:
Profundidade: A principal inovação foi a profundidade da rede, com a
ideia de que redes mais profundas poderiam aprender melhores
representações de características.
Homogeneidade: Usou uma arquitetura mais simples, com camadas
convolucionais padronizadas e camadas totalmente conectadas no
final.
Desempenho: Obteve ótimos resultados no ImageNet, e a
profundidade aumentou o poder de representação da rede.
Aplicação: Foi uma das primeiras redes a mostrar que redes mais
profundas podem melhorar o desempenho, embora com o custo de
maior uso de memória e poder computacional.
35.
ResNet (2015)
Arquitetura:ResNet, ou Residual Networks, introduziu o conceito de
"residual connections" (conexões residuais), que ajudam a rede a ser
mais profunda e eficaz sem sofrer com o problema de degradação (onde
redes muito profundas não aprendem melhor que redes mais rasas).
Avanço:
Residual Blocks: Introduziu os blocos residuais, onde a entrada de
uma camada é somada diretamente à saída, permitindo a rede "ignorar"
camadas se necessário, facilitando o treinamento de redes muito
profundas (como ResNet-50, ResNet-101 e ResNet-152, com até 152
camadas).
Profundidade sem perda de desempenho: ResNet permitiu que
redes com centenas de camadas fossem treinadas efetivamente, o que
anteriormente seria problemático devido ao problema de
desaparecimento do gradiente.
Desempenho: Superou os modelos anteriores em várias tarefas de
visão computacional, como no ImageNet.
Aplicação: Usada em tarefas de classificação de imagens, detecção de
objetos, segmentação e mais. A arquitetura ResNet continua sendo uma
das mais populares para modelos de redes profundas.
36.
Diferenças e Avanços
Profundidade: LeNet é raso em comparação com os modelos mais modernos
como VGG e ResNet, que têm muito mais camadas e podem aprender
representações mais complexas.
Inovação nas Conexões: AlexNet trouxe o uso de GPUs e novas técnicas de
regularização, enquanto ResNet trouxe a ideia revolucionária de conexões
residuais, permitindo redes muito mais profundas.
Desempenho: AlexNet e VGG deram grandes avanços no desempenho em
tarefas de visão computacional, com ResNet superando ambos ao permitir
redes ainda mais profundas com melhor desempenho em tarefas complexas.
Técnicas: VGG e ResNet exploram o conceito de redes mais profundas, mas
enquanto o VGG usa camadas muito mais simples, o ResNet permite uma
maior profundidade sem perda de desempenho graças às conexões residuais.
Esses avanços mostram uma evolução significativa na arquitetura das
CNNs, com cada modelo resolvendo problemas que os anteriores não
conseguiam, permitindo o avanço em tarefas cada vez mais
desafiadoras.
37.
Transfer Learning eFine-Tuning
Transfer Learning (Aprendizado por Transferência) e
Fine-Tuning (Ajuste Fino) são técnicas poderosas que
permitem adaptar modelos pré-treinados a novas
aplicações, economizando tempo e recursos de
treinamento. Elas são especialmente úteis quando você
tem um conjunto de dados limitado ou quando o
treinamento de um modelo do zero seria muito caro ou
demorado. Vamos ver como essas técnicas funcionam e
como aplicar a um novo problema.
38.
Transfer Learning
OTransfer Learning é uma abordagem em que você
reutiliza um modelo pré-treinado em um novo
problema. O objetivo é aproveitar o conhecimento
adquirido pelo modelo em uma tarefa para melhorar o
desempenho em outra tarefa relacionada.
39.
Como funciona:
Modelopré-treinado: Você começa com um modelo que foi
treinado em uma grande base de dados, como o ImageNet para
tarefas de visão computacional, que tem milhões de imagens e
classes.
Reutilização das camadas iniciais: As camadas iniciais do
modelo pré-treinado são geralmente responsáveis por aprender
características gerais das imagens (como bordas, texturas e
formas básicas). Essas características podem ser reutilizadas em
diferentes tarefas, já que são comuns a muitas imagens, mesmo
em diferentes contextos.
Substituição das camadas finais: As camadas finais do modelo
são específicas para o tipo de tarefa (por exemplo, classificar
categorias em ImageNet). Essas camadas são removidas e
substituídas por novas camadas adaptadas ao seu novo
problema.
40.
Aplicações típicas:
Classificaçãode imagens (utilizando redes como VGG,
ResNet, etc. pré-treinadas em ImageNet).
Detecção de objetos, segmentação, etc.
41.
Fine-Tuning
O Fine-Tuningé uma forma de Transfer Learning, mas envolve um
ajuste adicional para adaptar mais precisamente o modelo ao novo
problema.
Como funciona:
Congelamento das camadas iniciais: Durante o fine-tuning, você
pode começar congelando as camadas iniciais (que aprenderam
características gerais e úteis) e só treinar as camadas finais, onde ocorre
a tomada de decisão específica para o seu problema.
Descongelamento parcial das camadas: Em alguns casos, você pode
também descongelar algumas camadas intermediárias e permitir que o
modelo ajuste suas representações mais profundas para o novo
conjunto de dados.
Taxa de aprendizado reduzida: Durante o fine-tuning, você
geralmente usa uma taxa de aprendizado mais baixa nas camadas já
treinadas e uma taxa mais alta nas novas camadas adicionadas. Isso
evita que o modelo perca as representações gerais que aprendeu
anteriormente.
42.
Aplicações típicas:
Quandovocê tem um novo conjunto de dados
relacionado, mas específico, como quando deseja
classificar tipos específicos de objetos em imagens,
mas já tem um modelo treinado em uma base de dados
maior e mais geral.
Pode ser usado também para tarefas como análise de
texto, áudio e outras áreas onde modelos pré-treinados
estão disponíveis.
43.
Passos para adaptaçãode
modelos pré-treinados
Escolher um modelo pré-treinado:
Se você estiver lidando com imagens, pode escolher
modelos como ResNet, VGG, MobileNet, etc., que
foram treinados em grandes bases de dados como o
ImageNet.
Para tarefas de NLP, pode usar modelos como BERT,
GPT, ou T5, que foram treinados em grandes corpora de
texto.
44.
Passos para adaptaçãode
modelos pré-treinados
Remover ou ajustar as camadas finais:
Substitua a camada final (normalmente uma camada
densa) para que ela tenha o número de classes ou saída
compatível com o seu novo problema.
Para tarefas de regressão, você pode substituir a camada
final por uma camada de saída com uma única unidade.
45.
Passos para adaptaçãode
modelos pré-treinados
Congelar as camadas iniciais (se necessário):
Se as camadas iniciais já estão aprendendo
características relevantes para o seu problema, você
pode congelá-las, mantendo os pesos dessas camadas
fixos durante o treinamento.
Aconselha-se treinar apenas as camadas finais (as que
foram modificadas para o seu novo problema).
46.
Passos para adaptaçãode
modelos pré-treinados
Fine-tuning (ajuste fino):
Ajuste as camadas finais com o seu novo conjunto de
dados.
Se necessário, descongele camadas intermediárias e
ajuste os pesos.
Use uma taxa de aprendizado baixa para evitar que as
representações já treinadas sejam drasticamente
alteradas.
47.
Passos para adaptaçãode
modelos pré-treinados
Treinamento e avaliação:
Após o fine-tuning, o modelo pode ser treinado com o
seu conjunto de dados específico.
Durante o treinamento, avalie o desempenho do modelo
para garantir que ele está se ajustando corretamente ao
novo problema.
48.
Passos para adaptaçãode
modelos pré-treinados
Ajustes finais:
Se necessário, experimente técnicas de regularização
como dropout, batch normalization, ou data
augmentation para melhorar o desempenho.
49.
Exemplo Prático
Suponhaque você tenha um modelo pré-treinado como o
ResNet50 (treinado no ImageNet) e deseja usá-lo para classificar
imagens de frutas (como maçãs, bananas, laranjas).
Carregar o modelo pré-treinado: Você carrega o modelo
ResNet50 sem a camada de saída (a classificação final), que foi
originalmente treinada para 1000 classes do ImageNet.
Substituir a camada final: Troque a última camada por uma
camada densa com a quantidade de unidades correspondente ao
número de classes de frutas que você tem (por exemplo, 3: maçã,
banana e laranja).
Congelar as camadas iniciais: Congele todas as camadas
convolucionais do modelo para que apenas a nova camada de
classificação seja treinada.
Fine-tuning: Se necessário, descongele algumas camadas mais
profundas e treine-as com uma taxa de aprendizado baixa, para que
o modelo se ajuste melhor ao seu problema de frutas.
Treinamento: Treine o modelo com seu conjunto de dados de
frutas, usando técnicas de regularização e avaliação de desempenho
ao longo do processo.
50.
Vantagens de TransferLearning e
Fine-Tuning
Eficiência de tempo: Não é necessário treinar o modelo desde o
início, o que economiza tempo e poder computacional.
Desempenho melhorado: Modelos pré-treinados já possuem
boas representações das características, o que geralmente resulta
em melhor desempenho, mesmo com dados limitados.
Generalização: A técnica permite que o modelo generalize
melhor, utilizando representações aprendidas em tarefas
anteriores para resolver novas tarefas de maneira eficiente.
Essa combinação de Transfer Learning e Fine-Tuning é uma
prática comum em muitos campos, como visão computacional,
processamento de linguagem natural, e outros, permitindo que
novos modelos sejam rapidamente adaptados para problemas
específicos.
51.
Exemplo:
Carregar odataset CIFAR-10.
Definir um modelo simples de CNN com camadas
convolucionais e de pooling.
Compilar o modelo, treinar com os dados de treino e
avaliar com os dados de teste.
Visualizar os gráficos de precisão e perda para
acompanhar o desempenho.
Realizar previsões nas imagens de teste e visualizar as
imagens com suas previsões.
52.
Passo 1: Instalaras dependências
Antes de começar, certifique-se de ter o TensorFlow
instalado. Você pode instalá-lo usando o seguinte
comando:
pip install tensorflow
Passo 3: Carregaro dataset CIFAR-
10
O TensorFlow já vem com o dataset CIFAR-10
embutido, então podemos carregá-lo diretamente.
55.
Passo 4: Definira arquitetura da CNN
Vamos criar uma
arquitetura simples
de CNN com 3
camadas
convolucionais
seguidas de
camadas de pooling
e uma camada
densa final para
classificação.
56.
Passo 5: Compilaro modelo
Agora, vamos compilar o modelo, especificando o
otimizador, a função de perda e as métricas.
57.
Passo 6: Treinaro modelo
Vamos treinar o modelo com os dados de treino e
validar com os dados de teste.
58.
Passo 7: Avaliaro modelo
Após o treinamento, podemos avaliar o modelo no
conjunto de teste.
59.
Passo 8: Visualizaro histórico de treinamento
Podemos
plotar os
gráficos de
precisão e
perda
durante o
treinamen
to.
60.
Passo 9: Fazerprevisões com o
modelo treinado
Agora que o modelo foi treinado, podemos usar o
modelo para fazer previsões em novas imagens.
61.
Passo 10: Visualizaralgumas imagens
de teste e suas previsões
Vamos plotar algumas imagens do conjunto de
teste junto com as previsões do modelo.
Atividade
A partirdo exemplo de CNN fornecido, você será
desafiado a modificar o código para melhorar o
desempenho do modelo de classificação de imagens do
dataset CIFAR-10. Ao final, você deverá avaliar as
mudanças realizadas e comparar os resultados.
70.
Exemplos de alterações
Mudança 1: Aumentar o Número de Épocas:
Objetivo: Aumente o número de épocas do
treinamento para observar se o modelo melhora a
precisão com mais treinamento.
Alteração: Modifique o número de épocas no
treinamento de 10 para 20.
Análise: Observe se o modelo apresenta melhorias na
acurácia com mais épocas.
71.
Mudança 2: AdicionarDropout:
Objetivo: Adicionar a técnica de dropout para
reduzir o risco de overfitting (ajuste excessivo) e
melhorar a generalização do modelo.
Alteração: Adicione uma camada de Dropout após a
camada densa (antes da camada de saída).
Análise: Compare a acurácia com e sem o dropout, e
discuta se a técnica ajudou a melhorar a performance
do modelo.
73.
Mudança 3: Alteraro Número de
Filtros nas Camadas Convolucionais:
Objetivo: Aumente o número de filtros nas camadas
convolucionais para permitir que o modelo capture
mais características das imagens.
Alteração: Altere o número de filtros nas camadas
convolucionais para 64 na primeira camada e 128 na
segunda camada.
Análise: Observe o impacto no tempo de treinamento
e na acurácia após aumentar a capacidade do modelo.
75.
Mudança 4: Usaro Otimizador
SGD com Momento:
Objetivo: Substitua o otimizador Adam pelo SGD
com momento para verificar se ele melhora a
performance.
Alteração: Modifique o otimizador para SGD com
momento (momentum=0.9).
Análise: Compare o desempenho do modelo usando o
otimizador Adam vs. SGD. Quais são as vantagens e
desvantagens?
77.
Mudança 5: Alteraro Número de
Camadas e Filtros:
Objetivo: Explore o impacto de adicionar mais
camadas convolucionais ao modelo para tentar
capturar características mais complexas.
Alteração: Adicione mais uma camada convolucional
e aumente o número de filtros.
Análise: Compare o desempenho do modelo com 3
camadas convolucionais e com 4 camadas. Observe as
mudanças na acurácia e no tempo de treinamento.
79.
Avaliação do Modelo:
Após aplicar as mudanças, treine o modelo com as
alterações e avalie a acurácia no conjunto de dados de
teste.
Código para avaliação:
80.
Questões de Reflexãoe Análise:
Impacto do Número de Épocas:
O que aconteceu com a acurácia ao aumentar o número de épocas de 10 para 20?
O modelo melhorou ou estagnou?
Dropout:
Como o uso do dropout afetou a acurácia do modelo? Houve melhoria no
desempenho ou não? Em que situação o dropout seria mais útil?
Aumento de Filtros:
Quais foram os efeitos de aumentar o número de filtros nas camadas
convolucionais? O tempo de treinamento aumentou significativamente?
Alteração no Otimizador:
O otimizador SGD com momento teve um desempenho melhor ou pior do que
o Adam? Justifique sua resposta.
Número de Camadas Convolucionais:
Ao adicionar mais camadas convolucionais, houve melhora no desempenho?
Quanto tempo a mais o treinamento levou? Existe um limite para o número de
camadas em uma CNN?
81.
Entrega:
Código: Envieo código final após implementar as
mudanças.
Gráficos: Inclua gráficos de precisão e perda durante
o treinamento.
Relatório: Escreva um breve relatório explicando as
mudanças realizadas, os resultados obtidos e suas
observações sobre como as modificações afetaram o
desempenho do modelo.