Pós-Graduação em Engenharia de Automação...
-
Upload
truongtram -
Category
Documents
-
view
213 -
download
0
Transcript of Pós-Graduação em Engenharia de Automação...
Introdução● As redes neurais são um tema da computação
altamente inspirada na natureza que nos cerca.
● Durante anos e anos os homens trabalharam para fazer computadores mais rápidos e mais potentes
● Apesar do seu incrível poder computacional estes computadores falhavam em fazer tarefas que uma criança de 3 anos faria imediatamente
● Exemplo: reconhecer uma pessoa ou aprender algo novo só com a experiência.
Introdução● Baseado nisto, resolveu-se então buscar criar um
modelo computacional que emulasse o comportamento do cérebro humano.
● Criaram-se neurônios artifciais extremamente similares aos humanos e interligaram-nos para formar redes que mostraram poder fazer tarefas antes restritas aos cérebros
● Quem sabe assim, poderíamos criar computadores tão inteligentes quanto uma criança de 3 anos de idade?
Introdução
Além disso, os pesquisadores encontraram nas redes neurais outras características semelhantes às do cérebro :
● robustez e tolerância a falhas● flexibilidade● capacidade para lidar com informações ruidosas,
probabilísticas ou inconsistentes● processamento paralelo● arquitetura compacta e com pouca dissipação de
energia
Introdução● Encontrou-se uma arquitetura capaz não só de aprender
como também generalizar. ● Daí podemos entender o frisson do meio científco em
relação a esta área. ● É importante que se entenda que as redes neurais não
são a solução dos problemas computacionais da humanidade.
● Elas nunca superarão as arquiteturas tradicionais no campo da computação numérica, por exemplo.
● Mas em alguns campos elas estão se tornando ferramentas valiosas.
Quando as redes neurais são uteis?● Quando não pudermos ou não soubermos criar uma
solução algoritímica● Quando tivermos muitos exemplos do comportamento
que desejamos.
Isto é, quando quisermos aprender a partir da experiência existente!
● Quando quisermos aprender uma estrutura escondida nos dados.
Histórico das Redes Neurais● McCulloch & Pitts (1943) são conhecidos como os
projetistas da primeira rede neural. ● Muitas de suas iéias ainda são usadas hoje em dia.● Por exemplo, ainda combinamos muitas unidades
simples para obter um grande poder computacional além de nos basearmos também em um threshold de ativação
● A primeira regra de aprendizado foi desenvolvida por Hebb (1949)
Histórico das Redes Neurais● Durante as décadas de 50 e 60 muitos pesquisadores
trabalharam no peceptron com grande afnco e excitação.
● Em 1969, a área sofreu grande impacto e praticamente sumiu devido às descobertas de Minsky & Papert
● Somente nos anos 80, com o algoritmo de aprendizado para treinamento de redes multi-camada (descoberto de forma independente por Parker e LeCun em 1982 e Werbos em 1974) as redes neurais voltaram à moda.
● Hoje em dia, muitos consideram-nas o campo mais importante da IA.
Algumas Aplicações
● Descoberta de novos remédios● Entendimento de linguagem natural● Carros autônomos● Reconhecimento facial● Cura para doenças● Bolsa de valores● Encontrar soluções para controle de tráfego
Muitos dados e problemas complexos
Redes Neurais
● Imitar o sistema nervoso de humanos no processo de aprendizagem
● Inspirada em redes neurais biológicas● Parecido com a troca de informações em uma rede biológica
● Com deep learning (aprendizagem profunda) as redes neurais fcaram populares novamente
Redes Neurais● Neurônios: o cérebro usa para processar informações
● Axônio: transmite o sinal de um neurônio para outro (sinais elétricos, sinapses) – conecta os neurônios.
● Substâncias químicas são lançadas das sinapses e entram pelos dendritos, aumentando ou baixando o potencial elétrico do corpo da célula.
● O neurônio dispara se a entrada é maior que um número defnido (liga ou não liga)
Redes Neurais● Fornece um valor de entrada, a rede processa e retorna uma resposta
● O neurônio é ativado somente se o valor for maior que um limiar
Neurônios e axônios
Entrada Saída
Neurônio Artificial
x1
x2
x3
xn
∑ f
w1
w2
w3
wn
Entradas
Pesos
Função soma
Funçãoativação.
.
.
1943 - McCulloch e Pitts1958 – Frank Rosenblatt (perceptron)
Neurônio Artificial
1
7
5
∑ f
0.8
0.1
0
Entradas
Pesos
Função soma
Stepfunction
soma = (1 * 0.8) + (7 * 0.1) + (5 * 0)
Step function (função Degrau)
Maior do que zero = 1Caso contrário = 0
Representação tudo ou nada
Neurônio Artificial
-1
7
5
∑ f
0.8
0.1
0
Entradas
Pesos
Função soma
Stepfunction
soma = (-1 * 0.8) + (7 * 0.1) + (5 * 0)
Redes Neurais
● Peso positivo - sinapse excitadora● Peso negativo - sinapse inibidora● Pesos são sinapses● Pesos amplifcam ou reduzem o sinal de entrada
Conhecimento da rede neural são os pesos
Classificação (Parafusos)
x1 – comprimento do parafusox2 – diâmetro do parafusoClasse A (0) e Classe B (1)
4
3
∑ f
0.21
0.22
x1
x2
����=∑�=0
�
��∗��
Aprendizagem não-supervisionada
● Analisar automaticamente os dados (associação, Agrupamento)
● Necessita análise para determinar o significado dos padrões encontrados
Reconhecimento de padrões
Aprendizagem por reforço
● Aprender com as interações com o ambiente (causa e efeito)
● Aprender com sua própria experiência
● Robô coletando lixo aprendendo a andar em um ambiente
● Controle automatizado de elevadores
Operador E
0
0
∑ f
0
0
x1
x2x1 x2 Classe
0 0 0
0 1 0
1 0 0
1 1 1
0
1
∑ f
0
0
x1
x2
1
0
∑ f
0
0
x1
x2
1
1
∑ f
0
0
x1
x2
Calculo de Erro
Algoritmo mais simples
erro = respostaCorreta – respostaCalculada
Os pesos são atualizados até os erros serem pequenos
peso(n + 1) = peso(n) + (taxaAprendizagem * entrada * erro)
Operador E
0
0
∑ f
0.1
0.1
x1
x2x1 x2 Classe
0 0 0
0 1 0
1 0 0
1 1 1
0
1
∑ f
0.1
0.1
x1
x2
1
0
∑ f
0.1
0.1
x1
x2
1
1
∑ f
0.1
0.1
x1
x2
Operador E
0
0
∑ f
0.5
0.5
x1
x2x1 x2 Classe
0 0 0
0 1 0
1 0 0
1 1 1
0
1
∑ f
0.5
0.5
x1
x2
1
0
∑ f
0.5
0.5
x1
x2
1
1
∑ f
0.5
0.5
x1
x2
ATIVIDADE 7
Calcule os pesos necessários para que o neurônio artificial aprenda a
resolver a porta logica OR/OUx1 x2 Classe
0 0 0
0 1 1
1 0 1
1 1 1
Algoritmo
Enquanto o erro for diferente de zeroPara cada registro● Calcula a saída com os pesos atuais● Compara a saída esperada com a saída calculada, somando o erro
para cada peso da rede● Atualiza o peso - peso(n + 1) = peso(n) + (taxaAprendizagem * entrada * erro)
E se aplicamos o perceptron no XOR?
0
0 0
11
10
0 x
y1
0 1
01
10
0x
y
1
0 1
11
10
0 x
y
?
AND
OR
XOR