Você está na página 1de 52

REDES NEURAIS ARTIFICIAIS

RNA ou ANN

tatuape noite
cc20unip@hotmail.com
cc1p202018@gmail.com
carlos.menta@aluno.unip.br
cc20unip@hotmail.com
adrianne.oliveira@aluno.unip.br
PaulaAVadao@gmail.com
Tatuapé manhã

Tatuapé
gustavo_h.enrique@hotm
ail.com
Anchieta:
turmadacomputacao2018
@gmail.com
tem da norte aqui
martins0712@hotmail.com
Norte

2
Modelos ou paradigmas de IA

▪ Algoritmos Genéticos

▪ Programação Evolutiva

▪ Lógica Fuzzy

▪ Sistemas Baseados em Conhecimento ou SE

▪ Raciocínio Baseado em Casos

▪ Redes Neurais Artificiais (RNA ou ANN)

3
Sumário
▪ Introdução
▪ Inspiração biológica
▪ Histórico
▪ Neurônio artificial
▪ Treinamento do neurônio
▪ Redes de neurônios
▪ Treinamento da rede
▪ Aplicações
▪ Extração de regras
4
Introdução

5
Inteligência Computacional
A Inteligência Computacional busca, através de
técnicas inspiradas na Natureza, o desenvolvimento
de sistemas inteligentes com capacidade de imitar
aspectos do comportamento humano, tais como:
aprendizado,
percepção,
raciocínio,
evolução e
adaptação.

6
Redes Neurais Artificiais (RNA)
Definições:

1. Técnica inspirada no funcionamento do cérebro,


onde neurônios artificiais, conectados em rede, são
capazes de aprender e de generalizar.

2. Técnica de aproximação de funções por regressão


não linear.

7
Capacidade de Generalização
Isso significa que se a rede aprende a lidar com um
certo problema, ou seja, for treinada a resolve-lo, e,
se lhe é apresentado um problema similar, mas não
exatamente o mesmo, isto é, um problema não
explorado no treinamento, ela tende a reconhecer
esse novo problema, oferecendo a mesma solução
(generalização).

8
Aproximador de funções
▪ A característica mais relevante das redes neurais
é a sua habilidade de aproximar qualquer função
contínua ou não contínua com um grau de
exatidão desejado.

▪ Esta habilidade as tornam úteis na modelagem de


sistemas não lineares.

9
Mapeamento Entrada-Saída
para Aproximação de Funções

▪ Objetivo da Aprendizagem: predizer o


comportamento de uma função g(∙) dado um
número finito (desejável pequeno) de pares
entrada-saída (x, d).

10
Inspiração biológica

11
Inspiração biológica
Inspiração biológica
Os principais componentes dos neurônios são:

▪ Os dentritos, que tem por função receber os estímulos


transmitidos por outros neurônios;

▪ O corpo de neurônio, também chamado de soma, que é


responsável por coletar e combinar informações vindas de
outros neurônios;

▪ O axônio que é constituído de uma fibra tubular que pode


alcançar até alguns metros e é responsável por transmitir
os estímulos para outras células.
Inspiração biológica
▪ As sinapses são as conexões entre neurônios. Elas
conectam dentritos com axixônios.

▪ Em média, cada neurônio forma entre mil e dez mil


sinapses.

▪ O cérebro humano possui cerca de 1011 neurônios, e o


número de sinapses é de mais de 1014, possibilitando a
formação de redes muito complexas.

14
Inspiração biológica

15
Histórico

Em 1943, o neurofisiologista Warren McCulloc e o


matemático Walter Pitts propuseram um modelo de neurônio
bastante simplificado, mas muito poderoso.

Nesse modelo, um neurônio é composto essencialmente por


duas unidades: uma parte integradora e um detector de
limiar, como indicado na figura 1.

16
Histórico

Figura 1. Modelo simplificado de neurônio proposto


por Warren McCulloch e Walter Pitts. Fonte. ROJAS,
1996 (com adaptações).
Histórico

Na figura 1, x1, x2,..., xN representam entradas


(potencialmente vindas de outros neurônios) e a função g(x1,
x2,..., xN) representa a parcela integradora do neurônio: ela
recebe N entradas x1, x2,..., xN e as transforma em um único
número (um limiar).

Depois disso, a função f() é aplicada sobre g, ou seja, f(g(x1,


x2,..., xN)).

Essa função tem a finalidade de retornar o valor zero ou o


valor um, o que indica, respectivamente, o disparo ou não
disparo do neurônio.
18
Histórico
Esse modelo de neurônio é bastante simplificado quando
comparado aos neurônios biológicos.

Neurônios biolóicos não têm normalmente uma saída do tipo


zero ou um, mas disparam o chamado potencial de ação, um
rápido pico de tensão na sua membrana.

Esses picos podem ter diversas frequências e vários modos de


disparo, não sendo apenas um sinal com dois níveis.

É importante mencionar que um neurônio pode se conectar a


vários outros simultaneamente, não apresentando apenas uma
saída (como no exemplo indicado na figura 1).

19
Histórico
Em 1949, o psicólogo Donald Hebb, demostrou que
a capacidade da aprendizagem em redes neurais
biológicas vem da alteração da eficiência sináptica,
isto é, a conexão somente é reforçada se tanto as
células pré-sinápticas quanto as pós-sinápticas
estiverem excitadas;

Hebb foi o primeiro a propor uma lei de


aprendizagem específica para as sinápses dos
neurônios.
20
Histórico

21
Histórico
▪ 1951
▪ Construção do primeiro neuro computador,
denominado Snark, por Mavin Minsky.

▪ O Snark operava ajustando seus pesos


automaticamente.

22
Histórico
▪ 1956

▪ Surgimento das duas abordagens da Inteligência


Artificial:

– Simbólica: tenta simular o comportamento inteligente


humano desconsiderando os mecanismos responsáveis
por tal.

– 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 aprender com seus erros. 23
Histórico
Rosemblatt (1958) mostrou em seu livro (Principles
of Neurodynamics) o modelo dos "Perceptrons".

Nele, os neurônios (Perceptrons) eram organizados


em camada de entrada e saída, onde os pesos das
conexões eram adaptados a fim de se atingir a
eficiência sináptica usada no reconhecimento de
caracteres.

24
Histórico
Em 1960 surgiu a rede ADALINE (ADAptative
LInear NEtwork) e o MADALINE (Many ADALINE),
proposto por Widrow e Hoff.

O ADALINE/MADALINE utilizou saídas analógicas


em uma arquitetura de três camadas.

25
Histórico
• 1969
• Foi constatado por Minsky & Papert que um
neurônio do tipo Perceptron só é capaz de
resolver problemas com dados de classes
linearmente separáveis.

26
Histórico

1960-1970

Muitos historiadores desconsideram a


existência de pesquisa nessa área nos anos 60
e 70.

27
Histórico

1982
Retomada das pesquisas com a publicação dos
trabalhos do físico e biólogo Hopfield relatando a
utilização de redes simétricas para otimização,
através de um algoritmo de aprendizagem que
estabilizava uma rede binária simétrica com
realimentação.

28
Histórico
▪ 1986
▪Rumelhart, Hinton e Williams introduziram o
poderoso método de treinamento denominado
“Backpropagation”.

▪Rumelhart e McClelland escreveram o livro


“Processamento Paralelo Distribuído: Explorações
na Microestrutura do Conhecimento”.

29
Histórico
▪ 1988

▪ Broomhead e Lowe descreveram um


procedimento para o projeto de uma rede neural
(feedforward) usando funções de base radial
(Rede de Base Radial – RBF).

30
Neurônio artificial

Componentes de um neurônio artificial

– As sinapses (entradas), com seus pesos


associados
– A junção somadora; e
– A função de ativação.

31
Função
degrau

32
Neurônio Artificial: Princípio de funcionamento
A operação de um neurônio artificial se resume em:
▪ Sinais são apresentados à entrada (x1 à xm);
▪ Cada sinal é multiplicado por um peso que indica sua
influência na saída da unidade (wk);
▪ É feita a soma ponderada dos sinais que produz um nível
de atividade ou ativação (uk);
▪ A função de ativação f(uk) tem a finalidade de limitar a
saída e introduzir não-linearidade ao modelo.
▪ O bias bk tem o papel de aumentar ou diminuir a influência
do valor das entradas, ou seja, serve para aumentar os
graus de liberdade, permitindo uma melhor adaptação, por
parte da rede neural, ao conhecimento à ela fornecido.
▪ É possível considerar o bias como uma entrada de valor
constante 1, multiplicado por um peso igual a bk.
Neurônio Artificial: Expressão matemática
do neurônio artificial
▪ Matematicamente a saída pode ser expressa por:

ou considerando o bias como entrada de valor x0=1 e


peso wk0=bk,

34
Neurônio Artificial: Funções de ativação

35
Função de ativação tangente hiperbólica

(a) (b)
Tangente hiperbólica (a) e sua derivada (b). 36
Função de ativação logística (sigmóide)

(a) (b)
Sigmóide (a) e sua derivada (b). 37
Função de ativação semi-linear

(a) (b)
Função de ativação semi-linear (a) e sua derivada (b). 38
Perceptron de limiar
▪ O perceptron de limiar é chamado separador
linear
– Porque traça um plano entre os pontos de entrada
onde a saída é zero ou um. O bias é usado como
limiar, ou seja, é o valor a partir do qual a saída do
neurônio assume os valores “o” ou “1”.

– Funções linearmente separáveis (a) e (b)


39
Arquitetura de um Perceptron de limiar

40
Perceptron de limiar: treinamento
Exemplo: um neurônio para a função AND de 2 entradas
X Y S

0 0 0

0 1 0

1 0 0

1 1 1

Inicia-se o neurônio com os pesos 0.5 e 0.6 para as duas


entradas, e -0.3 para o limiar (w0 ou bias). Isso é equivalente à
equação:
u = 0.5 x1 + 0.6 x2 - 0.3 x0

onde x0 é a entrada estável sempre igual a 1 (entrada do bias).

Assim, a saída y deve disparar quando u >= 0).


41
Perceptron de limiar: treinamento

u = 0.5 x1 + 0.6 x2 - 0.3 x0


x1 x2 u y a saída é 1 para os padrões 0 1,
1 0 e 1 1.
0 0 -0.3 0
Deseja-se que a saída seja 1
0 1 0.3 1 somente para o padrão 1 1 (AND).
1 0 0.2 1 42
Passos na aplicação do algoritmo AND
u = 0.5 x1 + 0.6 x2 - 0.3 x0

Inicio 🡪 w1 = 0.5 w2 = 0.6 w0 = -0.3


Entrada 0 0 u = - 0.3 y = 0 correta
Entrada 0 1 u = 0.3 y = 1 incorreta

Correção: reduzir w0 e w2 de 0.1 🡪 w1 = 0.5 w2 = 0.5 w0 = -0.4


Entrada 1 0 u = 0.1 y = 1 incorreta

Correção: reduzir w0 e w1 de 0.1 🡪 w1 = 0.4 w2 = 0.5 w0 = -0.5


Entrada 1 1 u = 0.4 y = 1 correta
Entrada 0 0 u = - 0.5 y = 0 correta
Entrada 0 1 u= 0 y = 1 incorreta

Correção: reduzir os pesos de 0.1 🡪 w1 = 0.4 w2 = 0.4 w0 = -0.6


Entrada 1 0 u = - 0.2 y = 0 correta
Entrada 1 1 u = 0.2 y = 1 correta
Entrada 0 0 u = -0.6 y = 0 correta
Entrada 0 1 u = - 0.2 y = 0 correta
Fim w1 = 0.4 w2 = 0.4 w0 = 43
-0.6
Perceptron: Resultado do aprendizado

44
A reta 0.4 x1 + 0.4 x2 - 0.6 = 0 separa os pontos 00, 01 e
10, do ponto 11.
45
Passos na aplicação do algoritmo OR
Inicio w 1 = 0.5 w2 = 0.6 w0 = -0.3
Entrada 0 0 u = - 0.3 y=0 correta
Entrada 0 1 u = 0.3 y=1 correta
Entrada 1 0 u = 0.2 y=1 correta
Entrada 1 1 u = 0.8 y=1 correta
Fim w 1 = 0.5 w2 = 0.6 w0 = -0.3

46
No caso do XOR, não existe uma única reta que divide os
pontos (0,0) e (1,1) para um lado, e (0,1) e (1,0) do outro
lado.

Função xor:

Conclui-se que um neurônio do tipo Perceptron não


implementa uma função ou-exclusivo (constatado por Minsky
& Papert, em 1969). 47
Exemplo: um neurônio para a função XOR

48
Algoritmo de treinamento do Perceptron
Classificação de padrões
Para classificação de padrões de entrada como
pertencentes ou não a uma dada classe,
considere o conjunto de treinamento formado por
N amostras {x1,d1}, {x2,d2}, ..., {xN,dN},
onde xj é o vetor de entradas e dj a saída
desejada (classe), que em notação vetorial tem-se
{X,d}, onde:

49
50
Aprendizagem de Perceptrons
▪ O algoritmo

– Executa os exemplos de treinamento através da rede;


– Ajusta os pesos depois de cada exemplo para reduzir o
erro;
– Cada ciclo através dos exemplos é chamado de época;
– As épocas são repetidas até que se alcance algum
critério de parada.
– Em geral, quando as alterações dos pesos entre épocas forem
mínimas.

51
Se os padrões de entrada forem linearmente
separáveis, o algoritmo de treinamento possui
convergência garantida, isto é, tem capacidade
para encontrar um conjunto de pesos que
classifica corretamente os dados.

52

Você também pode gostar