Em ciência da computação e campos relacionados, redes neurais artificiais (RNAs) são modelos computacionais inspirados pelo sistema nervoso central de um animal (em particular o cérebro) que são capazes de realizar o aprendizado de máquina bem como o reconhecimento de padrões. Redes neurais artificias geralmente são apresentadas como sistemas de "neurônios interconectados que podem computar valores de entradas".
Por exemplo, uma rede neural para o reconhecimento de escrita manual é definida por um conjunto de neurônios de entrada que podem ser ativados pelos pixels de uma imagem de entrada. As ativações desses neurônios são então repassadas, ponderadas e transformadas por uma função determinada pelo designer da rede, a outros neurônios. Este processo é repetido até que, finalmente, um neurônio de saída é ativado. Isso determina que caractere foi lido.
Assim como outros métodos de aprendizado de máquina, sistemas que aprendem a partir dos dados, redes neurais têm sido usadas para resolver uma grande variedade de tarefas que são difíceis de resolver utilizando programação baseada em regras comuns, incluindo visão computacional e reconhecimento de voz.
Índice
[esconder]Exemplos[editar | editar código-fonte]
A inspiração original para essa técnica advém do exame das estruturas do cérebro, em particular do exame de neurônios. A propriedade mais importante das redes neurais é a habilidade de aprender de seu ambiente e com isso melhorar seu desempenho. Isso é feito através de um processo iterativo de ajustes aplicado aos seus pesos, o treino.
A aprendizagem ocorre quando a rede neural atinge uma solução generalizada para uma classe de problemas.
Denomina-se algoritmo de aprendizagem a um conjunto de regras bem definidas para a solução de um problema de aprendizagem. Outro fator importante é a maneira pela qual uma rede neural se relaciona com o ambiente. Nesse contexto existem os seguintes paradigmas de aprendizagem:
Aprendizagem Supervisionada, quando é utilizado um agente externo que indica à rede a resposta desejada para o padrão de entrada, Aprendizagem Não Supervisionada (auto-organização), quando não existe uma agente externo indicando a resposta desejada para os padrões de entrada, e Aprendizagem por Reforço, quando um crítico externo avalia a resposta fornecida pela rede.
Aplicações[editar | editar código-fonte]
Reconhecimento Automático de Alvos; Reconhecimento de Caracteres; Robótica; Diagnóstico Médico; Sensoriamento Remoto; Processamento de Voz; Biometria.
Histórico[editar | editar código-fonte]
As primeiras informações sobre neurocomputação surgiram em 1943, em artigos do neuroanatomista e psiquiatra Warren McCulloch, do Instituto Tecnológico de Massachusetts, e do matemático Walter Pitts, da Universidade de Illinois. Os autores fizeram uma analogia entre células nervosas vivas e o processo eletrônico, em um trabalho publicado sobre "neurônios formais"; simulando o comportamento do neurônio natural, no qual o neurônio possuía apenas uma saída, que era uma função da soma de valor de suas diversas entradas. O trabalho consistia num modelo de resistores variáveis e amplificadores, representando conexões sinápticas de um neurônio biológico.
Década de 1940[editar | editar código-fonte]
Possivelmente uma das publicações mais significativas, formulada por von Neumann, foi The General and Logical Theory of Automata, no final da década de 1940.
Talvez a mais remota influência (no inicio do século XIX), foi a do "Pato de Vaucanson", um autômato em forma de pato com centenas de peças e que além de grasnar, comia, bebia, digeria e nadava. Não esquecendo de mencionar também a máquina de Turing (1936). O resultado do autômato de Turing influenciou von Neumann, e o levou a perceber que os seres vivos estavam de fato entre as máquinas que a máquina de Turing poderia emular. Na sua obra, arquitetura de von Neumann, ele fez uma analogia entre os órgãos e as partes de um computador, entre portas lógicas, circuitos e neurônios.[1]
O livro Cybernetics de Wiener publicado em 1948 descreve alguns conceitos sobre controle, comunicação e processamento estatístico de sinais. Em 1961 foi adicionado na segunda edição do livro material sobre aprendizagem e auto-organização. Em ambas as edições desse livro o Capítulo 2 traz o compreendimento do significado físico da mecânica estatística no contexto desse assunto segundo Wiener, mas quem conseguiu terminar a ligação entre a mecânica estatística e os sistemas de aprendizagem foi Hopfield mais de 30 anos depois.[2]
Em 1949 Hebb introduziu a capacidade de aprender através de seu livro "The Organization of Behavior". Hebb descreveu um sistema de aprendizado por correlação dos neurônios que acabou dando origem à Regra de Aprendizagem de Hebb e essa teoria é comumente evocada para explicar alguns tipos de aprendizagem associativos no qual a ativação simultânea de células leva a um crescimento pronunciado na força sináptica. Tal aprendizado é conhecido como aprendizagem hebbiana.[3]
Década de 1950[editar | editar código-fonte]
Em 1951, foi construído o primeiro neuro computador denominado Snark, por Mavin Minsky. O Snark operava com sucesso a partir de um ponto de partida técnico, ajustando seus pesos automaticamente, entretanto, ele nunca executou qualquer função de processamento de informação interessante, mas serviu de inspiração para as ideias de estruturas que o sucederam.
O livro de Ashby (Design for a Brain: The Origin of Adaptive Behavior) que foi publicado em 1952 trata do conhecimento básico de que o comportamento adaptativo não nasce com o indivíduo, mas sim é aprendido, e que através da aprendizagem o animal (sistema) normalmente muda seu comportamento para melhor. São enfatizados neste livro os aspectos dinâmicos do organismo vivo como uma máquina e o conceito correlacionado de estabilidade.
Gabor, um dos pioneiros da teoria da comunicação e o inventor da holografia, propôs em 1954 a ideia de um filtro adaptativo não linear. Com a ajuda de colaboradores, Gabor construiu uma máquina que alimentada com amostras de um processo estocástico, mais a função-alvo que a máquina deveria produzir, realizava a aprendizagem.
Em 1954-1955, Cragg e Tamperley observaram que os átomos em uma rede têm seus spins apontando "para cima" ou "para baixo", assim como os neurônios podem ser "disparados" (ativados) ou "não disparados" (quiescentes).[4]
Em 1956 no Darthmouth College nasceram os dois paradigmas da Inteligência Artificial, a simbólica e o conexionista. A Inteligência Artificial Simbólica tenta simular o comportamento inteligente humano desconsiderando os mecanismos responsáveis por tal. Já a Inteligência Artificial Conexionista acredita que construíndo-se um sistema que simule a estrutura do cérebro, este sistema apresentará inteligência, ou seja, será capaz de aprender, assimilar, errar e aprender com seus erros. O livro de Hebb tem sido uma fonte de inspiração para o desenvolvimento de modelos computaconais de sistema adaptativos e de aprendizagem. O artigo de Rochester, Holland, Haibt e Duda (1956) talvez seja a primeira tentativa de usar simulação computacional para testar uma teoria neural bem-formulada com base no postulado de aprendizagem de Hebb (que a eficiência de uma sinapse variável entre dois neurônios é aumentada pela ativação repetida de um neurônio causada pelo outro neurônio). Naquele mesmo ano Uttley (1956) demonstrou que uma rede neural com sinapses modificáveis pode aprender a classificar conjuntos simples de padrões binários em classes correspondentes.
Em 1957 Rosenblatt inicia testes simulados em um computador IBM 704 no Laboratório da Aeronáutica de Cornell. Pelo estudo de redes neurais, como a Perceptron, Rosenblatt esperava que as leis fundamentais da organização que são comuns a todos os sistemas de informação de movimentação, máquinas e homens incluídos, pudesse eventualmente ser compreendida.
Em 1958, Frank Rosenblatt criou o Perceptron, um modelo cognitivo que consistia de unidades sensoriais conectadas a uma única camada de neurônios de Warren McCulloch e Pitts, capaz de aprender tudo o que pudesse representar. Rosenblatt demonstrou que, se fossem acrescidas sinapses ajustáveis, as redes neurais de Warren McCulloch e Pitts poderiam ser treinadas para classificar padrões em classes linearmente separáveis, convergindo em um número limitado de passos.[5]
Eficiência de transmissão (peso) ajustável; esta envia a resposta (saídas) para a terceira camada.
O intuito de Rosenblatt era projetar RNAs que fossem capazes de fazer descobertas interessantes sem a necessidade de regras, o que, aliás, continua sendo alvo dos pesquisadores.[6]
Década de 1960[editar | editar código-fonte]
No início da década de 1960, Widrow e Hoff publicam um artigo no qual especificam um neurônio artificial baseado no modelo de McCulloch e Pitts, denominado ADALINE. Conforme,[5] a importância desse modelo está associada à regra de aprendizagem proposta, a regra Delta. A combinação de uma série de ADELINEs é chamada de MADALINE (Multiple Adaline) é uma de duas camadas de rede neural com um conjunto de ADALINEs. Widrow também fundou a primeira companhia de hardware de neurocomputadores e componentes.
Em 1967, Cowan caracterizou o disparo "sigmóide" e a condição de disparo suave para um neurônio baseando-se na função logística.
Em 1967-1968, Grossberg envolvendo equações não-lineares de diferenças/diferenciais introduziu o modelo aditivo de um neurônio e como base para a memória de curto prazo explorou o uso do modelo.[7]
A publicação de Perceptrons de Minsky e Papert, em 1969, expôs as limitações do modelo de Rosenblatt, provando que tais redes não são capazes de resolver uma ampla classe de problemas devido às restrições de representação.[5][8] O impacto desta publicação foi devastador, praticamente desaparecendo o interesse em redes neurais artificiais nos anos seguintes, somente poucos pesquisadores como Malsburg, Grossberg, Kohonen e Anderson permaneceram concentrando suas atividades na abordagem conexionista.
Década de 1970[editar | editar código-fonte]
Nos anos 70, não ocorreram grandes progressos nos estudos de redes neurais devido um entusiasmo exagerado de muitos pesquisadores, que passaram a publicar mais e mais artigos e livros que faziam uma previsão pouco confiável para a época, sobre máquinas tão poderosas quanto o cérebro humano que surgiriam em um curto espaço de tempo. Isto tirou quase toda a credibilidade dos estudos desta área e causou grandes aborrecimentos aos técnicos de outras áreas.
Dentre os poucos pesquisadores que continuaram trabalhando na área, destacam-se:
- Igor Aleksander, Inglaterra: redes sem pesos;
- Kunihiko Fukushima, Japão: cognitron e neocognitron;
- Steven Grossberg, Estados Unidos: sistemas auto-adaptativos;
- Teuvo Kohonen, Finlândia: memórias associativas e auto-organizadas.[6]
No ano de 1970 a Universidade de Michigan foi palco para as pesquisas de vida artificial, J. Holland foi o primeiro pesquisador a conseguir o título de PhD em Ciência da Computação. Ele e T. Toffoli foram atraidos pela ideia de comportamento adaptativo onde envolvia biologia, computadores e informação, se tornaram associados em com algoritmos genéricos e autômatos celulares, respectivamente. Toffoli sempre se preocupou em criar a conexão do mundo físico com o autômato.
Em 1972 foi introduzido de forma independente por Amari o modelo aditivo de um neurônio para estudar o comportamento dinâmico de elementos semelhantes a neurônios conectados aleatoriamente.
Ainda em 1972, Wilson e Cowan derivaram equações diferenciais não-lineares acopladas correspondentes à dinâmica de populações localizadas no espaço, contendo neurônios tanto excitadores como inibitórios.
Em 1975, Little e Shaw descreveram e usaram o modelo probabilístico de um neurônio, disparando ou não um potencial de ação, para desenvolver uma teoria da memória de curto prazo.
Em 1977, Andereson, Silverstein, Ritz e Jones, sugeriram o modelo do estado cerebral em uma caixa (BSB, brain-state-in-a-box), compondo-se de uma rede associativa simples acoplada a uma dinâmica não-linear.[9]
Década de 1980[editar | editar código-fonte]
A partir dos anos 80, com o avanço da tecnologia e o fracasso da escola simbolista na solução de determinados tipos de problemas, as redes neurais artificiais passaram a atrair substancial atenção novamente, as pesquisas na área foram retomadas com força. A nova explosão de interesse pelas redes neurais artificiais na comunidade científica foi impulsionada, principalmente, pelo avanço da tecnologia (especialmente da microeletrônica) e também pelo impacto causado pelo artigo publicado por John Hopfield em 1982, no qual chamou a atenção para as propriedades associativas das RNAs. Hopfield mostrou a relação entre redes recorrentes autoassossiativas e sistemas físicos, abrindo espaço para a utilização de teorias correntes da Física para estudar tais modelos.[6]
Em 1982, a introdução do modelo conexionista conhecido pelo nome de seu idealizador, John Hopfield, permitiu esclarecer, pelas suas características computacionais e estabilidade, boa parte das dúvidas até então existentes em relação ao processo dinâmico executado por certas redes neurais. No mesmo ano, Teuvo Kohonen publicou um artigo descrevendo uma rede neural artificial baseada em auto-organização e nas características de aprendizado adaptativo do cérebro humano.[5]
Hinton e Seynowsky, em 1983, estenderam o modelo de Hopfield com a incorporação de dinâmica estocástica. Este modelo de rede neural passou a ser conhecido como Máquina de Boltzmann.[8]
Porém talvez o fato mais importante deste período tenha ocorrido quando Ira Skurnick, um administrador de programas da DARPA (Defense Advanced Research Projects Agency) decidiu ouvir os argumentos da neuro computação e seus projetistas, e divergindo dos caminhos tradicionais dos conhecimentos convencionais, fundou em 1983 pesquisas em neuro computação. Este ato não só abriu as portas para a neuro computação, como também deu à DARPA o status de uma das líderes mundiais em se tratando de "moda" tecnológica.
Em meados da década de 1980 surgiu a descrição do algoritmo de treinamento backpropagation (Rumelhart, Hinton, & Williams 1986).O termo backpropagation surge do fato que o algoritmo se baseia na retropropagação dos erros para realizar os ajustes de pesos das camadas intermediárias. A maneira de calcular as derivadas parciais do erro de saída em relação a cada um dos pesos da rede é o que caracteriza o backpropagation.[10] Com isso o algoritmo backpropagation foi aplicado em vários problemas, como na identificação da estrutura de proteínas, hifenização de palavras em inglês, reconhecimento da fala, compressão de imagens e previsão de séries temporais. O sucesso deste algoritmo estimulou o desenvolvimento de muitas pesquisas em redes neurais artificiais e de uma variedade de modelos cognitivos.
Após a publicação em 1986 do hoje clássico Parallel Distributed Processing, editado por Rummerlhart e McClelland do PDP Research Group da Universidade da Califórnia em San Diego, a área de redes neurais teve um desenvolvimento explosivo com a multiplicação exponencial de Journal's, associação locais e internacionais, sem falar da torrente de teses e paper's científicos. No começo desta década surgiram várias empresas para a exploração comercial de produtos de redes neurais, invariavelmente produtos de software para o desenvolvimento de aplicações ou simulação acadêmicas [11]
Em 1987 ocorreu em São Francisco a primeira conferência de redes neurais em tempos modernos, a IEEE International Conference on Neural Networks, e também foi formada a International Neural Networks Society (INNS). A partir destes acontecimentos decorreram a fundação do INNS journal em 1989, seguido do Neural Computation e do IEEE Transactions on Neural Networks em 1990.
RNAs (vantagens e características)[editar | editar código-fonte]
As redes neurais artificiais (RNA) têm muitas vantagens, porque se baseiam na estrutura do sistema nervoso humano, principalmente o cérebro.
Sua Aprendizagem: as RNAs têm a capacidade de aprender através de uma fase chamada fase de aprendizagem. Trata-se de fornecer dados como entrada RNA, por sua vez, informando qual é a saída (resposta) que é esperada.
Auto-organização: uma RNA cria sua própria representação de informação no seu interior, descarregando ao usuário isto.
Tolerância a falhas: Como uma RNA armazena informações de forma redundante, pode continuar a responder de uma forma aceitável, mesmo que esteja parcialmente danificada.
Flexibilidade: Uma rede neural não pode lidar com grandes mudanças na informação de entrada, tais como sinais ruidosos ou outras alterações na entrada (por exemplo, se a informação de entrada é a imagem de um objeto, a correspondente resposta mantém-se inalterada, mesmo se a imagem muda um pouco de brilho ou o objeto muda um pouco de formato).
Real Time: A estrutura de uma RNA é paralela, de modo que se for implementado com computadores ou dispositivos eletrônicos especiais, podem obter respostas em tempo real.
Arquiteturas[editar | editar código-fonte]
Os neurônios de uma RNAs devem estar conectados entre si, são dispostos em camadas, e os neurônios de uma mesma camada normalmente se comportam da mesma maneira. A disposição dos neurônios nas camadas e o padrão de conexão entre estas definem a arquitetura da RNA.
As redes sem realimentação (feedforward) têm neurônios agrupados em camadas. O sinal percorre a rede em uma única direção, da entrada para a saída. Os neurônios da mesma camada não são conectados.
Nas redes com realimentação ou recorrentes (recurrent), a saída de alguns neurônios alimentam neurônios da mesma camada (inclusive o próprio) ou de camadas anteriores. O sinal percorre a rede em duas direções, tem memória dinâmica e capacidade de representar estados em sistemas dinâmicos. Um exemplo é a rede de Hopfield.
Modelos[editar | editar código-fonte]
Uma típica rede neural feedforward é um conjunto de nós. Alguns desses estão na camada de entrada, alguns nós na camada de saída, e os outros estão nas camadas intermediárias/escondidos. Cada conexão entre os neurônios tem um peso numérico.[12] Quando a rede estiver em operação, o valor será aplicado a cada nó de entrada - os valores que estão sendo alimentados por um operador humano, a partir de sensores ambientais, ou de algum programa externo. Cada nó passa então o valor dado às conexões que levam para fora dela, e em cada conexão o valor é multiplicado pelo peso associado a esse respeito. Cada nó na camada seguinte então recebe um valor que é a soma dos valores produzidos pelas conexões que levam até ele, e em cada nó um simples cálculo é realizado sobre o valor - uma função sigmóide é típica. Este processo é repetido então com os resultados sendo passados através de camadas subsequentes de nós até que os nós de saída são alcançados. Os primeiros modelos tiveram um número fixo de camadas. Mais recentemente, os algoritmos genéticos são usados para desenvolver a estrutura neural.
Cálculos[editar | editar código-fonte]
A curva sigmóide é frequentemente utilizada como uma função de transferência, porque introduz a não-linearidade em rede cálculos da por "esmagamento"[13] de ativação do neurônio de nível para o intervalo [0,1]. A função sigmóide tem a vantagem adicional de ter uma função extremamente simples derivado, tal como exigido para a parte traseira de propagação de erros através de uma rede neural feed-forward. Outras funções com características semelhantes podem ser utilizados, mais comumente tanh que comprime as ativações para o intervalo de [-1,1] em vez disso, ou, ocasionalmente, uma função linear por partes que pode ser encaixada a ativação, em vez de o esmagar.
Se nenhuma não-linearidade é introduzida por esmagamento ou corte, a rede perde muito do seu poder computacional, tornando-se uma operação de multiplicação matriz simples de álgebra linear . modelos alternativos de cálculo nas redes neurais incluem modelos com alças, onde algum tipo de processo demora tempo deve ser usado, e "o vencedor leva todos os modelos", onde o neurônio com o maior valor desde o cálculo incêndios e assume um valor 1, e todos os outros neurônios tomam o valor 0.
Normalmente, os pesos em uma rede neural são ajustados inicialmente para pequenos valores aleatórios. Isto representa a rede sem saber nada, sua saída é essencialmente uma função de reprodução aleatória de sua entrada. Como o produto processo de treinamento, os pesos de conexão são gradualmente modificados de acordo com as regras computacionais específicos para o algoritmo de aprendizagem a ser utilizado. Idealmente, os pesos eventualmente convergir para os valores que lhes permitam executar uma computação útil. Assim, pode-se dizer que a rede neural começa sabendo nada e move-se para ganhar algum conhecimento real, embora o conhecimento é sub-simbólico.
Utilidade[editar | editar código-fonte]
As redes neurais são particularmente úteis para lidar com delimitadas de valor real de dados , onde uma saída de valor real é desejado; desta maneira as redes neurais irão realizar a classificação por graus, e são capazes de expressar valores equivalentes a "não sabe". Se a rede neural é treinada usando a função de erro de entropia cruzada[14] e se a saída da rede neural é sigmoidal, então as saídas serão estimativas da probabilidade posterior real de uma classe.
Aprendizado (ou treino)[editar | editar código-fonte]
O aprendizado consiste na modificação dos pesos das conexões entre os neurônios, os pesos iniciais (sinapses) são modificados de forma iterativa, por um algoritmo que segue um dos seguintes paradigmas de aprendizado:
- Aprendizado Supervisionado: é apresentado um conjunto de treino, consistindo de entradas e correspondentes saídas desejadas.
- Aprendizado por Reforço: para cada entrada apresentada, é produzida uma indicação (reforço) sobre a adequação das saídas correspondentes produzidas pela rede.
- Aprendizado Não-supervisionado: A rede atualiza seus pesos sem o uso de pares entrada-saídas desejadas e sem indicações sobre a adequação das saídas produzidas.
Descrição[editar | editar código-fonte]
As redes neurais artificiais são um método para solucionar problemas através da simulação do cérebro humano, inclusive em seu comportamento, ou seja, aprendendo, errando e fazendo descobertas. São técnicas computacionais que apresentam um modelo inspirado na estrutura neural de organismos inteligentes e que adquirem conhecimento através da experiência.
As redes neurais possuem nós ou unidades de processamento. Cada unidade possui ligações para outras unidades, nas quais recebem e enviam sinais. Cada unidade pode possuir memória local. Essas unidades são a simulação dos neurônios, recebendo e retransmitindo informações. Somam-se as entradas e se retorna uma saída, caso esta seja maior que o valor da soma.
Uma rede neural pode possuir uma ou múltiplas camadas. Exemplificando com três camadas, poderíamos ter a camada de entrada, em que as unidades recebem os padrões; a camada intermediária, onde é feito processamento e a extração de características; e a camada de saída, que conclui e apresenta o resultado final. Quanto maior o número de camadas, melhor a capacidade de aprendizado.
A camada de entrada deve possuir uma unidade especial conhecida como bias, usada para aumentar os graus de liberdade, permitindo uma melhor adaptação, por parte da rede neural, ao conhecimento a ela fornecido.
Em termos mais técnicos, o número de camadas define a capacidade de representação das relações entre o espaço de entrada e o de saída. A inexistência da camada intermediária, característica do modelo perceptron, condiciona-o a representar bem somente relações linearmente independentes. A existência de camadas intermediárias, característica do modelo perceptron de múltipla camada (PMC), retira tal limitação. Se houver apenas uma camada intermediária, o PMC pode representar (com qualquer grau de aproximação, por menor que seja) qualquer função contínua. Duas ou mais camadas ampliam o universo de representação a qualquer função, contínua ou não.
As redes neurais artificiais, seguindo a tradição estadunidense, estão muito associadas à adaptação de conexões (sinapses) entre neurônios, o conexionismo. Cabe registrar, entretanto, a existência de modelos nos quais as conexões não são adaptadas, mas apenas transmitem estimulação entre neurônios. Tais modelos são chamados redes neurais sem pesos (do inglês, weightless neural networks). Para completar, há modelos em que as sinapses não são adaptadas, mas calculadas previamente, servindo a tarefas de otimização, geralmente.
Tipos de Entradas[editar | editar código-fonte]
Podemos classificar as RNAs segundo suas capacidades de processar diferentes tipos de informações como:
- Redes analógicas: processam dados de entrada com valores contínuos e, geralmente limitados. Exemplo deste tipo de rede são: Hopfield, Kohonen e as redes de aprendizagem competitivo.
- Redes discretas: processam dados de entrada de natureza discreta, geralmente valores lógicos booleanos. Exemplo deste segundo tipo de rede são as máquinas de Boltzmann e Cauchy, e a rede discreta de Hopfield.
Diferenciação[editar | editar código-fonte]
A maior parte dos investigadores concorda em que as redes neurais são muito diferentes do cérebro em termos de estrutura. No entanto, como o cérebro, uma rede neural é uma coleção massivamente paralela de unidades de processamento pequenas e simples, onde as interligações formam a maior parte da inteligência da rede. Entretanto, em termos de escala, o cérebro é muito maior que qualquer rede neural. Além disso, as unidades usadas na rede neural são tipicamente muito mais simples que os neurônios e o processo de aprendizado do cérebro (embora ainda desconhecido) é, certamente, muito diferente do das redes neurais.
Rede pró-alimentada[editar | editar código-fonte]
Uma rede neural pró-alimentada (em contraposição à retroalimentada) típica consiste de um conjunto de nós em que alguns desses nós são designados nós de entrada, outros nós de saída e aqueles que estão entre esses dois tipos de nós são chamados de nós escondidos. Existem também conexões entre os neurônios, com um número referido como um ponderador associado a cada conexão. Quando a rede está em operação, um valor de entrada será aplicado a cada nó de entrada - esses valores são colocados por um operador humano ou por sensores ambientais, ou talvez por outros programas.
Cada nó então passa seu dado valor para as conexões que saem dele e em cada conexão o valor é multiplicado por um ponderador associado a essa conexão. Cada nó na camada seguinte recebe um valor, que é a soma dos valores produzidos pelas conexões que chegam até ele, e em cada nó é realizada uma computação simples sobre esse valor - uma função sigmóide é típica nesse caso. O processo então é repetido com os resultados sendo passados através de camadas subseqüentes de nós, até que os nós de resultados sejam atingidos. Isso é baseado em um modelo de neurônio da década de 1970.
Os modelos alternativos de cálculo nas redes neurais incluem aqueles dotados de laços (nos quais algum tipo de processo de retardamento de tempo precisa ser usado) e os modelos o "vencedor leva tudo", nos quais o neurônio com os valores mais altos dispara e toma o valor 1 e todos os outros neurônios tomam o valor 0.
Tipicamente, os ponderadores em uma rede neural são colocados inicialmente em valores aleatórios pequenos; isso significa que a rede não sabe nada. À medida que o processo de treinamento acontece, esses ponderadores irão convergir para valores que permitem que eles realizem uma computação útil. Assim, pode ser dito que uma rede neural começa sabendo nada e move-se no sentido de ganhar algum conhecimento real.
As redes neurais são particularmente úteis para lidar com dados ligados a valores reais em que se deseja obter uma saída dotada de valor real. Dessa maneira, as redes neurais irão realizar uma classificação por graus e serão capazes de expressar valores equivalentes a "não conhecido com certeza". Se uma rede neural é treinada usando a função de erro de entropia cruzada e se a saída dessa rede neural tem uma forma sigmoidal não-linear, então as saídas serão estimativas de uma probabilidade posterior real de uma classe.
Nenhum comentário:
Postar um comentário