Pular para o conteúdo principal

Defina o número de camadas e neurônios em uma RNA

Existe um número ideal de camadas ocultas e neurônios em uma rede neural artificial (RNA). Este tutorial apresenta uma abordagem simples para determinar os números ideais de camadas e neurônios em RNAs.
Atualizado 17 de set. de 2026  · 9 min lido

Explorar com IA

ChatGPTClaudePerplexity

banner sobre como definir o número de camadas e neurônios em uma RNA

Quem está começando com redes neurais artificiais (RNAs) costuma ter algumas dúvidas: quantas camadas ocultas devo usar? Quantos neurônios em cada camada oculta? Para que servem as camadas/neurônios ocultos? Aumentar o número de camadas/neurônios ocultos sempre melhora o resultado? Boa notícia: dá para responder a essas perguntas. Claro que, se o problema for muito complexo, a resposta também pode ser. Mas, ao final deste artigo, você vai entender o raciocínio por trás dessas decisões e poderá testar por conta própria usando exemplos simples.

diagrama

Introdução

As RNAs são inspiradas no sistema nervoso biológico. Para simplificar, na computação elas são representadas como um conjunto de camadas. Essas camadas se dividem em três tipos: entrada, ocultas e saída.

Definir o número de camadas de entrada e saída e seus respectivos neurônios é a parte fácil. Toda rede tem uma camada de entrada e uma de saída. O número de neurônios na entrada é igual ao número de variáveis de entrada dos dados. O número de neurônios na saída é igual ao número de saídas associadas a cada entrada. O desafio está em definir quantas camadas ocultas usar e quantos neurônios colocar em cada uma.

Aqui vão algumas diretrizes para definir o número de camadas ocultas e de neurônios por camada em um problema de classificação:

  • Com base nos dados, desenhe uma fronteira de decisão esperada para separar as classes.
  • Represente essa fronteira como um conjunto de retas. A combinação dessas retas deve resultar na fronteira desejada.
  • O número de retas escolhidas representa o número de neurônios ocultos na primeira camada oculta.
  • Para conectar as retas criadas pela camada anterior, adicione uma nova camada oculta. Em resumo: sempre que precisar criar conexões entre as retas da camada oculta anterior, adicione outra camada oculta.
  • O número de neurônios ocultos em cada nova camada é igual ao número de conexões necessárias.

Para deixar mais claro, vamos aplicar essas diretrizes em alguns exemplos.

Exemplo 1

Comecemos com um problema simples de classificação com duas classes, como mostra a figura a seguir. Cada amostra tem duas entradas e uma saída que representa o rótulo da classe. É bem parecido com o problema do XOR.

diagrama de problema de classificação com duas classes

A primeira pergunta é: camadas ocultas são necessárias? Uma regra prática para decidir isso é:

Em redes neurais artificiais, camadas ocultas são necessárias se, e somente se, os dados precisarem ser separados de forma não linear.

Pelo próximo gráfico, parece que as classes precisam de separação não linear. Uma única reta não resolve. Portanto, precisamos de camadas ocultas para obter a melhor fronteira de decisão. Até daria para tentar sem camadas ocultas, mas a acurácia sofreria. Então, melhor usar camadas ocultas.

Sabendo que precisamos de camadas ocultas, surgem duas questões importantes:

  1. Quantas camadas ocultas são necessárias?

  2. Quantos neurônios ocultos em cada camada?

Seguindo o procedimento, o primeiro passo é desenhar a fronteira de decisão que separa as duas classes. Há mais de uma fronteira possível que separa corretamente os dados, como mostra a figura abaixo. Para a discussão, vamos usar a opção à direita (b).

fronteira de decisão separando duas classes

Seguindo as diretrizes, o próximo passo é expressar a fronteira de decisão por um conjunto de retas.

A ideia de representar a fronteira por retas vem do fato de que qualquer RNA é construída a partir do perceptron de camada única como bloco básico. O perceptron de uma camada é um classificador linear que separa classes com uma reta criada pela equação:

y=w1x1+w2x2+ ⋯ +wixi+b

Em que xi é a i-ésima entrada, wi é seu peso, b é o viés e y é a saída. Como cada neurônio oculto adicionado aumenta o número de pesos, é recomendável usar o mínimo de neurônios ocultos que resolva o problema. Excesso de neurônios só adiciona complexidade.

Voltando ao exemplo, dizer que a RNA é construída com vários perceptrons é o mesmo que dizer que ela é construída com várias retas.

Neste caso, substituímos a fronteira por um conjunto de retas. As retas partem dos pontos em que a curva da fronteira muda de direção. Em cada ponto desses, colocamos duas retas, cada uma em um sentido.

Como há apenas um ponto em que a curva muda de direção (marcado pelo círculo cinza na figura seguinte), precisamos de apenas duas retas. Em outras palavras, teremos dois perceptrons de camada única, cada um gerando uma reta.

dois perceptrons de camada única

Saber que são necessárias duas retas para representar a fronteira indica que a primeira camada oculta terá dois neurônios.

Até aqui, temos uma camada oculta com dois neurônios. Cada neurônio oculto funciona como um classificador linear, representado por uma reta como no gráfico anterior. Teremos duas saídas, uma de cada classificador (ou seja, de cada neurônio oculto). Mas queremos um único classificador, com uma saída representando o rótulo da classe, não dois. Logo, precisamos unir as saídas dos dois neurônios ocultos em uma única saída. Em outras palavras, conectar as duas retas com outro neurônio. O resultado está na figura a seguir.

Felizmente, não é preciso adicionar outra camada oculta com um único neurônio para isso. O neurônio da camada de saída pode fazer essa junção. Ele combina as duas retas geradas anteriormente para produzir uma única saída.

perceptrons conectados e mesclados

Definidos o número de camadas ocultas e de neurônios, a arquitetura da rede fica completa, como mostra a próxima figura.

arquitetura de rede concluída

Exemplo 2

Outro exemplo de classificação está na figura a seguir. É parecido com o anterior: duas classes, cada amostra com duas entradas e uma saída. A diferença está na fronteira de decisão, que agora é mais complexa.

duas entradas e uma saída em classificação

Seguindo as diretrizes, o primeiro passo é desenhar a fronteira de decisão. A que usaremos está na parte esquerda da figura seguinte (a).

Depois, dividimos a fronteira em um conjunto de retas, em que cada reta será modelada como um perceptron na RNA. Antes de desenhar as retas, marcamos os pontos em que a fronteira muda de direção, como mostrado na parte direita da figura (b).

fronteira de decisão

Quantas retas são necessárias? Cada um dos pontos superior e inferior terá duas retas associadas, totalizando 4 retas. O ponto intermediário terá suas duas retas compartilhadas a partir dos outros pontos. As retas a serem criadas estão na figura abaixo.

Como a primeira camada oculta terá tantos neurônios quanto o número de retas, ela terá 4 neurônios. Em outras palavras, teremos 4 classificadores, cada um criado por um perceptron de camada única. Nesse momento, a rede gera 4 saídas, uma por classificador. O próximo passo é conectar esses classificadores para que a rede gere apenas uma saída. Em outras palavras, precisamos conectar as retas por meio de outras camadas ocultas para obter uma única curva.

quatro classificadores conectados

O design da rede fica a critério de quem modela. Uma arquitetura viável é construir uma segunda camada oculta com dois neurônios. O primeiro neurônio conecta as duas primeiras retas e o segundo conecta as duas últimas. O resultado da segunda camada é mostrado na figura abaixo.

segunda camada com dois neurônios ocultos

Até aqui, temos duas curvas separadas. Portanto, ainda há duas saídas na rede. O próximo passo é conectar essas curvas para obter uma única saída no final. Neste caso, dá para usar o neurônio da camada de saída para fazer a conexão final, sem adicionar outra camada oculta. O resultado final está na figura a seguir.

curvas conectadas

Com o design concluído, a arquitetura completa da rede é mostrada na figura abaixo.

arquitetura completa da rede

Para saber mais

SlideShare

YouTube

Tópicos
Aprendizagem profunda
Ciência de dados
Inteligência Artificial
Aprendizado de máquina

Saiba mais sobre deep learning

Curso

Introdução a Deep Learning em Python

4 h
264.6K
Aprenda os fundamentos das redes neurais e como criar modelos de aprendizado profundo usando o Keras 2.0 em Python.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

blog

O que são redes neurais?

As NNs são modelos computacionais inspirados no cérebro, usados no aprendizado de máquina para reconhecer padrões e tomar decisões.
Abid Ali Awan's photo

Abid Ali Awan

7 min

Tutorial

Criação de modelos de redes neurais (NN) em R

Neste tutorial, você aprenderá a criar um modelo de rede neural no R.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Tutorial

Uma introdução às redes neurais convolucionais (CNNs)

Um guia completo para entender as CNNs, seu impacto na análise de imagens e algumas estratégias importantes para combater o overfitting para aplicações robustas de CNNs e aprendizagem profunda.
Zoumana Keita 's photo

Zoumana Keita

14 min

Tutorial

Introdução às redes neurais profundas

Compreensão das redes neurais profundas e sua importância no mundo moderno da aprendizagem profunda da inteligência artificial
Bharath K's photo

Bharath K

13 min

Tutorial

Introdução às funções de ativação em redes neurais

Aprenda a navegar pelo cenário das funções de ativação comuns - desde a firme ReLU até a proeza probabilística da softmax.
Moez Ali's photo

Moez Ali

11 min

Tutorial

Dominando a retropropagação: Um guia abrangente para redes neurais

Mergulhe nos fundamentos da retropropagação em redes neurais com um guia prático para treinar e avaliar um modelo para um cenário de uso de classificação de imagens.
Zoumana Keita 's photo

Zoumana Keita

14 min

Ver MaisVer Mais