Mayke Delgado
Mayke Delgado20/04/2024 13:13
Share

Como definir a quantidade de camadas escondidas em uma Rede Neural Artificial?

  • #Python

image

Uma dúvida bastante comum aos estudantes e desenvolvedores de redes neurais, é o fato de como devo metrificar a quantidade camadas escondidas e quantos neurônios incluir em uma rede neural? Para que tenhamos uma resposta a esta pergunta, primeiro precisamos entender qual o objetivo das camadas escondidas nas redes neurais.

Na verdade, não há nenhum princípio matemático que conceda uma resposta definitiva para esta questão, visto que o cuidado que devemos ter durante a implementação é com o underfitting e o overfitting. No overfitting, o modelo acerca do conjunto de treinamento aprender a “decorar”, não conseguindo adaptar-se aos novos inputs. Já o overfitting, é quando o modelo não consegue aprender com os dados de treinamento, isso ocorre quando é definido apenas uma camada na rede.

Antes de mais nada, o que é uma Rede Neural Artificial? Uma (RNA), são sistemas de computação com nós interconectados que funcionam como os neurônios do cérebro humano. Usando algoritmos, elas podem reconhecer padrões escondidos e correlações em dados brutos, agrupá-los e classificá-los, e com o tempo aprender e melhorar continuamente.

As Camadas ocultas são ficam entre a camada de entrada e a camada de saída. Ela é uma operação linear do tipo “WX + B”, onde “X” é o valor do neurônio na camada anterior, “W” é o peso e “B” é a unidade de bias. Por esse motivo, problemas lineares, como regressão e classificação, têm um bom resultado utilizando apenas uma camada, visto que a utilização de mais de uma camada em um problema linear, por exemplo, pode gerar overfitting.

Rede neural com uma camada oculta

image

Se caso os dados que esteja manipulando tenha algum tipo de irregularidade, a utilização de uma adição de mais uma camada na rede neural resolve a grande maioria dos problemas computacionais mais complexos, problemas esses que não obtém um resultado satisfatório com apenas uma camada na rede neural.

image

Mais do que duas camadas só em problemas ainda mais complexos, como séries temporais e visão computacional. Enfim, com uma ou duas camadas você já consegue garantir bons resultados na maioria dos problemas, visto que, apenas em problemas muito complexos.

Número de neurônios em cada camada

O número de neurônios é definido de forma mais empírica, não existem regras que o definam, porém existem algumas estratégias que são abordadas por alguns autores. Uma dessas estratégias é definir a quantidade de neurônios na camada oculta a partir da média aritmética entre os neurônios da camada de entrada e os neurônios da camada de saída.

Por exemplo:

Uma rede neural com 4 neurônios na camada de entrada e com 2 neurônios na camada de saída, a camada intermediária possuirá 3 neurônios

([4 + 2] / 2 = 3).

Outra estratégia é inserir dois terços do total de neurônios da camada de entrada somado com o número de neurônios da camada de saída, ou seja, em uma camada de entrada com 15 neurônios e a de saída com 2 neurônios é adicionada 12 neurônios na camada oculta (15 * ⅔ + 2 = 12).

Alguns autores também citam que o número de neurônios da camada oculta deve ser menor que o dobro do tamanho da camada de entrada, ou seja, em uma rede neural com 5 neurônios de entrada, a camada oculta deve conter menos que 10 neurônios.

Quando a rede possui mais de uma camada oculta, os cálculos das estratégias anteriores também se aplicam, basta considerar a camada de entrada como sendo a camada anterior à camada oculta que está sendo analisada, por exemplo, uma rede neural com duas camadas ocultas e com 6 neurônios na camada de entrada e 2 na camada de saída, podemos ter 4 neurônios na primeira camada oculta ([6 + 2] / 2 = 3) e 2 neurônios na segunda camada oculta, que seria calculado utilizando a primeira camada oculta.

Portanto, aqui forma algumas estratégias para que você possa está analisando sua rede neural com outros olhos. Assim, entendemos um pouco sobre a quantidade de camadas ocultas e quantidade de neurônios em cada camada, podemos aplicar em nossos projetos que utilizam redes neurais.

Referências:

· Quantos neurônios/camadas escondidas são necessários para uma rede neural?Aimotion.

Disponível em:

<http://aimotion.blogspot.com/2009/01/quantos-neuronioscamadas-escondidas-sao.html>. Acesso em: 22, Julho 2020.

· Dicas de Configuração Redes Neurais. NCE.UFRJ. Disponível em: < http://www.nce.ufrj.br/labic/downloads/dicas_cfg_rna.pdf>. Acesso em: 22, Julho e 2020.

· Quantas camadas escondidas e quantos neurônios incluir numa rede neural artificial? AIEXPERT. Disponível em <https://iaexpert.academy/2020/05/04/quantas-camadas-escondidas-e-quantos-neuronios-incluir-numa-rede-neural-artificial/>. Acesso em: 22, Julho e 2020.

Share
Comments (1)
Carlos Lima
Carlos Lima - 20/04/2024 13:25

Excelente artigo Mayke, obrigado :)