Você está na página 1de 31

Engenharia Elétrica

Sistemas inteligentes

Aula 2 - Arquiteturas de redes


neurais e rede Perceptron
Professor Renato Kazuo Miyamoto
renato.miyamoto@sistemafiep.org.br
Redes Neurais Artificiais
• 1943 – Trabalho de McCulloch & Pitts – descrição do neurônio e
capacidade computacional
• 1949 – Trabalho de Donald Hebb - Primeiro trabalho com ligação direta
com o aprendizado.

– Modelos computacionais inspirados nos mecanismos de


aprendizagem do cérebro humano.
– Modelos computacionais que tentam emular a forma com que o
cérebro resolve problemas.

Sistemas Inteligentes 2
Professor Renato Kazuo Miyamoto
Revisando
• Neurônio biológico: realiza o
processamento de informações no
cérebro humano.
• Conduz impulsos elétricos.

Fonte: SILVA; SPATI; FLAUZINO (2010)

Sistemas Inteligentes 3
Fonte: SILVA; SPATI; FLAUZINO (2010)
Professor Renato Kazuo Miyamoto
Neurônio Artificial
O neurônio artificial é um modelo
simplificado do neurônio biológico. Os
neurônios artificiais utilizados nos modelos
de redes neurais artificiais são não-lineares,
fornecem saídas tipicamente contínuas, e
realizam funções simples, como coletar os
sinais existentes em suas entradas, agregá-
los de acordo com sua função operacional e
produzir uma resposta, levando em
consideração sua função de ativação
inerente.
Fonte: SILVA; SPATI; FLAUZINO (2010)
Sistemas Inteligentes 4
Professor Renato Kazuo Miyamoto
Funções de Ativação
• Seu objetivo é limitar a saída do neurônio dentro de um intervalo de
valores razoáveis a serem assumidos pela sua própria imagem funcional.

• Existem dois grupos de função de ativação. As parcialmente


diferenciáveis, que são aquelas cujas derivadas de primeira ordem são
inexistentes, ou seja a função assume apenas valores lineares e reais.
Destacam-se as funções degrau, degrau bipolar e rampa simétrica.

• As funções de ativação totalmente diferenciáveis são aquelas cujas


derivadas de primeira ordem existem e são conhecidas em todo seu
domínio de definição, destacam-se as funções logística (sigmoidal),
tangente hiperbólica, gaussiana e linear.

Sistemas Inteligentes 5
Professor Renato Kazuo Miyamoto
Sistemas Inteligentes Fonte: Elaborado pelo autor 6
Professor Renato Kazuo Miyamoto
Conceitos

Arquiteturas de
redes neurais
artificiais
• A arquitetura define a forma como seus diversos neurônios estão
arranjados.
• Topologia: forma de composição estrutural (10 neurônios, 20
neurônios).
• Treinamento: conjunto de passos ordenados com o intuito de ajustar os
pesos e os limiares de seus neurônios.
• Camada de entrada: responsável pelo recebimento de informações
(geralmente normalizadas);
• Camadas escondidas (intermediárias): compostas por neurônios
responsáveis por extrair a características associadas ao processo a ser
inferido.
• Camada de saída: responsável pela produção e apresentação dos
resultados finais da rede.
Sistemas Inteligentes 8
Professor Renato Kazuo Miyamoto
• Arquitetura feedfoward de camada simples: possui uma única camada
de neurônios, que já é a própria camada de saída.
• Perceptron e Adaline.

Sistemas Inteligentes Fonte: SILVA; SPATI; FLAUZINO (2010) 9


Professor Renato Kazuo Miyamoto
• Arquitetura feedfoward de camadas múltiplas: possui camadas
escondidas.
• Perceptron de Múltiplas Camadas (PMC) e Redes de Base Radial (RBD).

Sistemas Inteligentes Fonte: SILVA; SPATI; FLAUZINO (2010) 10


Professor Renato Kazuo Miyamoto
• Arquitetura recorrente ou realimentada: processamento dinâmico de
informações e sistemas variantes no tempo (otimização, identificação de
sistemas, controle de processos).
• Hopfield e Perceptron Múltiplas Camadas com realimentação (PMC).

Sistemas Inteligentes Fonte: SILVA; SPATI; FLAUZINO (2010) 11


Professor Renato Kazuo Miyamoto
Rede Perceptron
• A rede Perceptron pertence a arquitetura feedforward de camada
única, pois o fluxo de informações em sua estrutura reside sempre no
sentido da camada de entrada em direção à camada neural de saída.

• Idealizado por Rosenblatt (1958) é a forma mais simples de


configuração de RNA cujo propósito focava em implementar um modelo
computacional focado na retina.

Sistemas Inteligentes 12
Professor Renato Kazuo Miyamoto
• Uma camada neural e um
neurônio artificial.

• Função de ativação utilizadas


geralmente degrau e degrau
bipolar.
Sistemas Inteligentes
Fonte: SILVA; SPATI; FLAUZINO (2010) 13
Professor Renato Kazuo Miyamoto
• A Tabela explicita os aspectos característicos dos parâmetros
relacionados com a dinâmica de funcionamento do
Perceptron.

Sistemas Inteligentes 14
Professor Renato Kazuo Miyamoto
• O ajuste dos pesos e limiar do Perceptron é efetuado utilizando
processo de treinamento supervisionado, isto é, para cada amostra dos
sinais de entrada se tem a respectiva saída (resposta) desejada.
• O Perceptron é tipicamente usado em problemas de reconhecimento de
padrões, sendo que sua saída pode assumir somente dois valores
possíveis.
• Regra de Hebb: Se a saída produzida pelo Perceptron é diferente da
saída desejada, os pesos sinápticos e limiar serão então decrementados.
Este processo é repetido, sucessivamente para todas as amostras de
treinamento, até que a saída produzida pelo Perceptron seja
equivalente à saída desejada de cada amostra.
Se dois neurônios em cada lado de uma sinapse são ativados
assincronamente, então aquela sinapse dever ser enfraquecida.
Sistemas Inteligentes 15
Professor Renato Kazuo Miyamoto
Análise matemática do Perceptron
• Pode ser considerado um típico caso de discriminador linear.

Fonte: SILVA; SPATI; FLAUZINO (2010)

• Sendo as desigualdades em representadas por uma expressão de


primeiro grau (linear), a fronteira de decisão para esta instância será
então uma reta cuja equação é definida por:
Sistemas Inteligentes 16
Professor Renato Kazuo Miyamoto
• Portanto, pode-se concluir que o Perceptron se comporta como
um classificador de padrões cuja função é dividir classes que
sejam linearmente separáveis.

Fonte: SILVA; SPATI; FLAUZINO (2010)

Sistemas Inteligentes 17
Professor Renato Kazuo Miyamoto
• Conclui-se que a condição para que o Perceptron de camada simples
possa ser utilizado como um classificador de padrões e consiste em que
as classes do problema a ser mapeado sejam linearmente separáveis.
• Regra de aprendizado de Hebb: Em termos matemáticos, as regras de
ajuste dos pesos sinápticos {wi} e do limiar {θ} do neurônio podem ser
expressas, respectivamente, pelas seguintes expressões:

Sistemas Inteligentes 18
Professor Renato Kazuo Miyamoto
• Entretanto, em termos de implementação computacional, torna-se mais
conveniente tratar as expressões anteriores em sua forma vetorial.

Sistemas Inteligentes 19
Professor Renato Kazuo Miyamoto
• A taxa de aprendizagem {η} exprime o quão rápido o processo de
treinamento da rede estará sendo conduzido rumo à sua convergência
(estabilização).

• A escolha de η deve ser realizada com cautela para evitar instabilidades


no processo de treinamento, sendo que normalmente se adotam
valores pertencentes ao intervalo compreendido em 0 < η < 1.

Sistemas Inteligentes 20
Professor Renato Kazuo Miyamoto
Exemplificando
• Supõe-se que um problema a ser mapeado pelo Perceptron tenha três entradas
{x1, x2, x3}. Assume-se que o conjunto de treinamento seja composto de
apenas quatro amostras, constituídas dos seguintes valores: Ω(x) = { [0,1 0,4
0,7]; [0,3 0,7 0,2]; [0,6 0,9 0,8]; [0,5 0,7 0,1] }. Considerando-se ainda que os
respectivos valores de saída para cada uma dessas amostras seja dado por Ω(d) =
{ [1]; [-1]; [-1]; [1]} , então se pode adotar a seguinte forma matricial para suas
representações:

Sistemas Inteligentes 21
Professor Renato Kazuo Miyamoto
• Nesta condição, alternativamente, pode-se extrair dessas matrizes cada
um dos vetores x(k), com seu respectivo valor d(k), os quais
representarão cada uma das amostras de treinamento, da seguinte
forma:

• Entretanto, em se tratando de implementações computacionais, a


disposição dos dados por meio de variáveis indexadas se torna bem
mais apropriada para a manipulação dos índices das amostras.
Sistemas Inteligentes 22
Professor Renato Kazuo Miyamoto
• Sequência passo a
passo para o
treinamento do
Perceptron.

• Época: quantas vezes


serão necessárias
apresentar todas as
amostras do conjunto
de treinamento
visando o ajuste do
vetor de pesos

Sistemas Inteligentes 23
Professor Renato Kazuo Miyamoto
• Sequência passo a
passo para a
operação do
Perceptron.

• Uma vez que esteja


treinada, a rede
estará apta para
proceder com a tarefa
de classificação de
padrões frente às
novas amostras que
serão apresentadas
em suas entradas.

Sistemas Inteligentes 24
Professor Renato Kazuo Miyamoto
• Ilustração do processo de treinamento do Perceptron visando
o alcance desta fronteira de separabilidade

Fonte: SILVA; SPATI; FLAUZINO (2010)

Sistemas Inteligentes 25
Professor Renato Kazuo Miyamoto
• A rede divergirá se o problema for não linearmente separável. A estratégia a ser
usada nesta ocorrência é limitar o processo por meio da especificação de um
número máximo de épocas;
• Quando a faixa de separabilidade entre as duas classes do problema for muito
estreita, o seu processo de treinamento pode implicar em instabilidades. Em tais
casos, assumindo-se um valor de taxa de aprendizado {η} bem pequeno, a
instabilidade da convergência pode ser então aliviada;
• A quantidade de épocas necessárias para a convergência do processo de
treinamento do Perceptron varia em função dos valores iniciais que foram
atribuídos ao vetor de pesos {w}, assim como da disposição espacial das amostras
de treinamento e do valor especificado para a taxa de aprendizado {η};
• Quanto mais próxima a superfície de decisão estiver da fronteira de separabilidade,
menos épocas para a convergência do Perceptron são geralmente necessárias;
• A normalização das entradas para domínios apropriados contribui para incrementar
o desempenho do treinamento. 26
Sistemas Inteligentes
Professor Renato Kazuo Miyamoto
• Exemplo 1: Considere um problema de classificação de padrões
composto de duas entradas {x1 e x2}, cujo conjunto de treinamento é
composto pelas seguintes amostras de treinamento:

%amostras classe A
a1=[0.75;0.25];
a2=[0.75;0.25];

%amostras classe B
b1=[0.75;0.25];
b2=[0.25;0.75];
%--------------------%
plot (a1, a2 , '+')
hold on
plot (b1, b2 , '*')
ylim([-.5 1.5]);
Sistemas Inteligentes
xlim([-.5 1.5]); 27
Professor Renato Kazuo Miyamoto
• Exemplo 2: É proposta uma análise de um processo de destilação
fracionada de bebida podendo ser classificado em duas classes de
pureza P1 e P2. Baseado em uma coleta de dados foi formado um banco
de entrada. Considerando a convergência adotada -1 para a bebida
pertencente a P1, utiliza-se a função de ativação degrau bipolar.
Utilize o algoritmo de Hebb para treinamento, e assuma taxa de
aprendizagem como 0.01 para treinamentos.

Sistemas Inteligentes 28
Professor Renato Kazuo Miyamoto
% Implementação Rede Perceptron
• Exemplo 2: Banco de % Renato Kazuo Miyamoto
%%--------------------%
dados para a validação %% Início
clear all; close all; clc;

%% Treinamento da Rede importar amostras


importfile('Tabela_dados.txt')

% data = [x1 x2 x3 d] - Normalização pu


% data(:,1)=data(:,1)/max(data(:,3));
% data(:,2)=data(:,2)/max(data(:,3));
% data(:,3)=data(:,3)/max(data(:,3));
%---------%
%Saídas desejadas
d= data (:,4);
data(:,4)= -1;
n_ent=3; %numero de entradas
%-------------------%
%% Inicializacao
%inicialização do vetor W - gerando matriz aleatória
valores 0 e 1
W = rand(1,(n_ent+1));
fprintf('Pesos iniciais: [');
fprintf('%g, ', W(1:end-1));
fprintf('%g]\n', W(end));
pause(2);
Sistemas Inteligentes %--------------------% 29
Professor Renato Kazuo Miyamoto
• Exercício: Em um reservatório industrial posição de uma válvula de
vazão pode ser classificada em Aberta ou Fechada.
Para que a válvula esteja aberta quatro situações devem acontecer no
processo: i) o nível deve estar entre 0,45 e 0,5; ii) SIC deve estar entre
0,4 e 0,45; iii) FCV deve estar entre 0 e 0,05 e iV) LAHH deve ser 20 mA
(0,02).
• Baseado em uma coleta de dados foi formado um banco de entrada.

• Utilize 95 amostras para treinamento e 5 para a validação.


• Conflite o resultado esperado com o resultado de saída da rede.

Sistemas Inteligentes 30
Professor Renato Kazuo Miyamoto
Referências
LIMA, Isaías; PINHEIRO, Carlos A. M. ; SANTOS, Flávia A Oliveira. Inteligência Artificial.
Rio de Janeiro: Elsevier, 2014. 184 p. ISBN: 8535278087.

NASCIMENTO JÚNIOR, Cairo Lúcio; YONEYAMA, Takashi. Inteligência artificial: em


controle e automação. São Paulo: Edgar Blücher ltda, 2000. 218 p. ISBN 978-85-212-
0310-0.

SILVA, I. N.; SPATTI, D. H.; FLAUZINO, R. A. Redes Neurais Artificiais para engenharia e
ciências aplicadas: curso pratico. São Paulo: Artliber, 2010.

SIMON, H. Redes Neurais Artificiais princípios e prática. 2ed. São Paulo: Bookman,
2000.

Sistemas Inteligentes 31
Professor Renato Kazuo Miyamoto

Você também pode gostar