SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
CAPÍTULO 3
REDES NEURAIS ARTIFICIAIS
Neste capítulo são apresentados os fundamentos teóricos das redes neurais artificiais,
descrevendo sua célula básica, sua arquitetura e os algoritmos de aprendizagem.
3.1 Introdução
Este capítulo apresenta a fundamentação de conceitos para implementação de sistemas
baseados em Redes Neurais Artificiais (RNA). A tecnologia de redes neurais busca uma
similaridade entre o comportamento do neurônio biológico e um modelo de neurônio
computacional. Assim, será possível a realização de tarefas tais como: a associação,
categorização e percepção de traços marcantes realizados pelo homem [85]. As RNA's
possuem outros nomes, como neurocomputação, processamento paralelo distribuído, sistemas
neuro-mórficos, computadores biológicos ou neuro-computadores.
O final da década de80 marcou o ressurgimento da área de RNA's, também conhecida
como conexionismo ou sistemas de processamento paralelo e distribuído [12]. Esta forma de
computação é caracterizada por sistemas que, em algum nível, relembram a estrutura das
redes neurais do cérebro humano [85]. AsRNA's são implementadas em hardware e software,
que imitam as habilidades computacionais do sistema nervoso biológico, usando um grande
número de simples de neurônios artificiais interconectados.
Os neurônios artificiais simulam os neurônios biológicos, os quais recebem
informações de sensores ou de outros neurônios artificiais, produzindo operações simples
sobre estes dados, e passam o resultado para outros neurônios artificiais [52]. As RN's
funcionam através de seus neurônios artificiais, que processam seus dados usando:
• Paralelismo lógico: para todos os neurônios da mesma camada;
• Operações seriais: quando a informação de uma camada é transferida para
neurônios de outra camada.
33
Existem três características principais que descrevem umaRN biológica, e a que
contribuem para a sua habilidade funcional:
• Topologia (arquitetura);
• Dinâmica;
• Aprendizado.
As RN's estão sendo adotadas para uso em uma variedade de aplicações comerciais e
militares que atinge desde o reconhecimento de padrões até otimização e seqüenciamento [6].
Realiza tarefas bem melhor que outras tecnologias mais convencionais (incluindo sistema
especialistas). O campo de estudo mantém dependências interdisciplinares com as ciências
cognitivas, a cibernética, a psicologia, a neuro-biologia, a matemática e a física.
3.2 As Redes Neurais
O funcionamento da grande maioria dos computadores digitais em uso atualmente é
baseado no princípio de centralizar todas as operações em um processador poderoso e
complexo. Essa é a idéia básica da arquitetura Von Neumann, assim chamada, pois foi
proposta por John Von Neumann, um dos pioneiros da computação, em 1947. O poder de tal
processador pode ser medido em termos de sua velocidade e complexidade [52, 85]
As redes neurais artificiais, diferentemente de computadores digitais convencionais,
executam suas tarefas usando simultaneamente um grande número de processadores, ou seja,
esses processadores operam em paralelo. A representação do conhecimento é distribuída pelas
conexões e o aprendizado é feito alterando-se os valores associados com as conexões.
Todavia, os métodos de aprendizagem ainda precisam ser programados e para cada problema
específico um método de aprendizado apropriado deve ser escolhido.
3.2.1 Histórico das Redes Neurais Artificiais
A história das redes neurais artificiais é relativamente recente. Conta com um pouco
mais de meio século se considerarmos como pioneiros os trabalhos dos neuro-fisiologistas
Donald Hebb e Karl Lashley, por volta de 1940, quando as primeiras simulações foram feitas
com papel e lápis [12].
34
O primeiro modelo artificial de um neurônio biológico foi fruto do trabalho pioneiro
do psiquiatra e neuro-anatomistaWarren McCulloch e Walter Pitts em 1943 [85]. O trabalho
publicado em 1943, "A logical Calculus of the Ideas Immament in Nervous Activity", é
apresentada uma discussão sofisticada das redes lógicas de neurônios e novas idéias sobre
máquinas de estados finitos, elementos de decisão de limiar lineares e representações lógicas
de várias formas comportamento e memória. Nos conceitos da cibernética, fez-se uma
analogia entre células nervosas vivas e o processo eletrônico num trabalho publicado sobre os
neurônios formais. O trabalho consistia num modelo de resistores variáveis e amplificadores
representando conexões sinápticas de um neurônio. Parte da discussão emRNA´s gira em
torno dos métodos de aprendizado para que neurônios possam ser capazes de executar uma
determinada função. O trabalho mencionado anteriormente deMcCulloch e Pitts se concentra
muito mais em descrever um modelo artificial de um neurônio e de apresentar as suas
capacidades computacionais do que apresentar técnicas de aprendizado. Os fatos básicos
percebidos por McCulloch e Pitts, que tornaram possível a modelagem matemática do
neurônio [5, 6, 12 , 85], foram:
• Neurônios comportam-se como "somadores algébricos";
• Adicionam entradas excitatórias;
• Subtraem entradas inibitórias;
• Neurônios possuem uma propriedade de "limiar", isto é, quando as entradas
integradas excedem o limiar, disparam um sinal através do axônio;
• Neurônios comportam-se analogicamente enquanto o axônio comportam-se de
forma digital.
Dessa forma, um tratamento discreto e binário utilizando o cálculo proposicional
temporal poderia ser empregado para modelar neurônios biológicos. O neurônio foi definido
como tendo dois estados:
• Verdadeiro e falso do cálculo da lógica proposicional de ordem zero;
• O zero e um da álgebra de booleana.
O estado do neurônio é analisado a cada instante de tempo, onde o neurônio está
disparado ou está inativo.
35
O primeiro mecanismo de aprendizagem foi iniciado porDonald Hebb, em 1949. Ele
propôs uma regra de aprendizagem conhecida hoje como regra de aprendizagemHebbiana.
Hebb demonstrou que a capacidade de aprendizagem emRN's pode ser conseguida através da
variação dos pesos das conexões entre os neurônios. A regra de Hebb diz que, quando um
estímulo de entrada influência na produção de estímulos de saída, o peso da conexão entre os
neurônios deve ser incrementado. A regraHebbiana tem sido utilizada em vários algoritmos
de aprendizagem de redes neurais artificiais. Mais tarde,Widrow e Hoff sugeriram uma regra
de aprendizagem, conhecida com regra de Widrow-Hoff ou Regra Delta, que é ainda hoje
bastante utilizada. Esta, por sua vez, é baseada no método do gradiente para minimização do
erro na saída de um neurônio com resposta linear [6, 12, 85].
Os pesquisadores Widrow e Hoff desenvolveram o Adaline (Adaptive Linear Network
Element) e o Madaline (Many Adaline) Perceptron como um dispositivo prático para resolver
tarefas de reconhecimento de padrões. O Adaline/Madaline usou saídas analógicas em vez de
binárias como originariamente proposto porMcCulloch e Pitts. Pela primeira vez, imitava o
cérebro humano com processadores paralelos em vez de uma únicaCPU [52].
Em 1958, Frank Rosenblatt em seu livro "Principles of Neurodynomics", forneceu
várias idéias a respeito do perceptrons (novo modelo), que são RN's de limiar baseado no
modelo de Mc-Culloch e Pitts [52]. O perceptron mais simples descrito porRosenblatt possui
três camadas:
• A primeira recebe as entrada do exterior e possui conexões fixas;
• A segunda recebe impulsos da primeira através de conexões, cuja eficiência de
transmissão (pesos) é ajustável;
• E por sua vez, envia saídas para a terceira camada (resposta).
Uma das principais idéias deRosenblatt foi à elaboração da arquitetura back-coupled
perceptron e o algoritmo "back-coupled error correction algorithm", que é capaz de adaptar
os pesos de um conjunto de entradas de uma unidade de associação, de acordo com uma saída
desejada. Tanto o algoritmo "back-couple error conection" quanto à regra delta de Widrow-
Hoff são métodos de aprendizagem para redes perceptron de apenas uma camada de neurônios
[52].
Em 1969, Marvin Minsky e Seymour Papert fizeram um estudo desses algoritmos e
publicaram o livro Perceptrons [12]. Provaram formalmente que uma rede formada de uma
única camada de neurônios, independente do algoritmo de aprendizagem, é capaz apenas de
36
resolver o problema de associação de padrões quando os conjuntos de pares de padrões são
linearmente separáveis. Naquela época era sabido que redes perceptron com mais de uma
camada de neurônios, chamadasMulti Layer Perceptrons (MLP) ou ainda redes feedforward,
tinham o poder computacional de aprender padrões linearmente dependentes, contudo era
desconhecido um algoritmo de aprendizagem que pudesse realizar tal associação. Em
particular, demostraram que um perceptron é incapaz sequer de distinguir a letraT de um C.
Estes resultados e observações feitas por Minsky e Papert foram devastadoras, e a abordagem
conexionista ficou em segundo plano durante a década de70 até o início da década de 80 [6,
12, 85].
Em 1982 John Hopfield, físico e biólogo do Instituto de Tecnologia da Califórnia, deu
um novo impulso ás RN's. Usando uma pesquisa baseada no sistema neurológico de uma
lesma de jardim, que apresentou um sistema computacional neural composto de muitos
elementos de processamento interconectados, que buscam atingir um estado de energia
mínima (em repouso). O modelo do físico representa a operação a partir de um determinado
nível de excitação (limiar), mostrando que a memória do sistema é armazenada na
interconexões entre as unidades neurais [52].
A importância das redes perceptron na resolução do problema de associação de
padrões para um conjunto de padrões não linear foi praticamente eliminada porRumelhart,
Hinton e Willians [6, 12, 25, 52, 85]. A solução encontrada foi a Regra Delta Generalizada,
mais conhecida como algoritmo deCorreção de Erros Backpropagation, em 1986, para redes
perceptron de multicamadas de neurônios com entradas e saídas analógicas. As funções de
ativação foram substituídas por funções contínuas sigmóides. Um resultado similar já havia
sido encontrado independentemente por Parker, em 1982, o qual foi chamado de "The
Learning Logic", porém sem repercussão na época [52, 85].
3.2.2 Fundamentos Biológicos
Sabe-se que o cérebro humano contém em torno de 1011
neurônios aproximadamente
[85]. O neurônio possui um corpo e diversas ramificações, cujas as funções são:
• Recebe informações, ou impulsos nervosos, oriundos de outros neurônios, para
conduzi-los até o corpo celular;
37
• No corpo celular a informação é processada e novos impulsos são gerados. Estes
impulsos são transmitidos a outros neurônios;
• A transmissão é feita através de um ponto chamado axon hillock (filamento
axônico), onde surge um filamento comprido que é o axônio. Este entra em
contato com os dentritos dos neurônios seguintes.
O ponto de contato entre a terminação axônica de um neurônio e o dendrito de outro é
chamado de sinapse. As sinapses liberadas pelos neurônios representam a funcionalidade das
RN's. As sinapses funcionam como válvulas, sendo capazes de controlar a transmissão de
impulsos. Isto é, o fluxo da informação entre neurônios na rede neural (ver figura 3.1). O
efeito das sinapses é variável, e é esta variação que dá ao neurônio a capacidade de adaptação.
Um neurônio é possível estar conectado a outros neurônios e gerar até 10.000 sinapses, ou
seja, até 10.000 conexões com neurônios adjacentes [12].
Figura 3.1 – Componente do neurônio biológico [12]
O axônio pode transmitir impulso elétrico em ambas as direções, onde o fluxo de
informação vai ao sentido dos dentritos para o axônio, onde há um impulso elétrico no lado do
axon hillock. Em condições normais, se uma corrente elétrica é aplicada em ponto do axônio,
o seu potencial irá decair exponencialmente á medida que a corrente é propagada através do
axônio.
Há uma diferença de potencial entre o interior e o exterior do neurônio, ocasionada
pela diferença entre a concentração depotássio (interna á célula) esódio (externa á célula). A
concentração de íons de potássio dentro da célula cria um potencial elétrico de -70 mV
(potencial de repouso) em relação ao exterior. Para a que a célula dispare, produzindo um
38
potencial de ação (impulso nervoso), é preciso que os impulsos das sinapses reduzam este
nível em cerca de-50 mV (ver figura 3.2).
Figura 3.2 – Potencial de ação em um neurônio [12]
Quando as entradas chegam ao corpo da célula, ocorre um processo de integração
(soma) dos estímulos de entrada, e como resultado pode ser gerado um impulso elétrico que
começa no axon hillock e se propaga até os terminais do axônio. O processo de controle da
produção do impulso elétrico é normalmente aceito como uma função de limiar que produz
uma saída, caso a soma das entradas seja maior ou igual a um dado limiar.
3.2.3 Características de uma Rede Neural
Existem três características principais que descrevem umaRN biológica, e a que
contribuem para a sua habilidade funcional:
a) Topologia do Sistema Neural:
Os princípios importantes que podem ser encontrados subjacentes à organização
estrutural das áreas diferentes do cérebro:
• Camadas de elementos de processamento;
• Colunas de elementos de processamento;
• Especialização do tecido neural em sistemas específicos e não específicos.
39
Interfaces sensoras captam informações do mundo para o cérebro. Os dados são
passados através de níveis múltiplos do sistema nervoso, ou camadas de neurônios. Através
desta transferência de níveis do funcionamento cerebral ocorre a abstração, conceitualização e
detecção de característica. Por exemplo, o sistema nervoso pode detectar características
específicas, todavia este também espalha informação ambígua. Estas sensações não podem ser
entendidas enquanto não forem processadas por muitas camadas nas várias áreas do cérebro.
b) Dinâmica do Sistema Neural:
Diversos processos dinâmicos que ocorrem no sistema neural biológico são
integralmente ligados às estruturas destes sistemas:
• Representação distribuída de informação;
• Codificação temporal da informação;
• Regra de inibição;
• Processamento feedforward e feedback.
A informação que é acessada por vários sensores biológicos é distribuída para
neurônios múltiplos. Essa informação é processada por uma parte do cérebro e enviada para
outra área do cérebro. Esta nova área processa e passa de volta a informação para a locação
original ou através locações intermediárias.
c) Aprendizado no Sistema Neural:
A habilidade do sistema neural biológico de aprender adaptativamente em resposta à
experiência e ao ambiente é um dos mais notáveis aspectos deste sistema. Existem alguns
aspectos associados com tal aprendizado:
• Aprendizado sobrepõe conexões rígidas;
• Conceitualização.
40
O cérebro é adaptativo no início da vida, contudo desenvolve uma fixação ou
inflexibilidade com a maturação. Apesar de uma relativa inflexibilidade, na fase adulta, existe
uma habilidade contínua do cérebro em adaptar-se e aprender novas coisas.
3.3 Princípios da Neurocomputação
Apesar de uma rede neural ser simulada e executada em um computador seqüencial, a
rede está muito mais para o funcionamento cerebral do que para um computador.
A RNA é algoritmo computacional, onde a camada de entrada recebe um conjunto de
dados (previamente selecionados e conhecido), cujas sucessivas repetições faz com que um
critério de convergência ou parada ocorra. Assim, a rede é treinada e os parâmetros são
ajustados e definidos nas camadas intermediárias e de saída (ver figura 3.4). Com isto, diz-se
que a RNA aprendeu a reconhecer de modo generalizado um conjunto para o qual é
previamente treinada.
Figura 3.3 – Modelo neural [85]
Se uma rede aprende, ela deve reproduzir algum conhecimento. O seu conhecimento
não está localizado em um endereço e, dessa forma, a rede não separa memória de dados
armazenados. O conhecimento armazenado está distribuído por toda a rede, da mesma forma
que não se pode dissecar um cérebro para extrair conhecimento. O programa implementado
está previamente condicionado para tal atividade, não fará outra coisa senão a estabelecida, ou
seja, a atividade treinada.
41
Ao se escrever um programa para realizar uma ação diante de um fato, tem-se que
prever todas as situações possíveis para associar as ações pertinentes a cada ação. Porém,
como todos sabem, existem certos casos que simplesmente não é possível prever exatamente
todos os fatos, a começar pela quantidade de situações diferentes que possam vir a ocorrer,
dependendo do problema. Dessa forma, quando acontece uma dessas situações inesperadas, o
programa de computador tomaria uma atitude imprevista, ou não tomaria atitude nenhuma,
pois não saberia o que fazer. A culpa não é do programa, pois não é programado para reagir
diante de situações que ainda não lhe foram apresentado, e muito menos do computador [12].
O cérebro não pensa assim, pois, baseado no conhecimento sinapticamente
acumulado, tomará alguma ação perante a nova situação, ponderando pelo julgamento dos
elementos que aprendeu.
O cérebro humano consome de 20 a 25% da energia corporal e possui um total de 10
bilhões de neurônios, sendo que cada um faz entre mil e dez mil conexões com os neurônios
adjacentes [85].O aprendizado sináptico é paralelo, que o torna flexível, rápido e eficaz. Um
comparativo entre o cérebro e o computador, resulta, no quadro a seguir, os seguintes valores
(ver tabela 3.1):
Tabela 3.1 – Comparativo entre o cérebro humano e o computador [85]
Parâmetro Cérebro Computador
Material Orgânico Metal e plástico
Velocidade Milisegundo Nanosegundo
Tipo de Processamento Paralelo Seqüencial
Armazenamento Adaptativo Estático
Controle de Processos Distribuído Centralizado
Número de elementos processados 1011
a 1014
105
a 106
Ligações entre elementos processados 10.000 <10
Dentro deste contexto, o estudo e a definição das RNA's teve origem nos fundamentos
do cérebro humano e de suas conexões sinápticas.
42
3.4 Estruturas e Dinâmicas das Redes Neurais Artificiais
O modelo de neurônio proposto por McCulloch e Pitts (MCP - neurônio artificial) é
uma simplificação do que se sabia a respeito do neurônio biológico naquela época [98]. A sua
descrição matemática resultou em um modelo (ver tabela 3.2), o comparativo entre um
neurônio artificial e biológico.
Tabela 3.2 – Comparação entre o neurônio biológico e artificial
Parâmetros Neurônio Biológico Neurônio Artificial
Modelo
Entrada Dentritos x1, x2, x3,..., xn
Saida Axônio y
Pesos Comportamento das sinapses w1, w2, w3,..., wn
Efeito da uma
sinapse
Neurônio pós-sináptico
∑=
=
n
i
ii wxs
1
.
O neurônio recebe um conjunto de sinais de entrada de outros neurônios. Então, é
computada a média ponderada entre os sinais de entrada e os pesos da conexões (cujos valores
podem ser positivos ou negativos, dependendo das sinapses correspondentes serem inibitórias
ou excitatórias). O resultado disto é aplicado à função de ativação, também chamada de
função de transferência. O resultado final é chamado deativação do neurônio. Normalmente,
existe um valor de s que, quando atingido, ocasiona um disparo súbito ocasionando pela
função de ativação, seja ela contínua ou não. Este é chamado de valor limiar e é representado
por L. Considerando a função de ativação do perceptron, o modelo matemático do
processamento é governado pelas equações 3.1:
43
∑=
=
n
i
ii wxs
1
. e



−
==
1
1
)(sfy
se
se
Ls
Ls
〈
≥
(3.1)
onde: n é o número de entradas no neurônio;
wi é peso associado à entrada xi;
s é o limiar do neurônio.
A operação de um neurônio artificial com suas conexões é inspirada no modelo
biológico, como mostrado a seguir na figura 3.4:
Figura 3.4 – Modelo do neurônio artificial [52]
Os modos em que neurônios artificiais diferem um do outro, e que pode ser
modificados para nova performance incluem: mudança da função de transferência e adição,
novos parâmetros ou funções para a rede (tais como viés, ganho e limiares adaptativos). Já os
aspectos que diferem as redes neurais são as conexões dos números de camadas e tipo de
treinamento. Entre os modelos já publicados em revistas especializadas, encontram-se, como
clássicos, os modelos: Backpropagation, Kohonen, Perceptron, Boltzman e outros [52]. O
modelo de MCP apresenta algumas limitações como:
• Redes MCP com apenas uma camada só conseguem implementar funções
linearmente separáveis;
• Pesos negativos são mais adequados para representar disparos inibidores;
• O modelo foi proposto com pesos fixos, não ajustáveis.
44
O viés (bias) é uma entrada adicional que pode ser acrescentada ao neurônio artificial,
não proveniente de nenhum outro neurônio, e de valor de entrada fixado em+1. Seu peso de
conexão w0 é ajustável pelo aprendizado como qualquer outro peso da conexão. Toma-se
como exemplo o perceptron, onde pode-se escrever as equações 3.2 e a figura 3.5:
∑=
+=
n
i
ii wwxs
1
0. e



−
==
1
1
)(sfy
se
se
0
0
〈
≥
s
s
(3.2)
Figura 3.5 – Modelo do neurônio artificial com entrada de viés [85]
Embora o viés inexista biologicamente, seu uso nos modelos artificiais provê meios de
transladar o valor limiar da função transferência.
3.4.1 Sinais de Entrada e Saída
O neurônio possui, a princípio, um ou mais sinais de entrada e um de saída. As
entradas de neurônio artificial podem ser comparadas como estímulos para o neurônio natural.
Todos esses estímulos são enviados até o neurônio simultaneamente, ou seja, se um neurônio
possui cinco entradas, os sinais das cinco entradas devem chegar até o núcleo de
processamento ao mesmo tempo, isto quer dizer, paralelamente (ver figura 3.6).
45
Figura 3.6 – Neurônio com n entradas e pesos definidos [85]
O processamento paralelo em computadores seqüenciais pode ser paradoxal. A
simulação de um ambiente paralelo é possível, e é desta forma que ocorre esse tipo de
processamento nas RN. O modelo matemático simula o paralelismo da rede neural através de
um algoritmo e os pesos (wn) da rede são ajustados por uma rotina de treinamento.
3.4.2 Pesos
Os pesos, representados por w são valores que apresentam o grau de importância que
determinada entrada possui em relação àquele neurônio. Quando uma entrada é bastante
estimulada, acaba estimulando, também, o peso correspondente à sua conexão.
Os pesos podem ser vistos, matematicamente, como um vetor de valores (w1, w2, w3,...,
wn). Havendo mais um neurônio na rede, pode-se então ter uma coleção de vetores, ou seja,
uma matriz de pesos, onde cada vetor, corresponde a um neurônio. O sinal de excitação no
neurônio é a soma das multiplicações entre as entradas(x1, x2, x3,..., xn) e os pesos. As
entradas multiplicadas pelos pesos, recebem, depois desta operação, o nome de entradas
ponderadas.
A função do neurônio é, depois de acumulado o valor somado dos produtos ocorridos
entre as entradas e os pesos comparar esse valor com o limiar. Atingindo-o, o valor é então
passado adiante através da saída. A esse processo chama-se de função de transferência. Caso
contrário, se o valor não atinge o limiar, o sinal não é transferido adiante.
46
3.4.3 Função de Ativação e Transferência
A função de ativação antecede a de transferência, e tem por atribuição repassar o sinal
para a saída do neurônio. A função de ativação é uma função de ordem interna, cuja
atribuição é fazer acontecer um nível de ativação dentro do próprio neurônio, ou seja, é uma
decisão tomada pelo neurônio sobre o que fazer com o valor resultante do somatório das
entradas ponderadas [85]. Veja a seguir um neurônio na figura 3.7.
Figura 3.7 – Um neurônio com as funções de ativação e transferência [85]
Em modelos simples de redes neurais, a função de ativação pode ser a própria função
de soma das entradas ponderadas do neurônio. Em modelos mais complexos, a função de
ativação possui um processamento atribuído. Após o valor ter sido processado pela função de
ativação, é então passado para função de transferência, que produzirá o valor da saída do
neurônio [85].
A função de transferência pode ter muitas formas e métodos, podendo ser simples ou
complexa. A função de transferência é conhecida como limiar lógico. Essa função é quem
envia para fora do neurônio o valor passado pela função de ativação [52]. As funções de
transferência(y) mais conhecidas são apresentadas na figura 3.8.
47
Figura 3.8 – Funções de transferência mais empregadas [103]
Algumas são especificadas como:
• Degrau e rampa: possuem decisões ríspidas, principalmente para valores
extremos. Essas funções refletem a saída dentro de uma faixa (digamos entre0 e
1). Isto quer dizer que , ultrapassado um certo limite, a função dispara o valor0 ou
1, ou -1, dependendo da função e da forma que será utilizada.
• Sigmóide: caracterizam-se pelo seu formato em letraS alongada, são contínuas e
monotonicamente crescentes, limitadas por duas assíntotas horizontais. Possuem a
vantagem adicional de fornecer uma forma para controle automático de ganho. À
medida que a magnitude cresce, o ganho decresce. Deste modo, sinais de grande
amplitude podem ser acomodados pela rede sem uma saturação abrupta, enquanto
sinais baixos passam sem excessiva atenuação.
As funções sigmoidais são empregadas com sucesso como funções de transferências,
porque apresentam a propriedade de ser derivável em todos os pontos [25]. Esta característica
é importante para a lei de aprendizagembackpropagation (ver item 3.5.1.2 ou Apêndice I),
que requer cálculo do gradiente do vetor do erro. Conforme será visto oportunamente, as
trocas nos pesos das conexões são proporcionais à derivada de ativação. Para as funções
48
sigmoidais, o argumento soma das entradas ponderadas de alta magnitude significa derivadas
de baixa magnitude, e assim as trocas nos pesos das conexões durante a aprendizagem serão
menores; já um argumento de baixa magnitude para a função representa uma derivada de
magnitude maior e, conseqüentemente, uma maior quantidade de trocas nos pesos.
3.4.4 Camadas Escondidas
Algumas vezes a saída do neurônio é conduzida para outros neurônios, em vez de ser
conduzida como resposta final, ou seja, os sinais da saída vão para uma próxima camada,
chamadas também de intermediárias ou ocultas. Essas camadas intermediárias se situam entre
a camada de entrada e a camada de saída da rede neural (ver figura 3.9).
Figura 3.9 – Redes exemplificando camadas escondidas ou ocultas [85]
Essas camadas são compostas por neurônios que possuem exatamente a mesma
estrutura que os neurônios da camada de saída. Não existe uma regra que define o número de
camadas escondidas.
3.4.5 Arquiteturas das Redes Neurais Artificiais
As conexões entre as camadas podem gerar diferentes estruturas. Cada conexão visa
tornar o sinal de saída em um sinal de entrada, tanto para um outro neurônio, quanto para o
mesmo que o gerou. Fazem parte da definição da arquitetura os seguintes parâmetros:
a) Número de Camadas da Rede
Alguns exemplos de arquiteturas deRNA´s quanto ao número de camadas:
49
•Redes de camada única: só existe um nó entre qualquer entrada e qualquer saída da
rede, ver exemplos na figura 3.10.
(a) (b)
Figura 3.10 – Redes de camada única [12]
•Redes de múltiplas camadas: existe mais de um neurônio entre alguma entrada e
alguma saída da rede (ver figura 3.11).
(a)
(b) (c)
Figura 3.11 – Redes de múltiplas camadas [12]
O número de neurônios da camada escondida é livre, não obedece nenhuma regra
específica.
b) Redes Multi-Layer Perceptron (MLP)
As redes de uma só camada resolvem apenas problemas linearmente separáveis [12].
A solução de problemas não linearmente separáveis passa pelo uso das redes com uma ou
mais camadas ocultas. Segundo Cybenko, uma rede com uma camada intermediária pode
implementar qualquer função contínua [45, 98]. A utilização de duas camadas intermediárias
permite a aproximação de qualquer função.
50
Porém, o problema passa a ser então como treinar estas redes, ou qual a definição do
erro dos neurônios das camadas intermediárias. Para treinar as redes com mais de uma
camada foi proposto um método que se baseia em gradiente descendente (backpropagation)
[6, 12, 70]. Afim de que este método possa ser utilizado, a função de ativação precisa ser
contínua, diferenciável e, de preferência, não decrescente. A função de ativação deve informar
os erros cometidos pela rede para as camadas anteriores com a maior precisão possível. A
alternativa utilizada para superar os problemas acima citados foi a utilização de funções de
ativação do tipo sigmoidal (logística e tangente hiperbólica). O treinamento é supervisionado,
e suas principais aplicações são: classificação de padrões, predição e interpolação.
Com relação ao número de neurônios nas camadas intermediárias, este é geralmente
definido empiricamente. Este número depende fortemente da distribuição dos padrões de
treinamento e validação de rede. O número adequado de neurônios na camada oculta depende
de vários fatores, como:
• Número de exemplos de treinamento;
• Quantidade de ruído presente nos exemplos;
• Complexidade da função a ser aprendida;
• Distribuição estatística dos dados de treinamentos.
O número de unidades intermediárias pode também crescer exponencialmente com o
número de entradas. A solução neural mais eficiente é aquele onde o número de unidades
cresce apenas polinomialmente com o aumento do número de unidades de entradas [52].
c) Conexões dos Neurônios
Alguns exemplos de arquiteturas deRNA´s quanto ao tipo de conexões dos nodos.
• Feedforward ou acíclica: a saída de um neurônio na i-ésima camada da rede não
pode ser usada como entrada de neurônios em camadas de índice menor ou igual a
i. Nesta rede não existe uma medida de estabilidade de rede, devido à
simplicidade de fluir as informações entre as camadas (ver figuras 3.10 (a) e (b), e
3.11 (a)).
51
• Feedback ou cíclica: as saídas de algum neurônio i-ésima camada da rede é usada
como entrada de neurônios em camadas de índice menor ou igual ai (ver figura
3.11 (b) e (e), e 3.12).O sinal pode ser usado tanto para excitar a camada inteira
como também para excitar apenas um neurônio em particular, ou até mesmo, o
próprio neurônio, que realizou o disparo.
Figura 3.12 – Redes feedback [85]
Enfim, a arquitetura da rede neural é livre, pode ser modificada conforme critério ou
necessidade do projetista.
3.5 Aprendizado das Redes Neurais Artificiais
Um conjunto de procedimentos bem definidos para adaptar os parâmetros de umaRNA
para que a mesma possa aprender uma determinada função é chamado de algoritmo de
aprendizado. Como era de se esperar, não há único algoritmo de aprendizado. O que se tem é
um conjunto de ferramentas representadas por diversos algoritmos, cada qual com suas
vantagens e desvantagens. Estes algoritmos basicamente diferem pela maneira de como o
ajuste dos pesos é feito.
A etapa de aprendizado consiste em um processo iterativo de ajuste de parâmetros da
rede, os pesos das conexões entre as unidades de processamento, que guardam, ao final do
processo, o conhecimento que a rede adquiriu do ambiente em que está operando.
Diversos métodos para treinamento de redes foram desenvolvidos, podendo estes
serem agrupados em dois paradigmas principais: aprendizado supervisionado e não-
supervisionado [12, 85]. Outros dois paradigmas bastante conhecidos são os de aprendizado
por reforço (caso particular de aprendizado supervisionado) e aprendizado por competição
(caso particular de aprendizado não supervisionado).
52
3.5.1 Aprendizado Supervisionado
Este método de aprendizado é o mais comum no treinamento das RNA’s, tanto de
neurônios com pesos, como os sem pesos, sendo chamado de aprendizado supervisionado.
Porque a entrada e a saída desejadas para a rede são fornecidas por um supervisor externo (ver
figura 3.13). O objetivo é ajustar os parâmetros da rede, de forma a encontrar uma ligação
entre os pares de entrada e saída fornecidos.
Figura 3.13 – Aprendizado supervisionado [12]
A rede tem sua saída calculada e comparada com a saída, recebendo informações do
supervisor sobre o erro da resposta atual. A cada padrão de entrada submetido à rede,
compara-se a resposta desejada com a resposta calculada, ajustando-se os pesos das conexões
para minimizar o erro existente.
A desvantagens do aprendizado supervisionado é que, na ausência do professor, a rede
não conseguirá aprender novas estratégias para situações não cobertas pelos exemplos do
treinamento da rede. Os exemplos mais conhecidos de algoritmos para aprendizado
supervisionado são a regra delta e a sua generalização para redes de múltiplas camadas, o
algoritmo backpropagation.
53
a) Regra Delta
Procura minimizar a diferença entre a soma ponderada das entradas pelo pesos (saída
calculada pela rede) e a saída desejada, ou seja, o erro da resposta atual da rede. O termoe(t)
do erro deve ser escrito pela equação (3.3):
)()()( tytdte −= (3.3)
onde: d(t) é a saída desejada;
y(t) resposta atual no instantet.
A forma genérica para alteração dos pesos pela regra delta é dada pela equação 3.4:
)().(.)()1( txtetwtw iii η+=+ (3.4)
onde: wi(t+1) é o novo valor do peso;
wi(t) é o valor velho do pesos;
i índice da entrada;
η constante de aprendizado;
e(t) erro;
xi(t) é a entrada para o neurônio no instantet.
A cada novo padrão apresentado à rede o peso é atualizado. A constante de
aprendizado η controla a estabilidade e velocidade de convergência. Uma faixa prática para
sua escolha é 0.1 ≤ η ≤ 1.
b) Algoritmo Backpropagation
O algoritmo backpropagation é utilizado no treinamento de redesMLP, esse algoritmo
foi importante no ressurgimento de interesse emRNA´s, por ocasião da publicação do livro
“Parallel Distributed Processing”, mais conhecido como PDP, em 1986 [52]. O
backpropagation é baseado na regra delta proposta por Widrow e Hoff, assim sendo chamada
54
de regra delta generalizada [85]. Os ajustes dos pesos são realizados utilizando o método do
gradiente [82].
As redes feedforward com algoritmos de aprendizado tipo backpropagation se
tornaram muito populares, devido à capacidade de resolver a maioria dos problemas de
reconhecimentos de padrões, além da utilização em aplicações de sistema de controles [6].
Esse algoritmo é supervisionado e utilizam pares (entrada, saída desejada) para,
através de um mecanismo de correção de erros, ajustar os pesos da rede. O treinamento ocorre
em duas fases, onde cada fase percorre a rede em um sentido. Estas duas fases são chamadas
de forward e backforward (ver figura 3.14).
Figura 3.14 – Fluxo de processamento do algoritmo com as fases forward e backward [88]
A fase forward é utilizada para definir a saída da rede para um dado padrão de entrada,
já a fase backward utiliza a saída desejada e a saída fornecida pela rede para atualizar os pesos
de suas conexões.
• Descrição Qualitativa do Backpropagation
O backpropagation é um algoritmo de aprendizado [98]. Uma rede neural com uma
topologia feedforward, usando este algoritmo para treinamento, tem uma camada de entrada,
pelo menos uma camada escondida, e uma camada de saída. Uma redeopera em dois passos
durante o treinamento. Inicialmente, um padrão de entrada é apresentado à camada de entrada
da rede. Há fluxo de atividade, devido as excitações dos neurônios através da rede, desde a
camada de entrada até que a saída seja gerada. Então, o segundo passo é calcular o erro entre
esse padrão de saída e o padrão esperado; esse erro é passado da camada de saída, para trás,
com os pesos das conexões sendo alterados, conforme o erro se propaga para trás [5, 70, 82].
55
Um neurônio típico tem diversas entradas (xj), cada uma das quais é multiplicada pelos
correspondentes pesos (wi), como mostrado na figura 3.15 e a equação 3.5.
Figura 3.15 – Estrutura de um elemento neurônio [85]
∑=
=
n
i
ii xws
1
.
(3.5)
Esse sinal passa através da função de ativação que é tipicamente não-linear, como uma
função sigmoidal.
No backpropagation, o treinamento da rede neural tem por objetivo estimar o erro, ou
seja, a diferença entre os valores obtidos e os reais para um determinado estimulo na entrada.
A redução deste erro é através da alteração dos pesos atribuídos ao caminho do fluxo desse
estimulo nas diversas camadas da rede.
• Descrição Analítica do Backpropagation
A seguir é descrito o mecanismo interno do backpropagation. Para maiores
esclarecimentos matemáticos veja Apêndice I. A regraDelta Generalizada é um algoritmo de
aprendizado como segue na equação 3.6:
ij
ij
E
ω
ηω
∂
∂
−=∆ .
(3.6)
onde: wij representa o peso w da entrada xj;
∆wij é a variação incremental de um peso partícula;
56
i índice da entrada;
j índice do neurônio;
η é um coeficiente de aprendizado;
E é uma função de erro em relação ao peso que está sendo modificado.
Para conexões entre a camada escondida e a saída, o gradiente de descida é expresso
como:
)().()(.. syyysyE obtido
j
desejado
jjj −==∆ ηηω (3.7)
O erro de saída que causa a alteração dos pesos é a diferença entre o valor desejado e o
obtido. Como a função y(s) é geralmente sigmoidal (logística ou tangente hiperbólica), a sua
derivada é dado por:
)](1).[(
)(
sysy
ds
sdy
−=
(3.8)
A atualização do vetor w depende dos valores: yj
desejado
, das entradas e da saídayj
obtida
.
Este procedimento é ilustrado com o diagrama de blocos da figura 3.16, ondeG(s) é a função
de ativação.
Figura 3.16 – Diagrama de blocos da regra delta generalizada [45]
G(s)
ηη. yj
obtido
. (1 – yj
obtido
)
yj
obtido
yj
desejado
x (entrada)
∆∆ωω
X
-
+
57
A equação 3.9 descreve a relação entre o erro na saída e um peso que esteja no
caminho do fluxo de excitação. A variação das conexões entre a camada de entrada e a
escondida é dada por:
∑−
−=∆
n
k
k
saída
kjkkkij syEsysy
1
)(..)](1).[(. ωηω
(3.9)
Nas superfícies de ordem elevada, o gradiente de descida pode ser muito lento se o
coeficiente de aprendizado η for muito pequeno, e produz oscilações se for muito alto [6, 12,
84]. A adição de um termo de momento α pode melhorar bastante a implementação (ver
equação 3.10).
anteriorij
ij
ij
E
).(. ωα
ω
ηω ∆+
∂
∂
−=∆
(3.10)
A equação 3.7 é modificada para incluir o termo de momento α, que influência
diretamente na inércia do aprendizado.
3.5.2 Aprendizado Não-Supervisionado
Neste tipo de aprendizado não há um supervisor para acompanhar o processo de
aprendizagem. No algoritmo, somente os padrões de entrada estão disponíveis para a rede (ver
figura 3.17).
Figura 3.17 – Aprendizado não-supervisionado [12]
No aprendizado supervisionado é necessário um conjunto de treinamento que contenha
os pares de entrada e saída.
58
3.5.3 Aprendizado por Competição
Neste aprendizado, é dado um padrão de entrada e se faz com que as unidades de saída
disputem entre si para serem ativadas. Assim, há uma competição entre as unidades de saída
para decidir qual delas será a vencedora e que conseqüentemente, terá sua saída e seus pesos
atualizados no treinamento [12]. As unidades de entradas são diretamente conectadas às
unidades de saída, sendo que estas últimas também podem estar ligadas entre si via conexões
laterais inibitórias, ou negativas. A unidade de saída com maior ativação inicial, terá maior
chance de vencer a disputa entre outras unidades, onde, a unidade mais forte, fica ainda mais
forte e seu efeito inibidor sobre as outras unidades de saída torna-se dominante. Com o tempo,
todas as outras unidades de saída ficarão completamente inativas, exceto a vencedora [12, 25].
Um problema neste algoritmo é que uma unidade da saída pode se tornar dominante e
ficar ativa todo o tempo, podendo captar para si todo o espaço de entradas. A solução para tal
problema é limitar os pesos, ou seja, a soma dos pesos sobre as linhas de entrada de uma
unidade é limitada em1 [12]. Para aumentar o peso de uma conexão, é preciso diminuir o
peso de alguma outra, conforme descrito na equação 3.11:
j
j
j
wM
x
w
.
.
η
η
−
=∆
(3.11)
onde: j = 1, 2, ..., n;
wj é o peso da conexão da unidade de entrada j com a unidade ativa;
xj é o valor do j-ésimo bit de entrada;
M é o número de unidades de entrada ativas no vetor de entrada;
η é a taxa de aprendizado.
O aprendizado por competição é base dos modelos de ART (Adaptative Resonance
Theory) de Grossberg e dos mapas de Kohonen [12].
59
3.5.4 Aprendizado por Reforço
A principal diferença entre o aprendizado supervisionado clássico e o aprendizado por
reforço é a medida de desempenho usada em cada um dos sistemas [80]. No aprendizado
supervisionado, a medida de desempenho é baseada no conjunto de respostas desejadas
usando um critério de erro conhecido, enquanto que no aprendizado por reforço o
desempenho é baseado em qualquer medida que possa ser fornecida ao sistema [12, 80]. No
aprendizado por reforço, a única informação de realimentação fornecida à rede é se uma
determinada saída está correta ou não (ver figura 3.18).
Figura 3.18 – Aprendizado por reforço [12]
Exemplificando esse aprendizado, basta pensar na analogia do aprendizado de um
animal, em que, se ele faz algo correto, ele é recompensado. Se fizer algo incorreto, é punido.
Estes são os estímulos (recompensa ou punição) que servem como feedback para que a rede
neural aprenda.
3.6 Processo de Treinamento
O critério de parada define como a rede atinge uma aprendizagem aceitável do
conjunto de padrões de treinamento, este é avaliado a partir das respostas da rede em relação
às saídas desejadas.
60
Após a aprendizagem ser concluída, um outro conjunto de dados, o conjunto de teste,
contendo pares de vetores de entrada e saídas desejadas, deverá ser utilizado para testar a
eficiência da rede. Se o resultado do teste for insatisfatório, o conjunto de treinamento é
insuficiente. Logo, devem-se incluir novos exemplares no conjunto de treinamento e treinar
novamente a rede neural.
No treinamento de uma rede há uma concepção errônea relativa ao processo iterativo.
No caso do supertreinamento, deve-se treinar a rede para reduzir o erro, mas para isso é
necessário aumentar o conjunto de treinamento, a fim de aumentar seu desempenho [70].
Embora parcialmente verdadeira esta afirmação, o super ajustamento do conjunto de
treinamento pode levar a uma má generalização [50, 52, 70, 103]. A figura 3.19 mostra o erro
de uma rede neural para o conjunto de treinamento e para o conjunto de teste.
Figura 3.19 – Análise do supertreinamento [52]
O aumento do tamanho da camada escondida pode melhorar o desempenho da rede
para os dados de treinamento, porém podem prejudicar a precisão da rede para os novos
dados. Esse é um fenômeno de memorização, ou seja, a rede procura juntar grupos de dados
específicos para cada neurônio da camada escondida, perdendo no entanto a capacidade de
generalização. Deve-se sempre comparar o erro obtido, com os dados para treinamento, com
os novos dados, os quais devem ser da mesma ordem de grandeza [52, 50, 70, 103].
3.7 Projeto de uma Rede Neural
A figura 3.20 mostra um diagrama de blocos com as etapas necessárias para se treinar
e desenvolver uma rede neural.
61
Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural [85]
A topologia inicial da rede depende da experiência do projetista. Na prática é melhor
iniciar com um número pequeno de nós na camada escondida e gradualmente aumentar o
tamanho dessa camada através de tentativas e erro.
3.8 Conclusão
Neste capítulo foram apresentados a base biológica e artificial dos neurônios, e os
métodos de aprendizagem, que correspondem ao ajuste dos pesos das conexões sinápticas. Na
ausência de modelos matemáticos de processo, as redes neurais podem utilizar um histórico
de dados para se construir modelos preditivos, ou seja, um modelo que pode predizer as
reações do processo a novas condições.
As RNA’s constituem uma área emergente de estudos que tomou vulto de forma
explosiva, e que tem como base a realização de tarefa de alto nível mental em nível de
máquina, através de uma computação massivamente paralela através de neurônios artificiais.

Mais conteúdo relacionado

Mais procurados

INTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNAINTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNACarlos Cheth
 
Aula introducao-redes-neurais
Aula introducao-redes-neuraisAula introducao-redes-neurais
Aula introducao-redes-neuraisLeo Laurett
 
[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLPAhirton Lopes
 
Redes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e HopfieldRedes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e HopfieldLucas Sabadini
 
Apostila redes neurais
Apostila redes neuraisApostila redes neurais
Apostila redes neuraisBruno Souza
 
Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2Bruno Catão
 
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Ricardo Brasil
 
Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2Bruno Catão
 
Introdução à redes neurais artificiais
Introdução à redes neurais artificiaisIntrodução à redes neurais artificiais
Introdução à redes neurais artificiaisRobson Gomes
 
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagensRedes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagensGDGFoz
 
Classificação não supervisionada - Kohonen
Classificação não supervisionada - KohonenClassificação não supervisionada - Kohonen
Classificação não supervisionada - KohonenAndré Andrade
 
Banner sic 02
Banner sic 02Banner sic 02
Banner sic 02siridakis
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem VisualAhirton Lopes
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem VisualAhirton Lopes
 
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem VisualAhirton Lopes
 
Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais
Inteligência Computacional Unidade 02 – Redes Neuronais ArtificiaisInteligência Computacional Unidade 02 – Redes Neuronais Artificiais
Inteligência Computacional Unidade 02 – Redes Neuronais ArtificiaisLeonardo Goliatt
 

Mais procurados (20)

INTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNAINTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNA
 
Redes neurais
Redes neuraisRedes neurais
Redes neurais
 
Aula introducao-redes-neurais
Aula introducao-redes-neuraisAula introducao-redes-neurais
Aula introducao-redes-neurais
 
[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP
 
Redes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e HopfieldRedes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e Hopfield
 
Apostila redes neurais
Apostila redes neuraisApostila redes neurais
Apostila redes neurais
 
Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2
 
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
 
Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2
 
ArtigoFinal_v02
ArtigoFinal_v02ArtigoFinal_v02
ArtigoFinal_v02
 
Introdução à redes neurais artificiais
Introdução à redes neurais artificiaisIntrodução à redes neurais artificiais
Introdução à redes neurais artificiais
 
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagensRedes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
Redes Neurais de Aprendizado Profundo (DeepLearning) aplicadas a imagens
 
Classificação não supervisionada - Kohonen
Classificação não supervisionada - KohonenClassificação não supervisionada - Kohonen
Classificação não supervisionada - Kohonen
 
P910Aula05
P910Aula05P910Aula05
P910Aula05
 
Banner sic 02
Banner sic 02Banner sic 02
Banner sic 02
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
 
160277 redes neurais artificiais
160277 redes neurais artificiais160277 redes neurais artificiais
160277 redes neurais artificiais
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
 
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
 
Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais
Inteligência Computacional Unidade 02 – Redes Neuronais ArtificiaisInteligência Computacional Unidade 02 – Redes Neuronais Artificiais
Inteligência Computacional Unidade 02 – Redes Neuronais Artificiais
 

Semelhante a Fundamentos das Redes Neurais Artificiais

aula1-rede Neurais.pdf
aula1-rede Neurais.pdfaula1-rede Neurais.pdf
aula1-rede Neurais.pdfEvelynBarros10
 
Aplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturasAplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturasFamília Schmidt
 
1Generalidades - Cópia.pdf
1Generalidades - Cópia.pdf1Generalidades - Cópia.pdf
1Generalidades - Cópia.pdfDavidSalvador48
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRenato Ximenes
 
Apresentação Seminário sobre Conexionismo
Apresentação Seminário sobre ConexionismoApresentação Seminário sobre Conexionismo
Apresentação Seminário sobre ConexionismoYana Liss
 
Divulgacao cientifica fisica no cérebro
Divulgacao cientifica fisica no  cérebroDivulgacao cientifica fisica no  cérebro
Divulgacao cientifica fisica no cérebroDiego Aguiar
 
computação cognitiva: interface para a ciência da informação
computação cognitiva: interface para a ciência da informaçãocomputação cognitiva: interface para a ciência da informação
computação cognitiva: interface para a ciência da informaçãoPriscyla Patrício
 
Computadores de redes neurais
Computadores de redes neuraisComputadores de redes neurais
Computadores de redes neuraisSanclé Porchéra
 
A Eficiência da Computação Quântica
A Eficiência da Computação QuânticaA Eficiência da Computação Quântica
A Eficiência da Computação Quânticamwhost
 
Atividade 1 Fisiologia Humana.pdf
Atividade 1 Fisiologia Humana.pdfAtividade 1 Fisiologia Humana.pdf
Atividade 1 Fisiologia Humana.pdftajopev585
 
Redes_Neurais.ppt
Redes_Neurais.pptRedes_Neurais.ppt
Redes_Neurais.pptCsfe076280
 
Cibernética-Apresentação Grupo1
Cibernética-Apresentação Grupo1Cibernética-Apresentação Grupo1
Cibernética-Apresentação Grupo1Vinicius Sá
 
Relatório sistema nervoso
Relatório sistema nervoso Relatório sistema nervoso
Relatório sistema nervoso Victor Said
 

Semelhante a Fundamentos das Redes Neurais Artificiais (19)

aula1-rede Neurais.pdf
aula1-rede Neurais.pdfaula1-rede Neurais.pdf
aula1-rede Neurais.pdf
 
Aplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturasAplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturas
 
1Generalidades - Cópia.pdf
1Generalidades - Cópia.pdf1Generalidades - Cópia.pdf
1Generalidades - Cópia.pdf
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzy
 
Apresentação Seminário sobre Conexionismo
Apresentação Seminário sobre ConexionismoApresentação Seminário sobre Conexionismo
Apresentação Seminário sobre Conexionismo
 
Divulgacao cientifica fisica no cérebro
Divulgacao cientifica fisica no  cérebroDivulgacao cientifica fisica no  cérebro
Divulgacao cientifica fisica no cérebro
 
Fatores Humanos (IHC)
Fatores Humanos (IHC)Fatores Humanos (IHC)
Fatores Humanos (IHC)
 
computação cognitiva: interface para a ciência da informação
computação cognitiva: interface para a ciência da informaçãocomputação cognitiva: interface para a ciência da informação
computação cognitiva: interface para a ciência da informação
 
rn_1_int.pdf
rn_1_int.pdfrn_1_int.pdf
rn_1_int.pdf
 
Redes Neuronais
Redes NeuronaisRedes Neuronais
Redes Neuronais
 
Fatores Humanos no Projeto Multimídia
Fatores Humanos no Projeto MultimídiaFatores Humanos no Projeto Multimídia
Fatores Humanos no Projeto Multimídia
 
Computadores de redes neurais
Computadores de redes neuraisComputadores de redes neurais
Computadores de redes neurais
 
Sistema nervoso
Sistema nervosoSistema nervoso
Sistema nervoso
 
A Eficiência da Computação Quântica
A Eficiência da Computação QuânticaA Eficiência da Computação Quântica
A Eficiência da Computação Quântica
 
Atividade 1 Fisiologia Humana.pdf
Atividade 1 Fisiologia Humana.pdfAtividade 1 Fisiologia Humana.pdf
Atividade 1 Fisiologia Humana.pdf
 
Redes_Neurais.ppt
Redes_Neurais.pptRedes_Neurais.ppt
Redes_Neurais.ppt
 
Cibernética-Apresentação Grupo1
Cibernética-Apresentação Grupo1Cibernética-Apresentação Grupo1
Cibernética-Apresentação Grupo1
 
Tipologias de rede
Tipologias de redeTipologias de rede
Tipologias de rede
 
Relatório sistema nervoso
Relatório sistema nervoso Relatório sistema nervoso
Relatório sistema nervoso
 

Fundamentos das Redes Neurais Artificiais

  • 1. CAPÍTULO 3 REDES NEURAIS ARTIFICIAIS Neste capítulo são apresentados os fundamentos teóricos das redes neurais artificiais, descrevendo sua célula básica, sua arquitetura e os algoritmos de aprendizagem. 3.1 Introdução Este capítulo apresenta a fundamentação de conceitos para implementação de sistemas baseados em Redes Neurais Artificiais (RNA). A tecnologia de redes neurais busca uma similaridade entre o comportamento do neurônio biológico e um modelo de neurônio computacional. Assim, será possível a realização de tarefas tais como: a associação, categorização e percepção de traços marcantes realizados pelo homem [85]. As RNA's possuem outros nomes, como neurocomputação, processamento paralelo distribuído, sistemas neuro-mórficos, computadores biológicos ou neuro-computadores. O final da década de80 marcou o ressurgimento da área de RNA's, também conhecida como conexionismo ou sistemas de processamento paralelo e distribuído [12]. Esta forma de computação é caracterizada por sistemas que, em algum nível, relembram a estrutura das redes neurais do cérebro humano [85]. AsRNA's são implementadas em hardware e software, que imitam as habilidades computacionais do sistema nervoso biológico, usando um grande número de simples de neurônios artificiais interconectados. Os neurônios artificiais simulam os neurônios biológicos, os quais recebem informações de sensores ou de outros neurônios artificiais, produzindo operações simples sobre estes dados, e passam o resultado para outros neurônios artificiais [52]. As RN's funcionam através de seus neurônios artificiais, que processam seus dados usando: • Paralelismo lógico: para todos os neurônios da mesma camada; • Operações seriais: quando a informação de uma camada é transferida para neurônios de outra camada.
  • 2. 33 Existem três características principais que descrevem umaRN biológica, e a que contribuem para a sua habilidade funcional: • Topologia (arquitetura); • Dinâmica; • Aprendizado. As RN's estão sendo adotadas para uso em uma variedade de aplicações comerciais e militares que atinge desde o reconhecimento de padrões até otimização e seqüenciamento [6]. Realiza tarefas bem melhor que outras tecnologias mais convencionais (incluindo sistema especialistas). O campo de estudo mantém dependências interdisciplinares com as ciências cognitivas, a cibernética, a psicologia, a neuro-biologia, a matemática e a física. 3.2 As Redes Neurais O funcionamento da grande maioria dos computadores digitais em uso atualmente é baseado no princípio de centralizar todas as operações em um processador poderoso e complexo. Essa é a idéia básica da arquitetura Von Neumann, assim chamada, pois foi proposta por John Von Neumann, um dos pioneiros da computação, em 1947. O poder de tal processador pode ser medido em termos de sua velocidade e complexidade [52, 85] As redes neurais artificiais, diferentemente de computadores digitais convencionais, executam suas tarefas usando simultaneamente um grande número de processadores, ou seja, esses processadores operam em paralelo. A representação do conhecimento é distribuída pelas conexões e o aprendizado é feito alterando-se os valores associados com as conexões. Todavia, os métodos de aprendizagem ainda precisam ser programados e para cada problema específico um método de aprendizado apropriado deve ser escolhido. 3.2.1 Histórico das Redes Neurais Artificiais A história das redes neurais artificiais é relativamente recente. Conta com um pouco mais de meio século se considerarmos como pioneiros os trabalhos dos neuro-fisiologistas Donald Hebb e Karl Lashley, por volta de 1940, quando as primeiras simulações foram feitas com papel e lápis [12].
  • 3. 34 O primeiro modelo artificial de um neurônio biológico foi fruto do trabalho pioneiro do psiquiatra e neuro-anatomistaWarren McCulloch e Walter Pitts em 1943 [85]. O trabalho publicado em 1943, "A logical Calculus of the Ideas Immament in Nervous Activity", é apresentada uma discussão sofisticada das redes lógicas de neurônios e novas idéias sobre máquinas de estados finitos, elementos de decisão de limiar lineares e representações lógicas de várias formas comportamento e memória. Nos conceitos da cibernética, fez-se uma analogia entre células nervosas vivas e o processo eletrônico num trabalho publicado sobre os neurônios formais. O trabalho consistia num modelo de resistores variáveis e amplificadores representando conexões sinápticas de um neurônio. Parte da discussão emRNA´s gira em torno dos métodos de aprendizado para que neurônios possam ser capazes de executar uma determinada função. O trabalho mencionado anteriormente deMcCulloch e Pitts se concentra muito mais em descrever um modelo artificial de um neurônio e de apresentar as suas capacidades computacionais do que apresentar técnicas de aprendizado. Os fatos básicos percebidos por McCulloch e Pitts, que tornaram possível a modelagem matemática do neurônio [5, 6, 12 , 85], foram: • Neurônios comportam-se como "somadores algébricos"; • Adicionam entradas excitatórias; • Subtraem entradas inibitórias; • Neurônios possuem uma propriedade de "limiar", isto é, quando as entradas integradas excedem o limiar, disparam um sinal através do axônio; • Neurônios comportam-se analogicamente enquanto o axônio comportam-se de forma digital. Dessa forma, um tratamento discreto e binário utilizando o cálculo proposicional temporal poderia ser empregado para modelar neurônios biológicos. O neurônio foi definido como tendo dois estados: • Verdadeiro e falso do cálculo da lógica proposicional de ordem zero; • O zero e um da álgebra de booleana. O estado do neurônio é analisado a cada instante de tempo, onde o neurônio está disparado ou está inativo.
  • 4. 35 O primeiro mecanismo de aprendizagem foi iniciado porDonald Hebb, em 1949. Ele propôs uma regra de aprendizagem conhecida hoje como regra de aprendizagemHebbiana. Hebb demonstrou que a capacidade de aprendizagem emRN's pode ser conseguida através da variação dos pesos das conexões entre os neurônios. A regra de Hebb diz que, quando um estímulo de entrada influência na produção de estímulos de saída, o peso da conexão entre os neurônios deve ser incrementado. A regraHebbiana tem sido utilizada em vários algoritmos de aprendizagem de redes neurais artificiais. Mais tarde,Widrow e Hoff sugeriram uma regra de aprendizagem, conhecida com regra de Widrow-Hoff ou Regra Delta, que é ainda hoje bastante utilizada. Esta, por sua vez, é baseada no método do gradiente para minimização do erro na saída de um neurônio com resposta linear [6, 12, 85]. Os pesquisadores Widrow e Hoff desenvolveram o Adaline (Adaptive Linear Network Element) e o Madaline (Many Adaline) Perceptron como um dispositivo prático para resolver tarefas de reconhecimento de padrões. O Adaline/Madaline usou saídas analógicas em vez de binárias como originariamente proposto porMcCulloch e Pitts. Pela primeira vez, imitava o cérebro humano com processadores paralelos em vez de uma únicaCPU [52]. Em 1958, Frank Rosenblatt em seu livro "Principles of Neurodynomics", forneceu várias idéias a respeito do perceptrons (novo modelo), que são RN's de limiar baseado no modelo de Mc-Culloch e Pitts [52]. O perceptron mais simples descrito porRosenblatt possui três camadas: • A primeira recebe as entrada do exterior e possui conexões fixas; • A segunda recebe impulsos da primeira através de conexões, cuja eficiência de transmissão (pesos) é ajustável; • E por sua vez, envia saídas para a terceira camada (resposta). Uma das principais idéias deRosenblatt foi à elaboração da arquitetura back-coupled perceptron e o algoritmo "back-coupled error correction algorithm", que é capaz de adaptar os pesos de um conjunto de entradas de uma unidade de associação, de acordo com uma saída desejada. Tanto o algoritmo "back-couple error conection" quanto à regra delta de Widrow- Hoff são métodos de aprendizagem para redes perceptron de apenas uma camada de neurônios [52]. Em 1969, Marvin Minsky e Seymour Papert fizeram um estudo desses algoritmos e publicaram o livro Perceptrons [12]. Provaram formalmente que uma rede formada de uma única camada de neurônios, independente do algoritmo de aprendizagem, é capaz apenas de
  • 5. 36 resolver o problema de associação de padrões quando os conjuntos de pares de padrões são linearmente separáveis. Naquela época era sabido que redes perceptron com mais de uma camada de neurônios, chamadasMulti Layer Perceptrons (MLP) ou ainda redes feedforward, tinham o poder computacional de aprender padrões linearmente dependentes, contudo era desconhecido um algoritmo de aprendizagem que pudesse realizar tal associação. Em particular, demostraram que um perceptron é incapaz sequer de distinguir a letraT de um C. Estes resultados e observações feitas por Minsky e Papert foram devastadoras, e a abordagem conexionista ficou em segundo plano durante a década de70 até o início da década de 80 [6, 12, 85]. Em 1982 John Hopfield, físico e biólogo do Instituto de Tecnologia da Califórnia, deu um novo impulso ás RN's. Usando uma pesquisa baseada no sistema neurológico de uma lesma de jardim, que apresentou um sistema computacional neural composto de muitos elementos de processamento interconectados, que buscam atingir um estado de energia mínima (em repouso). O modelo do físico representa a operação a partir de um determinado nível de excitação (limiar), mostrando que a memória do sistema é armazenada na interconexões entre as unidades neurais [52]. A importância das redes perceptron na resolução do problema de associação de padrões para um conjunto de padrões não linear foi praticamente eliminada porRumelhart, Hinton e Willians [6, 12, 25, 52, 85]. A solução encontrada foi a Regra Delta Generalizada, mais conhecida como algoritmo deCorreção de Erros Backpropagation, em 1986, para redes perceptron de multicamadas de neurônios com entradas e saídas analógicas. As funções de ativação foram substituídas por funções contínuas sigmóides. Um resultado similar já havia sido encontrado independentemente por Parker, em 1982, o qual foi chamado de "The Learning Logic", porém sem repercussão na época [52, 85]. 3.2.2 Fundamentos Biológicos Sabe-se que o cérebro humano contém em torno de 1011 neurônios aproximadamente [85]. O neurônio possui um corpo e diversas ramificações, cujas as funções são: • Recebe informações, ou impulsos nervosos, oriundos de outros neurônios, para conduzi-los até o corpo celular;
  • 6. 37 • No corpo celular a informação é processada e novos impulsos são gerados. Estes impulsos são transmitidos a outros neurônios; • A transmissão é feita através de um ponto chamado axon hillock (filamento axônico), onde surge um filamento comprido que é o axônio. Este entra em contato com os dentritos dos neurônios seguintes. O ponto de contato entre a terminação axônica de um neurônio e o dendrito de outro é chamado de sinapse. As sinapses liberadas pelos neurônios representam a funcionalidade das RN's. As sinapses funcionam como válvulas, sendo capazes de controlar a transmissão de impulsos. Isto é, o fluxo da informação entre neurônios na rede neural (ver figura 3.1). O efeito das sinapses é variável, e é esta variação que dá ao neurônio a capacidade de adaptação. Um neurônio é possível estar conectado a outros neurônios e gerar até 10.000 sinapses, ou seja, até 10.000 conexões com neurônios adjacentes [12]. Figura 3.1 – Componente do neurônio biológico [12] O axônio pode transmitir impulso elétrico em ambas as direções, onde o fluxo de informação vai ao sentido dos dentritos para o axônio, onde há um impulso elétrico no lado do axon hillock. Em condições normais, se uma corrente elétrica é aplicada em ponto do axônio, o seu potencial irá decair exponencialmente á medida que a corrente é propagada através do axônio. Há uma diferença de potencial entre o interior e o exterior do neurônio, ocasionada pela diferença entre a concentração depotássio (interna á célula) esódio (externa á célula). A concentração de íons de potássio dentro da célula cria um potencial elétrico de -70 mV (potencial de repouso) em relação ao exterior. Para a que a célula dispare, produzindo um
  • 7. 38 potencial de ação (impulso nervoso), é preciso que os impulsos das sinapses reduzam este nível em cerca de-50 mV (ver figura 3.2). Figura 3.2 – Potencial de ação em um neurônio [12] Quando as entradas chegam ao corpo da célula, ocorre um processo de integração (soma) dos estímulos de entrada, e como resultado pode ser gerado um impulso elétrico que começa no axon hillock e se propaga até os terminais do axônio. O processo de controle da produção do impulso elétrico é normalmente aceito como uma função de limiar que produz uma saída, caso a soma das entradas seja maior ou igual a um dado limiar. 3.2.3 Características de uma Rede Neural Existem três características principais que descrevem umaRN biológica, e a que contribuem para a sua habilidade funcional: a) Topologia do Sistema Neural: Os princípios importantes que podem ser encontrados subjacentes à organização estrutural das áreas diferentes do cérebro: • Camadas de elementos de processamento; • Colunas de elementos de processamento; • Especialização do tecido neural em sistemas específicos e não específicos.
  • 8. 39 Interfaces sensoras captam informações do mundo para o cérebro. Os dados são passados através de níveis múltiplos do sistema nervoso, ou camadas de neurônios. Através desta transferência de níveis do funcionamento cerebral ocorre a abstração, conceitualização e detecção de característica. Por exemplo, o sistema nervoso pode detectar características específicas, todavia este também espalha informação ambígua. Estas sensações não podem ser entendidas enquanto não forem processadas por muitas camadas nas várias áreas do cérebro. b) Dinâmica do Sistema Neural: Diversos processos dinâmicos que ocorrem no sistema neural biológico são integralmente ligados às estruturas destes sistemas: • Representação distribuída de informação; • Codificação temporal da informação; • Regra de inibição; • Processamento feedforward e feedback. A informação que é acessada por vários sensores biológicos é distribuída para neurônios múltiplos. Essa informação é processada por uma parte do cérebro e enviada para outra área do cérebro. Esta nova área processa e passa de volta a informação para a locação original ou através locações intermediárias. c) Aprendizado no Sistema Neural: A habilidade do sistema neural biológico de aprender adaptativamente em resposta à experiência e ao ambiente é um dos mais notáveis aspectos deste sistema. Existem alguns aspectos associados com tal aprendizado: • Aprendizado sobrepõe conexões rígidas; • Conceitualização.
  • 9. 40 O cérebro é adaptativo no início da vida, contudo desenvolve uma fixação ou inflexibilidade com a maturação. Apesar de uma relativa inflexibilidade, na fase adulta, existe uma habilidade contínua do cérebro em adaptar-se e aprender novas coisas. 3.3 Princípios da Neurocomputação Apesar de uma rede neural ser simulada e executada em um computador seqüencial, a rede está muito mais para o funcionamento cerebral do que para um computador. A RNA é algoritmo computacional, onde a camada de entrada recebe um conjunto de dados (previamente selecionados e conhecido), cujas sucessivas repetições faz com que um critério de convergência ou parada ocorra. Assim, a rede é treinada e os parâmetros são ajustados e definidos nas camadas intermediárias e de saída (ver figura 3.4). Com isto, diz-se que a RNA aprendeu a reconhecer de modo generalizado um conjunto para o qual é previamente treinada. Figura 3.3 – Modelo neural [85] Se uma rede aprende, ela deve reproduzir algum conhecimento. O seu conhecimento não está localizado em um endereço e, dessa forma, a rede não separa memória de dados armazenados. O conhecimento armazenado está distribuído por toda a rede, da mesma forma que não se pode dissecar um cérebro para extrair conhecimento. O programa implementado está previamente condicionado para tal atividade, não fará outra coisa senão a estabelecida, ou seja, a atividade treinada.
  • 10. 41 Ao se escrever um programa para realizar uma ação diante de um fato, tem-se que prever todas as situações possíveis para associar as ações pertinentes a cada ação. Porém, como todos sabem, existem certos casos que simplesmente não é possível prever exatamente todos os fatos, a começar pela quantidade de situações diferentes que possam vir a ocorrer, dependendo do problema. Dessa forma, quando acontece uma dessas situações inesperadas, o programa de computador tomaria uma atitude imprevista, ou não tomaria atitude nenhuma, pois não saberia o que fazer. A culpa não é do programa, pois não é programado para reagir diante de situações que ainda não lhe foram apresentado, e muito menos do computador [12]. O cérebro não pensa assim, pois, baseado no conhecimento sinapticamente acumulado, tomará alguma ação perante a nova situação, ponderando pelo julgamento dos elementos que aprendeu. O cérebro humano consome de 20 a 25% da energia corporal e possui um total de 10 bilhões de neurônios, sendo que cada um faz entre mil e dez mil conexões com os neurônios adjacentes [85].O aprendizado sináptico é paralelo, que o torna flexível, rápido e eficaz. Um comparativo entre o cérebro e o computador, resulta, no quadro a seguir, os seguintes valores (ver tabela 3.1): Tabela 3.1 – Comparativo entre o cérebro humano e o computador [85] Parâmetro Cérebro Computador Material Orgânico Metal e plástico Velocidade Milisegundo Nanosegundo Tipo de Processamento Paralelo Seqüencial Armazenamento Adaptativo Estático Controle de Processos Distribuído Centralizado Número de elementos processados 1011 a 1014 105 a 106 Ligações entre elementos processados 10.000 <10 Dentro deste contexto, o estudo e a definição das RNA's teve origem nos fundamentos do cérebro humano e de suas conexões sinápticas.
  • 11. 42 3.4 Estruturas e Dinâmicas das Redes Neurais Artificiais O modelo de neurônio proposto por McCulloch e Pitts (MCP - neurônio artificial) é uma simplificação do que se sabia a respeito do neurônio biológico naquela época [98]. A sua descrição matemática resultou em um modelo (ver tabela 3.2), o comparativo entre um neurônio artificial e biológico. Tabela 3.2 – Comparação entre o neurônio biológico e artificial Parâmetros Neurônio Biológico Neurônio Artificial Modelo Entrada Dentritos x1, x2, x3,..., xn Saida Axônio y Pesos Comportamento das sinapses w1, w2, w3,..., wn Efeito da uma sinapse Neurônio pós-sináptico ∑= = n i ii wxs 1 . O neurônio recebe um conjunto de sinais de entrada de outros neurônios. Então, é computada a média ponderada entre os sinais de entrada e os pesos da conexões (cujos valores podem ser positivos ou negativos, dependendo das sinapses correspondentes serem inibitórias ou excitatórias). O resultado disto é aplicado à função de ativação, também chamada de função de transferência. O resultado final é chamado deativação do neurônio. Normalmente, existe um valor de s que, quando atingido, ocasiona um disparo súbito ocasionando pela função de ativação, seja ela contínua ou não. Este é chamado de valor limiar e é representado por L. Considerando a função de ativação do perceptron, o modelo matemático do processamento é governado pelas equações 3.1:
  • 12. 43 ∑= = n i ii wxs 1 . e    − == 1 1 )(sfy se se Ls Ls 〈 ≥ (3.1) onde: n é o número de entradas no neurônio; wi é peso associado à entrada xi; s é o limiar do neurônio. A operação de um neurônio artificial com suas conexões é inspirada no modelo biológico, como mostrado a seguir na figura 3.4: Figura 3.4 – Modelo do neurônio artificial [52] Os modos em que neurônios artificiais diferem um do outro, e que pode ser modificados para nova performance incluem: mudança da função de transferência e adição, novos parâmetros ou funções para a rede (tais como viés, ganho e limiares adaptativos). Já os aspectos que diferem as redes neurais são as conexões dos números de camadas e tipo de treinamento. Entre os modelos já publicados em revistas especializadas, encontram-se, como clássicos, os modelos: Backpropagation, Kohonen, Perceptron, Boltzman e outros [52]. O modelo de MCP apresenta algumas limitações como: • Redes MCP com apenas uma camada só conseguem implementar funções linearmente separáveis; • Pesos negativos são mais adequados para representar disparos inibidores; • O modelo foi proposto com pesos fixos, não ajustáveis.
  • 13. 44 O viés (bias) é uma entrada adicional que pode ser acrescentada ao neurônio artificial, não proveniente de nenhum outro neurônio, e de valor de entrada fixado em+1. Seu peso de conexão w0 é ajustável pelo aprendizado como qualquer outro peso da conexão. Toma-se como exemplo o perceptron, onde pode-se escrever as equações 3.2 e a figura 3.5: ∑= += n i ii wwxs 1 0. e    − == 1 1 )(sfy se se 0 0 〈 ≥ s s (3.2) Figura 3.5 – Modelo do neurônio artificial com entrada de viés [85] Embora o viés inexista biologicamente, seu uso nos modelos artificiais provê meios de transladar o valor limiar da função transferência. 3.4.1 Sinais de Entrada e Saída O neurônio possui, a princípio, um ou mais sinais de entrada e um de saída. As entradas de neurônio artificial podem ser comparadas como estímulos para o neurônio natural. Todos esses estímulos são enviados até o neurônio simultaneamente, ou seja, se um neurônio possui cinco entradas, os sinais das cinco entradas devem chegar até o núcleo de processamento ao mesmo tempo, isto quer dizer, paralelamente (ver figura 3.6).
  • 14. 45 Figura 3.6 – Neurônio com n entradas e pesos definidos [85] O processamento paralelo em computadores seqüenciais pode ser paradoxal. A simulação de um ambiente paralelo é possível, e é desta forma que ocorre esse tipo de processamento nas RN. O modelo matemático simula o paralelismo da rede neural através de um algoritmo e os pesos (wn) da rede são ajustados por uma rotina de treinamento. 3.4.2 Pesos Os pesos, representados por w são valores que apresentam o grau de importância que determinada entrada possui em relação àquele neurônio. Quando uma entrada é bastante estimulada, acaba estimulando, também, o peso correspondente à sua conexão. Os pesos podem ser vistos, matematicamente, como um vetor de valores (w1, w2, w3,..., wn). Havendo mais um neurônio na rede, pode-se então ter uma coleção de vetores, ou seja, uma matriz de pesos, onde cada vetor, corresponde a um neurônio. O sinal de excitação no neurônio é a soma das multiplicações entre as entradas(x1, x2, x3,..., xn) e os pesos. As entradas multiplicadas pelos pesos, recebem, depois desta operação, o nome de entradas ponderadas. A função do neurônio é, depois de acumulado o valor somado dos produtos ocorridos entre as entradas e os pesos comparar esse valor com o limiar. Atingindo-o, o valor é então passado adiante através da saída. A esse processo chama-se de função de transferência. Caso contrário, se o valor não atinge o limiar, o sinal não é transferido adiante.
  • 15. 46 3.4.3 Função de Ativação e Transferência A função de ativação antecede a de transferência, e tem por atribuição repassar o sinal para a saída do neurônio. A função de ativação é uma função de ordem interna, cuja atribuição é fazer acontecer um nível de ativação dentro do próprio neurônio, ou seja, é uma decisão tomada pelo neurônio sobre o que fazer com o valor resultante do somatório das entradas ponderadas [85]. Veja a seguir um neurônio na figura 3.7. Figura 3.7 – Um neurônio com as funções de ativação e transferência [85] Em modelos simples de redes neurais, a função de ativação pode ser a própria função de soma das entradas ponderadas do neurônio. Em modelos mais complexos, a função de ativação possui um processamento atribuído. Após o valor ter sido processado pela função de ativação, é então passado para função de transferência, que produzirá o valor da saída do neurônio [85]. A função de transferência pode ter muitas formas e métodos, podendo ser simples ou complexa. A função de transferência é conhecida como limiar lógico. Essa função é quem envia para fora do neurônio o valor passado pela função de ativação [52]. As funções de transferência(y) mais conhecidas são apresentadas na figura 3.8.
  • 16. 47 Figura 3.8 – Funções de transferência mais empregadas [103] Algumas são especificadas como: • Degrau e rampa: possuem decisões ríspidas, principalmente para valores extremos. Essas funções refletem a saída dentro de uma faixa (digamos entre0 e 1). Isto quer dizer que , ultrapassado um certo limite, a função dispara o valor0 ou 1, ou -1, dependendo da função e da forma que será utilizada. • Sigmóide: caracterizam-se pelo seu formato em letraS alongada, são contínuas e monotonicamente crescentes, limitadas por duas assíntotas horizontais. Possuem a vantagem adicional de fornecer uma forma para controle automático de ganho. À medida que a magnitude cresce, o ganho decresce. Deste modo, sinais de grande amplitude podem ser acomodados pela rede sem uma saturação abrupta, enquanto sinais baixos passam sem excessiva atenuação. As funções sigmoidais são empregadas com sucesso como funções de transferências, porque apresentam a propriedade de ser derivável em todos os pontos [25]. Esta característica é importante para a lei de aprendizagembackpropagation (ver item 3.5.1.2 ou Apêndice I), que requer cálculo do gradiente do vetor do erro. Conforme será visto oportunamente, as trocas nos pesos das conexões são proporcionais à derivada de ativação. Para as funções
  • 17. 48 sigmoidais, o argumento soma das entradas ponderadas de alta magnitude significa derivadas de baixa magnitude, e assim as trocas nos pesos das conexões durante a aprendizagem serão menores; já um argumento de baixa magnitude para a função representa uma derivada de magnitude maior e, conseqüentemente, uma maior quantidade de trocas nos pesos. 3.4.4 Camadas Escondidas Algumas vezes a saída do neurônio é conduzida para outros neurônios, em vez de ser conduzida como resposta final, ou seja, os sinais da saída vão para uma próxima camada, chamadas também de intermediárias ou ocultas. Essas camadas intermediárias se situam entre a camada de entrada e a camada de saída da rede neural (ver figura 3.9). Figura 3.9 – Redes exemplificando camadas escondidas ou ocultas [85] Essas camadas são compostas por neurônios que possuem exatamente a mesma estrutura que os neurônios da camada de saída. Não existe uma regra que define o número de camadas escondidas. 3.4.5 Arquiteturas das Redes Neurais Artificiais As conexões entre as camadas podem gerar diferentes estruturas. Cada conexão visa tornar o sinal de saída em um sinal de entrada, tanto para um outro neurônio, quanto para o mesmo que o gerou. Fazem parte da definição da arquitetura os seguintes parâmetros: a) Número de Camadas da Rede Alguns exemplos de arquiteturas deRNA´s quanto ao número de camadas:
  • 18. 49 •Redes de camada única: só existe um nó entre qualquer entrada e qualquer saída da rede, ver exemplos na figura 3.10. (a) (b) Figura 3.10 – Redes de camada única [12] •Redes de múltiplas camadas: existe mais de um neurônio entre alguma entrada e alguma saída da rede (ver figura 3.11). (a) (b) (c) Figura 3.11 – Redes de múltiplas camadas [12] O número de neurônios da camada escondida é livre, não obedece nenhuma regra específica. b) Redes Multi-Layer Perceptron (MLP) As redes de uma só camada resolvem apenas problemas linearmente separáveis [12]. A solução de problemas não linearmente separáveis passa pelo uso das redes com uma ou mais camadas ocultas. Segundo Cybenko, uma rede com uma camada intermediária pode implementar qualquer função contínua [45, 98]. A utilização de duas camadas intermediárias permite a aproximação de qualquer função.
  • 19. 50 Porém, o problema passa a ser então como treinar estas redes, ou qual a definição do erro dos neurônios das camadas intermediárias. Para treinar as redes com mais de uma camada foi proposto um método que se baseia em gradiente descendente (backpropagation) [6, 12, 70]. Afim de que este método possa ser utilizado, a função de ativação precisa ser contínua, diferenciável e, de preferência, não decrescente. A função de ativação deve informar os erros cometidos pela rede para as camadas anteriores com a maior precisão possível. A alternativa utilizada para superar os problemas acima citados foi a utilização de funções de ativação do tipo sigmoidal (logística e tangente hiperbólica). O treinamento é supervisionado, e suas principais aplicações são: classificação de padrões, predição e interpolação. Com relação ao número de neurônios nas camadas intermediárias, este é geralmente definido empiricamente. Este número depende fortemente da distribuição dos padrões de treinamento e validação de rede. O número adequado de neurônios na camada oculta depende de vários fatores, como: • Número de exemplos de treinamento; • Quantidade de ruído presente nos exemplos; • Complexidade da função a ser aprendida; • Distribuição estatística dos dados de treinamentos. O número de unidades intermediárias pode também crescer exponencialmente com o número de entradas. A solução neural mais eficiente é aquele onde o número de unidades cresce apenas polinomialmente com o aumento do número de unidades de entradas [52]. c) Conexões dos Neurônios Alguns exemplos de arquiteturas deRNA´s quanto ao tipo de conexões dos nodos. • Feedforward ou acíclica: a saída de um neurônio na i-ésima camada da rede não pode ser usada como entrada de neurônios em camadas de índice menor ou igual a i. Nesta rede não existe uma medida de estabilidade de rede, devido à simplicidade de fluir as informações entre as camadas (ver figuras 3.10 (a) e (b), e 3.11 (a)).
  • 20. 51 • Feedback ou cíclica: as saídas de algum neurônio i-ésima camada da rede é usada como entrada de neurônios em camadas de índice menor ou igual ai (ver figura 3.11 (b) e (e), e 3.12).O sinal pode ser usado tanto para excitar a camada inteira como também para excitar apenas um neurônio em particular, ou até mesmo, o próprio neurônio, que realizou o disparo. Figura 3.12 – Redes feedback [85] Enfim, a arquitetura da rede neural é livre, pode ser modificada conforme critério ou necessidade do projetista. 3.5 Aprendizado das Redes Neurais Artificiais Um conjunto de procedimentos bem definidos para adaptar os parâmetros de umaRNA para que a mesma possa aprender uma determinada função é chamado de algoritmo de aprendizado. Como era de se esperar, não há único algoritmo de aprendizado. O que se tem é um conjunto de ferramentas representadas por diversos algoritmos, cada qual com suas vantagens e desvantagens. Estes algoritmos basicamente diferem pela maneira de como o ajuste dos pesos é feito. A etapa de aprendizado consiste em um processo iterativo de ajuste de parâmetros da rede, os pesos das conexões entre as unidades de processamento, que guardam, ao final do processo, o conhecimento que a rede adquiriu do ambiente em que está operando. Diversos métodos para treinamento de redes foram desenvolvidos, podendo estes serem agrupados em dois paradigmas principais: aprendizado supervisionado e não- supervisionado [12, 85]. Outros dois paradigmas bastante conhecidos são os de aprendizado por reforço (caso particular de aprendizado supervisionado) e aprendizado por competição (caso particular de aprendizado não supervisionado).
  • 21. 52 3.5.1 Aprendizado Supervisionado Este método de aprendizado é o mais comum no treinamento das RNA’s, tanto de neurônios com pesos, como os sem pesos, sendo chamado de aprendizado supervisionado. Porque a entrada e a saída desejadas para a rede são fornecidas por um supervisor externo (ver figura 3.13). O objetivo é ajustar os parâmetros da rede, de forma a encontrar uma ligação entre os pares de entrada e saída fornecidos. Figura 3.13 – Aprendizado supervisionado [12] A rede tem sua saída calculada e comparada com a saída, recebendo informações do supervisor sobre o erro da resposta atual. A cada padrão de entrada submetido à rede, compara-se a resposta desejada com a resposta calculada, ajustando-se os pesos das conexões para minimizar o erro existente. A desvantagens do aprendizado supervisionado é que, na ausência do professor, a rede não conseguirá aprender novas estratégias para situações não cobertas pelos exemplos do treinamento da rede. Os exemplos mais conhecidos de algoritmos para aprendizado supervisionado são a regra delta e a sua generalização para redes de múltiplas camadas, o algoritmo backpropagation.
  • 22. 53 a) Regra Delta Procura minimizar a diferença entre a soma ponderada das entradas pelo pesos (saída calculada pela rede) e a saída desejada, ou seja, o erro da resposta atual da rede. O termoe(t) do erro deve ser escrito pela equação (3.3): )()()( tytdte −= (3.3) onde: d(t) é a saída desejada; y(t) resposta atual no instantet. A forma genérica para alteração dos pesos pela regra delta é dada pela equação 3.4: )().(.)()1( txtetwtw iii η+=+ (3.4) onde: wi(t+1) é o novo valor do peso; wi(t) é o valor velho do pesos; i índice da entrada; η constante de aprendizado; e(t) erro; xi(t) é a entrada para o neurônio no instantet. A cada novo padrão apresentado à rede o peso é atualizado. A constante de aprendizado η controla a estabilidade e velocidade de convergência. Uma faixa prática para sua escolha é 0.1 ≤ η ≤ 1. b) Algoritmo Backpropagation O algoritmo backpropagation é utilizado no treinamento de redesMLP, esse algoritmo foi importante no ressurgimento de interesse emRNA´s, por ocasião da publicação do livro “Parallel Distributed Processing”, mais conhecido como PDP, em 1986 [52]. O backpropagation é baseado na regra delta proposta por Widrow e Hoff, assim sendo chamada
  • 23. 54 de regra delta generalizada [85]. Os ajustes dos pesos são realizados utilizando o método do gradiente [82]. As redes feedforward com algoritmos de aprendizado tipo backpropagation se tornaram muito populares, devido à capacidade de resolver a maioria dos problemas de reconhecimentos de padrões, além da utilização em aplicações de sistema de controles [6]. Esse algoritmo é supervisionado e utilizam pares (entrada, saída desejada) para, através de um mecanismo de correção de erros, ajustar os pesos da rede. O treinamento ocorre em duas fases, onde cada fase percorre a rede em um sentido. Estas duas fases são chamadas de forward e backforward (ver figura 3.14). Figura 3.14 – Fluxo de processamento do algoritmo com as fases forward e backward [88] A fase forward é utilizada para definir a saída da rede para um dado padrão de entrada, já a fase backward utiliza a saída desejada e a saída fornecida pela rede para atualizar os pesos de suas conexões. • Descrição Qualitativa do Backpropagation O backpropagation é um algoritmo de aprendizado [98]. Uma rede neural com uma topologia feedforward, usando este algoritmo para treinamento, tem uma camada de entrada, pelo menos uma camada escondida, e uma camada de saída. Uma redeopera em dois passos durante o treinamento. Inicialmente, um padrão de entrada é apresentado à camada de entrada da rede. Há fluxo de atividade, devido as excitações dos neurônios através da rede, desde a camada de entrada até que a saída seja gerada. Então, o segundo passo é calcular o erro entre esse padrão de saída e o padrão esperado; esse erro é passado da camada de saída, para trás, com os pesos das conexões sendo alterados, conforme o erro se propaga para trás [5, 70, 82].
  • 24. 55 Um neurônio típico tem diversas entradas (xj), cada uma das quais é multiplicada pelos correspondentes pesos (wi), como mostrado na figura 3.15 e a equação 3.5. Figura 3.15 – Estrutura de um elemento neurônio [85] ∑= = n i ii xws 1 . (3.5) Esse sinal passa através da função de ativação que é tipicamente não-linear, como uma função sigmoidal. No backpropagation, o treinamento da rede neural tem por objetivo estimar o erro, ou seja, a diferença entre os valores obtidos e os reais para um determinado estimulo na entrada. A redução deste erro é através da alteração dos pesos atribuídos ao caminho do fluxo desse estimulo nas diversas camadas da rede. • Descrição Analítica do Backpropagation A seguir é descrito o mecanismo interno do backpropagation. Para maiores esclarecimentos matemáticos veja Apêndice I. A regraDelta Generalizada é um algoritmo de aprendizado como segue na equação 3.6: ij ij E ω ηω ∂ ∂ −=∆ . (3.6) onde: wij representa o peso w da entrada xj; ∆wij é a variação incremental de um peso partícula;
  • 25. 56 i índice da entrada; j índice do neurônio; η é um coeficiente de aprendizado; E é uma função de erro em relação ao peso que está sendo modificado. Para conexões entre a camada escondida e a saída, o gradiente de descida é expresso como: )().()(.. syyysyE obtido j desejado jjj −==∆ ηηω (3.7) O erro de saída que causa a alteração dos pesos é a diferença entre o valor desejado e o obtido. Como a função y(s) é geralmente sigmoidal (logística ou tangente hiperbólica), a sua derivada é dado por: )](1).[( )( sysy ds sdy −= (3.8) A atualização do vetor w depende dos valores: yj desejado , das entradas e da saídayj obtida . Este procedimento é ilustrado com o diagrama de blocos da figura 3.16, ondeG(s) é a função de ativação. Figura 3.16 – Diagrama de blocos da regra delta generalizada [45] G(s) ηη. yj obtido . (1 – yj obtido ) yj obtido yj desejado x (entrada) ∆∆ωω X - +
  • 26. 57 A equação 3.9 descreve a relação entre o erro na saída e um peso que esteja no caminho do fluxo de excitação. A variação das conexões entre a camada de entrada e a escondida é dada por: ∑− −=∆ n k k saída kjkkkij syEsysy 1 )(..)](1).[(. ωηω (3.9) Nas superfícies de ordem elevada, o gradiente de descida pode ser muito lento se o coeficiente de aprendizado η for muito pequeno, e produz oscilações se for muito alto [6, 12, 84]. A adição de um termo de momento α pode melhorar bastante a implementação (ver equação 3.10). anteriorij ij ij E ).(. ωα ω ηω ∆+ ∂ ∂ −=∆ (3.10) A equação 3.7 é modificada para incluir o termo de momento α, que influência diretamente na inércia do aprendizado. 3.5.2 Aprendizado Não-Supervisionado Neste tipo de aprendizado não há um supervisor para acompanhar o processo de aprendizagem. No algoritmo, somente os padrões de entrada estão disponíveis para a rede (ver figura 3.17). Figura 3.17 – Aprendizado não-supervisionado [12] No aprendizado supervisionado é necessário um conjunto de treinamento que contenha os pares de entrada e saída.
  • 27. 58 3.5.3 Aprendizado por Competição Neste aprendizado, é dado um padrão de entrada e se faz com que as unidades de saída disputem entre si para serem ativadas. Assim, há uma competição entre as unidades de saída para decidir qual delas será a vencedora e que conseqüentemente, terá sua saída e seus pesos atualizados no treinamento [12]. As unidades de entradas são diretamente conectadas às unidades de saída, sendo que estas últimas também podem estar ligadas entre si via conexões laterais inibitórias, ou negativas. A unidade de saída com maior ativação inicial, terá maior chance de vencer a disputa entre outras unidades, onde, a unidade mais forte, fica ainda mais forte e seu efeito inibidor sobre as outras unidades de saída torna-se dominante. Com o tempo, todas as outras unidades de saída ficarão completamente inativas, exceto a vencedora [12, 25]. Um problema neste algoritmo é que uma unidade da saída pode se tornar dominante e ficar ativa todo o tempo, podendo captar para si todo o espaço de entradas. A solução para tal problema é limitar os pesos, ou seja, a soma dos pesos sobre as linhas de entrada de uma unidade é limitada em1 [12]. Para aumentar o peso de uma conexão, é preciso diminuir o peso de alguma outra, conforme descrito na equação 3.11: j j j wM x w . . η η − =∆ (3.11) onde: j = 1, 2, ..., n; wj é o peso da conexão da unidade de entrada j com a unidade ativa; xj é o valor do j-ésimo bit de entrada; M é o número de unidades de entrada ativas no vetor de entrada; η é a taxa de aprendizado. O aprendizado por competição é base dos modelos de ART (Adaptative Resonance Theory) de Grossberg e dos mapas de Kohonen [12].
  • 28. 59 3.5.4 Aprendizado por Reforço A principal diferença entre o aprendizado supervisionado clássico e o aprendizado por reforço é a medida de desempenho usada em cada um dos sistemas [80]. No aprendizado supervisionado, a medida de desempenho é baseada no conjunto de respostas desejadas usando um critério de erro conhecido, enquanto que no aprendizado por reforço o desempenho é baseado em qualquer medida que possa ser fornecida ao sistema [12, 80]. No aprendizado por reforço, a única informação de realimentação fornecida à rede é se uma determinada saída está correta ou não (ver figura 3.18). Figura 3.18 – Aprendizado por reforço [12] Exemplificando esse aprendizado, basta pensar na analogia do aprendizado de um animal, em que, se ele faz algo correto, ele é recompensado. Se fizer algo incorreto, é punido. Estes são os estímulos (recompensa ou punição) que servem como feedback para que a rede neural aprenda. 3.6 Processo de Treinamento O critério de parada define como a rede atinge uma aprendizagem aceitável do conjunto de padrões de treinamento, este é avaliado a partir das respostas da rede em relação às saídas desejadas.
  • 29. 60 Após a aprendizagem ser concluída, um outro conjunto de dados, o conjunto de teste, contendo pares de vetores de entrada e saídas desejadas, deverá ser utilizado para testar a eficiência da rede. Se o resultado do teste for insatisfatório, o conjunto de treinamento é insuficiente. Logo, devem-se incluir novos exemplares no conjunto de treinamento e treinar novamente a rede neural. No treinamento de uma rede há uma concepção errônea relativa ao processo iterativo. No caso do supertreinamento, deve-se treinar a rede para reduzir o erro, mas para isso é necessário aumentar o conjunto de treinamento, a fim de aumentar seu desempenho [70]. Embora parcialmente verdadeira esta afirmação, o super ajustamento do conjunto de treinamento pode levar a uma má generalização [50, 52, 70, 103]. A figura 3.19 mostra o erro de uma rede neural para o conjunto de treinamento e para o conjunto de teste. Figura 3.19 – Análise do supertreinamento [52] O aumento do tamanho da camada escondida pode melhorar o desempenho da rede para os dados de treinamento, porém podem prejudicar a precisão da rede para os novos dados. Esse é um fenômeno de memorização, ou seja, a rede procura juntar grupos de dados específicos para cada neurônio da camada escondida, perdendo no entanto a capacidade de generalização. Deve-se sempre comparar o erro obtido, com os dados para treinamento, com os novos dados, os quais devem ser da mesma ordem de grandeza [52, 50, 70, 103]. 3.7 Projeto de uma Rede Neural A figura 3.20 mostra um diagrama de blocos com as etapas necessárias para se treinar e desenvolver uma rede neural.
  • 30. 61 Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural [85] A topologia inicial da rede depende da experiência do projetista. Na prática é melhor iniciar com um número pequeno de nós na camada escondida e gradualmente aumentar o tamanho dessa camada através de tentativas e erro. 3.8 Conclusão Neste capítulo foram apresentados a base biológica e artificial dos neurônios, e os métodos de aprendizagem, que correspondem ao ajuste dos pesos das conexões sinápticas. Na ausência de modelos matemáticos de processo, as redes neurais podem utilizar um histórico de dados para se construir modelos preditivos, ou seja, um modelo que pode predizer as reações do processo a novas condições. As RNA’s constituem uma área emergente de estudos que tomou vulto de forma explosiva, e que tem como base a realização de tarefa de alto nível mental em nível de máquina, através de uma computação massivamente paralela através de neurônios artificiais.