MAYCON CESAR CHAVES CORDEIRO PORTILHO
MAYCON CESAR CHAVES CORDEIRO PORTILHO
DANIEL MAZARIN CASTRO
DANIEL MAZARIN CASTRO
UMA VISAO GERAL SOBRE REDES NEURAIS ARTIFICIAIS
UMA VISAO GERAL SOBRE REDES NEURAIS ARTIFICIAIS
FOZ DO IGUAÇU
FOZ DO IGUAÇU
DEZEMBRO 2006
DEZEMBRO 2006
MAYCON CESAR CHAVES CORDEIRO PORTILHO
MAYCON CESAR CHAVES CORDEIRO PORTILHO
DANIEL MAZARIN CASTRO
DANIEL MAZARIN CASTRO
UMA VISAO GERAL SOBRE REDES NEURAIS ARTIFICIAIS
UMA VISAO GERAL SOBRE REDES NEURAIS ARTIFICIAIS
Trabalho de Graduação apresentado ao
Trabalho de Graduação apresentado ao
Curso de Engenharia Mecânica, Setor
Curso de Engenharia Mecânica, Setor
de
de Ci
Ciêênc
nciias
as Ex
Exat
atas
as, , Un
Univ
iveerrsi
sida
dade
de
Estadual do Oeste do Paraná.
Estadual do Oeste do Paraná.
Orientador: Prof. Dr. Carlos Henrique.
Orientador: Prof. Dr. Carlos Henrique.
FOZ DO IGUAÇU
FOZ DO IGUAÇU
DEZEMBRO 2006
DEZEMBRO 2006
ÍNDICE ÍNDICELISTA DE FIGURAS
LISTA DE FIGURAS
FIGURA1: ESTRUTURAFIGURA1: ESTRUTURA BIOLÓGICA DO BIOLÓGICA DO NEURÔNIO...NEURÔNIO...6...6 FIGURA 2: MODELO BÁSICO DE
FIGURA 2: MODELO BÁSICO DE NEURÔNIO ARTIFICIAL...NEURÔNIO ARTIFICIAL...7...7 FIGURA3: MODELO
FIGURA3: MODELO DE DE NEURÔNIO MATEMÁTICO...NEURÔNIO MATEMÁTICO...10...10 FIGURA
FIGURA 4: 4: MODELOS MODELOS DE DE REDES REDES NEURAIS...NEURAIS...12...12 FIGURA 5: ESTRUTURA DE UMA REDE NEURAL EM
FIGURA 5: ESTRUTURA DE UMA REDE NEURAL EM 3 DIMENSÕES...123 DIMENSÕES...12 FIGURA
FIGURA 6: 6: REDE REDE NEURAL NEURAL DIRETA...DIRETA...13...13 FIGURA
FIGURA 7: 7: REDE REDE NEURAL NEURAL COM COM CICLO...CICLO...13..13 FIGURA
FIGURA 8: 8: REDE REDE NEURAL NEURAL SIMÉTRICA...SIMÉTRICA...14...14 FIGURA
FIGURA 9: 9: MODELOS MODELOS DE DE REDES REDES NEURAIS...NEURAIS...15...15 FIGURA 10: NÃO LINEARIDADES USADAS EM REDES NEURAIS...15 FIGURA 10: NÃO LINEARIDADES USADAS EM REDES NEURAIS...15 FIGURA 11: MODELO REDE NEURAL
FIGURA 11: MODELO REDE NEURAL E SEUS ELEMENTOS...17E SEUS ELEMENTOS...17 FIGURA 12: ESQUEMA DE CONTROLE DE PADRÃO INDUSTRIAL...18 FIGURA 12: ESQUEMA DE CONTROLE DE PADRÃO INDUSTRIAL...18 FIGURA 13: ESTRUTURA TÍPICA DE REDE NEURAL BACKPROPAGATION.21 FIGURA 13: ESTRUTURA TÍPICA DE REDE NEURAL BACKPROPAGATION.21 FIGURA
FIGURA 14: 14: ROBÔ ROBÔ CORREDOR...CORREDOR...24...24 FIGURA 15: ROBÔ HUMANÓIDE...25 FIGURA 15: ROBÔ HUMANÓIDE...25
11..
IIN
NT
TR
RO
OD
DU
UÇ
ÇÃ
ÃO
O
As
As rederedes s neuneurairais s têm têm sidsido o utiutilizlizadaadas s parpara a solusoluciocionar nar divdiversoersos s probproblemlemas as dede eng
engenenhahariria a cocomomo, , popor r exexememplplo, o, em em proprocecessassamementnto o didigigitatal l de de imimageagens, ns, robrobótóticica a ee processamento digital de sinais.
processamento digital de sinais.
Redes neurais artificiais são técnicas computacionais que utilizam como modelo o Redes neurais artificiais são técnicas computacionais que utilizam como modelo o funcionamento do cérebro humano, onde os neurônios são treinados de forma a responder funcionamento do cérebro humano, onde os neurônios são treinados de forma a responder somente aos padrões de entrada, podendo ser utilizadas no reconhecimento de padrões sem somente aos padrões de entrada, podendo ser utilizadas no reconhecimento de padrões sem a necessidade de um treinamento prévio.
a necessidade de um treinamento prévio.
As principais características que tornam desejáveis o estudo e o uso das redes As principais características que tornam desejáveis o estudo e o uso das redes neurais artificiais são: a capacidade das mesmas de aprender através da experiência, a neurais artificiais são: a capacidade das mesmas de aprender através da experiência, a capacidade de se adaptar a situações adversas e a sua tolerância a ruídos.
22..
C
CO
ON
NC
CE
EIIT
TO
OS B
S BÁ
ÁSSIIC
CO
OSS
O cérebro apresenta uma notável habilidade de aprender, sendo considerado o O cérebro apresenta uma notável habilidade de aprender, sendo considerado o mai
mais s fascfascinainante nte procprocessaessador dor exiexistestentente. . O O procprocesso esso de de apreaprendindizagzagem em estestá á intintimaimamenmentete lig
ligado ado às às mudmudançaanças s nas nas conconexõeexões s ententre re difdifereerententes s neurneurôniônios os chachamadmadas as de de coneconexõexõess sinápticas ou simplesmente sinapses.
sinápticas ou simplesmente sinapses.
Um neurônio biológico, ilustrado na figura 1, é composto de: dendritos, que Um neurônio biológico, ilustrado na figura 1, é composto de: dendritos, que recebem os estímulos transmitidos pelos outros neurônios; corpo de neurônio, ou soma, que recebem os estímulos transmitidos pelos outros neurônios; corpo de neurônio, ou soma, que recebe e organiza as informações vindas de outros neurônios; e os axônios, responsáveis recebe e organiza as informações vindas de outros neurônios; e os axônios, responsáveis por transmitir os estímulos para as outras células.
Figura1: Estrutura biológica do neurônio Figura1: Estrutura biológica do neurônio
Tais mudanças ocorrem ao longo da vida provocadas por estímulos de diversas Tais mudanças ocorrem ao longo da vida provocadas por estímulos de diversas naturezas. Não se sabe ao certo quantos neurônios existem no cérebro. Algumas estimativas naturezas. Não se sabe ao certo quantos neurônios existem no cérebro. Algumas estimativas que se baseiam na densidade de neurônios medida em pequenas regiões apontam limites que se baseiam na densidade de neurônios medida em pequenas regiões apontam limites inferiores da ordem de 3x10
inferiores da ordem de 3x101010mas este número pode até chegar a 10mas este número pode até chegar a 101111..
Cada um destes neurônios se conecta com aproximadamente 10
Cada um destes neurônios se conecta com aproximadamente 1044 neurônios. Issoneurônios. Isso
implica que no cérebro existe algo em torno de 10
implica que no cérebro existe algo em torno de 101313 a a 10101515 conexões sinápticas. Essesconexões sinápticas. Esses
números são extraordinariamente grandes e de certa forma evidenciam a ocorrência do números são extraordinariamente grandes e de certa forma evidenciam a ocorrência do aprendizado, pois de outra forma todas essas informações deveriam estar armazenadas na aprendizado, pois de outra forma todas essas informações deveriam estar armazenadas na molécula de DNA.
molécula de DNA.
Junte se a isso uma grande massa de evidências experimentais confirmando o fato Junte se a isso uma grande massa de evidências experimentais confirmando o fato que as conexões sinápticas são ajustadas ao longo da vida à medida que se aprende. A que as conexões sinápticas são ajustadas ao longo da vida à medida que se aprende. A tabela 1 abaixo faz uma comparação entre a estrutura do cérebro humano e a estrutura do tabela 1 abaixo faz uma comparação entre a estrutura do cérebro humano e a estrutura do computador.
computador.
Tabela 1: Comparação entre o computador e o cérebro humano Tabela 1: Comparação entre o computador e o cérebro humano
Uma rede neural pode ser ensinada. Este é um ponto crucial para uma RNA pois Uma rede neural pode ser ensinada. Este é um ponto crucial para uma RNA pois nele se fundamen
nele se fundamenta seu aprendizta seu aprendizado. ado. Isto é muito atraIsto é muito atraente do ponto de vista tecnente do ponto de vista tecnológicológicoo pois dessa forma é possível eliminar a neces
pois dessa forma é possível eliminar a necessidade da programação explícita e detalhada.sidade da programação explícita e detalhada. Todos esses aspectos favorecem o estudo das redes neurais artificiais. No entanto Todos esses aspectos favorecem o estudo das redes neurais artificiais. No entanto durante muitos anos houve pouco interesse e poucos avanços ocorreram. Uma das causas durante muitos anos houve pouco interesse e poucos avanços ocorreram. Uma das causas desta estagnação foi a dificuldade de formalização destes modelos. Porém a neurociência desta estagnação foi a dificuldade de formalização destes modelos. Porém a neurociência vem
vem trtrababalalhanhando do jujuntntamamentente e cocom m prprofiofississiononaiais s da da árárea ea da da ciciêncência ia da da comcomputputaçaçãoão,, engenharia elétrica, matemática, física, psicologia e até os lingüistas.
engenharia elétrica, matemática, física, psicologia e até os lingüistas.
Figura 2: Modelo básico de neurônio artificial Figura 2: Modelo básico de neurônio artificial
O modelo mais geral para um neurônio artificial é este apresentado na figura 2 O modelo mais geral para um neurônio artificial é este apresentado na figura 2 logo acima, cujos atributos são melhor explicados adiante.
logo acima, cujos atributos são melhor explicados adiante. –
– EntradasEntradas: as entradas de um neurônio podem ser as saídas de diversos outros: as entradas de um neurônio podem ser as saídas de diversos outros neurônios. São as entradas que irão determinar a saída do neurônio.
neurônios. São as entradas que irão determinar a saída do neurônio. –
– PesosPesos: cada entrada possui um certo peso, ou seja, possui uma certa força de: cada entrada possui um certo peso, ou seja, possui uma certa força de conexão sináptica (inibitória ou excitatória).
conexão sináptica (inibitória ou excitatória). –
– NetNet: o somatório de todas as entradas multiplicadas por seus respectivos pesos: o somatório de todas as entradas multiplicadas por seus respectivos pesos nos fornece o chamado net de um neurônio.
nos fornece o chamado net de um neurônio. No decorrer
No decorrer do trabalho explicitaremos do trabalho explicitaremos de forma de forma mais sucinta os mais sucinta os atributos de umaatributos de uma rede neural para melhor entendimento.
rede neural para melhor entendimento.
2.
Desde o início da evolução das máquinas o homem busca construir uma máquina Desde o início da evolução das máquinas o homem busca construir uma máquina que seja independente do controle humano, cujo comportamento seja desenvolvido de que seja independente do controle humano, cujo comportamento seja desenvolvido de acordo com seu próprio aprendizado, e que possa ser chamada de autônoma, cognitiva ou acordo com seu próprio aprendizado, e que possa ser chamada de autônoma, cognitiva ou inteligente.
inteligente. Os
Os cocompmpututadoadoreres s fufuncinciononam am de de momodo do seqseqüeüencincialal, , propropoporcircionaonandndo o mamaioior r eficiência na resolução de tarefas nas quais devem ser seguidas etapas. Já o cérebro humano eficiência na resolução de tarefas nas quais devem ser seguidas etapas. Já o cérebro humano funciona de modo paralelo, sendo extremamente conectado. Devido a esta alta interconexão funciona de modo paralelo, sendo extremamente conectado. Devido a esta alta interconexão o cérebro é mais eficiente que os computadores na resolução de tarefas que exigem várias o cérebro é mais eficiente que os computadores na resolução de tarefas que exigem várias variáveis.
variáveis. Se o
Se o computcomputador reproduzisse com ador reproduzisse com qualiqualidade estas dade estas caractcaracterístierísticas, tais cas, tais máquimáquinasnas poderiam
poderiam vir vir a a ser ser utilizadas utilizadas em em locais locais onde onde a a interação interação humana humana é é perigosa, perigosa, tediosa tediosa ouou impossível, como em reatores nucleares, combate ao fogo, operações militares.
impossível, como em reatores nucleares, combate ao fogo, operações militares.
Elas são particularmente úteis para lidar com dados ligados a valores reais em que Elas são particularmente úteis para lidar com dados ligados a valores reais em que se deseja obter uma saída dotada de valor real. Desta maneira as redes neurais irão realizar se deseja obter uma saída dotada de valor real. Desta maneira as redes neurais irão realizar uma classificação por graus, e serão capazes de expressar valores equivalentes a "não uma classificação por graus, e serão capazes de expressar valores equivalentes a "não conhecido com certeza".
conhecido com certeza".
2.
2.2.
2. CAR
CARACT
ACTER
ERIS
ISTI
TICAS D
CAS DAS R
AS RED
EDES N
ES NEU
EURAI
RAIS AR
S ARTI
TIFI
FICI
CIAIS
AIS
Através de diversas estruturas neurais e algoritmos de aprendizagem propostos Através de diversas estruturas neurais e algoritmos de aprendizagem propostos por
por vários vários pesquisadores, pesquisadores, as as redes redes neurais neurais artificiais artificiais conseguem conseguem simular simular estasestas características presentes nos sistemas biológicos. Dentre as características dos neurônios características presentes nos sistemas biológicos. Dentre as características dos neurônios biológicos
biológicos que sque são interessão interessantes antes à coà computação mputação podemos podemos citar: rcitar: reconhecimento econhecimento de pde padrões;adrões; tol
tolerânerância cia à à falfalhas, has, apreaprendindizadozado, , procprocessaessamenmento to paraparalellelo o e e disdistritribuíbuído, do, capcapaciacidaddade e dede treinamento, robustez, não-linearidade e uniformidade.
treinamento, robustez, não-linearidade e uniformidade. Ta
Tais is cacararactctererísístiticacas s nãnão o sãsão o susupoportrtadadas as pepelolos s mémétotododos s cocompmpututacacioionanaisis tradicionais, fazendo com que tal tecnologia seja empregada para ajudar a solucionar tradicionais, fazendo com que tal tecnologia seja empregada para ajudar a solucionar problemas que antes eram resolvidos de
problemas que antes eram resolvidos de forma menos eficaz.forma menos eficaz.
A redundância na representação de informações em uma rede neural, ao contrário A redundância na representação de informações em uma rede neural, ao contrário de outros sistemas, transforma-se em uma vantagem, que torna o sistema tolerante a falhas. de outros sistemas, transforma-se em uma vantagem, que torna o sistema tolerante a falhas.
Os
Os atatriribubutotos s de de umuma a rerede de neneuraural, l, tatais is cocomo mo apraprenender der atatravravés és de de exexememplplos,os, generalizações redundantes, e tolerância à falhas, proporcionam fortes incentivos para a generalizações redundantes, e tolerância à falhas, proporcionam fortes incentivos para a escolha de redes neurais como uma escolha apropriada para aproximação de funções e para escolha de redes neurais como uma escolha apropriada para aproximação de funções e para a modelagem de sistemas biológicos.
a modelagem de sistemas biológicos.
A característica mais significante de redes neurais está em sua habilidade de A característica mais significante de redes neurais está em sua habilidade de aproximar qualquer função contínua não linear a um grau de correção desejado. Esta aproximar qualquer função contínua não linear a um grau de correção desejado. Esta habilidade das redes neurais as tem tornado útil para modelar sistemas não lineares.
habilidade das redes neurais as tem tornado útil para modelar sistemas não lineares.
Com o avanço em tecnologias de hardware, existe componentes com funções Com o avanço em tecnologias de hardware, existe componentes com funções voltadas às redes neurais, o que traz uma velocidade adicional à computação neural.
voltadas às redes neurais, o que traz uma velocidade adicional à computação neural.
33..
O N
O NE
EU
UR
RO
ON
NIIO A
O AR
RT
TIIF
FIIC
CIIA
AL
L
Para que possamos explanar o neurônio artificial primeiramente devemos nos Para que possamos explanar o neurônio artificial primeiramente devemos nos atentar a alguns conceitos básicos para um bom entendimento.
atentar a alguns conceitos básicos para um bom entendimento.
O grafo, que é um conjunto de pontos (vértices) conectados por linhas (arestas). O grafo, que é um conjunto de pontos (vértices) conectados por linhas (arestas). Um grafo direcionado consiste de um conjunto de pontos ao longo de um conjunto de Um grafo direcionado consiste de um conjunto de pontos ao longo de um conjunto de seg
processamento
processamento de informação de informação distribuída paralelamente distribuída paralelamente na forma na forma de um de um grafo direcionado,grafo direcionado, com algumas restrições e definições próprias
com algumas restrições e definições próprias
Os nós de um grafo são as unidades de processamento e suas arestas são as Os nós de um grafo são as unidades de processamento e suas arestas são as conexões, por onde as informações são conduzidas instantaneamente de uma unidade de conexões, por onde as informações são conduzidas instantaneamente de uma unidade de processamento
processamento para para outra. outra. Tais esTais estruturas truturas podem podem possuir possuir qualquer qualquer número número de de conexões conexões dede ent
entradrada a e e umuma a conconexexão ão de de sasaídída, a, quque e podpode e ser ser reprepetetidida a papara ra quaquantntas as saísaídadas s foforemrem necessárias, mas o valor será o mesmo em todas elas.
necessárias, mas o valor será o mesmo em todas elas.
Uma rede neural é composta por várias destas unidades de processamento, que Uma rede neural é composta por várias destas unidades de processamento, que podem
podem ser ser resumidas resumidas no no modelo modelo matemático matemático de de McCulloch McCulloch e e Pitts Pitts ilustrado ilustrado na na figura figura 3,3, onde:
onde:
• x
• x11..x..x p p: vetor de valores de entrada;: vetor de valores de entrada;
• w
• w11..w..w p p: vetor de pesos das entradas;: vetor de pesos das entradas;
•
• : : funçfunção ão de de ententradarada, , mulmultitipliplicancando do o o valvalor or das das ententradradas as pelpelosos respectivos pesos;
respectivos pesos;
• f(a): função de ativação, que dirá se o valor de entrada foi suficiente ou não para • f(a): função de ativação, que dirá se o valor de entrada foi suficiente ou não para gerar algum dado na saída;
gerar algum dado na saída;
• y: função de saída, que irá conter o resultado das operações efetuadas no • y: função de saída, que irá conter o resultado das operações efetuadas no neurônio.
neurônio.
Figura3: Modelo de neurônio matemático Figura3: Modelo de neurônio matemático
De forma geral, a operação de uma unidade da rede se resume em: De forma geral, a operação de uma unidade da rede se resume em: • Sinais são inseridos na entrada;
• Sinais são inseridos na entrada;
• Cada sinal é multiplicado por um peso que indica sua influência na saída da • Cada sinal é multiplicado por um peso que indica sua influência na saída da unidade;
• É feita a soma ponderada dos sinais que produz um nível de atividade; • É feita a soma ponderada dos sinais que produz um nível de atividade;
• Se este nível excede um limiar de ativação (threshold) a unidade produz uma • Se este nível excede um limiar de ativação (threshold) a unidade produz uma saída.
saída.
3.
3.1.
1. A R
A RE
EDE
DE NE
NEUR
URAL
AL AR
ARTI
TIFI
FICI
CIAL
AL
Uma rede neural artificial é, geralmente, um sistema de neurônios artificiais, tais Uma rede neural artificial é, geralmente, um sistema de neurônios artificiais, tais como o descrito anteriormente, ligados por conexões sinápticas e dividido em 3 camadas: como o descrito anteriormente, ligados por conexões sinápticas e dividido em 3 camadas: camada de entrada, que são os neurônios que recebem estímulos do meio externo; camadas camada de entrada, que são os neurônios que recebem estímulos do meio externo; camadas internas ou hidden (ocultos); e neurônios de saída, que são os que se comunicam com o internas ou hidden (ocultos); e neurônios de saída, que são os que se comunicam com o exterior.
exterior.
Tais redes podem ser também encontradas em modelos de apenas 1
Tais redes podem ser também encontradas em modelos de apenas 1 camadacamada, mas, mas nestes casos as redes realizam apenas cálculos muito simples, que podem ser efetuados nestes casos as redes realizam apenas cálculos muito simples, que podem ser efetuados mais facilmente através de métodos tradicionais.
mais facilmente através de métodos tradicionais. Model
Modelos de os de redes neurais como o Perceptron (ROSENredes neurais como o Perceptron (ROSENBLATT, 1959) e a BLATT, 1959) e a rede derede de Kohonen (WIDROW; HOFF, 1960), apresentam estruturas renciadas a esta definida acima. Kohonen (WIDROW; HOFF, 1960), apresentam estruturas renciadas a esta definida acima.
33..22.. T
TO
OP
PO
OL
LO
OG
GIIA
ASS
As topologias de redes neurais podem ser classificadas quanto a: disposição dos As topologias de redes neurais podem ser classificadas quanto a: disposição dos neurônios e quanto aos ciclos.
neurônios e quanto aos ciclos.
3.2.
3.2.1.
1. DISPOSI
DISPOSIÇÃO DOS NEURÔ
ÇÃO DOS NEURÔNIOS
NIOS
Seg
Segundo undo RumRumelhelhart art (RU(RUMELMELHARHART; T; HINHINTONTON; ; WILWILLIALIAMS, MS, 19861986), ), a a rederede neural deve ter ao menos duas camadas para apresentar um resultado significativo no neural deve ter ao menos duas camadas para apresentar um resultado significativo no desempenho de suas funções: entrada e saída de dados.
desempenho de suas funções: entrada e saída de dados.
Como uma rede deste tipo possui o processamento muito limitado é necessária a Como uma rede deste tipo possui o processamento muito limitado é necessária a adição de uma camada intermediária, fazendo com que uma rede neural tenha pelo menos adição de uma camada intermediária, fazendo com que uma rede neural tenha pelo menos três camadas.
A
A rerede de neneuraural l de de HoHopfipfieleld d (H(HOPOPFIEFIELDLD, , 191982) 82) apapresresenenta ta flfluxo uxo de de daddadosos multidirecional e comportamento dinâmico, devido ao fato de que todos os neurônios são multidirecional e comportamento dinâmico, devido ao fato de que todos os neurônios são interconectados, desaparecendo a idéia de camadas. Como seu funcionamento é mais interconectados, desaparecendo a idéia de camadas. Como seu funcionamento é mais comple
complexo são xo são encontencontrados maiores problemrados maiores problemas tanto na as tanto na fase de fase de aprendiaprendizado quanto na zado quanto na fasefase de testes.
de testes.
Sua utilização é maior na área de problemas de otimização e desempenho. As Sua utilização é maior na área de problemas de otimização e desempenho. As duas redes neurais citadas podem ser observadas na figura 4.
duas redes neurais citadas podem ser observadas na figura 4.
Figura 4: Modelos de redes neurais Figura 4: Modelos de redes neurais
Figura 5: Estrutura de uma rede neural em 3 dimensões Figura 5: Estrutura de uma rede neural em 3 dimensões
3.2
3.2.2.
.2. CICL
CICLOS
OS
Quanto aos ciclos, as redes neurais podem ser classificadas em: Quanto aos ciclos, as redes neurais podem ser classificadas em:
• Diretas: redes neurais que não tem ciclos e podem ser representadas em camadas • Diretas: redes neurais que não tem ciclos e podem ser representadas em camadas assim como é mostrado na figura 6;
assim como é mostrado na figura 6;
Figura 6: Rede neural direta Figura 6: Rede neural direta
• Com ciclos: redes em que o grafo de conectividade possui pelo menos um ciclo • Com ciclos: redes em que o grafo de conectividade possui pelo menos um ciclo (também chamadas redes com realimentação ou feedback), podem ser compostas de uma (também chamadas redes com realimentação ou feedback), podem ser compostas de uma ou mais camadas, sendo que cada neurônio fornece o sinal de entrada como input para cada ou mais camadas, sendo que cada neurônio fornece o sinal de entrada como input para cada um dos outros neurônios, podemos ver um exemplo desta rede na figura 7;
• Simétricas: redes cuja matriz (do grafo de conectividade) é simétrica, sendo um • Simétricas: redes cuja matriz (do grafo de conectividade) é simétrica, sendo um caso particular das redes com ciclos como na figura 8 .
caso particular das redes com ciclos como na figura 8 .
Figura 8: Rede neural simétrica Figura 8: Rede neural simétrica
3.2.
3.2.3.
3. MODELO
MODELOS DE REDES NE
S DE REDES NEURAIS
URAIS
A partir dos algoritmos são construídas as redes neurais que irão interagir com as A partir dos algoritmos são construídas as redes neurais que irão interagir com as entradas, as quais irão processar e fornecer as respostas.
entradas, as quais irão processar e fornecer as respostas.
Dentre estas redes, podemos classificá-las de acordo com seus ciclos e processos, Dentre estas redes, podemos classificá-las de acordo com seus ciclos e processos, os quais geram uma vasta gama de
os quais geram uma vasta gama de redes neurais já construíredes neurais já construídas ao longo do das ao longo do tempo como étempo como é mostrado na figura 9 abaixo.
Figura 9: Modelos de redes neurais Figura 9: Modelos de redes neurais
Es
Esses ses ciciclclos os dedesensenvovolvlvem em as as rerespospoststas as quque e em em gegeralral, , são são fufunçõnções es tatangngententeses hiperbólicas não-lineares e em degraus, como mostrado na figura 10 abaixo.
hiperbólicas não-lineares e em degraus, como mostrado na figura 10 abaixo.
Figura 10: Não linearidades usadas em redes neurais Figura 10: Não linearidades usadas em redes neurais
3.2.
3.2.4.
4. CLASSES DE COM
CLASSES DE COMPORTAME
PORTAMENTOS
NTOS
O comportamento de uma rede neural designa a forma como o algoritmo que a O comportamento de uma rede neural designa a forma como o algoritmo que a compõe interage com os dados recebidos pela entrada, fornecendo uma resposta. Esses compõe interage com os dados recebidos pela entrada, fornecendo uma resposta. Esses comportamentos são classificados em reflexivos e reativos, os quais serão detalhados.
comportamentos são classificados em reflexivos e reativos, os quais serão detalhados.
3.
Uma característica marcante aos comportamentos reflexivos de uma rede neural é Uma característica marcante aos comportamentos reflexivos de uma rede neural é a intensidad
a intensidade e e e a duração das a duração das respostrespostas de as de um estímulum estímulo (entrada), os o (entrada), os quais são uma quais são uma funçãofunção direta da intensidade e duração deste estimulo que disparou seu comportamento.
direta da intensidade e duração deste estimulo que disparou seu comportamento. Também é importante
Também é importante notar que tempo decorrido entnotar que tempo decorrido entre a ocorrência do estire a ocorrência do estimulo mulo ee a aparecimento da resposta (saída) é mínimo.
a aparecimento da resposta (saída) é mínimo.
3.
3.2.
2.4.
4.2.
2. COM
COMPOR
PORTA
TAME
MENTO
NTOS R
S REA
EATI
TIVOS
VOS
É uma classe intermediária entre os comportamentos puramente reflexivos e os É uma classe intermediária entre os comportamentos puramente reflexivos e os comportamentos instintivos. É formada por uma série de comportamentos estereotipados comportamentos instintivos. É formada por uma série de comportamentos estereotipados com
como o resrespopoststa a a a um um esestitimumulo lo dadadodo. . A A enentrtradada a quque e didispaspara ra essesse e comcomporportatamementnto o éé geralmente mais complexa e especifica que o necessário para disparar o comportamento geralmente mais complexa e especifica que o necessário para disparar o comportamento reflexivo.
reflexivo.
A resposta envolve um seqüencial temporal de ações que se desenrolam até o A resposta envolve um seqüencial temporal de ações que se desenrolam até o final, mesmo que o estimulo disparador não esteja mais presente.
final, mesmo que o estimulo disparador não esteja mais presente.
44..
O P
O PR
RO
OCE
CESS
SSO D
O DE A
E AP
PRE
REND
NDIIZ
ZA
AGE
GEM
M
Um
Uma a dadas s cacararactctererísístiticas cas mamais is imimporportatantntes es de de umuma a redrede e neneuraural l arartitifificicial al é é aa capacidade de aprender com o meio ambiente, adaptando-se as condições do meio. Isto é capacidade de aprender com o meio ambiente, adaptando-se as condições do meio. Isto é feito através de um processo iterativo de ajuste de seus pesos, chamado de aprendizado. feito através de um processo iterativo de ajuste de seus pesos, chamado de aprendizado.
Quando a rede aprende uma solução para uma classe generalizada de problemas Quando a rede aprende uma solução para uma classe generalizada de problemas dizemos que ela aprendeu a tratar destes. Para que uma rede neural possa fazer isto é dizemos que ela aprendeu a tratar destes. Para que uma rede neural possa fazer isto é
necessário fornecer a ela um conjunto de valores possíveis de entradas e, no caso de redes necessário fornecer a ela um conjunto de valores possíveis de entradas e, no caso de redes com aprendizado supervisionado, as saídas corretas para as soluções propostas.
com aprendizado supervisionado, as saídas corretas para as soluções propostas.
Aplica-se então um algoritmo que irá ajustar os pesos das arestas internas da rede, Aplica-se então um algoritmo que irá ajustar os pesos das arestas internas da rede, para
para generalizar generalizar aquela aquela classe classe de de problema. problema. Estes Estes algoritmos algoritmos diferenciam-se diferenciam-se entre entre sisi principalmente
principalmente pelo pelo modo modo como como os os pesos pesos são são ajustados, ajustados, na na figura figura 11 11 ilustramos ilustramos nossonosso modelo.
modelo.
Figura 11: Modelo rede neural e seus elementos Figura 11: Modelo rede neural e seus elementos
Todo o conhecimento de uma rede está nas sinapses, ou seja, nos pesos das Todo o conhecimento de uma rede está nas sinapses, ou seja, nos pesos das arestas. Para que a rede
arestas. Para que a rede não seja configurada de maneira errada o processo de não seja configurada de maneira errada o processo de aprendiaprendizadozado deve ser feito de forma rigorosa. Existem vários paradigmas de aprendizado, dentre os deve ser feito de forma rigorosa. Existem vários paradigmas de aprendizado, dentre os quais destacam-se:
quais destacam-se: •
• IndeIndependpendêncência ia de de quequem m apreaprende: nde: rede rede apreaprende nde por por memmemoriorizaçãzação, o, contcontatoato,, exemplos, por analogia, por exploração e também por descoberta;
exemplos, por analogia, por exploração e também por descoberta;
• Por retroação do mundo: diz respeito à presença ou ausência de realimentação • Por retroação do mundo: diz respeito à presença ou ausência de realimentação explícita de fora da rede.
explícita de fora da rede.
• Por Finalidade do Aprendizado: • Por Finalidade do Aprendizado: –
– Auto-associadorAuto-associador: é apresentada à rede uma coleção de exemplos para que ela: é apresentada à rede uma coleção de exemplos para que ela memorize. Quando se apresenta um dos elementos da coleção de exemplos mas de modo memorize. Quando se apresenta um dos elementos da coleção de exemplos mas de modo errôneo, a rede deve mostrar o exemplo original, funcionando assim como um filtro;
errôneo, a rede deve mostrar o exemplo original, funcionando assim como um filtro; –
– Hetero-associadorHetero-associador: é uma variação do auto-associador, mas que se memoriza: é uma variação do auto-associador, mas que se memoriza um conjunto de pares. O
que o primeiro esteja pouco modificado, funcionando desta maneira como um reconhecedor que o primeiro esteja pouco modificado, funcionando desta maneira como um reconhecedor de padrões.
de padrões.
Dentre os principais procedimentos para aprendizado, podemos citar: Dentre os principais procedimentos para aprendizado, podemos citar: 1. Aprendizado supervisionado
1. Aprendizado supervisionado: aquele no qual um ”professor” provê valores de: aquele no qual um ”professor” provê valores de saída para cada padrão de entrada da rede.
saída para cada padrão de entrada da rede.
Podemos citar como um exemplo o reconhecimento de padrões, os quais devem ser Podemos citar como um exemplo o reconhecimento de padrões, os quais devem ser fornecidos por um operador (professor). Os parâmetros de entrada serão: cor, tamanho e fornecidos por um operador (professor). Os parâmetros de entrada serão: cor, tamanho e textura, e as saídas previstas podem ser somente: peixe bom ou peixe estragado. Podemos textura, e as saídas previstas podem ser somente: peixe bom ou peixe estragado. Podemos visualizar o exemplo pela figura 12 abaixo.
visualizar o exemplo pela figura 12 abaixo.
Figura 12: Esquema de controle de padrão industrial Figura 12: Esquema de controle de padrão industrial
2. Aprendizado semi-supervisionado
2. Aprendizado semi-supervisionado: aquele no qual um professor meramente: aquele no qual um professor meramente indica quando a resposta da rede a um padrão de treinamento é ”bom” ou ”ruim”;
indica quando a resposta da rede a um padrão de treinamento é ”bom” ou ”ruim”; 3.
3. AprendiAprendizado zado não-supnão-supervisiervisionadoonado: no qual não há um ”professor”, e a rede: no qual não há um ”professor”, e a rede deve encontrar regularidades nos dados de treinamento por si mesma.
deve encontrar regularidades nos dados de treinamento por si mesma. Al
Algo go enentrtre e 50 50 e e 9090% % dadas s rerespsposostatas s dedevevem m seser r fofornrnececididas as no no prprococesesso so dede aprendizado, afim de que a rede aprenda a resolver o problema e não apenas decore aprendizado, afim de que a rede aprenda a resolver o problema e não apenas decore soluções prontas.
soluções prontas.
Podemos denominar ainda ciclo como sendo uma apresentação de todos os N (N Podemos denominar ainda ciclo como sendo uma apresentação de todos os N (N Є N, e N > 0) pares (entrada e saída) do conjunto de treinamento no processo de Є N, e N > 0) pares (entrada e saída) do conjunto de treinamento no processo de aprendizado.
aprendizado.
A correção dos pesos num ciclo pode ser executado de dois modos: A correção dos pesos num ciclo pode ser executado de dois modos:
1. Modo Padrão
1. Modo Padrão: A correção dos pesos acontece a cada apresentação à rede de: A correção dos pesos acontece a cada apresentação à rede de um exemplo do conjunto de treinamento. Cada correção de pesos baseia-se somente no erro um exemplo do conjunto de treinamento. Cada correção de pesos baseia-se somente no erro do exemplo apresentado naquela iteração. Assim, em cada ciclo ocorrem N (N Є N,
do exemplo apresentado naquela iteração. Assim, em cada ciclo ocorrem N (N Є N,e N e N >> 0) correções.
0) correções.
2. Modo Batch
2. Modo Batch: Apenas uma correção é feita por ciclo. Todos os exemplos do: Apenas uma correção é feita por ciclo. Todos os exemplos do conjunto de treinamento são apresentados à rede, seu erro médio é calculado e a partir deste conjunto de treinamento são apresentados à rede, seu erro médio é calculado e a partir deste erro fazem-se as correções dos pesos.
erro fazem-se as correções dos pesos.
Redes neurais artificiais são geralmente utilizadas para fazer reconhecimento Redes neurais artificiais são geralmente utilizadas para fazer reconhecimento estático de padrões, ou seja, para estaticamente mapear entradas complexas em saídas mais estático de padrões, ou seja, para estaticamente mapear entradas complexas em saídas mais simples, como classificação N-ária de padrões de valores.
simples, como classificação N-ária de padrões de valores.
O modo usual de se treinar uma rede neural para a tarefa a ser executada é através O modo usual de se treinar uma rede neural para a tarefa a ser executada é através dde e uum m pprroocceeddiimmeenntto o cchhaammaaddo o dde e bbaacckkpprrooppaaggaattiioon n ((RRUUMMEELLHHAARRTT;; HINTON;WILLIAMS, 1986), onde os pesos da rede são modificados em proporção de sua HINTON;WILLIAMS, 1986), onde os pesos da rede são modificados em proporção de sua contribuição ao erro observado nas unidades de saída da rede.
contribuição ao erro observado nas unidades de saída da rede.
4.
4.1.
1. O
O AL
ALGO
GORI
RITM
TMO
O BA
BACK
CKPR
PROP
OPAG
AGAT
ATIO
ION
N
Modelos de redes neurais como o Perceptron (ROSENBLATT, 1959) são capazes Modelos de redes neurais como o Perceptron (ROSENBLATT, 1959) são capazes de tratar problemas linearmente independentes ou separáveis. Para problemas não lineares, de tratar problemas linearmente independentes ou separáveis. Para problemas não lineares, como computar a porta XOR ou a operação lógica de implicação, é necessário que a rede como computar a porta XOR ou a operação lógica de implicação, é necessário que a rede tenha uma representação intermediária apropriada para padrões de entrada. Isto é feito tenha uma representação intermediária apropriada para padrões de entrada. Isto é feito através da inserção de camadas de neurônios intermediários não-lineares.
através da inserção de camadas de neurônios intermediários não-lineares.
A rede neural com backpropagation utiliza a regra delta (uma restrição) para o A rede neural com backpropagation utiliza a regra delta (uma restrição) para o processo
processo de de aprendizado. aprendizado. O O termo termo backpropagation backpropagation é é uma uma abreviação abreviação para para propagação propagação dodo erro para trás.
erro para trás. Co
Com m a a reregrgra a dedeltlta, a, cocomo mo atatraravévés s de de ououtrtros os titipopos s de de babackckprpropopagagatatioion, n, oo aprendizado é um processo supervisionado que ocorre a cada ciclo, isto é, cada vez que aprendizado é um processo supervisionado que ocorre a cada ciclo, isto é, cada vez que dados são apresentados na entrada da rede, através de um fluxo de ativação posterior das dados são apresentados na entrada da rede, através de um fluxo de ativação posterior das saídas e da propagação dos erros anteriores do ajuste de pesos.
Simplificando, toda vez que uma rede neural recebe um padrão ela “adivinha” Simplificando, toda vez que uma rede neural recebe um padrão ela “adivinha” aleatoriamente o que a entrada deve ser. Verifica-se então a diferença entre a resposta aleatoriamente o que a entrada deve ser. Verifica-se então a diferença entre a resposta encontrada está resposta e faz os ajustes nos pesos das conexões.
encontrada está resposta e faz os ajustes nos pesos das conexões.
A rede é inicializada aleatoriamente para que julgamentos acerca da aplicação não A rede é inicializada aleatoriamente para que julgamentos acerca da aplicação não sejam feitos antes desta ser apresentada ao algoritmo backpropagation.
sejam feitos antes desta ser apresentada ao algoritmo backpropagation.
Os padrões de treinamento apresentados à rede podem ser vistos como um Os padrões de treinamento apresentados à rede podem ser vistos como um conjunto de pares ordenados {(x1, y1), (x2, y2), ..., (xp, yp)}, onde xi representa um padrão conjunto de pares ordenados {(x1, y1), (x2, y2), ..., (xp, yp)}, onde xi representa um padrão de entrada, yi represent
de entrada, yi representa um a um vetor de padrão de saída associado ao vetor de entrada xi e vetor de padrão de saída associado ao vetor de entrada xi e oioi representa a saída real obtida na rede.
representa a saída real obtida na rede.
O processo de treinamento da rede é então feito de acordo com o seguinte O processo de treinamento da rede é então feito de acordo com o seguinte algori
algoritmo, o qual tmo, o qual é derivado de é derivado de um resultado naturaum resultado natural da l da busca pelo gradientbusca pelo gradiente da e da superfísuperfíciecie de erro (no espaço de pesos) da saída atual produzida pela rede em relação a um resultado de erro (no espaço de pesos) da saída atual produzida pela rede em relação a um resultado desejado.
desejado.
1. Selecione o primeiro par de vetor de treinamento dos pares de vetores de 1. Selecione o primeiro par de vetor de treinamento dos pares de vetores de treinamento. Chame este vetor de par (x, y).
treinamento. Chame este vetor de par (x, y).
2. Use o vetor de entrada x como a saída da camada de entrada dos elementos de 2. Use o vetor de entrada x como a saída da camada de entrada dos elementos de processamento.
processamento.
3. Calcule a ativação para cada unidade na camada subseqüente. 3. Calcule a ativação para cada unidade na camada subseqüente.
4. Aplique as funções de ativação apropriadas, as quais serão denotadas como 4. Aplique as funções de ativação apropriadas, as quais serão denotadas como f(net) para as camadas intermediárias e como f(net0) para a camada de saída, para cada f(net) para as camadas intermediárias e como f(net0) para a camada de saída, para cada unidade na camada subseqüente.
unidade na camada subseqüente.
5. Repita os passos 3 e 4 para cada camada da rede. 5. Repita os passos 3 e 4 para cada camada da rede.
6. Calcule o erro para este padrão p em todo a camada de saída K utilizando a 6. Calcule o erro para este padrão p em todo a camada de saída K utilizando a fórmula: pk = (yk − ok)f0(netok).
fórmula: pk = (yk − ok)f0(netok).
7. Calcule o erro para todas camadas intermediárias j utilizando a fórmula 7. Calcule o erro para todas camadas intermediárias j utilizando a fórmula recursiva.
recursiva. 8.
8. AtAtualualizize e os os vavaloloreres s dodos s pepesos sos das das coconexnexõeões s dadas s cacamamadas das inintetermrmedediáiáririasas
uti
utilizlizandando o a a equequaçãoação: : . . OndOnde e n n é é um um peqpequeno ueno valvalor or utilizado para limitar a quantidade de mudança permitida para cada conexão durante um utilizado para limitar a quantidade de mudança permitida para cada conexão durante um ciclo de treinamento.
9. Atualize os valores dos pesos das conexões da camada de saída através da 9. Atualize os valores dos pesos das conexões da camada de saída através da
fórmula: .
fórmula: .
10. Repita os passos de 2 a 9 para todos os vetores pares no conjunto de 10. Repita os passos de 2 a 9 para todos os vetores pares no conjunto de treinamento. Chame esta de época de treinamento.
treinamento. Chame esta de época de treinamento.
Os passos 1 a 10 devem ser repetidos quantas vezes for necessária para reduzir a Os passos 1 a 10 devem ser repetidos quantas vezes for necessária para reduzir a soma dos erros a um valor mínimo de acordo com a fórmula:
soma dos erros a um valor mínimo de acordo com a fórmula:
A figura 13 mostra uma rede típica na qual pode ser utilizado o algoritmo A figura 13 mostra uma rede típica na qual pode ser utilizado o algoritmo backpropagation.
backpropagation. Tal Tal rede rede é é constituída constituída de de L L camadas camadas feedforward feedforward (os (os nós nós de de entrada entrada nãonão são computados como uma camada) consistindo de uma camada de entrada, (L-1) camadas são computados como uma camada) consistindo de uma camada de entrada, (L-1) camadas intermediárias e uma camada de saída com nós conectados sucessivamente de forma para intermediárias e uma camada de saída com nós conectados sucessivamente de forma para frente sem neurônios conectados que se encontrem na mesma camada.
frente sem neurônios conectados que se encontrem na mesma camada. Não
Não é é ilustrado ilustrado aqui aqui o o funcionamento funcionamento do do algoritmo algoritmo devido devido ao ao grande grande número número dede iterações que geralmente são necessárias para se chegar a um resultado significativo.
iterações que geralmente são necessárias para se chegar a um resultado significativo.
Figura 13: Estrutura típica de rede neural backpropagation Figura 13: Estrutura típica de rede neural backpropagation
5.
5.
AP
APLI
LICA
CAÇÃ
ÇÃO DA
O DAS RE
S REDE
DES NE
S NEUR
URAI
AIS AR
S ARTI
TIFI
FICI
CIAI
AISS
5.
5.1.
1. RE
RECO
CONH
NHEC
ECIM
IMEN
ENT
TO
O DE
DE VO
VOZ
Z
O reconhecimento de voz é um campo que têm mostrado grande parte da O reconhecimento de voz é um campo que têm mostrado grande parte da capacidade das redes neurais. Pesquisadores facilmente obtiveram excelentes resultados em capacidade das redes neurais. Pesquisadores facilmente obtiveram excelentes resultados em
tarefas básicas como diferenciação de fala humana e fala sintetizada e reconhecimento de tarefas básicas como diferenciação de fala humana e fala sintetizada e reconhecimento de fonemas e de dígitos através de fala.
fonemas e de dígitos através de fala.
Há ainda o reconhecimento da voz humana, campo no qual têm-se encontrado Há ainda o reconhecimento da voz humana, campo no qual têm-se encontrado muitos avanços nos últimos anos, com a presença de softwares de reconhecimento de voz muitos avanços nos últimos anos, com a presença de softwares de reconhecimento de voz tal qual o ViaVoicer da IBM.
tal qual o ViaVoicer da IBM.
5.
5.2.
2. RE
RECO
CONH
NHEC
ECIM
IMEN
ENT
TO D
O DE T
E TEX
EXT
TO
O
O
O rerecoconhnhececimimenento to de de cacararactctereres es é é ututililizizadado o atatuaualmlmenente te no no prprococesesso so dede transferências de dados (principalmente livros) para o meio digital. O processo de OCR transferências de dados (principalmente livros) para o meio digital. O processo de OCR (Optical Character Recognition - reconhecimento ótico de caracteres) utilizando redes (Optical Character Recognition - reconhecimento ótico de caracteres) utilizando redes neurais é utilizado para leitura dos códigos postais em envelopes de carta nos Estados neurais é utilizado para leitura dos códigos postais em envelopes de carta nos Estados Unidos. O sistema apresenta precisão de até 99,5%.
Unidos. O sistema apresenta precisão de até 99,5%.
5.2
5.2.1.
.1. EXE
EXEMPL
MPLOS
OS
55..22..11..11.. AADDIIOOSS
Pesquisadores das Universidades Cornell, Estados Unidos, e Tel Aviv, Israel, Pesquisadores das Universidades Cornell, Estados Unidos, e Tel Aviv, Israel, desenvolveram um método que permite a um computador escanear um texto, escrito em desenvolveram um método que permite a um computador escanear um texto, escrito em qualquer idioma, incluindo inglês e chinês, e, autonomamente e sem qualquer informação qualquer idioma, incluindo inglês e chinês, e, autonomamente e sem qualquer informação prévia, inferir as regras g
prévia, inferir as regras gramaticais por detrás da construção daquele texto.ramaticais por detrás da construção daquele texto.
Entendendo as regras, o computador pode então utilizá-las, construindo sentenças Entendendo as regras, o computador pode então utilizá-las, construindo sentenças novas - diferentes daquelas que ele "leu" - e que têm sentido. O método também funciona novas - diferentes daquelas que ele "leu" - e que têm sentido. O método também funciona para pautas musicais e até mesmo para s
para pautas musicais e até mesmo para seqüências de proteínas.eqüências de proteínas. O
O nonovo vo mémétotodo do teterá rá imimplplicicaçaçõeões s sisigngnifificicatativivas as em em apaplilicacaçõções es cocomo mo oo reconhecimento de voz e em quaisquer outras aplicações que envolvam o processamento reconhecimento de voz e em quaisquer outras aplicações que envolvam o processamento com
computputadoadorizrizado ado da da lilinguanguagem gem natnaturalural, , assiassim m comcomo o para campos de para campos de estestudo udo comcomo o aa genética ou a linguística.
genética ou a linguística.
Ao contrário das tentativas anteriores para o desenvolvimento de algoritmos de Ao contrário das tentativas anteriores para o desenvolvimento de algoritmos de com
computputadoador r volvoltadtados os parpara a o o apraprendiendizado da zado da linlinguagguagem, em, o o novnovo o métmétodoodo, , batbatizaizado do dede "Automatic Distillation of Structure - ADIOS", ou destilação automática de estrutura, "Automatic Distillation of Structure - ADIOS", ou destilação automática de estrutura,
cons
consegue egue ideidentintificficar ar padrpadrões ões comcompleplexos xos em em textextos tos comcomuns. uns. O O algalgorioritmo tmo descdescobre obre osos padrões alinhando repetidamente as sen
padrões alinhando repetidamente as sentenças e procurando por partes tenças e procurando por partes que se sobreponham.que se sobreponham. "O ADIOS se fundamenta em um
"O ADIOS se fundamenta em um método estatmétodo estatísticístico para o para a extração de padrões ea extração de padrões e em uma generalização estruturada - dois processos ligados à aquisição da linguagem. em uma generalização estruturada - dois processos ligados à aquisição da linguagem. Nossas
Nossas experiências experiências mostram mostram que que ele ele consegue consegue capturar capturar estruturas estruturas intricadas intricadas de de dadosdados simples, incluindo transcrições de falas dos pais com crianças de dois ou três anos de simples, incluindo transcrições de falas dos pais com crianças de dois ou três anos de idade,", conta o Dr. Edelman.
idade,", conta o Dr. Edelman.
Além da fala com crianças, o algoritmo foi testado no texto completo da Bíblia, Além da fala com crianças, o algoritmo foi testado no texto completo da Bíblia, em diversos idiomas, e na notação musical. Ele também pode ser aplicado a dados em diversos idiomas, e na notação musical. Ele também pode ser aplicado a dados biológicos, como pares de
biológicos, como pares de nucleotídeos e seqüências dnucleotídeos e seqüências de aminoácidos. Analisando proteínas,e aminoácidos. Analisando proteínas, por
por exemplo, exemplo, o o algoritmo algoritmo foi foi capaz capaz de de extrair extrair padrões padrões de de seqüências seqüências de de aminoácidos aminoácidos queque eram altamente correlacionados com as propriedades funcionais das proteínas.
eram altamente correlacionados com as propriedades funcionais das proteínas.
55..33.. R
RO
OB
BÓ
ÓT
TIIC
CA
A
Uma área importante das redes neurais é no campo da robótica. Geralmente, estas Uma área importante das redes neurais é no campo da robótica. Geralmente, estas redes são
redes são desenvoldesenvolvidas para direcionar um vidas para direcionar um manipumanipulador, a lador, a parte mais importantparte mais importante e do robôdo robô industrial, para segurar objetos, baseados em dados vindos de sensores.
industrial, para segurar objetos, baseados em dados vindos de sensores.
Geralmente as redes neurais são utilizadas na robótica para permitir aproximação Geralmente as redes neurais são utilizadas na robótica para permitir aproximação de movimentos. Por exemplo, se um robô precisa seguir um caminho de A até B por C, de movimentos. Por exemplo, se um robô precisa seguir um caminho de A até B por C, pode ser que em algum momento sua trajetória se des
pode ser que em algum momento sua trajetória se desvie do plano traçado.vie do plano traçado.
Através do uso de redes neurais, quando isto acontecer, é possível fazer uma Através do uso de redes neurais, quando isto acontecer, é possível fazer uma reavaliação e verificar se o caminho ainda é possível de ser traçado ou se o robô deve reavaliação e verificar se o caminho ainda é possível de ser traçado ou se o robô deve retornar a origem. Outras aplicações incluem direcionamento de robôs autônomos.
retornar a origem. Outras aplicações incluem direcionamento de robôs autônomos.
5.3
5.3.1.
.1. EXE
EXEMPL
MPLOS
OS
5.
5.33.1
.1..1.
1. RO
ROB
BÔ
Ô BÍ
BÍPE
PEDE
DE
O "RunBot" (robô corredor) mostrado na figura 14 abaixo conseguiu quebrar o O "RunBot" (robô corredor) mostrado na figura 14 abaixo conseguiu quebrar o
Pernas por segundo ainda não é uma unidade que faça parte do sistema internacional de Pernas por segundo ainda não é uma unidade que faça parte do sistema internacional de medidas.
medidas.
Figura 14: Robô corredor Figura 14: Robô corredor Mas foi
Mas foi a forma a forma encontencontrada pelos cientistarada pelos cientistas s para comparar os para comparar os diferendiferentes robôs, játes robôs, já que cada um tem um tamanho diferente. É uma medida de velocidade relativa, sendo que cada um tem um tamanho diferente. É uma medida de velocidade relativa, sendo calculada dividindo-se a velocidade (metros por segundo) pelo comprimento das pernas do calculada dividindo-se a velocidade (metros por segundo) pelo comprimento das pernas do robô.
robô.
O RunBot é incrivelmente simples, inclusive no seu controle. O programa que faz O RunBot é incrivelmente simples, inclusive no seu controle. O programa que faz o pequeno pernalta de 30 centímetros de altura ser tão rápido é inspirado na forma como os o pequeno pernalta de 30 centímetros de altura ser tão rápido é inspirado na forma como os neurônios - as células cerebrais - controlam o movimento nos humanos e nos animais.
neurônios - as células cerebrais - controlam o movimento nos humanos e nos animais.
O controlador neuronal aprende enquanto anda, o que dispensa a multiplicidade O controlador neuronal aprende enquanto anda, o que dispensa a multiplicidade de sensores existentes nos outros robôs andarilhos. Na verdade, ele possui apenas dois de sensores existentes nos outros robôs andarilhos. Na verdade, ele possui apenas dois sensores, um para detectar quando o pé sai do chão e outro para detectar quando o pé toca o sensores, um para detectar quando o pé sai do chão e outro para detectar quando o pé toca o chão.
chão.
Recebendo os sinais dos sensores, o controlador neuronal responde da mesma Recebendo os sinais dos sensores, o controlador neuronal responde da mesma forma que o reflexo de um animal, fazendo com que as pernas se ajustem ao estágio do forma que o reflexo de um animal, fazendo com que as pernas se ajustem ao estágio do movimento no qual elas se encontram naquele momento.
movimento no qual elas se encontram naquele momento.
5.
A
A empempresa japoneresa japonesa sa FujFujitsitsu u anuanuncinciou ou o o desedesenvolnvolvimvimentento o de de um um sistsistema ema dede aprendizado para robôs humanóides como o da figura 15 logo abaixo, que utiliza uma rede aprendizado para robôs humanóides como o da figura 15 logo abaixo, que utiliza uma rede ne
neurural al rerecoconfnfigigururávávelel. . As As rerededes s neneururaiais s rereprpresesenentatam m um um papasssso o imimpoportrtanante te nono desenvolvimento de robôs humanóides, simplificando o processo de geração de movimento desenvolvimento de robôs humanóides, simplificando o processo de geração de movimento do
do rorobô, bô, nonormrmalalmementnte e fefeitito o cocom m a a demdemoraorada da coconfinfigurguraçação ão inindidivividudual al de de ininúmúmererosos controles.
controles.
Figura 15: Robô humanóide Figura 15: Robô humanóide
A
A gergeraçação ão de de momovivimementnto o e e seseu u concontrtrolole e enenvolvolvevem m cocompmplelexos xos cácálclcululos os dede di
dinânâmimicaca, , exexigiginindo do coconsinsiderderávável el cacapacpacididade ade de de cocompmpututaçação. ão. MaMas s mamais is popoder der dede computação ainda será requerido para que o robô responda instantaneamente a alterações computação ainda será requerido para que o robô responda instantaneamente a alterações no ambiente.
no ambiente.
Um método de resolver este problema é através da utilização de redes neurais Um método de resolver este problema é através da utilização de redes neurais baseadas
baseadas em em sistemas sistemas de de controle, controle, as as quais quais imitam imitam a a maneira maneira como como os os seres seres vivosvivos apre
aprendemndem. . Mas Mas esteste e tiptipo o de de rede tem rede tem um um funcfuncionionameamento nto exceexcessissivamvamentente e demdemoraorado,do, levando dias ou até mesmo meses para gerar movimentos de maneira eficiente.
levando dias ou até mesmo meses para gerar movimentos de maneira eficiente.
A tecnologia da Fujitsu é baseada em redes CPG ("Central Pattern Generator"), A tecnologia da Fujitsu é baseada em redes CPG ("Central Pattern Generator"), que simulam matematicamente o oscilador neural existente nos vertebrados. A ferramenta que simulam matematicamente o oscilador neural existente nos vertebrados. A ferramenta co
combmbinina a um um mémétotodo do de de peperbrbururbabaçãção o nunuméméririca ca (N(NP)P), , quque e ququanantitififica ca o o esestatado do dada con
confifiguguraçração ão e e dodos s pepesos sos da da redrede. e. EsEsta ta cocombmbininaçação, ão, coconhenhecicida da cocomo mo CPCPG/G/NPNP, , fofoii otimizada para se chegar à nova tecnologia. A empresa também desenvolveu um software, otimizada para se chegar à nova tecnologia. A empresa também desenvolveu um software, chamado de Humanoid Movement-Generation System, que permite aos robôs humanóides chamado de Humanoid Movement-Generation System, que permite aos robôs humanóides
Em termos mais simples, um gerador cria oscilações nas diversas juntas do Em termos mais simples, um gerador cria oscilações nas diversas juntas do robô.robô. Estas oscilações são avaliadas por um software que determina se o movimento está correto Estas oscilações são avaliadas por um software que determina se o movimento está correto ou
ou incincorreorreto. to. Se Se estestiveiver r incincorreorreto, to, o o progprogramrama a altaltera era os os pesopesos s atratribuibuídoídos s às às divdiversaersass variáveis e tenta novamente. A rede neural se reconfigura dinamicamente e seleciona o variáveis e tenta novamente. A rede neural se reconfigura dinamicamente e seleciona o movimento mais apropriado. Os pesquisadores enfatizam que o cerne da tecnologia está movimento mais apropriado. Os pesquisadores enfatizam que o cerne da tecnologia está nes
nessa sa recrecononfifigurguraçação ão didinânâmimica ca e e não não sisimpmplelesmsmenente te na na alalteteraçração ão dodos s pepesossos. . EsEstata reconfiguração permite o aprendizado de uma enorme gama de movimentos complexos. reconfiguração permite o aprendizado de uma enorme gama de movimentos complexos.
O
O enfenfoqoque ue adadototadado o resresulultotou u em em umuma a sisigngnifificicatativiva a redreduçução ão do do tatamamanho nho dodo programa
programa destinado destinado a a controlar controlar os os movimentos movimentos do do robô, robô, tendo tendo apenas apenas dez dez por por cento cento dodo código de um programa convencional. O tempo de aprendizado também caiu para algo em código de um programa convencional. O tempo de aprendizado também caiu para algo em torno de 10
torno de 10 a 30 a 30 por cento do tempo anteriormenpor cento do tempo anteriormente exigido, considte exigido, considerando-se um robô comerando-se um robô com 20 juntas móveis. Isto torna o robô capaz de se adaptar e reagir instantaneamente às 20 juntas móveis. Isto torna o robô capaz de se adaptar e reagir instantaneamente às situações mutáveis de um ambiente real.
situações mutáveis de um ambiente real. Pa
Para ra fafacicililitatar r o o dedesensenvolvolvivimementnto o de de momovivimementntos os espespececífíficicos, os, a a ememprpresaesa desenvolveu também uma linguagem de computador para a programação de redes neurais. desenvolveu também uma linguagem de computador para a programação de redes neurais. A
A lilingnguauagegem m esestatará rá emembubutitida da no no rorobôbô, , popodedendndo o seser r ututililizizadada a popor r ususuáuáririos os nãnãoo especializados em dinâmica e redes neurais para gerar os movimentos desejados.
especializados em dinâmica e redes neurais para gerar os movimentos desejados.
66..
C
CO
ON
NC
CL
LU
USSÕ
ÕE
ESS
Neste
Neste trabalho trabalho apresentamos apresentamos uma uma sub-área sub-área da da Inteligência Inteligência Artificial: Artificial: RedesRedes Neurais Artificiais.
Neurais Artificiais.
Procuramos por meio de idéias e conceitos básicos explanar o desenvolvimento e o Procuramos por meio de idéias e conceitos básicos explanar o desenvolvimento e o ap
desenvolvimento destes tipos de rede, a modelagem da arquitetura é um processo custoso desenvolvimento destes tipos de rede, a modelagem da arquitetura é um processo custoso por demandar de especialistas que nem
por demandar de especialistas que nem sempre estão disponíveis.sempre estão disponíveis.
A principal vantagem é que esse tipo de algoritmo passa a ser gerado com pouca A principal vantagem é que esse tipo de algoritmo passa a ser gerado com pouca ou quase nenhuma intervenção humana, criando sistemas autônomos que possam tomar ou quase nenhuma intervenção humana, criando sistemas autônomos que possam tomar suas próprias decisões baseados em experiências anteriores.
suas próprias decisões baseados em experiências anteriores.
77..
RE
REFE
FERE
RENC
NCIA
IAS
S BI
BIBL
BLIO
IOGR
GRÁF
ÁFIC
ICAS
AS
SANTOS, Davi Trindade. 2004. Sistemas Inteligentes Híbridos: Como Combinar SANTOS, Davi Trindade. 2004. Sistemas Inteligentes Híbridos: Como Combinar Redes Neurais Artificiais, Lógica Nebulosa e Algoritmos Genéticos.
Redes Neurais Artificiais, Lógica Nebulosa e Algoritmos Genéticos.
SILVA, Flavio de Almeida. Redes Neurais Hierárquicas para Implementação de SILVA, Flavio de Almeida. Redes Neurais Hierárquicas para Implementação de
BARRETO, Jorge M. Introdução às Redes Neurais Artificiais. BARRETO, Jorge M. Introdução às Redes Neurais Artificiais. DESCHAMPS, Fernado. Redes Neurais Artificias – Fundamentos DESCHAMPS, Fernado. Redes Neurais Artificias – Fundamentos www.inovacaotecnologica.com.br