Redes Neuronais Artificiais , uma Introdução

Post on 29-Oct-2021

0 views 0 download

Transcript of Redes Neuronais Artificiais , uma Introdução

“Redes Neuronais Artificiais,uma Introdução”

Controlo Avançado

Vamos apresentar uma introdução e alguns conceitos básicos de Redes Neuronais Artificiais.

Esta é uma área emergente e, juntamente com outras áreas como:

a “Lógica Fuzzy”,os “Algoritmos Genéticos”,

etc.,

fazem parte das técnicas de uma teoria mais abrangente conhecida como

“Inteligência Artificial”.

Existem uma série de problemas que os seres vivos, e os seres humanos em particular, parecem resolver de maneira inata.

o processamento de imagens,

o reconhecimento da fala,

a recuperação de informações de maneira associativa,

a filtragem adaptativa de sinais,

o aprendizado de novos factos e ideias,

etc.

Como os cérebros dos seres vivos parecem ser adequados para resolver estes problemas não algorítmicos, então teve-se a ideia de buscar uma abordagem que procure se inspirar no funcionamento do cérebro para solução de problemas (dessa classe de problemas).

São exemplos disto:

As Redes Neuronais Artificiais (RNA) são técnicas que se inspiram no funcionamento do nosso cérebro (ou nossos neurónios).

As RNAs são uma ferramenta que tem sido aplicada em áreas tão diversas quanto:

robótica; controlo de processos; telecomunicações; medicina; economia; física da alta energia; ciência dos materiais; geologia;

transporte; defesa / militar; indústria aeronáutica; indústria aeroespacial; desporto; entretenimento; etc.

Representação de um neurónio.

O Neurónio Biológico

Os neurónios estão localizados no córtex cerebral, a substância cinzenta do cérebro.

Perpendicularmente às camadas, existem também neurónios que ligam as várias camadas entre si.

Os neurónios estão portanto interligados uns aos outros formando uma rede.

Os neurónios podem receber entradas de milhares de outros neurónios e podem transmitir sinais atravessando as camadas do córtex.

O cérebro humano contém aproximadamente 1011 células nervosaselementares chamadas de neurónios.

O córtex cerebral humano é um tecido formado por 6 camadas distintas de neurónios.

A informação que é processada no corpo do neurónio gera novos impulsos nervosos que são transmitidos a outros neurónios através do axónio até as dendrites dos neurónios seguintes. O ponto de

contacto entre a terminação axónicade um neurónio e a dendrite de outro é chamado de “sinapse”.

Normalmente esta conexão não é física, mas eletroquímica (o axónioe a dendrite não se tocam).

Neurónio

sinapses

sinapses

sinapses

sinapses

Cada neurónio está ligado a quase tantos outros neurónios quantas as suas sinapses (cerca de 4 mil); o que implica que nenhum neurónio está a mais de um número pequeno de sinapses de distância de qualquer outro neurónio nocórtex cerebral.

Ou seja, cada um dos neurónios está conectado a cerca de quatro mil outros neurónios, e portanto, estima-se que o cérebro humano tenha entre 1014 a1015

conexões (sinapses).

Anatomia do neurónio

Tipos de neurónios

É pelas sinapses

que os neuróniosse unem funcional-mente, formando “redes neuronais”.

As sinapses funcionam como válvulas, e são capazes de controlar a transmissão de impulsos, isto é, o fluxo da informação entre os neuróniosna redes neuronais.

O efeito das sinapses é variável, e é esta variação que dá ao neuróniocapacidade de adaptação.

Este sistema simples é responsável pela maioria das funções realizadas pelo cérebro humano.

A capacidade de realizar funções complexassurge com a operação em paralelo de todos os 10

11 neurónios do nosso cérebro.

Dependendo do tipo de neurotransmissor predominante na sinapse, o potencial da membrana da dendrite é

aumentado(‘sinapse excitadora’ ou ‘sinapse excitatória’);

ou

diminuído(‘sinapse inibidora’ ou ‘sinapse inibitória’).

Os sinais recebidos pelas dendrites de vários neurónios são propagados até o corpo desses neurónios onde são aproximadamente somados.

A propagação de um impulso elétrico ao longo de uma dendrite ou de um axónio se dá através da alteração da concentração dos iões Na+ (Sódio) e K+ (Potássio) em ambos os lados da membrana.

Se essa soma, em cada neurónio, for acima de um determinado limite, o corpo do neurónio gera um pulso que é transmitido pelo axónio aos outros neurónios.

Depois que esse pulso é gerado no corpo do neurónio, existe um período refractário quando o neurónio não gera outro pulso, mesmo que receba uma grande excitação.

O período refractário que dura entre 3 e 4 ms determina a máxima frequência de disparo do neurónio (a frequência de trabalho de um neurónio é de 250 Hz).

A velocidade de propagação do pulso eléctrico gerado no corpo de um neurónio ao longo do axónio varia entre 0,5 e 130 m/s, dependendo do diâmetro do axónio.

Redes Neuronais Artificiais: Evolução Histórica

As Redes Neuronais Artificiais são modelos computacionais baseados naestrutura e no funcionamento do sistema nervoso humano e têm se mostrado eficientes na resolução de muitos problemas de difícil soluçãopara a computação convencional.

Ao contrário dos modelos computacionais comummente utilizados, em que um programa precisa ser escrito para resolver um dado problema, as RedesNeuronais Artificiais aprendem a resolver problemas através da sua interação com o meio externo, de maneira semelhante ao que ocorre no aprendizado de seres humanos.

O final da década de 80 marcou o ressurgimento da área de RedesNeuronais Artificiais, também conhecida como “conexionismo” ou

sistemas de processamento paralelo e distribuído.

Esta forma de computação não algorítmica é caracterizada por sistemas que, em algum nível, relembram a estrutura do cérebrohumano.

Por não ser baseada em regras ou programas, a computação neuronal se constitui em uma alternativa à computação algorítmica convencional.

Redes Neuronais Artificiais são portanto sistemas paralelos distribuídos compostos por unidades de processamento simples (neurónios) que calculam determinadas funções matemáticas (normalmente não lineares).

Tais unidades são dispostas em uma ou mais camadas e interligadas por um grande número de conexões (sinapses), geralmente unidirecionais.

Na maioria dos modelos estas conexões (sinapses) estão associadas a pesos, os quais armazenam o conhecimento representado no modelo e servem para ponderar as entradas recebidas por cada neurónio da rede.

O funcionamento destas redes é portanto inspirado em uma estrutura física concebida pela natureza: o cérebro humano.

O primeiro modelo artificial de um neurónios biológico foi fruto do trabalho pioneiro de Warren McCulloch e Walter Pitts, ambos do M.I.T., em 1943.

Walter Pitts(norte americano, 1923-1969)

Warren Sturgis McCulloch(norte americano, 1899-1969)

McCulloch, psiquiatra e neuroanatomista, dedicou 20 anos à tentativa de representar um evento no sistema nervoso.

Pitts, um matemático, juntou-se a ele em 1942.

Em 1943 apresentam uma discussão sofisticada de redes lógicas de neurónios e novas ideias sobre máquinas de estados finitos, elementos de decisão de limiar lineares e representações lógicas de várias formas de comportamento e da memória.

O primeiro trabalho de que tem ligação direta com a aprendizagem foi apresentado pelo neuropsicológico Donald Olding Hebb, em 1949.

Donald Olding Hebb(canadiano, 1904-1985).

Suas ideias não eram completamente novas, mas Hebbfoi o primeiro a propor uma lei de aprendizagemespecífica para as sinapses dos neurónios.

Ele mostrou como a plasticidade da aprendizagem de Redes Neuronais Arti-ficiais é conseguida através da variação dos pesos de entrada dos neurónios.

Ele propôs uma teoria para explicar o aprendizado em neurónios biológicos baseado no reforço das ligações sinápticas entre neurónios excitados.

A regra de Hebb, como é conhecida a sua teoria na comunidade de RedesNeuronais Artificiais, foi interpretada do ponto de vista matemático, e é hoje utilizada em vários algoritmos de aprendizagem.

Hebb estabeleceu a base para todas as regras de aprendizado.

Bernard (Bernie) Widrow(norte americano, 1929 - )

Marcian (Ted) E. Hoff(norte americano, 1937 - )

Mais tarde, em 1960, Bernard Widrow e Marcian E. Hoff Jr., este mais conhecido como Ted Hoff, sugeriram uma regra de aprendizagem, conhecida como regra delta de Widrow-Hoff, que é ainda hoje bastante utilizada.

Em 1956 no Darthmouth College nasceram os dois paradigmas da Inteligência Artificial, a simbólica e o conexionista.

A Inteligência Artificial simbólica tenta simular o comportamento inteligente humano desconsiderando os mecanismos responsáveis por tal.

Já a Inteligência Artificial conexionista acredita que construindo-se um sistema que simule a estrutura do cérebro, este sistema apresentará inteligência, ou seja, será capaz de aprender, assimilar, errar e aprendercom seus erros, etc.

Foi nesta linha da Inteligência Artificial conexionista que as Redes Neuronais Artificiais evoluíram. Rosenblatt descreveu uma topologia de uma Rede Neuronal Artificial, estruturas de ligação entre os neurónios e, o mais importante, propôs um algoritmo para treinar a rede para executar determinados tipos de funções.

Frank Rosenblatt(norte americano, 1928-1971)

Marvin Lee Minsky

(norte americano, 1927 - 2016).

Seymour Papert

(sul africano, 1928 - 2016)

Em 1982, John Joseph Hopfield publicou um paper que chamou a atenção para as propriedades associativas das Redes Neuronais Artificiais.

John Joseph Hopfield(norte americano1933 - )

A Rede de Hopfield é conhecida como o padrão das RedesNeuronais Artificiais que apresentam realimentação.

Essas redes são constituídas por camadas de neuróniostotalmente interconectados; isto é, cada neuróniosconecta-se a todos os outros e pode também receber estímulos de entrada.

o avanço da tecnologia, sobretudo da microelectrónica, que vem permitindo a realização física de modelos de neurónios e sua interconexãode um modo antes impensável;

o facto de a escola simbolista, a despeito de seu sucesso na solução de determinados tipos de problemas, não ter conseguido avanços significativos na resolução de alguns problemas simples para um ser humano.

Dois outros factores foram responsáveis pela interesse na área:

Redes Neuronais Artificiais são estruturas computacionais que consistem num grande número de unidades processadoras simples, chamadas neurónios, interconectados numa forma inspirada nos neurónios do cérebro e as suas ligações (sinapses)

Terminologia básica

Numa Rede Neuronal Artificial um grupo de neurónios de entrada recebe informações do mundo exterior.

Estes neurónios de entrada podem, por exemplo, estar conectados a outrosneurónios, ditos ocultos (ou escondidos, ou intermediários) que, por sua vez, estarão conectados a outros neurónios de saída.

O conjunto dos neurónios que recebem sinais de excitação é chamado de camada de entrada.

Os neurónios que têm a sua saída como saída da rede pertencem a camada de saída.

Uma Rede Neuronal Artificial com camadas de entrada, ocultas e apenas uma saída e as conexões (ou sinapses) entre os neuróniosde uma camada e os da seguinte.

Uma Rede Neuronal Artificial com camadas de entrada, ocultas e apenas uma saída e as conexões (ou sinapses) entre os neuróniosde uma camada e os da seguinte.

A forma com que os neurónios estão conectados é dita como sendo a topologia (ou a arquitectura) da rede.

Numa Rede Neuronal Artificial os neurónios podem estar conectados uns aos outros de muitas formas diferentes (não necessariamente em camadas).

Uma RedeNeuronal Artificial com neurónios nãodispostos em camadas e as conexões (ou sinapses) dos neuróniosentre si.

Ou seja, os neurónios podem estar dispostos em vários tipos de topologia.

Numa Rede Neuronal Artificial cada conexão, também chamada de sinapse, tem um peso associado.

Dependendo do valor destes pesos, os neurónios de saída são mais ativados ou menos.

Através de um processo de treino (também chamado de aprendizagem), estes pesos são ajustados de modo que a rede aprenda a responder adequadamente a estímulos de entrada.

Uma Rede Neuronal Artificial com camada de entrada, camadas ocultas e camada de saída (neste caso com mais de uma saída) e os pesos nas conexões(sinapses).

As Redes Neuronais Artificiais são modelos indicados para:

tratar de sistemas abertos ou complexos, pouco conhecidos e que não podem ser adequadamente descritos por um conjunto de regras ou equações.

aplicações que requeiram tolerância a falhas, deteção de padrões, diagnóstico, abstração ou generalização, onde haja dados com ruído, incompletos ou distorcidos.

Numa Rede Neuronal Artificial,

o conhecimento está armazenado nas suas conexões,

ou, equivalentemente:

o conhecimento está distribuído pelos seus pesos.

a capacidade de “aprender” através de exemplos e de “generalizar” o que aprende de forma a reconhecer situações similares que nunca haviam sido apresentadas como exemplo;

o bom desempenho em tarefas mal definidas, onde falta o conheci-mento explícito sobre como encontrar uma solução;

a elevada imunidade ao ruído, ou seja, o desempenho da rede não entra em colapso em presença de informações falsas ou ausentes, como é o caso nos programas convencionais, apenas vai piorando de forma gradual;

não requer o conhecimento dos eventuais modelos matemáticos dosdomínios de aplicação; e

não há necessidade de se determinar a priori quais variáveis ou parâmetros são importantes, pois as redes tendem a extrair informações da estatística dos dados.

Algumas das características que tornam a metodologia das Redes Neuronais Artificiais interessantes e eficientes do ponto de vista da solução de problemas:

Há vários tipos de Redes Neuronais Artificiais, cada uma indicada para certo tipo de aplicação.

Entretanto, todas possuem o seguinte:

elementos processadores distribuídos (neurónios); as conexões (sinapses) entre eles (isto é, a sua topologia); e uma técnica de determinação dos pesos.

As Redes Neuronais Artificiais operam em duas fases:

a fase de determinação dos pesos; e a fase de produção de resultados.

A fase de determinação dos pesos corresponde ao treino (ou aprendizagem).

Na fase de produção de resultados a rede pode reconhecer ou classificar padrões, resolver problemas de optimização, processos indutivos, processos dedutivos, etc.

O modelo de neurónio artificial

No modelo, o nível de activação σié definido da seguinte maneira:

onde wij

∈R é o peso atribuído àquela entrada do neurónio i cuja origem

é a actividade do neurónio j.

Modelo do neurónio artificial de McCulloch & Pitts.

Este peso wij

simula a sinapse entre dois neurónios e quando estes não estão conectados assume o valor zero.

Uma sinapse excitadora tem o seu peso positivo,

e uma sinapse inibidora tem o seu peso negativo,

A actividade do neurónios i é dada por

A função f, chamada função de activação.

No modelo McCulloch & Pitts era a função degrau.

onde α é o limite de disparo.

Mas a função degrau é uma função descontínua e produz apenas dois valores de saída, em geral 0 e 1.

Com a função degrau a soma ponderada dos sinais de entrada é comparada com um limiar.

Se a soma for maior que este limiar o neurónio dispara, isto é, gera um sinal de saída, caso contrário não gera.

Ou seja, com esta função o neurónio transmite apenas dois estados na sua saída (tudo/nada, sim/não).

Entretanto, desde então, ao longo dos anos, muitas outras funções de transferência têm sido usadas para melhorar o desempenho do modelo McCulloch & Pitts.

Por exemplo as funções abaixo, do tipo piecewise-linear (isto é, contínuas e lineares por partes):

ou, funções do tipo sigmóide:

ou, funções do tipo tangente hiperbólica:

Estas funções (seja do tipo piecewise-linear, sigmóide ou tangente hiperbólica), ao contrário da função degrau, são contínuas, não decrescentes e suaves (diferenciáveis em todos ou quase todos os pontos).

Cada neurónio gera uma saída a partir da combinação de sinais de entrada recebidos de outros neurónios com os quais está conectado, ou a partir de sinais externos.

Um Modelo mais actual neurónio artificial

O estado do neurónio é representado pelo seu sinal de saída v.

Para um neurónio i, o sinal de entrada total ui

é obtido pela

combinação linear dos sinais recebidos:

onde, uié a entrada total do neurónio i;

vjé a saída do neurónio j;

wij

é o peso da conexão entre os neurónio i e j; λ

ié o termo de bias do neurónio i.

função f do tipo sigmóide, que transforma o sinal de

entrada u em sinal de saída v = f(u).

Assim, a saída de um neurónio qualquer é dada por:

v = f(u).

Conexões (sinapses)

As conexões, que correspondem às sinapses no modelo biológico do neurónio, podem ser

unidirecionais ou bidirecionais.

Além disso os neurónios podem estar conectados de forma total ou parcial.

conexão parcial: em geral há um sentido de fluxo de dados (ou seja, não há ciclos), e os neurónios estão distribuídos em camadas. São as Redes Neuronais Diretas (topologia “Feedforward”).

conexão total: não há sentido de propagação dos sinais, uma vez que todos os neurónios estão conectados entre si em ambos os sentidos. São as Redes Neuronais Recorrentes ou com realimentação(topologia “Feedback”).

uma Rede Neuronalcom topologia “Feedforward” (caso de um neuróniode saída)

uma Rede Neuronal com topologia “Feedforward” (caso de vários neurónios na saída).

Nas Redes Neuronais Diretas (topologia “Feedforward”) ou Perceptron multicamadas temos que:

os neurónios estão dispostos em camadas podendo ter uma ou mais camadas ocultas;

as camadas ocultas contêm neurónios que não estão diretamente conectados à entrada ou à saída da rede;

o fluxo de dados é da camada de entrada para a de saída;

os neurónios de uma camada estão completamente conectadosapenas aos neurónios da camada seguinte; e

não há conexão dentro das camadas.

Redes de Hopfield, uma topologia com realimentação total. Os neurónios estão conectados entre si em ambos os sentidos.

As Redes de Hopfield, são um exemplo de Rede Neuronal Recorrente ou com realimentação (topologia “Feedback”).

Redes de Hopfield com neurónios totalmente interconectados, onde cada neurónioconecta-se (ou realimenta) a todos os outros e pode receber estímulos de entrada.

Redes de Hopfield comconexões dentro de uma mesma camada

Redes Hopfield com 3 neurónios. Cada neurónio está conectado com todos os outros.

Redes Hopfield com 3 neurónios e com conexões de cada neurónioconsigo próprio, gerando um auto-estímulo.

Redes com uma topologia não planar, i.e., tridimensional.

Tridimensional é como realmente são os neurónios no cérebro humano.

Um exemplo

Rede Neuronal Artificial com apenas 1 neurónio: com 2 sinais de entrada e 1 de saída.

O único neurónio de saída calcula a soma ponderada dos sinais recebidos, subtrai um limiar λ e passa o resultado por uma função

de activação discreta com valores –1 e +1.

Esta Rede Neuronal deve decidir se um padrão de entrada pertence a uma classe A ou a uma classe B.

A decisão a ser tomada é associar a resposta +1 com sinais de entrada da classe A e –1 com sinais de entrada da classe B.

Neste caso, uma reta separa as duas regiões

Uma maneira de visualizar o comportamento da rede é construindo um mapa de decisão no hiperespaço dos sinais de entrada.

Isto é, construir regiões de decisão que determinam quais sinais de entrada correspondem à classe A e quais à classe B.

A Rede Neuronal Artificial forma 2 regiões separadas por um híper-plano. Neste caso:

o espaço de sinais de entrada é o R2 e,

o híper-plano de separação das regiões é uma linha reta.

A equação desta reta que divide as 2 regiões depende dos valores dos pesos.

A equação da fronteira de decisão:

O procedimento original para ajustes destes pesos foi desenvolvido por Rosenblatt em 1958.

Esta Rede Neuronal Artificial pode separar um híper-plano em dois.

Entretanto, não pode formar regiões mais complexas.

É suficiente para resolver problemas linearmente separáveis, como este (classificação de A ou B).

Rede Neuronal Artificial

com 1 neurónio

um exemplo da região de decisãomais complexa possível de se obter neste caso.

Entretanto, isto não é suficiente para resolver problemas mais complexos, como o operador XOR (“OU exclusivo”) ou conjuntos côncavos, que não são linearmente separáveis.

problemas com conjuntos côncavosproblema XOR

Este tipo de rede só consegue definir um híper-plano de separação.

Considerando uma rede de 3 camadas: 1 de entrada, 1 oculta e 1 de saída.

já se consegue formar regiões convexas.

Estas regiões terão mais lados conforme o número de neurónios da rede aumente.

Exemplo de região de decisãomais complexa possível de se obter neste caso.

Rede Neuronal Artificialcom 3 camadas, 3 neurónios.

Rede Neuronal Artificialcom 3 camadas, 3 neurónios.

já consegue resolver a questão do XOR (“OU exclusivo”), mas, dependendo do número de neurónios na camada oculta, pode ter dificuldades para resolver alguns problemas com conjuntos côncavos.

suficiente para resolver o problema XOR.

mas não resolve alguns problemas com conjuntos côncavos.

Uma rede com 4 camadas(1 de entrada, 2 ocultas e 1 de saída).

já consegue formar regiões de decisão bastante complexas.

Região de decisão mais complexa possível de se obter neste caso.

Rede Neuronal Artificialcom 4 camadas, 7 neurónios.

Consegue resolver bem o problema XOR

e resolve também relativamente bem o problemas com conjuntos côncavos.

“Sistema bio regenerativo de apoio de vida” “Advanced system modeling and control of

bio-regenerative life support”

mini ecossistema

a ser criado pela NASApara apoiar viagens espaciais.

Sistema bio regenerativo de apoio de vida

Advanced system modeling and control of bio-regenerative life support

Diagrama esquemático de uma Rede Neuronal Artificial utilizada pela NASA para a modelização e o controlo avançado de um sistema bio regenerativo de apoio de vida para astronautas em viagens espaciais de longa duração.

O cultivo controlado de grãos de soja em câmaras herméticas feito pela NASA na Rutgers University em New Jersey nos Estados Unidos.

“Sistema de reconhecimentode matrículas de veículos”

“System for recognizingcar plates”

“Sistema de reconhecimento de matrículas de veículos”

“Sistema de reconhecimento de matrículas de veículos”

“Wine label recognition”

“Facial recognition”

Biometria

“Fingerprint recognition”

Biometria

“Hand geometry recognition”

Biometria

“Iris recognition”

Biometria

“Image detection”

“Image detection”

Obrigado!

Felippe de Souza

felippe@ubi.pt

Thank you!