Sei sulla pagina 1di 57

Universidade Federal do Cear - UFC

Centro de Tecnologia - CT
Departamento de Engenharia Eltrica - DEE
Semana de Engenharia Eltrica - UFC

MINICURSO DE

REDES NEURAIS
ARTIFICIAIS
Eng. Alosio Fernandes Dias
Aula 1 Fundamentos de uma RNA

Alosio Fernandes Dias

aloisiodias@outlook.com

Nome: Alosio Fernandes Dias


Formao: Engenheiro Eletricista

Tem experincia na rea de Inteligncia Computacional


Aplicada e Controle, com nfase em Modelagem de Controles
para Sistemas Dinmicos No Lineares a partir de
Controladores Hbridos Inteligentes.

Possui tambm experincia na rea de Eficincia Energtica,


Automao e Instalaes Eltricas, tendo ministrado cursos
livres nestas reas.

Atualmente trabalha com anlise de Sistemas Robustos


modelados por tcnicas modernas de Inteligncia
Computacional Aplicada no Programa de Ps Graduao da
Universidade Federal do Cear e atua profissionalmente como
consultor nas reas de Automao, Eficincia Energtica e
Energias Renovveis, pela empresa Light Energy Group
(http://lightenergygroup.com.br)

Alosio Fernandes Dias

aloisiodias@outlook.com

Sumrio
1.

Introduo: Conceitos de Abstrao e Inteligncia.

2. Aprendizado Supervisionado, no Supervisionado e por Reforo.

3. Redes Neurais Artificiais.


4. O Perceptron.
5. Aprendizado (Treinamento) do Perceptron.

6. Limitao: Problemas linearmente separveis (O problema da XOR).

Alosio Fernandes Dias

aloisiodias@outlook.com

Introduo: Conceitos de Abstrao e Inteligncia.


O Engenheiro Eletricista, para trabalhar com algum sistema,
parte da premissa de conhecer seu modelo. Entretanto, h
sistemas por demais custosos de serem modelados, seja pela
elevada complexidade matemtica do mesmo, pelas variveis
aleatrias envolvidas ou pelo simples fato de que no possvel
estabelecer uma fronteira segura a partir da metodologia
clssica entre as mudanas de estado envolvidas no processo.
A necessidade de aplicar metodologias de controle e
interpretao em sistemas supervisionados uma das mais
importantes justificativas do desenvolvimento de um sistema
dotado de inteligncia artificial (IA).
Alosio Fernandes Dias

aloisiodias@outlook.com

Introduo: Conceitos de Abstrao e Inteligncia.


De modo geral, o objetivo da inteligncia artificial (IA)
desenvolver paradigmas ou algoritmos a partir da capacidade
do encadeamento de trs grandes faculdades; a primeira que
consiste em armazenar conhecimento; a segunda na qual a IA
aplica este conhecimento armazenado para resolver problemas;
e a terceira e mais notvel caracterstica, que consiste em
adquirir novos conhecimentos atravs de experincias. Nessa
perspectiva, a Inteligncia Artificial consiste num intelecto capaz
de gerar e compreender uma srie de algoritmos e paradigmas
que, por sua vez, permitem a realizao de tarefas que apenas
seriam realizadas pelo intelecto humano.
Alosio Fernandes Dias

aloisiodias@outlook.com

Introduo: Conceitos de Abstrao e Inteligncia.


Uma IA dotada de trs componentes chaves, as quais so a
representao, o raciocnio e o aprendizado, conforme ilustrado
na figura a seguir.

Alosio Fernandes Dias

aloisiodias@outlook.com

Introduo: Conceitos de Abstrao e Inteligncia.


Representao: A caracterstica mais marcante da IA ,
provavelmente, o uso generalizado de uma linguagem simblica
para representar tanto o conhecimento geral, quanto para
representar um conhecimento especfico para solucionar um
problema de interesse local. Tais smbolos geralmente so
formulados em termos familiares, tornando fcil a compreenso
por parte do usurio humano. Assim, fica evidenciado que a
simplicidade da simbologia numa IA facilita a comunicao
homem-mquina.

Alosio Fernandes Dias

aloisiodias@outlook.com

Introduo: Conceitos de Abstrao e Inteligncia.


Raciocnio: Numa definio simplista, raciocnio a faculdade
que permite que um dado intelecto seja capaz de solucionar
problemas e o mesmo deve ter as seguintes condies:
O intelecto deve ter a habilidade de inferir solues para um
amplo conjunto de problemas para o qual no foi projetado;
O intelecto deve ter a habilidade de explicitar informaes
implcitas, sendo capaz de compreender com plenitude a
situao qual est submetido;
O intelecto deve ser dotado de uma habilidade seletiva que
determine as modificaes a serem feitas numa dada
informao, bem como a capacidade de classificar se uma
informao ou alguma ao oriunda de certa informao
intil.
Alosio Fernandes Dias

aloisiodias@outlook.com

Introduo: Conceitos de Abstrao e Inteligncia.


Obviamente, a primeira exigncia extremamente difcil de ser
atendida, no que diz respeito aos problemas para os quais o
intelecto no foi projetado. Assim, seria mais fcil inferir que a
soluo de problemas um problema de busca; baseado nas
informaes que possui, um intelecto busca determinar qual a
combinao de informaes mais adequada para solucionar
este problema. Logo, tal exigncia diz respeito combinao de
informaes e no criatividade.

Alosio Fernandes Dias

aloisiodias@outlook.com

Introduo: Conceitos de Abstrao e Inteligncia.


Aprendizado: Um intelecto dito capaz de aprender se o
mesmo capaz de incrementar ou alterar suas competncias,
habilidades, conhecimentos, comportamento ou valores, como
resultado de estudo, experincia, formao, raciocnio e
observao. Um diagrama simplificado apresentado na figura
a seguir e exemplifica bem o que seria uma mquina capaz de
aprender.

Alosio Fernandes Dias

aloisiodias@outlook.com

Introduo: Conceitos de Abstrao e Inteligncia.

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado Supervisionado, no Supervisionado e


por Reforo.
H trs paradigmas bsicos no que diz respeito ao mtodo de
aprendizado:
Aprendizado Supervisionado;
Aprendizado no Supervisionado;
Aprendizado por Reforo.

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado Supervisionado, no Supervisionado e


por Reforo.
Aprendizado Supervisionado: Neste tipo de aprendizagem existe
um "professor" que avalia a resposta do intelecto ao padro
atual de estmulos (entradas). As alteraes no processamento
so calculadas de forma a que a resposta do intelecto tenda a
coincidir com a do professor. Neste tipo de aprendizagem
relativamente fcil avaliar o desempenho do intelecto para um
determinado estado do nosso sistema e, consequentemente,
implementar um "professor".

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado Supervisionado, no Supervisionado e


por Reforo.
Aprendizado Supervisionado: Neste tipo de aprendizagem existe
um "professor" que avalia a resposta do intelecto ao padro
atual de estmulos (entradas). As alteraes no processamento
so calculadas de forma a que a resposta do intelecto tenda a
coincidir com a do professor. Neste tipo de aprendizagem
relativamente fcil avaliar o desempenho do intelecto para um
determinado estado do nosso sistema e, consequentemente,
implementar um "professor".
O aprendizado supervisionado o nosso objetivo de estudo.

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado Supervisionado, no Supervisionado e


por Reforo.
Aprendizado no Supervisionado: Nesta outra forma de
aprendizagem no existe "professor". O intelecto tem de
descobrir sozinho relaes, padres, regularidades ou categorias
nos dados que lhe vo sendo apresentados e codific-los nas
sadas. Neste tipo de aprendizagem mais complicado avaliar o
desempenho da rede para um determinado estado do nosso
sistema, visto que no h a figura educadora do "professor".

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado Supervisionado, no Supervisionado e


por Reforo.
Aprendizado por Reforo: Esta forma de aprendizagem requer
um conjunto de experincias para que o intelecto defina quais
delas determinam o resultado esperado. Alguns autores no
consideram a aprendizado por reforo.

Alosio Fernandes Dias

aloisiodias@outlook.com

Redes Neurais Artificiais.


O estudo das Redes Neurais Artificiais (RNA) depende
principalmente da modelagem da unidade de aprendizado, ou
seja, do neurnio. Sendo assim, o desafio da RNA simular em
processadores computacionais o funcionamento do crebro
humano. Atualmente possvel, com RNAs, reconhecer padres,
extrair regularidades e detectar relaes subjacentes em um
conjunto de dados aparentemente desconexos. Tambm, j se
consegue analisar dados ruidosos, incompletos e imprecisos,
alm de prever sistemas no lineares, que podem ser usados em
sistemas caticos e no mercado bolsas de valores.

Alosio Fernandes Dias

aloisiodias@outlook.com

Redes Neurais Artificiais.


Assim, a rede neural se assemelha ao crebro em dois aspectos:

A capacidade de adquirir conhecimento a partir de um


processo de aprendizagem;
A capacidade de armazenar conhecimento adquirido atravs
das conexes entre os neurnios, isto , pesos sinpticos.

Alosio Fernandes Dias

aloisiodias@outlook.com

Alosio Fernandes Dias

aloisiodias@outlook.com

Alosio Fernandes Dias

aloisiodias@outlook.com

PROCESSA
INFORMAO

Alosio Fernandes Dias

aloisiodias@outlook.com

Alosio Fernandes Dias

aloisiodias@outlook.com

Alosio Fernandes Dias

aloisiodias@outlook.com

O Perceptron.
Note que o neurnio artificial compila em si as habilidades
funcionais do neurnio biolgico. A esta unidade neural
(apresentada na figura) que encerra artificialmente as faculdades
cognitivas de um neurnio biolgico d-se o nome de
Perceptron.

Agora, vamos nos aprofundar na modelagem matemtica do


Perceptron.

Alosio Fernandes Dias

aloisiodias@outlook.com

O Perceptron.

Alosio Fernandes Dias

aloisiodias@outlook.com

O Perceptron.
Padres ou estmulos
fornecidos ao neurnio.

Alosio Fernandes Dias

aloisiodias@outlook.com

O Perceptron.
Os pesos ponderam
as entradas a fim de
definir a ativao .

Alosio Fernandes Dias

aloisiodias@outlook.com

O Perceptron.

A ativao consiste ento na soma


ponderada dos estmulos (padres) que
o neurnio recebe.

Alosio Fernandes Dias

aloisiodias@outlook.com

O Perceptron.
A tomada de deciso (sada, objetivo ou
alvo) do neurnio depende da funo
que o neurnio aplica na ativao.

Alosio Fernandes Dias

aloisiodias@outlook.com

O Perceptron.

Tomada de deciso (sada, objetivo ou


alvo) do neurnio.

Alosio Fernandes Dias

aloisiodias@outlook.com

O Perceptron.
As principais funes de ativao utilizadas so:

0, se < 0
1, caso contrrio

Funo Limiar:

Funo Linear por Partes:

0, se <
+
=
, se
2
1, se >

Funo Sigmoide:

Alosio Fernandes Dias

1
1 +

aloisiodias@outlook.com

O Perceptron.
Entretanto, como o Perceptron efetua o procedimento ao qual
podemos chamar de aprendizado?
A presena de um tutor, na prtica, significa o que para o
neurnio artificial?

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


O grande trunfo das redes neurais est na sua capacidade de
aprendizado. Isto significa dizer que deve haver alguma forma
de fazer com que a rede seja capaz de evoluir seus pesos at
uma condio que permita que a mesma acerte o resultado.
Os primeiros neurnios artificiais utilizavam a funo limiar como
forma de tratar a ativao. Isto se deve, em boa parte, ao fato
de a funo limiar ser a mesma utilizada pelo neurnio
biolgico.

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


Funo Limiar:

0, se < 0
=
1, caso contrrio

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


Redes com este tipo de ativao possuem forte caracterstica
classificatria, isto , capacidade de agrupar padres em grupos.
Entretanto ainda temos o problema do treinamento: como fazer
com que os pesos evoluam ao longo do tempo? A resposta
desta pergunta est na atuao do professor.

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


O primeiro passo compreender o conceito do bias. Trata-se de
um estmulo fixo (de valor unitrio, positivo ou negativo
dependendo do programador) associado a um peso ajustvel.
Pode ser tratado como um 0 ou denotado pela letra .
A finalidade do bias fazer com que haja um deslocamento no
ponto de ativao do limiar, pois para entradas nulas haver a
possibilidade de ajuste de valor de .

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


Funo Limiar:

0, se < 0
=
1, caso contrrio
= 1 1 + + +

Note que agora para um conjunto nulo, o valor de no necessariamente nulo.

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


interessante inserir sempre o bias na rede que estamos
visando treinar, pois, mesmo na hiptese deste parmetro ser
irrelevante, o treinamento tratar de torna-lo nulo.
Redes com este tipo de ativao possuem forte caracterstica
classificatria, isto , capacidade de agrupar padres em grupos.
Entretanto ainda temos o problema do treinamento: como fazer
com que os pesos evoluam ao longo do tempo? A resposta
desta pergunta est na atuao da entidade abstrata professor,
como ser visto no exemplo a seguir.
Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


EXEMPLO: APRENDENDO A PORTA LGICA AND (E).

Vamos classificar um sistema de duas entradas (X1 e X2) e ma


sada Y que corresponde ao operador booleano AND. Sua
tabela verdade est expressa a seguir.
#

X1

X2

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


EXEMPLO: APRENDENDO A PORTA LGICA AND (E).
#

X1

X2

Ydesejado

Ycalculado

Erro

0,5

0,3

0,4

-1

Desse modo, um conjunto de pesos aleatoriamente


inicializado e sadas so obtidas (consideremos um neurnio
com 2 pesos e um bias). O erro entre desejado e obtido
definido por = .
Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


EXEMPLO: APRENDENDO A PORTA LGICA AND (E).
#

X1

X2

Ydesejado

Ycalculado

Erro

0,5

0,3

0,4

-1

Os pesos so ajustados a partir de correo com base no erro:


= +

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


EXEMPLO: APRENDENDO A PORTA LGICA AND (E).
#

X1

X2

Ydesejado

Ycalculado

Erro

0,5

0,3

0,4

-1

Os pesos so ajustados a partir de correo com base no erro:


Erro (+1 ou -1)

= +

Padro (Estmulo ou Entrada)


Taxa de aprendizado

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


EXEMPLO: APRENDENDO A PORTA LGICA AND (E).

Para o exemplo citado (taxa de aprendizado de 0,5):


1 = 0,5 + 0,5 1 0 = 0,5
2 = 0,3 + 0,5 1 0 = 0,3

= 0,4 + 0,5 1 = 0,1 (bias = entrada unitria)


Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


EXEMPLO: APRENDENDO A PORTA LGICA AND (E).
#

X1

X2

Ydesejado

Ycalculado

Erro

0,5

0,3

-0,1

-1

O segundo conjunto de padres apresentado e novamente


tem-se uma atualizao dos pesos.
E continua...
Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


EXEMPLO: APRENDENDO A PORTA LGICA AND (E).

Aps algumas etapas de treinamento possvel determinar um


conjunto de pesos que definem (classificam) adequadamente os
padres apresentados ao Perceptron, conforme mostrado a
seguir.

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


Treinamento AND (Perceptron)
Taxa de Aprendizado (0;1):

X1

X2

0
0

0,5

ATIVAO DO TIPO LIMIAR

bias

w1

w2

erro

bias_novo

w1_novo

0,4

0,5

0,3

-0,1

0,5

0,3

-0,6

0,5

-0,2

-0,6

0,5

-0,2

-0,1

1,0

-0,1

1,0

-0,6

w2_novo

-1

-0,1

0,5

0,3

-1

-0,6

0,5

-0,2

-0,6

0,5

-0,2

-0,1

1,0

0,3

0,3

-0,1

1,0

0,3

0,3

-1

-0,6

1,0

-0,2

1,0

-0,2

-1

-1,1

0,5

-0,2

-1,1

0,5

-0,2

-0,6

1,0

0,3

-0,6

1,0

0,3

-0,6

1,0

0,3

-0,6

1,0

0,3

-0,6

1,0

0,3

-0,6

1,0

0,3

-1

-1,1

0,5

0,3

-1,1

0,5

0,3

-0,6

1,0

0,8

-0,6

1,0

0,8

-0,6

1,0

0,8

-0,6

1,0

0,8

-1

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

-1,1

1,0

0,3

Alosio Fernandes Dias

STATUS

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


EXEMPLO: APRENDENDO A PORTA LGICA AND (E).

Os pesos que garantem a soluo foram encontrados. Contudo,


ter isto relao com os pesos iniciais? Vamos ver com o
exemplo apresentado a seguir.

Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


EXEMPLO: APRENDENDO A PORTA LGICA AND (E).

Os pesos que garantem a soluo foram encontrados. Contudo,


ter isto relao com os pesos iniciais? Vamos ver com o
exemplo apresentado a seguir.

Exemplo
Computacional:
Microsoft Excel
Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


EXEMPLO: APRENDENDO A PORTA LGICA AND (E).

Agora vamos implementar o referido exemplo utilizando o


MATLAB.

Exemplo
Computacional:
MATLAB
Alosio Fernandes Dias

aloisiodias@outlook.com

Aprendizado (Treinamento) do Perceptron.


Exerccio Proposto: Implemente no MATLAB uma rede
perceptron de 1 camada (com dois perceptrons, 1 e 2 ,
conforme figure abaixo), considerando a Tabela abaixo como
Conjunto de Treinamento.
ENTRADAS

2
2

13
=
23

12
22

11
21

Alosio Fernandes Dias

; =

1
2

SADAS

X3

X2

X1

D1

D2

aloisiodias@outlook.com

Limitao: Problemas linearmente separveis (O


problema da XOR).
Com base no resultado obtido evidente que o Perceptron
resolve apenas problemas LINEARMENTE SEPARVEIS, ou seja,
que possam ser zoneados ou delimitados por hiperplanos.

Assim, como fica o problema da porta XOR?

Alosio Fernandes Dias

aloisiodias@outlook.com

Limitao: Problemas linearmente separveis (O


problema da XOR).

?
Alosio Fernandes Dias

aloisiodias@outlook.com

Limitao: Problemas linearmente separveis (O


problema da XOR).
Provavelmente uma associao de camadas de Perceptrons
solucionar o problema facilmente. Contudo, como efetuar o
treinamento sem conhecer as sadas desejadas de camadas
ocultas?

Alosio Fernandes Dias

aloisiodias@outlook.com

Alosio Fernandes Dias

aloisiodias@outlook.com

PRXIMA
AULA
Alosio Fernandes Dias

aloisiodias@outlook.com

As aulas e os cdigos apresentados


esto disponveis em
www.professoraloisiodias.wix.com/site

Alosio Fernandes Dias

aloisiodias@outlook.com

Universidade Federal do Cear - UFC


Centro de Tecnologia - CT
Departamento de Engenharia Eltrica - DEE
Semana de Engenharia Eltrica - UFC

MINICURSO DE

REDES NEURAIS
ARTIFICIAIS
Eng. Alosio Fernandes Dias
Aula 1 Fundamentos de uma RNA

Alosio Fernandes Dias

aloisiodias@outlook.com

Potrebbero piacerti anche