Education, study and knowledge

Redes neurais profundas: o que são e como funcionam

Redes neurais profundas são um conceito que constitui a principal arquitetura tecnológica utilizada em modelos de Deep Learning. Essas estruturas não podem ser compreendidas sem entender a ideia geral de redes neurais artificiais, fundamentais para a Inteligência Artificial.

As redes neurais são usadas para mil coisas: reconhecer placas de carros, músicas, rostos, vozes ou até frutas em nossa cozinha. São uma tecnologia particularmente útil e, apesar de terem se tornado práticas apenas recentemente, serão o futuro da humanidade.

A seguir Veremos em profundidade a ideia de redes neurais artificiais e, entendendo como funcionam, como são treinados e como ocorrem as interações entre os diferentes neurônios que os constituem.

  • Artigo relacionado: "O que é ciência cognitiva? Suas ideias básicas e fases de desenvolvimento"

O que são redes neurais profundas e o que as caracteriza?

As redes neurais profundas são uma das arquiteturas tecnológicas mais importantes usadas em Deep Learning ou Deep Learning

instagram story viewer
. Essas redes artificiais particulares tiveram um crescimento vertiginoso nos últimos anos porque constituem um aspecto fundamental quando se trata de reconhecer todos os tipos de padrões. A Inteligência Artificial existe graças ao funcionamento dessas redes particulares que, em No fundo, passam a ser uma réplica do funcionamento do nosso cérebro, embora de forma tecnológica e matemática.

Antes de aprofundar o que são as redes neurais profundas, primeiro precisamos entender como as redes neurais artificiais funcionam em geral e para que servem. euredes neurais são um ramo do “Aprendizado de Máquina” que teve um grande impacto nos últimos anos, ajudando programadores e cientistas da computação a construir coisas como chatbots que, quando conversamos com eles, nos fazem pensar que estamos conversando com seres humanos reais.

Redes neurais artificiais também foram usadas com carros autônomos, aplicativos móveis que reconhecem nosso rosto e o transformam no que queremos e muito mais funções. Sua aplicabilidade é muito extensa, servindo de base para a Inteligência Artificial moderna e tendo inúmeros usos benéficos para o nosso dia a dia.

redes neurais artificiais

Imaginemos que estamos na nossa cozinha e decidimos procurar uma laranja, uma tarefa muito simples.. Sabemos identificar uma laranja com muita facilidade e também sabemos diferenciá-la de outras frutas que encontramos na cozinha, como bananas, maçãs e peras. Como? Porque em nosso cérebro assimilamos muito bem quais são as propriedades típicas de uma laranja: sua o seu tamanho, a sua forma, a cor que tem, o seu cheiro... São parâmetros que usamos para encontrar um laranja.

É uma tarefa simples para os humanos, mas... Um computador pode fazer isso também? A resposta é sim. Em princípio, bastaria definir esses mesmos parâmetros e atribuir um valor a um nó ou algo que poderíamos chamar de “neurônio artificial”. Diríamos a esse neurônio como são as laranjas, indicando seu tamanho, peso, forma, cor ou qualquer outro parâmetro que atribuímos a essa fruta. De posse dessas informações, espera-se que o neurônio saiba identificar uma laranja ao se deparar com uma.

Se tivermos escolhido bem os parâmetros, será fácil para você diferenciar entre laranjas e coisas que não são laranjas simplesmente levando em conta essas características. Ao ser apresentada a imagem de qualquer fruta, esse neurônio buscará as características associada à laranja e decidir se a inclui na categoria “laranja” ou na categoria “outras fruta". Em termos estatísticos, seria encontrar uma região em um gráfico de parâmetros que corresponda ao que está sendo procurando uma região que abarcasse todas as peças de fruta que partilham o mesmo tamanho, forma, cor, peso e aroma que o laranjas.

A princípio, tudo isso parece muito fácil de codificar, e de fato é. Funciona muito bem para diferenciar uma laranja de uma banana ou de uma maçã, já que possuem cores e formatos diferentes. No entanto, e se lhe dermos uma toranja? e uma tangerina bem grande? São frutas que podem perfeitamente ser confundidas com uma laranja. O neurônio artificial será capaz de diferenciar por si só entre laranjas e toranjas? A resposta é não e, na verdade, eles provavelmente são considerados iguais.

O problema de usar apenas uma camada de neurônios artificiais, ou o que é o mesmo, usar apenas neurônios simples primeiro, é que gerar limites de decisão muito imprecisos quando você se depara com algo que tem muitas características em comum com o que você deveria ser capaz de reconhecer, mas na realidade não é. Se apresentarmos algo que se parece com uma laranja, como uma toranja, mesmo que não seja essa fruta, ela a identificará como tal.

Essas fronteiras de decisão, se representadas na forma de um gráfico, serão sempre lineares. Usando um único neurônio artificial, ou seja, um único nó que possui parâmetros integrados concreto, mas não pode aprender além deles, limites de decisão muito próximos serão obtidos. difuso. Sua principal limitação é que ele usa dois métodos estatísticos, especificamente regressão multiclasse e regressão logística, o que significa que em caso de dúvida inclui algo que não é o que esperávamos que fosse. vai identificar.

Se fôssemos dividir todas as frutas em "laranjas" e "não laranjas", usando apenas um neurônio, fica claro que bananas, peras, maçãs, melancias e qualquer fruta que não corresponda em tamanho, cor, forma, aroma e assim por diante com laranjas eu as colocaria na categoria "não". laranjas”. No entanto, toranjas e tangerinas os colocariam na categoria "laranjas", fazendo mal o trabalho para o qual foram projetados.

E quando falamos de laranjas e toranjas bem poderíamos falar de cachorros e lobos, galinhas e galinhas, livros e cadernos... Tudo Essas situações são casos em que uma simples série de "se..." ("se...") não seria suficiente para distinguir claramente entre um e outro. outro. É necessário um sistema não linear mais complexo, que seja mais preciso na hora de diferenciar os diferentes elementos. Algo que leve em conta que entre as semelhanças pode haver diferenças. É aqui que entram as redes neurais.

Mais camadas, mais semelhantes ao cérebro humano

As redes neurais artificiais, como o próprio nome sugere, são modelos artificiais computacionais inspirados em nas redes neurais do cérebro humano, redes que de fato imitam o funcionamento desse órgão biológico. Este sistema é inspirado no funcionamento neural e sua principal aplicação é o reconhecimento de padrões de todos os tipos: identificação facial, reconhecimento de voz, impressão digital, caligrafia, matrículas… O reconhecimento de padrões funciona para quase tudo..

Como existem neurônios diferentes, os parâmetros aplicados são diversos e obtém-se um maior grau de precisão. Essas redes neurais são sistemas que nos permitem separar itens em categorias quando o diferença pode ser sutil, separando-os de forma não linear, algo que seria impossível de outra forma Maneira.

Com um único nó, com um único neurônio, o que se faz ao tratar a informação é uma regressão multiclasse. Ao adicionar mais neurônios, pois cada um deles tem sua própria função de ativação não linear que, traduzida em linguagem mais simples, faz com que tenham fronteiras de decisão que são mais preciso, sendo representado graficamente em forma curva e levando em conta mais características na hora de diferenciar entre "laranjas" e "não laranjas", para continuar com esse exemplo.

A curvatura dessas fronteiras de decisão dependerá diretamente de quantas camadas de neurônios adicionamos à nossa rede neural. Essas camadas de neurônios, que tornam o sistema mais complexo e preciso, são, na verdade, redes neurais profundas. Em princípio, quanto mais camadas de redes neurais profundas tivermos, mais preciso e semelhante será o programa comparado ao cérebro humano.

Em suma, as redes neurais nada mais são do que um sistema inteligente que permite tomar decisões mais precisas, de forma muito semelhante a como nós, seres humanos, o fazemos. Os seres humanos são baseados na experiência, aprendendo com o nosso ambiente. Por exemplo, voltando ao caso da laranja e da toranja, se nunca vimos uma, vamos confundi-la perfeitamente com uma laranja. Quando estivermos familiarizados com ela, será então que já saberemos como identificá-la e diferenciá-la das laranjas.

A primeira coisa que se faz é dar alguns parâmetros às redes neurais para que saibam como queremos que aprendam a identificar. Depois vem a fase de aprendizagem ou treino, para que seja cada vez mais preciso e progressivamente tenha uma margem de erro menor. Este é o momento em que apresentaríamos nossa rede neural com uma laranja e outras frutas. Na fase de treino serão apresentados casos em que são laranjas e casos em que não são laranjas, procurando ver se acertaram na resposta e dizendo-lhes a resposta correta.

Tentaremos fazer inúmeras tentativas e o mais próximo possível da realidade.. Desta forma estamos ajudando a rede neural a operar para quando chegam casos reais e ela sabe discriminar corretamente, da mesma forma que um ser humano faria na vida real. Se a formação foi adequada, tendo escolhido bons parâmetros de reconhecimento e classificaram bem, a rede neural terá uma taxa de sucesso de reconhecimento de padrão muito alta. alto.

  • Você pode estar interessado: "Como funcionam os neurônios?"

O que são e como funcionam exatamente?

Agora que vimos a ideia geral do que são redes neurais e vamos entender mais completamente o que são e como esses emuladores dos neurônios do cérebro humano funcionam e onde as redes neurais profundas pintam tudo isso processo.

Vamos imaginar que temos a seguinte rede neural: temos três camadas de neurônios artificiais. Digamos que a primeira camada tenha 4 neurônios ou nós, a segunda 3 e a última tenha apenas 2. Isso tudo é um exemplo de rede neural artificial, bastante fácil de entender.

A primeira camada é a que recebe os dados., ou seja, as informações que podem vir na forma de som, imagem, aromas, impulsos elétricos... layer é a camada de entrada, e é responsável por receber todos os dados para poder enviá-los posteriormente para o seguinte camadas. Durante o treinamento de nossa rede neural, esta será a camada com a qual trabalharemos primeiro, dando-lhe dados que usaremos para ver como você está fazendo previsões ou identificando as informações que recebe dá.

A segunda camada do nosso modelo hipotético é a camada oculta, que fica bem no meio da primeira e da última camadas., como se nossa rede neural fosse um sanduíche. Neste exemplo, temos apenas uma camada oculta, mas pode haver quantas quisermos. Poderíamos falar de 50, 100, 1.000 ou até 50.000 camadas. Em essência, essas camadas ocultas são a parte da rede neural que chamaríamos de rede neural profunda. Quanto maior a profundidade, mais complexa a rede neural.

Finalmente temos a terceira camada do nosso exemplo que é a camada de saída. Esta camada, como o próprio nome indica, é responsável por receber informações das camadas anteriores, tomar uma decisão e nos dar uma resposta ou resultado.

Na rede neural, cada neurônio artificial é conectado a todos os seguintes. Em nosso exemplo, onde comentamos que temos três camadas de 4, 3 e 2 neurônios, os 4 da camada de entrada são conectado com o 3 da camada oculta e o 3 da camada oculta com o 2 da saída, totalizando 18 conexões.

Todos esses neurônios estão conectados com os da próxima camada, enviando as informações na direção entrada->oculto->saída.. Se houvesse mais camadas ocultas, estaríamos falando de um número maior de conexões, enviando a informação de camada oculta para camada oculta até chegar à camada de saída. A camada de saída, uma vez recebida a informação, o que fará é nos dar um resultado com base na informação que recebeu e sua forma de processá-la.

Quando estamos treinando nosso algoritmo, ou seja, nossa rede neural, esse processo que acabamos de explicar vai ser feito várias vezes. Vamos entregar alguns dados à rede, vamos ver o que o resultado nos dá e vamos analisá-lo e comparar com o que esperávamos que o resultado nos desse. Se houver uma grande diferença entre o esperado e o obtido, significa que há uma grande margem de erro e que, portanto, é necessário fazer algumas modificações.

Como funcionam os neurônios artificiais?

Agora vamos entender o funcionamento individual dos neurônios que trabalham dentro de uma rede neural. O neurônio recebe uma entrada de informações do neurônio anterior. Digamos que este neurônio receba três entradas de informação, cada uma vinda dos três neurônios da camada anterior. Por sua vez, este neurônio gera saídas, neste caso digamos que ele está conectado apenas a um neurônio da próxima camada.

Cada conexão que este neurônio tem com os três neurônios da camada anterior traz um valor "x", que é o valor que o neurônio anterior está nos enviando.; e também tem um valor "w", que é o peso dessa conexão. O peso é um valor que nos ajuda a dar mais importância a uma conexão em detrimento de outras. Resumindo, cada conexão com os neurônios anteriores tem um valor “x” e um valor “w”, que são multiplicados (x·w).

Nós também vamos ter um valor chamado "bias" ou bias representado com "b" que é o número de erro que encoraja certos neurônios a serem ativados mais facilmente do que outros. Além disso, temos uma função de ativação dentro do neurônio, que é o que torna seu grau de classificação de diferentes elementos (p. ex., laranjas) não é linear. Por si só, cada neurônio tem parâmetros diferentes a serem levados em conta, o que faz com que todo o sistema, ou seja, a rede neural, se classifique de forma não linear.

Como o neurônio sabe se deve ativar ou não? ou seja, quando você sabe se deve enviar informações para a próxima camada? Bem, esta decisão é regida pela seguinte equação:

rede neural

Esta fórmula vem significar que a soma de todos os pesos "w" multiplicados por todos os valores de "x" que o neurônio está recebendo da camada anterior deve ser feita. Somado a isso, acrescenta-se o viés “b”.

O resultado desta equação é enviado para uma função de ativação, que é simplesmente uma função que nos diz que, se o resultado dessa equação for maior que um determinado número, o neurônio enviará um sinal para a próxima camada e, se for menor, não para enviá-lo Então, é assim que um neurônio artificial decide se envia ou não informações para os neurônios da seguinte forma: camada por meio de uma saída que chamaremos de "y", uma saída que, por sua vez, é a entrada "x" do seguinte neurônio.

E como você treina uma rede inteira?

A primeira coisa que é feita é entregar os dados para a primeira camada, conforme comentamos anteriormente. Essa camada enviará informações para as camadas seguintes, que são as camadas ocultas ou a rede neural profunda. Os neurônios dessas camadas serão ativados ou não dependendo da informação recebida. Por fim, a camada de saída nos dará um resultado, que compararemos com o valor que estávamos esperando para ver se a rede neural aprendeu o que fazer corretamente.

Se ele não aprendeu bem então faremos outra interação, ou seja, apresentaremos informações novamente e veremos como a rede neural se comporta. Dependendo dos resultados obtidos, serão ajustados os valores de “b”, ou seja, o bias de cada neurônio, e o “w”, este é o peso de cada conexão com cada neurônio para diminuir o erro. Para descobrir o tamanho desse erro, vamos usar outra equação, que é a seguinte:

rede neural

Esta equação é a raiz do erro quadrático médio. Vamos fazer a soma de y (x) que é o valor que nossa rede nos deu na interação menos “a”, que é o valor que esperávamos que ela nos desse, elevado ao quadrado. Por fim, vamos multiplicar essa soma por 1/2n, sendo esse “n” o número de interações que enviamos para treinar nossa rede neural.

Por exemplo, suponha que temos os seguintes valores

rede neural

A primeira coluna “y (x)” representa o que nossa rede nos deu em cada uma das quatro interações que testamos. Os valores que obtivemos, como se vê, não correspondem aos da segunda coluna “a”, que são os valores desejados para cada uma das interações testadas. A última coluna representa o erro de cada interação.

Aplicando a fórmula acima e usando estes dados aqui, lembrando que neste caso n = 4 (4 interações) nos dá um valor de 3,87, que é o erro quadrático médio que nossa rede neural tem nessas momentos. Sabendo do erro, o que temos que fazer agora é, como já comentamos antes, mudar o bias e o pesos de cada um dos neurônios e suas interações com o intuito de que assim o erro seja reduzir.

Neste ponto, engenheiros e cientistas da computação aplicam um algoritmo chamado gradiente descendente com os quais eles podem obter valores para testar e modificar o viés e o peso de cada neurônio artificial para que, desta forma, se obtenha um erro cada vez menor, aproximando-se da previsão ou resultado desejado. É uma questão de testar e quanto mais interações forem feitas, mais treinamento haverá e mais a rede aprenderá.

Uma vez que a rede neural esteja adequadamente treinada, será quando ela nos fornecerá previsões e identificações precisas e confiáveis. Neste ponto vamos ter uma rede que terá em cada um de seus neurônios um valor de peso definido, com viés controlado e com capacidade de decisão que tornará o sistema trabalhar.

Referências bibliográficas:

  • Puig, A. [AMP Tech] (2017, 28 de julho). Como funcionam as redes neurais? [Arquivo de vídeo]. Recuperado de https://www.youtube.com/watch? v=IQMoglp-fBk&ab_channel=AMPTech
  • Santaolalla, J. [Give yourself a Vlog] (2017, 11 de abril) Desafio CienciaClip - O que são redes neurais? [Arquivo de vídeo]. https://www.youtube.com/watch? v=rTpr6DuY4LU&ab_channel=DateunVlog
  • Schimidhuber, J. (2015). "Aprendizado Profundo em Redes Neurais: Uma Visão Geral". Redes neurais. 61: 85–117. arXiv: 1404.7828. doi: 10.1016/j.neunet.2014.09.003. PMID 25462637. S2CID 11715509

Determinismo ambiental: o que é, características e exemplos

Ao tentar explicar as diferenças entre as culturas e o grau de desenvolvimento entre as nações, e...

Consulte Mais informação

Ibéricos: características e cultura desses povos pré-romanos

Antes da Península Ibérica ser conquistada pelos romanos, nesta região havia principalmente dois ...

Consulte Mais informação

Arte românica: sua origem e características

Arte românica: sua origem e características

Se falarmos de arte românica, certamente todos teremos bastante clareza sobre a que período nos r...

Consulte Mais informação

instagram viewer