Prof. Laurence Rodrigues do Amaral
6 - Redes Neurais Artificiais
Inteligência Artificial
Prof. Laurence Rodrigues do Amaral
Introdução
• Segundo Kohonen (1972), as Redes
Neurais Artificiais (RNAs) são definidas como redes massivamente paralelas e interconectadas, de elementos simples, com organização hierárquica. Estes
elementos devem interagir com objetivos do mundo real da mesma maneira que o sistema nervoso biológico
Prof. Laurence Rodrigues do Amaral
Introdução
• Para Lippmann (1997), as RNAs são sistemas físicos que podem adquirir, armazenar e utilizar conhecimentos
experimentais, que podem alcançar uma boa performance, devido à sua densa
interconexão entre os nós da rede. Elas também são conhecidas por: modelos
conexionistas, modelos de processamento paralelo distribuído e sistemas
Introdução
• Segundo Loesch (1996), as RNAs são sistemas computacionais, de
implementação em hardware e software, que imitam as “habilidades
computacionais” do sistema nervoso
biológico, utilizando, para isso, um grande número de simples neurônios artificiais
Prof. Laurence Rodrigues do Amaral
Introdução
• As Redes Neurais Artificiais (RNAs) foram desenvolvidas nos anos 40, pelo
neurofisiologista McCulloch e pelo matemático Pitts
Walter Pitts Warren McCulloch
Introdução
• As RNAs geraram uma grande expectativa, pois se acreditava que elas seriam capazes de
emular exatamente o comportamento do
cérebro humano, sendo capazes de raciocinar e resolver qualquer tipo de problema
Marvin Minsky
Prof. Laurence Rodrigues do Amaral
Introdução
• Porém, em 1969, Minsk e Papert,
demonstraram sérias limitações desta
teoria e as RNAs ficaram adormecidas até a década de 80, quando voltaram a atrair atenção da comunidade científica, com o surgimento de novos modelos e, desta vez, com um foco mais preciso sobre o tipo de problema que poderiam de fato resolver
Introdução
• Embora as RNAs possam ser usadas para resolver vários problemas práticos, a sua maior utilização é na resolução de
problemas que podem ser classificados como o reconhecimento de padrões, o
que inclui uma ampla gama de aplicações, como: Reconhecimento de voz,
imagens (faces, impressões digitais) e objetos em geral
Prof. Laurence Rodrigues do Amaral
Sistema Neural Biológico
• O sistema nervoso é formado por um conjunto extremamente complexo de
células neuronais que controlam todos os sinais e as ações dos seres vivos
Sistema Neural Biológico
• Os neurônios se comunicam através de sinapses, que é uma região onde dois neurônios se interligam
• Sinais elétricos entram no neurônio pelos dendritos, vindos de outras células e, após serem processados, e atingindo um dado limiar de ação, a célula emite um sinal de saída pelo axônio para outros neurônios da rede
Prof. Laurence Rodrigues do Amaral
Modelo Matemático
de Neurônio
• Com o objetivo de simular o
comportamento do neurônio biológico, McCulloch e Pitts (1943) propuseram o modelo de neurônio artificial
Modelo Matemático
de Neurônio
• Entradas: Ei
• Saída: Y
• Corpo dividido em duas partes – Σ : responsável por somar
Prof. Laurence Rodrigues do Amaral
Modelo Matemático
de Neurônio
• Σ : é responsável por somar o produto das entradas Ei pelos seus respectivos pesos wi
Obs: 1) Além das entradas Ei, também se prevê uma entrada extra, chamada de viés (bias),
que sempre como entrada o valor 1
Modelo Matemático
de Neurônio
• Para a função de transferência ou função de ativação f, existem várias
Prof. Laurence Rodrigues do Amaral
Modelo Matemático
de Neurônio
• Alguns modelos de RNAs dependem da diferenciabilidade da função de
transferência e, neste caso, as funções de transferência mais usadas são
Modelo Matemático
de Neurônio
• A operação de uma unidade de
processamento (neurônio), proposta por
McCulloch e Pitts em 1943, pode ser resumida da seguinte maneira
1. Sinais são apresentados à entrada
2. Cada sinal é multiplicado por um número, ou peso, que indica a sua influência na saída da unidade
3. É feita a soma ponderada dos sinais que produz um nível de atividade
4. Se este nível de atividade exceder um certo limite (threshold) a unidade produz uma determinada resposta de saída
Prof. Laurence Rodrigues do Amaral
Modelo Matemático
de Neurônio
Classificação das
Redes Neurais
• As RNAs podem ser classificadas segundo diferentes critérios:
– Número de camadas de neurônios – Conectividade
– Fluxo dos sinais processados – Modo como é treinada
• Obs: a primeira camada não é uma
camada processadora, mas apenas uma camada distribuidora
Prof. Laurence Rodrigues do Amaral
Classificação das RNAs
- Número de camadas
•Pode ser classificada como: •Duas camadas ou,
Classificação das
Redes Neurais
• Camada de Entrada
– Onde os padrões são apresentados à rede
• Camadas Intermediárias ou Escondidas
– Onde é feita a maior parte do processamento, através das conexões ponderadas; podem
ser consideradas como extratoras de características
• Camada de Saída
– Onde o resultado final é concluído e apresentado
Prof. Laurence Rodrigues do Amaral
Classificação das RNAs
- Conectividade
• Parcialmente ou
• Totalmente conectadas
– Quando todos os neurônios de uma camada estão conectados a todos os neurônios da camada imediatamente à frente
Classificação das RNAs
- Fluxo dos sinais
• Feed-forward (alimentação adiante), sempre da entrada para a saída
• Feed-backward (realimentação), quando a alimentação vem também de neurônios de camadas posteriores
Prof. Laurence Rodrigues do Amaral
Classificação das RNAs
- Treinamento
• O treinamento consiste em apresentar padrões à entrada da rede, para que ela
possa ir modificando seus pesos, de modo que as saídas apresentem uma reposta
adequada quando as entradas receberem valores parecidos, mas não
necessariamente iguais, com os usados no treinamento
Classificação das RNAs
- Treinamento
• Aprendizado Supervisionado
– Quando é utilizado um agente externo que
indica à rede a reposta desejada para o
padrão de saída
• Aprendizado Não-supervisionado
– Quando não existe um agente externo
indicando a reposta desejada para os padrões de entrada
Prof. Laurence Rodrigues do Amaral
Projeto de uma RNA
• Existem várias maneiras de se organizar a estrutura de uma RNA
– Quantidade de camadas – Quantidade de neurônios
– Forma de conexão entre os neurônios
• Devem ser definidos antes do treinamento e, depende do problema a ser resolvido
Projeto de uma RNA
• Exemplo: reconhecimento de padrões, no qual as soluções não são linearmente
separáveis, a rede deve ter, no mínimo, três camadas
Prof. Laurence Rodrigues do Amaral
Projeto de uma RNA
- Número de neurônios por camada
• Na camada de entrada usa-se um neurônio para cada atributo contínuo e no caso de atributos
categóricos, um neurônio para cada valor assumido pelo atributo
• Exemplo, no caso do atributo tempo assumindo os valores: sol, nublado e chuva, recomenda-se usar três atributos: N1, N2 e N3
Projeto de uma RNA
- Número de neurônios por camada
• Para cada camada de saída, quando existirem apenas duas classes, é possível usar somente um neurônio com saídas 0 e 1
• Porém quando houver mais de duas classes, o mais
indicado é também usar um neurônio para cada classe, em que apenas o neurônio correspondente ao número da classe deverá apresentar saída 1, e os demais
devem ter saída 0
• Para a camada oculta não há regra universal para o número de neurônios, porém é muito comum usar a
média geométrica (MG) entre os números de neurônios nas camadas de entrada e saída
Prof. Laurence Rodrigues do Amaral
Projeto de uma RNA
• O projeto de uma RNA é uma tarefa de tentativa e erro, e quando a rede não apresenta um bom desempenho, é
necessário refazer todo o projeto, alterando o número de neurônios,
conexões, taxa de aprendizado, funções de propagação ou ativação, adição de novos parâmetros, entre outros
Projeto de uma RNA
- Treinamento Supervisionado
• A maior parte das RNAs usa esta modalidade que, durante o treinamento, deverá
compreender o padrão embutido nos dados, e posteriormente, deverá ser capaz de generalizar o que aprendeu, estendendo os conceitos para registros que não foram usados no treinamento • De fato, a generalização é uma das mais
importantes capacidades de uma RNA (e de vários outros métodos também)
Prof. Laurence Rodrigues do Amaral
Projeto de uma RNA
- Treinamento Supervisionado
• Rede Perceptron
– Foi criada por Frank Rosenblatt (1928-1971) em 1957 – The Perceptron: A Probabilistic Model for Information
Storage and Organization in the Brain, Cornell
Aeronautical Laboratory, Psychological Review, v65, No. 6, pp. 386-408.
– Trata-se da RNA mais conhecida e, embora, não tenha um grande potencial, o seu estudo se justifica pela sua simplicidade e história
The gravestone of Frank Rosenblatt,
IEEE Frank Rosenblatt Award
Projeto de uma RNA
- Perceptron
Prof. Laurence Rodrigues do Amaral
Projeto de uma RNA
- Perceptron
Projeto de uma RNA
- Treinamento Supervisionado
• Redes Adaline e Madaline
– Utiliza modelo de aprendizado um pouco mais sofisticado que o do Perceptron,
chamado de mínimos quadrados • LMS – Least Mean Squared ou
Prof. Laurence Rodrigues do Amaral
Projeto de uma RNA
• Perceptron consegue distinguir os objetos quando eles pertencem a classes
linearmente separáveis
• Isso gerou muitas críticas às redes neurais e as pesquisas foram
desestimuladas, até que em 1982, o interesse pelas RNAs retornou com a apresentação do trabalho de Hopfield
Projeto de uma RNA
- Backpropagation
• É um algoritmo para correção de erros para redes de neurônios
• Também conhecido como regra delta generalizada • Foi desenvolvido em 1986 por Rummelhart, Hinton e
Williams (aperfeiçoando a idéia do perceptron )
• Algoritmo de treinamento mais usado em redes de múltiplas camadas
• Este algoritmo foi aplicado em uma grande variedade de problemas, como na identificação da estrutura de
proteínas, hifenização de palavras em inglês,
reconhecimento da fala, compressão de imagens e
Prof. Laurence Rodrigues do Amaral
Projeto de uma RNA
Projeto de uma RNA
- Treinamento não-supervisionado
• São fornecidos à RNA apenas os valores dos atributos de entrada, sendo a saída definida pela própria rede
• Tarefas de treinamento
– Supervisionado – classificação de dados – Não-supervisionado – agrupamento ou
clustering
• Em que uma classe deve ser atribuída aos
registros, observando-se apenas o comportamento dos atributos
Prof. Laurence Rodrigues do Amaral
Projeto de uma RNA
- NS – Rede de Kohonen
• Proposta em 1989 por Teuvo Kohonen
– Ganhador do IEEE Frank
Rosenblatt Award Recipients - 2008
• É a mais conhecida entre as RNAs de treinamento não-supervisionado
Projeto de uma RNA
- NS – Rede de Kohonen
• Propõe que, dada uma entrada de dados, o neurônio da camada de saída que
apresentar a maior reposta terá os seus pesos ajustados
• Também sugere que os seus vizinhos sejam ajustados, ainda que em menor intensidade que o neurônio vencedor
Prof. Laurence Rodrigues do Amaral
Memória Associativa
Bidirecional (BAM)
• RNA capaz de guardar informações e, em seguida, pode ser usada para recuperar a informação armazenada
• Uso mais comum: recuperação de sinais (códigos corretores)
• As conexões na BAM são bidirecionais, ou seja, o fluxo passa de uma camada para outra
Rede de Hopfield
• RNA desenvolvida por John J. Hopfield em
1982
– IEEE Frank Rosenblatt Award Recipients
-2009
• Constitui um marco importante na área das RNAs
Prof. Laurence Rodrigues do Amaral
Rede de Hopfield
• Trata-se de uma rede recorrente, que tem como principal característica a capacidade de, a partir de um valor de entrada,
transformá-lo no valor mais parecido com ele, entre todos os valores usados no seu treinamento
• Usada na recuperação de informações corrompidas, tais como: recuperação de sinais de áudio e imagens
Rede de Hopfield
• Possui apenas uma camada de neurônios • O que a diferencia de uma memória
auto-associativa é que ela possui também entradas externas
Prof. Laurence Rodrigues do Amaral