redes neurais artificiais (rna)paginapessoal.utfpr.edu.br/kathya/disciplinas... · redes neurais...

Post on 05-Jun-2020

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

Capacidade de Generalização

Isso significa que se a rede aprende a lidar com um certo problema, e lhe é apresentado um similar, mas não exatamente o mesmo, ela tende a reconhecer esse novo problema, oferecendo a mesma solução.

Redes Neurais Artificiais (RNA)

Devido à sua estrutura, as Redes Neurais Artificiais são bastante efetivas no aprendizado de padrões a partir de dados:

•não-lineares,

•incompletos,

•com ruído e até

•compostos de exemplos contraditórios.

Inspiração biológica

O neurônio biológico

• Os dendritos tem por função, receber os estímulos transmitidos pelos outros neurônios;

• O corpo de neurônio, também chamado de soma, é responsável por coletar e combinar informações vindas de outros neurônios;

• E finalmente o axônio, protegido por uma bainha de mielina, o canal de saída do neurônio, é responsável por transmitir os estímulos para outros neurônios ou músculos.

O neurônio biológico

O neurônio biológico

O fluxo da informação ocorre sempre no sentido:

Dendritos - Corpo celular - Axônio

Cérebro humano

O neurônio biológico

A chegada de um trem de pulso no botão sináptico localizado na região terminal do axônio provoca a liberação de transmissores na fenda sináptica.

Sinapses podem ser excitatórias (facilitam a passagem do potencial de ação) ou inibitórias (inibem a passagem do potencial de ação).

O neurônio biológico

Neurônios podem se conectar com os músculos ...

O neurônio biológico

Neurônios podem se conectar com os órgãos sensoriais...

O neurônio biológico

• Há cerca de 100 bilhões deles no cérebro e na coluna vertebral.

• A maioria deles está localizado no córtex cerebral, o córtex é identificado popularmente como massa cinzenta.

• O córtex existe apenas nos cérebros de mamíferos.

• O córtex é a estrutura responsável pelas habilidades cognitivas superiores, tais como memória, raciocínio lógico, linguagem, consciência, dentre outras..

O neurônio biológico

• 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.

Neurônio artificial

O neurônio McCulloch-Pitts (MP)

• Modelo matemático de um neurônio biológico proposto em

W.S. McCulloch and W. Pitts (1943). “A logical calculus of the ideas immanent nervous activity”, Bulletin of Mathematical Biophysics, vol.5, p. 115-133

• É bom lembrar que todo modelo é apenas uma aproximação do fenômeno ou objeto real cujas funcionalidades se pretende estudar.

“All models are wrong, but some are useful.”

George E. P. Box

• Assim, o neurônio MP é uma aproximação útil do neurônio real, pois serve até hoje como bloco construtivo básico de algoritmos de redes neurais

O neurônio McCulloch-Pitts (MP)

• Na construção do neurônio MP se está interessado em modelar aspectos ligados ao Processamento da Informação em um neurônio biológico.

• Entende-se por processamento da informação os caminhos e etapas pelas quais passam os potenciais de ação que trafegam de: – um neurônio a outro neurônio,

– receptores sensoriais a um neurônio, ou

– de um neurônio a um atuador (e.g. músculo).

• Assim, devemos desenvolver modelos matemáticos que representem os dendritos, as sinapses, o corpo celular e o axônio.

O neurônio McCulloch-Pitts (MP)

O neurônio McCulloch-Pitts (MP)

• Passo 2: A força (ou eficiência) das conexões sinápticas de uma certa árvore dendrítica é modelada como um fator (peso sináptico), cujo papel é modular o fluxo de sinais passando por uma certa árvore dendrítica.

O neurônio McCulloch-Pitts (MP)

Passo 3: A função do corpo celular de realizar o balanço ou acúmulo energético é modelada por uma operação de somatório sobre as entradas moduladas pelos pesos sinápticos.

𝑢(𝑡): somatório ou ativação 𝑢(𝑡) = 𝑤1𝑥1 +…+𝑤𝑝 𝑥𝑝 − 𝜃

Onde:

𝑥1, 𝑥2, … 𝑥𝑝: entradas

𝑤0, 𝑤1, …𝑤𝑝: pesos sinápticos

𝑤0 = 𝜃

𝑥0: Limiar (bias)

O neurônio McCulloch-Pitts (MP)

• Passo 4: O axônio é modelado como uma chave ON-OFF, que indica se o neurônio respondeu ao estímulo atual. Em outras palavras, se houve ou não o envio de um potencial de ação.

w1

w2

wp

f(u)

x1

x2

xp

u(t)

w0 = theta

y(t)sinais

de

entrada

pesos

sinápticos

junção

aditiva

função

de ativação

saída

w0x0=-1

Bias: entrada fixa

𝑥1, 𝑥2, … 𝑥𝑝: entradas

𝑤0, 𝑤1, …𝑤𝑝: pesos sinápticos

𝑢(𝑡) = 𝑤1𝑥1 + …+𝑤𝑝 𝑥𝑝 − 𝜃

𝑓 = função degrau

𝑦(𝑡) = 𝑓 𝑢 = 1, se 𝑢 > 0

𝑦 𝑡 = 𝑓 𝑢 = 0, caso contrário

Modelo completo do neurônio de McCulloch-Pitts

Componentes do neurônio artificial

• Neurônio Biológico possui de forma resumida: – Dendritos,

– Sinapses,

– Corpo celular

– Axônio

• Neurônio Artificial possui: – As conexões (arestas ponderadas),

– As sinapses (entradas),

– A junção somadora, e

– A função de ativação.

Princípio de funcionamento

A operação de um neurônio artificial se resume em:

• Sinais são apresentados à entrada (xj à xp); • Cada sinal é multiplicado por um peso que indica sua influência na saída da

unidade (w);

• É feita a soma ponderada dos sinais que produz um nível de atividade (u);

• A função de ativação f(u) tem a função de limitar a saída e introduzir não-linearidade ao modelo.

• O bias tem o papel de aumentar ou diminuir a influência do valor das entradas.

• É possível considerar o bias como uma entrada de valor constante 1 ( excitatória) ou -1 (inibitória), multiplicado por um peso igual a .

Princípio de funcionamento

Seja o neurônio artificial mostrado na figura a seguir.

𝑥1, 𝑥2: entradas

𝑤1, 𝑤2: pesos sinápticos

𝜃 : Limiar (bias)

𝑢: ativação

A ativação (𝑢) do neurônio é dada por:

𝑢 = 𝑤1𝑥1 +𝑤2𝑥2 − 𝜃 (1)

Princípio de funcionamento

A equação (1) define um plano em (𝑥1, 𝑥2, 𝑢)

O tracejado indica onde o plano está abaixo do plano (𝑥1, 𝑥2).

Princípio de funcionamento

• Para fins de classificação basta trabalhar no plano (𝑥1, 𝑥2).

• Isto equivale a fazer 𝑢 = 0 na equação do plano, ou seja:

𝑢 = 𝑤1𝑥1 +𝑤2𝑥2 − 𝜃 = 0

• Assim, a equação da reta no plano (𝑥1, 𝑥2) é dada por:

𝑥2 = (𝑤1/𝑤2)𝑥1 + 𝜃/𝑤2 (2)

Princípio de funcionamento

• A equação (2) define a reta em (𝑥1, 𝑥2) apresentada a seguir:

Princípio de funcionamento

• Assim, um neurônio pode ser usado para separar com eficiência duas classes que estejam bem isoladas uma da outra.

• O perceptron de limiar é chamado separador linear

Exemplos de Funções Lógicas

• Exemplo 1(1): Implementando funções lógicas (AND, OR, NOT).

Representação do Problema (Função OR)

Exemplos de Funções Lógicas

• Exemplo 1(2): É possível encontrar uma reta que separe os pontos da Classe 1 (y=1) dos da Classe 2 (y=0)? SIM.

Observação: Na verdade, é possível encontrar infinitas retas que separam as duas classes.

Exemplos de Funções Lógicas

• Exemplo 2: O seguinte neurônio implementa a porta OR.

𝑤1 = 𝑤2 = 1 e 𝜃 = 0,5

𝑦 = 1 se u > 0

𝑦 = 0 se u ≤ 0

Exemplos de Funções Lógicas

• Exemplo 3: O seguinte neurônio implementa a porta AND.

𝑤1 = 𝑤2 = 1 e 𝜃 = 1,5

𝑦 = 1 se u > 0

𝑦 = 0 se u ≤ 0

Exemplos de Funções Lógicas

• Exemplo 4: O seguinte neurônio implementa a porta NOT.

𝑤1 = −1 e 𝜃 = −0,5

𝑦 = 1 se u > 0

𝑦 = 0 se u ≤ 0

Resumo

• O neurônio MP pode ser usado para implementar as portas lógicas AND, OR e NOT porque estas, do ponto de vista geométrico, podem ser interpretadas como um problema de classificação binária (duas categorias).

• O neurônio MP, do ponto de vista geométrico, pode ser interpretado como uma reta (2D), ou um plano (3D) ou ainda um hiperplano (> 3D), que é usado para separar duas categorias de dados distintas.

• Na implementação das portas lógicas AND, OR e NOT, os valores dos pesos e do limiar foram determinados pelo projetista com base na análise geométrica do problema.

Resumo

• Como fazer com que o neurônio MP determine de forma automática os valores dos pesos e do limiar para um problema específico?

• Para que o neurônio MP seja capaz de aprender sozinho a resolver um problema de classificação é necessário dotá-lo de uma regra de aprendizagem.

• Uma regra de aprendizagem nada mais é do que uma equação que altera os valores dos pesos e do limiar em função dos erros cometidos durante a execução da tarefa de classificação.

Rede Perceptron Simples (PS)

• A rede PS é considerada o primeiro algoritmo de redes neurais artificiais.

• A rede PS foi proposta por Frank Rosenblatt em 1958.

F. Rosemblat (1958). “The Perceptron: A probabilistic model for iformation storage

and organization in the brain”, Psychological Review, v.65, p.386-408.

Perceptron Simples = Neurônio de MP + Regra de Aprendizagem

• A regra de aprendizagem é o mecanismo que torna a rede Perceptron Simples um dispositivo inteligente.

Rede Perceptron Simples (PS)

Regra de Aprendizagem do Perceptron

• A atualização do peso depende do erro e da entrada:

𝑤 𝑡 + 1 = 𝑤 𝑡 + 𝑒 𝑡 𝑥 𝑡

• A fim de tornar o processo de ajuste do vetor 𝑤 mais estável, é comum introduzir na equação anterior um fator 𝜼, chamado de passo de aprendizagem:

𝑤 𝑡 + 1 = 𝑤 𝑡 + 𝜂𝑒 𝑡 𝑥 𝑡

Onde: 0 < 𝜂 ≪ 1

Rede Perceptron Simples (PS)

Perceptron Simples = Neurônio MP + Regra de Aprendizagem

𝑤 𝑡 + 1 = 𝑤 𝑡 + 𝜂𝑒 𝑡 𝑥 𝑡

𝑤 𝑡 + 1 = 𝑤 𝑡 + 𝜂𝑒 𝑡 𝑥 𝑡 e 0 < 𝜂 ≪ 1

Algoritmo do Perceptron Simples

1. Início (t=0) 1.1 – Definir valor de 𝜂 entre 0 e 1.

1.2 – Iniciar 𝑤(0) com valores nulos ou aleatórios.

2. Funcionamento 2.1 – Selecionar vetor de entrada 𝑥(𝑡).

2.2 – Calcular ativação 𝑢(𝑡).

2.3 – Calcular saída 𝑦(𝑡).

3. Treinamento 3.1 – Calcular erro: 𝑒 𝑡 = 𝑑 𝑡 − 𝑦(𝑡)

3.2 – Ajustar pesos via regra de aprendizagem.

3.3 – Verificar critério de parada. 3.3.1 – Se atendido, finalizar treinamento.

3.3.2 – Caso contrário, fazer t=t+1 e ir para Passo 2.

Treinamento do neurônio

Treinamento

Treinamento

Treinamento

Treinamento

Treinamento

Treinamento

Treinamento

Treinamento

Classificação de múltiplas classes

Classificação de múltiplas classes

Classificação de múltiplas classes

Classificação de múltiplas classes

Classificação de múltiplas classes

Classificação de múltiplas classes

Classificação de múltiplas classes

Dicas para Projetar uma Rede PS

Dicas para Projetar uma Rede PS

Adaline

• Na mesma época em que Rosenblatt propôs o Perceptron,

Widrow e Hoff propuseram o algoritmo dos mínimos

quadrados (regra delta) para a rede Adaline (Adaptive Linear

Element), similar ao Perceptron, porém com função de

ativação linear ao invés de função degrau.

•O algoritmo backpropagation é uma generalização da regra

delta.

• O objetivo do algoritmo de treinamento é minimizar o erro

quadrático médio (MSE) entre a saída de rede e a saída

desejada.

Adaline

Rede com várias entradas/

saídas

O i-ésimo neurônio

da rede

Adaline

n

i

ii

n

i

i ydeE1

2

1

2 )(

• O gradiente de 𝑬, também denominado de índice de

desempenho ou função custo, fornece a direção de

crescimento mais rápido de 𝑬.

• Portanto, a direção oposta ao gradiente de 𝑬 é a direção de

maior decrescimento.

• A soma dos erros quadráticos para um determinado

padrão é dada por:

onde 𝑤𝐼𝐽 é o peso específico para o neurônio pós-

sináptico 𝐼, da entrada 𝐽 (𝑥𝑗 com 𝑗 = 1,…𝑝), e é a taxa

de aprendizagem (𝑥0 é o bias) .

Adaline

IJ

IJIJw

Eww

O erro pode ser reduzido ajustando-se os pesos da

rede de acordo com:

Adaline

2

1

2 )()( II

p

i IJ

ii

IJIJ

ydw

ydww

E

JII

IJ

III

IJ

j j

jIjjIjII

xydw

yyd

w

E

xwxwffy

)(2)(2

)()(

.xw

Como

Como 𝑤𝐼𝐽 influencia apenas o neurônio 𝐼 ,

Regra delta

• Portanto a regra delta para o Adaline resume-se

em:

• Onde 𝑏𝐼 é o ajuste do peso para o bias (𝑤𝑖0) com 𝑥0 = 1.

)(

)(

IIII

JIIIJIJ

ydbb

xydww

Aprendizagem com Momento

• Aprendizagem com momento usa uma

memória (incremento anterior) para aumentar

a velocidade e estabilizar a convergência

• Equação de correção dos pesos:

Observação: é a constante de momento,

normalmente é ajustada entre 0,5 e 0,9

1 1 nwnwnxnenwnw ijijjiijij

Exemplo de Momento

• Momentum

Problemas não linearmente separáveis

Problemas não linearmente separáveis

Problemas não linearmente separáveis

Problemas não linearmente separáveis

Problemas não linearmente separáveis

Problemas não linearmente separáveis

Problemas não linearmente separáveis

Problemas não linearmente separáveis

Problemas não linearmente separáveis

Problemas não linearmente separáveis

Problemas não linearmente separáveis

Rede Perceptron Multicamadas

Rede Perceptron Multicamadas

Rede Perceptron Multicamadas

Rede Perceptron Multicamadas

Rede Perceptron Multicamadas

Rede Perceptron Multicamadas

Rede Perceptron Multicamadas

Definindo uma Rede MLP

• Arquitetura da rede: número de camadas entrada, saída e

ocultas.

• Função de ativação: sigmoidal, tangente hiperbólica.

• Regra de aprendizagem

• A quantidade de neurônios na camada de entrada e saída

é dada pelo problema a ser abordado.

Definindo uma Rede MLP

• A quantidade de neurônios nas camadas ocultas pode

ser determinado usando heurísticas.

• Deve-se lembrar que: – Um número grande de neurônios na camada oculta aumenta a

capacidade de mapeamento não-linear da rede, mas,

– Se o número for muito grande, o modelo pode se sobre-ajustar

aos dados e diz-se que a rede está sujeita ao sobre-treinamento

(overfitting).

– Uma rede com poucos neurônios na camada oculta pode não ser

capaz de realizar o mapeamento desejado, o que é denominado

de underfitting.

– O underfitting também pode ser causado quando o treinamento é

interrompido de forma prematura.

Definindo uma Rede MLP

• Normalizar os dados de entrada:

– É importante trabalhar com valores de entrada que estejam

contidos num intervalo de [0, 1]para evitar a saturação da função

de ativação (p.e. sigmoidal).

• Inicialização aleatória dos pesos: – Inicializar os pesos e bias a valores randômicos entre -0.5 e 0.5,

ou entre -1 e 1.

– Os valores dos pesos não devem muito grandes nem muito

pequenos, pois, podem gerar dois problemas: saturar as funções

de ativação ou tornar o aprendizado muito lento respectivamente.

Definindo uma Rede MLP

• Treinamento e validação da rede – Os dados dividem-se em 3 grupos: 70% para treinamento, 15%

para teste e 15% para validação.

– Os dados de teste permitem evitar o overfitting, são utilizados

durante o treinamento.

– Os dados de validação são utilizados após o treinamento,

permitem verificar a eficiência da rede.

top related