0% acharam este documento útil (0 voto)
14 visualizações74 páginas

Automação e Controle - Inteligência Artificial

Enviado por

vb2x5yff4s
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
14 visualizações74 páginas

Automação e Controle - Inteligência Artificial

Enviado por

vb2x5yff4s
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Automação

Introdução a Inteligência Artificial


Redes neurais
1. Introdução ao estudo de RNA –sua origem e inspiração biológica
2. Características gerais das RN e descrição do neurônio artificial
3. Aprendizado de RN e tipos de Aprendizado
4. Algoritmo de Aprendizado e Topologias básicas
5. Algumas Aplicações das RNA
Redes neurais
Inteligência Computacional
• Área da ciência que estuda a teoria e a aplicação de técnicas inspiradas na
Natureza, como Redes Neurais, Lógica Nebulosa e Computação Evolucionária.

Redes Neurais
• Redes Neurais são modelos computacionais não lineares, inspirados na estrutura e
operação do cérebro humano, que procuram reproduzir características humanas,
tais como: aprendizado, associação, generalização e abstração.

• Devido à sua estrutura, as Redes Neurais são bastante efetivas no aprendizado de


padrões a partir de dados não-linares, incompletos, com ruído e até compostos de
exemplos contraditórios.
Redes neurais
• Redes Neurais Artificiais são técnicas computacionais que apresentam um modelo
matemático inspirado na estrutura neural de organismos inteligentes e que
adquirem conhecimento através da experiência. Uma grande rede neural artificial
pode ter centenas ou milhares de unidades de processamento; já o cérebro de um
mamífero pode ter muitos bilhões de neurônios.

• O sistema nervoso é formado por um conjunto extremamente complexo de


células, os neurônios. Eles têm um papel essencial na determinação do
funcionamento e comportamento do corpo humano e do raciocínio. Os neurônios
são formados pelos dendritos, que são um conjunto de terminais de entrada, pelo
corpo central, e pelos axônios que são longos terminais de saída.
Redes neurais
• Modelos do cérebro e do sistema nervoso
• Alto grau de paralelização
• Processamento de informação muito mais como e cérebro do que como um
computador serial
• Aprendizagem
• Princípios muito simples
• Comportamentos muito complexos
• Aplicações
• Poderosos solucionadores de problemas
• Modelos biológicos
Redes neurais biológicas
• Pombos como especialistas em arte (Watanabe et al. 1995)
• Experimento:
• Pombos em uma caixa de Skinner
• São apresentadas pinturas de dois diferentes artistas (e.g. Chagall / Van Gogh)
• Pombos recebem uma recompensa quando apresentados a um particular
artista (p. e. Van Gogh)

Exemplo retirado de Torsten Reil


[Link]@[Link]
Redes neurais biológicas
Redes neurais biológicas
• Pombos foram capazes de discriminar entre Van Gogh e Chagall com acurácia de
95% (quando foram apresentados a pinturas com as quais haviam sido treinados)
• Para pinturas dos mesmos artistas que ainda não haviam sido vistas pelos pombos
a discriminação ficou em 85%

• Pombos não memorizam simplesmente as pinturas


• Eles podem extrair e reconhecer padrões (o ‘estilo’)
• Eles generalizam a partir do que já viram para fazer predições

• Nisto é que as Redes Neurais (biológicas ou artificiais) são boas (ao contrário dos
computadores convencionais)
Pra que?
• Para resolver um problema no qual exista incerteza sobre um dado fenômeno
• O usuário levanta informações que julga poder ajudar na solução do problema ou
redução da incerteza
Exemplo
Interpretação da incerteza
• Pode-se imaginar que cada atributo seja uma coordenada do ponto representativo
da amostra, ou instância, em um hiper-espaço cuja dimensão é o número de
atributos.
Classificação e Regressão
• Classificação é a atribuição de casos ou instâncias de dados a uma ou mais
possíveis classes. Em Redes Neurais frequentemente existe um elemento de
processamento por classe.
• Regressão é a estimativa do valor de uma variável baseada em exemplos.
Classificação
Regressão
Análise de agrupamentos
• O objetivo da Análise de Agrupamentos é agrupar objetos físicos ou abstratos em
classes de objetos similares, chamados de agrupamentos (clusters).
Por que?
• Porque há necessidade de uma metodologia para balizar as tentativas de obtenção
de uma solução aproximada.
• Existem outras metodologias:
• Estatística
• Lógica Fuzzy
• Médias móveis
• KNN
• A metodologia de Redes Neurais é intelectualmente fascinante (e dá bons
resultados).
Constituintes da célula neuronal
Neurônio biológico

Topologia de rede
Constituintes da célula neuronal
Redes neurais
• Os neurônios se comunicam através de sinapses. Sinapse é a região onde dois
neurônios entram em contato e através da qual os impulsos nervosos são
transmitidos entre eles. Os impulsos recebidos por um neurônio A, em um
determinado momento, são processados, e atingindo um dado limiar de ação, o
neurônio A dispara, produzindo uma substância neurotransmissora que flui do
corpo celular para o axônio, que pode estar conectado a um dendrito de um outro
neurônio B.
• O neurotransmissor pode diminuir ou aumentar a polaridade da membrana pós-
sináptica, inibindo ou excitando a geração dos pulsos no neurônio B. Este processo
depende de vários fatores, como a geometria da sinapse e o tipo de
neurotransmissor.
Redes neurais
• Uma rede neural artificial é composta por várias unidades de processamento, cujo
funcionamento é bastante simples. Essas unidades, geralmente são conectadas por
canais de comunicação que estão associados a determinado peso. As unidades
fazem operações apenas sobre seus dados locais, que são entradas recebidas pelas
suas conexões. O comportamento inteligente de uma Rede Neural Artificial vem
das interações entre as unidades de processamento da rede.
Características
• São modelos adaptativos treináveis
• Podem representar domínios complexos (não lineares)
• São capazes de generalização diante de informação incompleta
• Robustos
• São capazes de fazer armazenamento associativo de informações
• Processam informações Espaço/temporais
• Possuem grande paralelismo, o que lhe conferem rapidez de processamento
O Neurônio Artificial
McCulloch era um psiquiatra e um neuroanatomista e Pitts era um matemático
que foi trabalhar com McCulloch na Universidade de Chicago, ambos fazendo
parte de um dos primeiros grupos do mundo dedicado ao estudo da Biofísica
Teórica, criado por Nicolas Rashevsky.

Em 1943, o conhecimento sobre os neurônios biológicos era muito limitado. As


bases iônicas e elétricas da atividade neuronal eram ainda incertas, porém já se
sabia da existência de potenciais de ação e da sua natureza “tudo-ou-nada”.

McCulloch e Pitts propuseram um modelo de sistema neural em que as unidades


básicas, os neurônios, são bastante simples no seu funcionamento.
O Neurônio Artificial
[Link]ótese do modelo de MCP

1. A atividade de um neurônio é binária, ou seja, a cada instante o neurônio, ou está disparando


(atividade = 1) ou não está disparando (atividade = 0);

2. A rede neural é constituída por linhas direcionadas, com pesos ajustáveis, ligando os neurônios.
Essas linhas (inspiradas nas sinapses) podem ser excitatórias ou inibitórias (positivas ou
negativas);

3. Cada neurônio tem um limiar fixo Ɵ, de maneira que ele só dispara se a entrada total chegando a
ele, num dado instante, for maior ou igual a Ɵ,;

4. A chegada de uma única sinapse inibitória num dado instante evita o disparo do neurônio,
independentemente do número de sinapses excitatórias que estejam chegando conjuntamente
com a sinapse inibitória;
A saída y do neurônio de McCulloch-Pitts pode ser equacionada por:

Saída da Limiar (também chamado de bias)


Rede Função Porta do
de ativação Limiar
( w1) (w2) θ = 16 Yd Erro = Yr-Yd
X1 X2 Conceitos
Yr = 2 se f(
Yr = 1 se f(
122.77 106.29 S1 = 12 1 1 0
a. Pesos
110.01 111.08 S2 = 10 1 1 0 b. Somatório
121.87 104.21 S3 1 1 0 (porta do limiar)
125.21 114.94 S4 1 1 0 c. Limiar
124.02 110.23 S5 1 1 0
d. Função de
125.52 105.07 S6 1 1 0
117.28 106.8 S7 1 1 0
ativação
112.16 112.43 S8 1 1 0 e. Saída de rede
123.35 118.12 S9 1 1 0 f. Saída desejada
117.76 110.81 S10 = 15 1 1 0 g. Erro – EQM
138.55 120.98 S11 = 22 2 2 0
148.3 111.9 S12 = 25 2 2 0
139.58 129.88 S13 2 2 0
Aprendizado
132.88 110.37 S14 2 2 0
EQM=0
133.51 121.71 S15 2 2 0
136.33 112.81 S16 2 2 0
134.78 124.79 S17 2 2 0
145.28 138.13 S18 2 2 0
154.31 114.1 S19 2 2 0
136.43 115.29 S20 = 28 2 2 0
Aplicação HardLin

Entrada (real)
Saída desejada(binária)

Porta de Limiar

Saída da rede

Pesos Limiar
Organização em camadas
Organização em camadas
• Usualmente as camadas são classificadas em três grupos:
• 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.
Processos de Aprendizado
• A propriedade mais importante das redes neurais é a habilidade de aprender de
seu ambiente e com isso melhorar seu desempenho.
• Isso é feito através de um processo iterativo de ajustes aplicado a seus pesos, o
treinamento.
• O aprendizado ocorre quando a rede neural atinge uma solução generalizada
para uma classe de problemas.
Algoritmo de Aprendizado
• algoritmo de aprendizado é um conjunto de regras bem definidas para a solução
de um problema de aprendizado.
• Existem muitos tipos de algoritmos de aprendizado específicos para
determinados modelos de redes neurais,
• estes algoritmos diferem entre si principalmente pelo modo como os pesos são
modificados.
Algoritmo de Aprendizado
• Aprendizado Supervisionado, quando é utilizado um agente externo que indica à
rede a resposta desejada para o padrão de entrada;

• Aprendizado Não Supervisionado (auto-organização), quando não existe uma


agente externo indicando a resposta desejada para os padrões de entrada;

• Reforço, quando um crítico externo avalia a resposta fornecida pela rede.


Algoritmo de Aprendizado
Conexão entre neurônios
• As conexões entre neurônios são ponderadas
• Uma conexão virtual especial chamada de conexão ou entrada de polarização
serve para implementar o conceito de valor de patamar
• Em um neurônio com n conexões de entrada o valor da entradas na sinapse de
ordem 𝑖 é 𝑥𝑖
• O valor da entrada de polarização é sempre 𝑥0 = 1
Função de base somadora
A função somadora pode ser apresentada como:

n
I = h( x) =  wi .xi
i =0
Função de ativação
• Funções de ativação (de patamar ou funções de transferência) transformam
números reais em números entre 0 e 1 ou entre +1 e -1
• Mapeiam o domínio da ativação do neurônio no domínio de saída
• Funções usuais de patamar
• linear
• rampa
• Degrau
• Sigmoides:
• logística
• tangente hiperbólica
Função de ativação

Funções de Ativação

1,5

0,5
Logistica
0 Tanh
-4 -2 0 2 4 RAQ
-0,5

-1

-1,5
Função de ativação
• Funções de ativação (de patamar ou funções de transferência) transformam
números reais em números entre 0 e 1 ou entre +1 e -1
• Mapeiam o domínio da ativação do neurônio no domínio de saída
• Funções usuais de patamar
• linear
• rampa
• Degrau
• Sigmoides:
• logística
• tangente hiperbólica
Aprendizagem não supervisionada
• Na presença apenas de estímulos de entrada a rede se organiza internamente
• Cada EP responde de maneira mais intensa a um grupo diferente de estímulos
• Estes grupos dos conjuntos de estímulos representam distintos conceitos do
mundo real
• Podem ser usados os seguintes tipos de aprendizagem:
• Hebbian (devida a “Hebb”)
• Hopfield
• Aprendizagem Competitiva
Regra de Hebb
• “Quando um axônio de uma célula A está próximo o suficiente de excitar a célula
B e repetidamente ou persistentemente participa da ativação desta, um processo
de crescimento ou mudança metabólica ocorre em uma ou ambas as células, de
tal forma que a eficiência de A em ativar B é aumentada”
• Portanto, a cada apresentação do padrão a saída fica mais reforçada

Em termos práticos:
• Se dois neurônios em cada lado de uma sinapse (conexão) são ativados
simultaneamente (sincronamente), então a “força” daquela sinapse deve ser
aumentada
• Se dois neurônios em cada lado de uma sinapse são ativados assincronamente,
então aquela sinapse dever ser enfraquecida
Aprendizagem de Hopfield
• A aprendizagem de Hopfield baseia-se no sistema olfativo de uma lesma de
jardim modelado em um sistema computacional de elementos de
processamento interconectados buscando a energia mínima para o sistema.

• O funcionamento dos neurônios é uma operação de patamar e a memória


consiste em informação armazenada nas conexões entre neurônios.
Aprendizagem supervisionada
• Para cada estímulo a rede se adapta para gerar uma saída próxima do estímulo
de saída
• Pode ser dos tipos:
• Regra Delta
• Gradiente Descendente
Regra Delta
• Algoritmo que fornece convergência para o único conjunto de pesos que dá o
menor erro médio quadrático entre as saídas desejadas e obtidas para o
conjunto do exemplo
Regra Delta
• Baseia-se na modificação dos pesos das conexões para reduzir a diferença (delta)
entre a saída desejada e a saída real de um elemento de processamento
• As modificações minimizam o erro médio quadrático da Rede
Regra do Gradiente Descendente
• Semelhante à Regra Delta pois também usa a derivada da função de
transferência para modificar o erro delta
• A diferença é o uso de uma constante de proporcionalidade da taxa de
aprendizagem juntada ao fator final de modificação
• Converge mais lentamente que a Regra Delta
Regra do Gradiente Descendente
REDES NEURAIS SUPERVISIONADAS
Perceptron
• Proposto por Rosenblatt (1959) para reconhecimento de letras maiúsculas do
alfabeto
• É uma rede direta consistindo de unidades binárias, que aprendem a classificar
padrões através de aprendizado supervisionado
• Introduz formalmente uma lei de treinamento
• Modela o neurônio fazendo a soma ponderada de suas entradas e enviando o
resultado 1 se a soma for maior do que algum resultado inicial ajustável (caso
contrário, ele envia 0)
Perceptron
• Rosenblatt (1962) provou que:
• Uma rede Perceptron é capaz de Aprender tudo que puder Representar
• Representação refere-se à habilidade do sistema neural de representar
(simular) uma função específica.
• Aprendizado refere-se à existência de um procedimento sistemático de
aquisição de conhecimento (ajuste dos pesos), de forma a produzir a função
desejada
Perceptron
• O Perceptron, proposto por Rosenblatt, é composto pelo neurônio de McCulloch-
Pitts, com Função de Limiar, e Aprendizado Supervisionado. Sua arquitetura
consiste na entrada e uma camada de saída.
Perceptron: Problemas
Minsky & Papert provaram (Perceptrons 1969) que existem séries restrições sobre o
que as redes Perceptron são capazes de Representar

Por exemplo, as redes Perceptron NÃO são capazes de Representar a função OU-
Exclusivo
Perceptron: Problemas
Só funciona com classes linearmente separáveis
Perceptron: Solução
Retro propagação
• Perceptrons multi camadas ou Multi-layer perceptrons (MLP) começaram a ser
desenvolvidos para ocupar o espaço deixado pelas limitações dos perceptrons

• Werbos (1974) criou o algoritmo de backpropagation ou retro propagação que


deu origem a uma rede neural de três camadas
Retro propagação
• Quando a saída gerada por uma rede neural não coincide com o estímulo de
saída existe um erro que necessita ser corrigido

• Redes de Retro propagação enfrentam este problema com a "Atribuição de


Créditos", supondo que todos os EP e suas conexões devem partilhar a
responsabilidade pelo erro

• A correção é feita propagando o erro para trás (para correção das conexões entre
EP) pelas conexões da camada anterior até atingir a camada de entrada
Retro propagação
• Redes de Retro Propagação possuem uma camada de entrada, uma camada de
saída e uma ou mais camadas intermediárias

• Cada camada é completamente conectada à camada sucessora


Mecanismo de Retro Propagação
• Propagar a entrada através das camadas ocultas até a saída
• Determinar o erro na camada de saída
• Propagar os erros de volta até a camada de entrada

A Retro Propagação não é utilizada na recuperação, apenas no treinamento


Mecanismo de Retro Propagação
• Algoritmo de retro propagação

Function signals
Forward Step

Error signals
Backward Step

• Ajusta os pesos da rede neural para minimizer o MSE


Correção do erro - Aprendizagem
• Seja 𝑡𝑘 a k-th saída alvo (desejada) e 𝑧𝑘 a k-th saída computada para k = 1, …, c
• Sejam w os pesos da rede
• Seja h a soma ponderada de entradas de um neurônio
d d
h j =  xi w ji + w j 0 =  xi w ji  wtj .x
i =1 i =0
 d

zk = f   w ji xi + w j 0  = f (hk ) (k = 1,..., c)
 i =1 
• O erro da rede ou erro de treinamento é dado por:
1 c 1
J ( w ) =  ( t k − z k )2 = t − z
2

2 k =1 2
• A minimização do erro só pode ser feita atuando sobre os pesos das conexões da
rede
Correção do erro - Aprendizagem
• Para minimizar o erro é preciso igualar a zero sua derivada em relação aos
pesos
• Erro é função da soma ponderada h e da função de ativação f; h é função dos
pesos
• Derivando parcialmente (camada de saída)

J J hk hk
= . = − k
wkj hk wkj wkj
• k mostra a variação do erro com a unidade (neurônio)

J
k = −
hk
Atualização dos pesos das conexões
• A minimização do erro só pode ser feita atuando sobre os pesos das conexões da
rede
• Depois de cada computação de saída de ordem m o erro de treinamento deve ser
minimizando modificando esse pesos para a computação de ordem m+1
• 𝑤(𝑚 + 1) = 𝑤(𝑚) + Δ𝑤(𝑚)
• Incremento de peso para redução do erro de treinamento, que deve ser
minimizado
• 𝜂 é o coeficiente de aprendizagem c
1 1
J ( w ) =  ( t k − zk ) = t − z
2 2

2 k =1 2
J
wki = −
wki
Atualização dos pesos das conexões
Atualização dos pesos das conexões
Algoritmo
• 1º Passo: inicializar pesos (Wi) e threshold(limiar – W0).
• 2º Passo: calcular (para cada j) a soma do limiar (  WiXij). Aplicar a função de ativação e obter a
saída de rede (Yrj).
• 3º Passo: estimar o erro dado pela diferença entra a saída desejada (Ydj) e a saída de rede (Yrj). 𝑗
= Ydj - Yrj
• 4º Passo: atualizar o peso (Regra de aprendizagem). Esta atualização é feita através da fórmula:
Wi( t + 1 ) = Wi ( t ) + j Xij,

Critérios de parada:
ep(t) : atingir o número máximo de épocas
TEA(t): for inferior a taxa de erro mínima previamente estabelecida
Exemplo
Exemplo
Exemplo
Exemplo
Exemplo
Exemplo
Modelo Adaline
• A Adaline (Adaptative Linear Neuron) foi desenvolvida por Widrow e Hoff em 1959/60.
• Foi criada depois do aparecimento do Perceptron e é um modelo clássico de neurônio que
permite saídas tanto discretas (0 e 1) quanto contínuas e pode ser usado para tarefas de
classificação e ajuste de modelo
• Para estas tarefas, o Adaline apresenta uma regra de aprendizado (Regra Delta) que envolve um
método de regressão linear cujo princípio é reduzir a cada exemplo (ou observação), a distância
entre a saída de rede e a desejada, por meio de adaptações graduais dos pesos do Perceptron.
Modelo Adaline: Arquitetura

Erro = yd - yr

Erro = yd – u

u = potencial de ativação = Σwixi-θ


Número de neurônios por camada
• É geralmente definido EMPIRICAMENTE.
• Deve-se ter cuidado para:
• não utilizar nem unidades demais, o que pode levar a rede a memorizar os dados de
treinamento (overfitting), ao invés de extrair as características gerais que permitirão
a generalização
• Não utilizar um número muito pequeno, que pode forçar a rede a gastar tempo em
excesso tentando encontrar uma representação ótima.
Overfitting
Overfitting: acontece quando um no. excessivo de neurônios é usado!
• Depois de um certo ponto do treinamento, a rede piora ao invés de melhorar.
• Rede “memoriza” padrões de treinamento, incluindo todas as suas peculiaridades (ruído).

• Exemplos de soluções:
• Encerrar treinamento cedo (early-stopping).
• Adoção das técnicas de pruning (eliminação de pesos e nodos irrelevantes).

Você também pode gostar