Você está na página 1de 51

Redes Neurais Artificiais

Curso Básico
Gerência de Automação
COSIPA
ÍNDICE

CAPÍTULO 1 FUNDAMENTOS DE REDES NEURAIS ARTIFICIAIS.3

1.1 Principais Arquiteturas de RNA Para Aproximação de Funções........5


1.1.1 Redes Perceptron de Múltiplas Camadas............................................6
1.1.2 Redes de Função de Base Radial.......................................................12
1.1.3 Comparação Entre as Duas Arquiteturas...........................................15

1.2 Passos Para o Desenvolvimento de Uma RNA.....................................16

CAPÍTULO 2 - METODOLOGIA DE DESENVOLVIMENTO (CASO


REAL)........................................................................................................... 19

2.1 Busca de Uma Operação Alternativa Mais Eficiente..........................19

2.2 Levantamento de Dados.........................................................................21

2.3 Pré-processamento dos Dados...............................................................22

2.4 Hierarquização do Problema.................................................................29

2.5 Escolha da Arquitetura das RNA..........................................................31


2.5.1 Treinamento Com a Arquitetura MLP Usando o NeuralWorks®.....32
2.5.2 Treinamento Com a Arquitetura RBF Usando o NeuralWorks®......43
2.5.3 Treinamento Com a Arquitetura MLP Usando a Neural Toolbox....44
2.5.4 Treinamento Com a Arquitetura RBF Usando a Neural Toolbox.....47

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 2


Capítulo 1 FUNDAMENTOS DE REDES NEURAIS ARTIFICIAIS

Entre as técnicas e ferramentas de Inteligência Artificial que despontaram na


segunda metade do século passado se encontram as Redes Neurais Artificiais (RNA),
nome derivado da semelhança funcional que possuem em relação ao cérebro
humano. Assim como este último é constituído por neurônios biológicos, a unidade
básica de uma RNA é chamada de neurônio artificial, elemento processador ou
unidade processadora. Cada neurônio de uma RNA possui uma única saída
(correspondente ao axônio de um neurônio biológico) e um número arbitrário de
entradas (correspondentes aos dendritos de um neurônio biológico).

McCulloch e Pitts (1943) lançaram as bases para o desenvolvimento da


neurocomputação ao idealizar o elemento básico das RNA, o neurônio artificial, que
operava ainda em modo binário. Rosenblatt (1962), baseando-se nos resultados de
McCulloch e Pitts e no princípio de aprendizado biológico proposto por Hebb
(1949), desenvolveu os chamados perceptrons, que apresentavam como avanços o
tratamento de variáveis com valores contínuos e, principalmente, a introdução de um
algoritmo de treinamento, que conferia aos perceptrons a capacidade de “aprender”.

O trabalho de Rosenblatt teve uma aceitação entusiástica, fomentando um


considerável incremento nos esforços e recursos para as pesquisas em
neurocomputação. Tal entusiasmo, contudo, transformou-se em rejeição quase
completa após a publicação do trabalho de Minsk e Papert (1969), que demonstrou a
incapacidade dos perceptrons de resolver problemas não linearmente separáveis,
como, por exemplo, o cálculo da função lógica OU EXCLUSIVO. O interesse
generalizado na pesquisa sobre RNA só foi restabelecido após a publicação do
trabalho de Rummelhart, Hinton e Williams (1986), que disseminou o conhecimento
do algoritmo de retropropagação de erros para o treinamento de redes de
perceptrons. Apesar de estes pesquisadores serem os primeiros a dar ampla
divulgação ao algoritmo, ele já havia sido desenvolvido anteriormente, em pesquisas
independentes, primeiramente por Werbos (1974) e mais tarde por Parker (1982).

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 3


A formalização de um algoritmo de treinamento adequado para as RNA
multicamadas, bem como a idealização de novas arquiteturas de RNA, permitiu a sua
utilização para a resolução de “problemas do mundo real”, entre quais os
relacionados com a siderurgia e, mais especificamente, com a laminação de aços
planos.

As RNA são, de fato, sistemas de processamento de dados que consistem de


um grande número de elementos simples e altamente interconectados, capazes de
realizar uma modelagem do mundo real, e que, por meio de parâmetros intrínsecos
chamados de pesos, mapeiam um vetor de valores chamados de entradas num outro
vetor de valores denominados de saídas. Falando em termos computacionais, as
RNA são estruturas em que o processamento direto é substituído por um
processamento paralelo baseado numa estratégia iterativa de tentativa e erro,
constituindo-se numa alternativa à chamada arquitetura Von Neumann. Desse
modo, enquanto a abordagem convencional segue regras bem definidas, a abordagem
neural (também chamada de conexionista) “aprende” a partir dos próprios dados que
lhe são apresentados. Por esse motivo, ao contrário da abordagem convencional, a
abordagem neural é capaz de generalizar a partir dos exemplos que se lhe
apresentam, ou seja, consegue deduzir o comportamento esperado para exemplos
diferentes. Além disso, uma RNA é capaz de lidar com ruídos (dados errados ou
incompletos), ou seja, é tolerante a falhas.

Essas características tornam as RNA adequadas para tarefas como


classificação (determinar a que categoria discreta, entre n possíveis, uma
determinada amostra pertence) e mapeamento de funções contínuas, nas quais as
respostas ocupam um intervalo contínuo de valores. Nesta última categoria se
inclui o presente trabalho.

E
Uma RNA é constituída
P por um determinado número de neurônios artificiais
ntrada 1 FUNÇ
conectados entre eso
si, no1que se chama de conexões sinápticas (referência às sinapses
SOMA ÃO DE
cerebrais).
E Nessas conexões sinápticas, a entrada de cada um dos neurônios recebe S
P DOR ATIVAÇÂO
asntrada
saídas 2de n outros neurônios individuais, sendo realizada uma soma ponderadaaída
eso 2
dos sinais recebidos. O resultado dessa soma ponderada é aplicado à função de

ntrada n
E

eso n
P  ∫
PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 4
ativação do neurônio artificial para gerar o seu sinal de saída, que por sua vez será
aplicado a outros neurônios artificiais. A Figura 1-1 representa a funcionalidade de
um neurônio artificial.

Entrada 1
Peso 1 FUNÇÃO
SOMADOR DE
ATIVAÇÂO
Entrada 2


Peso 2

Saída

Entrada n

Peso n

Figura 1-1 – Diagrama Funcional de um Neurônio Artificial

Uma Rede Neural Artificial é constituída através da interligação de várias


unidades semelhantes à representada acima. A rede deve passar então por um
processo de treinamento, antes de ser colocada em operação (recall), ou seja, receber
um determinado padrão de valores de entrada e produzir o conjunto de valores de
saída correspondente. Essa é a função precípua de uma RNA.

1.1 Principais Arquiteturas de RNA Para Aproximação de Funções

A arquitetura de uma RNA é determinada pela forma como se interligam as


várias unidades processadoras de que é composta. Existem os mais variados tipos
de interconexão. Em seu trabalho, Basheer e Hajmeer (2000) citam pesquisas que
enumeram entre 26 e 50 tipos diferentes de arquitetura de RNA. Uma vez que o
sistema desenvolvido neste trabalho tem como função emular um modelo

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 5


matemático, a arquitetura de RNA a ser utilizada deve ser especialmente adequada a
essa função. A revisão bibliográfica revela claramente que em aplicações similares
(aproximação de funções não temporais) predomina a utilização de dois tipos de
arquitetura: as do tipo Perceptron de Múltiplas Camadas (MLP, de multilayer
perceptron) e as do tipo Função de Base Radial (RBF, de radial basis function).
Segue-se uma descrição sucinta sobre essas duas arquiteturas e, por fim, uma
comparação entre suas características.

1.1.1 Redes Perceptron de Múltiplas Camadas

Entre as diversas arquiteturas de RNA, a mais freqüentemente utilizada é


aquela em que os elementos processadores se distribuem em camadas, sendo uma
camada de entrada, uma camada de saída e um número arbitrário de camadas
intermediárias, que também são conhecidas como camadas ocultas. Essa arquitetura
é conhecida como Perceptron de Múltiplas Camadas (MLP).

Numa RNA do tipo MLP, é bastante comum que o fluxo de informação seja
unidirecional (da camada de entrada para a camada de saída), sendo que cada
neurônio de uma camada está conectado com todos os neurônios da camada
imediatamente posterior. Esse arranjo particular de MLP é conhecido como
feedforward, não-recorrente ou direta e está representado na Figura 1-2 .

Vale lembrar que o que se considera como sinal de entrada do neurônio


artificial é a soma ponderada dos n sinais que ele recebe da camada anterior
(obviamente, os neurônios da camada de entrada recebem um único sinal), ou seja:

(Equação 1-1).

Nesta equação, é o sinal de entrada do k-ésimo neurônio artificial da i-

ésima camada, é o sinal de saída do j-ésimo neurônio artificial da camada

anterior (de índice i–1) e é o peso sináptico da conexão entre esses dois

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 6


neurônios. É dessa forma que os sinais se propagam da entrada para a saída.

CAMADA DE ENTRADA CAMADAS INTERMEDIÁRIAS CAMADA DE SAÍDA

Neurônio Neurônio Neurônio Neurônio


i 11 21 k1 k+1,1

E n
N Neurônio Neurônio Neurônio Neurônio
T 12 22 k2 k+1,2 S
R A
A Í
D D
A A
S S
Neurônio Neurônio Neurônio Neurônio
1i 2l km k+1,n

Figura 1-2 – Estrutura de uma RNA MLP do Tipo Não Recorrente

Ao sinal de entrada assim calculado, aplica-se a função de ativação do


neurônio artificial, de modo a se obter o seu sinal de saída. O objetivo da função de
ativação é limitar o intervalo possível de valores do sinal de saída e reduzir a
influência dos valores extremos do intervalo, que são, estatisticamente, menos
significativos. As funções de ativação mais freqüentemente usadas são a função
logística (limitada entre 0 e 1) e a função tangente hiperbólica (limitada entre –1 e
1). Devido ao formato semelhante ao de uma letra “S”, essas curvas são conhecidas
pelo nome de sigmóides (da letra grega sigma, correspondente ao nosso “S”).

O ajuste dos pesos de uma RNA de forma que ela produza as saídas desejadas
para cada padrão de entradas é denominado de treinamento. O treinamento de uma
RNA pode ser de dois tipos:

 Supervisionado: Neste tipo de treinamento, apresentam-se à RNA padrões


contendo os valores das entradas e os correspondentes valores das saídas. A
resposta produzida pela RNA é então comparada com a resposta desejada e o

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 7


eventual erro entre ambos é usado para ajustar os pesos, de tal forma que o
erro produzido após a apresentação do próximo padrão seja inferior.

 Não Supervisionado: Neste tipo de treinamento apresentam-se à rede apenas


os valores das entradas e se permite que a RNA se auto-organize, dividindo
os padrões de entrada em agrupamentos ou categorias, de acordo com as
similaridades que existam entre eles. Quando uma nova entrada é aplicada à
rede, a saída indicará a categoria à qual pertence essa entrada. Caso não seja
capaz de classificar a nova entrada, a rede acrescenta um novo membro ao
conjunto de categorias existentes.

Alguns algoritmos de treinamento mesclam fases supervisionadas e não-


supervisionadas, sendo por isso chamados de híbridos.

No treinamento supervisionado de uma RNA MLP, o sinal de saída de cada


neurônio é transmitido à entrada do(s) neurônio(s) da camada seguinte, o que
prossegue até que se atinja a camada de saída, na qual se obtém(êm) o(s) valor(es)
final(is) do(s) sinal(is) de saída. O(s) valor(es) desse(s) sinal(is) é(são)
comparado(s) com o(s) valor(es) real(is), obtendo-se dessa forma o valor do erro.
Esse erro será minimizado através de um algoritmo de treinamento, que ajusta os
pesos sinápticos de cada neurônio até que a amplitude do erro atinja um valor
aceitável e previamente estabelecido. Atingida essa condição, dizemos que a rede
está treinada, devendo-se aferir a acurácia do seu treinamento sua capacidade de
generalização através de um conjunto de dados especialmente reservado para essa
função.

Como registrado no início do capítulo, o principal algoritmo de treinamento


utilizado para as RNA MLP não recorrentes é o método da retropropagação do erro.
Dado um determinado conjunto de valores de entrada, esse algoritmo de treinamento
requer o conhecimento prévio dos valores desejados dk para as saídas da RNA, em

comparação aos quais são calculados os erros apresentados pelos valores reais yk
dessas mesmas saídas. Tais tipos de algoritmo, portanto, exigem a figura do
oráculo, razão pela qual é conhecido como um algoritmo supervisionado.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 8


Calculando o erro quadrático Ek de cada uma das saídas:

(Equação 1-2).

O erro quadrático total valerá então:

(Equação 1-3),

sendo que a constante 0,5 foi introduzida com o objetivo de simplificar o tratamento
matemático. O algoritmo opera no sentido de minimizar essa função de erro. A
derivada parcial do erro em relação a uma saída qualquer vale:

(Equação 1-4).

Considerando-se a função de ativação logística, a derivada da saída de um


elemento processador em relação à sua i-ésima entrada vale:

(Equação 1-5).

Sendo que cada entrada xi,k é igual à soma ponderada das saída da camada
anterior, podemos calcular as derivadas parciais de uma entrada em relação a seus

respectivos pesos i,j,k:

(Equação 1-6).

Utilizando-se as equações 3-4, 3-5 e 3-6 e a regra da cadeia, obtém-se o valor


da derivada parcial de cada peso em relação à função erro:

(Equação 1-7).

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 9


Calculadas essas derivadas, os pesos devem ser modificados de forma
proporcional, para que no próximo ciclo de treinamento, os valores das saídas
estejam mais próximos dos valores desejados. Isto constitui a chamada regra de
aprendizado. No caso específico do algoritmo de retropropagação, a regra de
aprendizado mais utilizada é a chamada Regra Delta Generalizada, segundo a qual:

(Equação

1-8).

O coeficiente  é conhecido como taxa de aprendizado do algoritmo. Seu


valor deve ser compreendido entre 0 e 1 e tem grande influência sobre o desempenho
do algoritmo.

O passo seguinte é propagar o erro em direção à entrada da rede. Em


relação à penúltima camada, pode-se utilizar a regra da cadeia da seguinte forma:

(Equação 1-9),
sendo que o segundo fator do lado direito da equação corresponde aos pesos que
relacionam as entradas da última camada com as saídas da penúltima. Lembrando
esse fato e usando as equações 3-4, 3-5 e 3-9, obtém-se:

(Equação 1-10).
A partir desta última equação está aberto o caminho para o cálculo das
derivadas parciais do erro em relação às saídas das camadas anteriores, ainda que os
valores desejados para essas saídas intermediárias não sejam conhecidos. Aplica-se
a Regra Delta para a minimização do erro, num processo iterativo que se mantém até
que o erro quadrático se torne igual ou inferior a um limite previamente estabelecido
ou até que o processo deixe de convergir, ou seja, novas iterações não conduzem a

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 10


uma diminuição do erro, uma vez que, como qualquer método de otimização baseado
na descida do gradiente, o algoritmo de retropropagação está sujeito a estacionar num
mínimo local da superfície de erro.

Entre as estratégias utilizadas para minimizar a possibilidade de paralisação


do aprendizado num mínimo local está a adição de um termo, denominado momento,
na equação que calcula a variação de um peso sináptico em função do erro obtido.
Assim, a Equação 3-8 toma a seguinte forma:

(Equação 1-11), sendo  a taxa de momento, t o índice referente à iteração

atual e t-1 o índice referente à iteração anterior no processo de retropropagação do


erro.

A inclusão da taxa de momento inibe o comportamento oscilatório que o


algoritmo tende a apresentar nas proximidades de mínimos locais, agindo como um
filtro passa-baixas em relação às variações dos pesos sinápticos.

Existem duas estratégias para a atualização dos pesos sinápticos durante o


treinamento de uma RNA: a atualização por padrão (“pattern mode”) e a
atualização por lote (“batch mode”). Na atualização por padrão, o erro é calculado
após a apresentação de cada exemplo de treinamento, sendo o seu valor logo em
seguida utilizado para o ajuste dos pesos. Na atualização por lote, o erro vai sendo
acumulado até que todo o conjunto de exemplos de treinamento seja apresentado à
rede, e só então se ajustam os pesos, com base nesse erro acumulado. Cada ciclo
completo de apresentação do conjunto de dados de treinamento é denominado de
época. Como quase todas as questões referentes às RNA, a estratégia ideal depende
do problema abordado.

É evidente que a atualização por lote proporciona um treinamento mais rápido


do que a atualização por padrão, além de permitir uma estimativa mais acurada da
variação mais adequada para os pesos. Em contrapartida, a atualização por padrão é

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 11


menos propensa a estacionar em mínimos locais da superfície de erro. Rafiq,
Bugmann e Easterbrook (2001) recomendam que a rede seja treinada utilizando-se
inicialmente a estratégia de atualização por lote. Caso a capacidade de
generalização da rede se mostre insatisfatória (erro elevado ao se confrontar com o
conjunto de exemplos de teste), deve-se então tentar a estratégia de atualização por
padrão. No presente trabalho, utilizou-se exclusivamente a atualização por lote.

1.1.2 Redes de Função de Base Radial


Funções de base radial são aquelas que possuem uma “sintonia”, ou seja, seu
valor é significativamente diferente de zero apenas numa região limitada e
radialmente simétrica do espaço de sua(s) variável(eis) independente(s). Assim,
uma função de base radial pode ser caracterizada por um centro receptivo ou base,
que corresponde ao “pico de sintonia” da função e por uma distância ou raio, que dá
uma medida da “seletividade” da função. Um exemplo clássico de função de base
radial (e largamente utilizada na implementação de RNA com essa arquitetura) é a
curva de distribuição estatística normal ou curva de Gauss. Nessa curva, o centro é
a média da distribuição e o raio é a sua variância.

Haykin (1994) assinala que as funções de base radial foram inicialmente


utilizadas para a solução de problemas de interpolação real multivariável, com o
trabalho de Powell (1985). Em 1988, Broomhead e Lowe (1988) tornaram-se os
pioneiros na utilização de funções de base radial no desenvolvimento de RNA, ao
que se seguiram os trabalhos de Moody e Darken (1989), de Renals (1989) e de
Poggio e Girosi (1990). Embora existam várias topologias possíveis para as RNA
do tipo RBF, a mais freqüentemente utilizada é a preconizada no trabalho de Moody
e Darken, devido à sua simplicidade. 1
A Figura 1-3 apresenta essa topologia.
bias
x1
y1


y2
x2 


  

  

xk ym
PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 12

Camada
de Entrada Camada Camada
Intermediária de Saída
Figura 1-3– Arquitetura Moody/Darken de uma RNA RBF

Segundo a descrição de Hwang e Bang (1997), trata-se de uma RNA não


recorrente composta por uma camada de entrada, uma camada oculta e uma camada
de saída. Cada unidade processadora da camada de entrada corresponde a um
padrão de um vetor de entrada x. A camada oculta, que corresponde aos padrões que
a rede classificará, possui n unidades processadoras e, opcionalmente, uma unidade
adicional com saída unitária fixa, conhecida como bias1. A camada de saída
consiste de m unidades que correspondem às possíveis classes do problema.

As unidades de entrada são completamente conectadas às unidades ocultas,


com exceção da bias. As unidades de entrada têm como único propósito transmitir
os padrões de entrada para a camada oculta, não realizando qualquer ativação nem
acrescentando pesos às conexões. As unidades ocultas são completamente
conectadas às de saída.

Com exceção da unidade bias, cuja função de ativação é unitária, a função de


ativação das unidades ocultas é:

(Equação 1-12).

Nesta equação, ci e i são respectivamente, o centro e o raio da função radial


de ativação das unidades ocultas e o operador || || representa a distância euclideana,
1
Na verdade, a unidade bias é freqüentemente utilizada nas camadas ocultas de qualquer tipo
de RNA não recorrente, e não apenas nas do tipo RBF.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 13


dada por:

(Equação

1-13).

Cada unidade na camada de saída realiza uma soma ponderada dos valores
recebidos da camada oculta e possui função de ativação linear, ou seja:

(Equação 1-14),

onde yj é a saída da j-ésima unidade de saída, zi é a saída da i-ésima unidade oculta e

ij é o peso relacionando a i-ésima unidade oculta e a j-ésima unidade de saída.

Existe uma série de questões envolvidas no processo de desenvolvimento de


uma RNA RBF. Em primeiro lugar, é necessário determinar o número de unidades
ocultas. Segundo Hwang e Bang (1997), o método mais simples e geral para essa
determinação é criar uma unidade para cada padrão de treinamento. No entanto, em
grande parte das aplicações reais, esse método é impraticável, uma vez que o número
de padrões é elevado. Por isso, a prática usual é dividir os padrões de treinamento
num número razoável de agrupamentos, utilizando algoritmos, em geral não
supervisionados, como o k-means, utilizado por Moody e Darken (1989) ou os
mapas auto-organizados, propostos por Kohonen (1988).

Obtida a estrutura da camada intermediária, devem agora ser determinados os


parâmetros intrínsecos da rede, ou seja, os valores do centro e do raio das funções de
transferência das unidades ocultas e, por fim, os valores dos pesos sinápticos entre
essas unidades e as unidades da camada de saída.

Como ressalta Haykin (1994), uma vez que as camadas de uma RNA RBF
realizam tarefas diferentes, é razoável separar a otimização dessas camadas em
passos distintos e utilizando técnicas distintas, num processo extremamente flexível.
Schwenker, Kestler e Palm (2001) classificam os métodos de treinamento desse tipo
de rede em monofásicos, bifásicos e trifásicos, de acordo com o número de etapas em
que esses métodos são executados. Dentro dessa classificação, esses pesquisadores

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 14


relacionam um total de nada menos que doze diferentes métodos. Vasconcelos
(1995), por sua vez, apresenta as seguintes estratégias de treinamento para cada um
dos três parâmetros que compõem uma rede RBF:

1. Em relação aos raios: estabelecimento de um valor fixo, definição através de


um método de descida do gradiente ou determinação através de um processo
heurístico (heurística da máxima proximidade).

2. Em relação aos centros: escolha aleatória entre os padrões de treinamento ou


treinamento baseado em aprendizado competitivo ou algoritmos genéticos.

3. Em relação aos pesos: uso de algoritmos de descida do gradiente (mínima


média quadrática, por exemplo) ou por um procedimento de manipulação
matricial direta conhecido como método pseudo-inverso.

A determinação dos pesos, portanto, é realizada através de um processo


supervisionado, semelhante ao utilizado na retropropagação, com a vantagem de que
existe um único vetor de pesos a ser calculado. Assim, caso os centros e/ou os raios
tenham sido determinados por uma técnica não supervisionada, o treinamento global
é chamado de híbrido, por ser constituído por uma fase não supervisionada seguida
de uma fase supervisionada. Moody e Darken, os idealizadores da topologia
específica de RNA RBF testada neste trabalho, obtiveram melhores resultados com a
modalidade híbrida de treinamento.

1.1.3 Comparação Entre as Duas Arquiteturas

Segundo Basheer e Hajmeer (2000), as RNA dos tipos MLP e RBF são
particularmente adequadas para os problemas de mapeamento ou aproximação de
funções, pois possuem, conforme os estudos realizados por Cybenko (1989), Hornik
(1991) e Hwang e Bang (1997), a propriedade de aproximadores universais. A
revisão bibliográfica mostra que esses dois tipos de rede são, pela ordem, os mais
utilizados nas aplicações relacionadas à laminação a frio. Tem-se demonstrado que
as redes RBF com a topologia proposta por Moody e Darken podem ser utilizadas
em praticamente todas as situações em que uma rede MLP é adequada (Moody e

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 15


Darken, 1989).

Comparando especificamente essas duas arquiteturas de RNA, Hassoun


(1995) afirma que as RBF possuem como vantagens um treinamento mais rápido e
melhor desempenho em aplicações que requeiram treinamento on-line, como no
processamento adaptativo de sinais. Em contrapartida, requerem cerca de 10 vezes
mais dados para alcançarem a mesma acurácia de uma MLP, necessitando também
de um maior número de unidades ocultas.

Num exemplo prático, Moody e Darken (1989) comparam o tempo necessário


para o treinamento de uma RNA RBF (no melhor caso, 67 segundos de
processamento numa CPU de 90 KFlops) com o tempo dispendido no treinamento de
uma RNA equivalente, mas com arquitetura MLP, utilizada num trabalho de Lapedes
e Farber (1987) (no melhor caso, “alguns” minutos de processamento numa CPU de
90 MFlops). Assim, eles concluem que, para uma mesma aplicação, o treinamento
de uma RNA RBF é de “centenas a milhares de vezes” mais rápido do que o de uma
MLP. A razão para tal diferença, segundo concluíram esses pesquisadores, reside
no fato de que a representação do conhecimento numa RNA RBF é basicamente
local, com poucas unidades ocultas ativas para um determinado padrão de entrada.
Uma RNA MLP, por sua vez, armazena conhecimento de forma distribuída,
ativando-se um grande número de unidades ocultas a cada padrão de entrada
apresentado. Moody e Darken advertem, no entanto, que a utilização de um método
totalmente supervisionado de treinamento anula a característica de representação
local das RNA RBF, levando a tempos de treinamento equivalentes ou mesmo
superiores aos de uma RNA MLP. Essa é uma das razões pelas quais, como
declarado no item 1.1.2, o treinamento híbrido é o preferido.

Fazendo a mesma comparação entre redes MLP e RBF, o Grupo de


Publicações Técnicas da NeuralWare (1993a) aponta como vantagem adicional das
dedes RBF sua capacidade de sinalizar a apresentação de dados radicalmente
diferentes dos utilizados no treinamento. Essa capacidade é conferida pela
característica de sintonia das funções de base radial.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 16


1.2 Passos Para o Desenvolvimento de Uma RNA

O primeiro passo é a coleta e preparação de dados para o treinamento e


validação da RNA. Esse é um ponto de fundamental importância, pois a quantidade
e a qualidade dos dados disponíveis é primordial para a viabilidade do projeto.
Esses dados são, basicamente, um conjunto de valores para as grandezas de entrada
da rede e um conjunto dos respectivos valores para as grandezas de saída.

Além da disponibilidade desses conjuntos de valores, é necessário também


um certo grau de conhecimento do problema que se propõe a resolver com o uso da
RNA. Esse grau de conhecimento deve ser suficiente para garantir a existência de
uma relação de causa e efeito entre as grandezas de entrada e saída, sem a qual a
RNA conduzirá a resultados totalmente falsos. Essa observação é importante para
desfazer a idéia “popular” de que as RNA sejam uma panacéia capaz de solucionar
qualquer tipo de problema. Curry e Morgan (1997) apontam como fonte potencial
de perigo o fato de que a abundância de pacotes de software especializados para o
desenvolvimento de RNA tem possibilitado que elas sejam empregadas sem um
rigoroso embasamento teórico. Segundo eles, isso acaba por escamotear aos olhos
do pesquisador desavisado as várias “armadilhas” inerentes à técnica, aumentando o
risco de erros decorrentes de sua má utilização.

Normalmente, os dados são obtidos de um registro histórico pré-existente.


Caso esse registro não exista, é preciso providenciá-lo antes de se dar
prosseguimento ao projeto. Obviamente, caso exista um modelo matemático ou
equação conhecida regendo o fenômeno, o conjunto de dados para o treinamento da
rede pode ser obtido simplesmente através da aplicação das entradas a esse modelo
ou equação, obtendo-se as saídas correspondentes aos resultados. Esse, no entanto,
não é o caso mais comum quando se adota a abordagem por meio de redes neurais.

Uma vez disponíveis os dados de treinamento, eles devem ser submetidos a


um processo de data mining, através do qual são removidos os dados inconsistentes e
verificada a real relevância de cada uma das entradas sobre o resultado final, o que
poderá ensejar uma redução na dimensionalidade da rede. Depois do processo de

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 17


data mining, os dados devem ser normalizados, para evitar que uma variável que
tenha valores, por exemplo, entre 1000 e 1500, tenha maior influência do que outra
que tenha valores entre 0,2 e 0,8. O processo de normalização garante que todas as
variáveis aplicadas à RNA estejam dentro da mesma ordem de grandeza.

O próximo passo é a determinação da arquitetura de RNA a ser utilizada,


entre as várias existentes. A resposta a essa questão está intimamente ligada à
natureza da tarefa a que se destina a rede e até mesmo ao tipo e quantidade dos dados
disponíveis, e está longe de ser trivial. Embora a literatura apresente algumas
diretrizes para nortear a decisão, essa é obtida por tentativa e erro e por um eventual
histórico de aplicações semelhantes. A descrição dos passos seguintes aplica-se
especialmente às RNA de arquitetura MLP direta, que é a mais utilizada em
aplicações industriais.

O passo seguinte é a determinação da topologia da RNA, ou seja, o número


de camadas intermediárias e o número de neurônios em cada camada. O número de
neurônios nas camadas de entrada e saída é determinado diretamente pelo problema
específico ao qual se aplica a rede. Exemplificando, se o objetivo da rede é
determinar a cotação do dólar e o risco-país em função das reservas cambiais, do
saldo da balança comercial e do montante de investimentos diretos, a rede terá três
neurônios na camada de entrada e dois neurônios na camada de saída. Com relação
ao número de camadas intermediárias, embora Cybenko (1988) tenha comprovado
que duas sejam suficientes, o número efetivo é determinado empiricamente (em
geral, por tentativa e erro). O número de neurônios na(s) camada(s)
intermediária(s) também é um valor empírico, norteado por fatores como a
quantidade disponível de dados para o treinamento da rede, a precisão desejada para
os resultados, etc.

Determinada a topologia da rede, atribuem-se valores aleatórios aos pesos das


conexões sinápticas (normalmente dentro do intervalo [-1, +1]) e se inicia o processo
de treinamento da rede. A determinação da topologia e do valor aceitável para o
erro da RNA após o seu treinamento deve levar em conta os requisitos contraditórios
de precisão e de capacidade de generalização desejados para a RNA. Excesso de

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 18


neurônios pode levar ao chamado overfitting, em que a RNA na verdade memoriza
os exemplos que lhe foram apresentados no treinamento, sendo incapaz de classificar
corretamente outros exemplos, ou seja, reduz a capacidade de generalização da rede.
O overfitting é evidenciado quando a RNA apresenta diante dos dados do conjunto
de teste um erro significativamente superior ao apresentado durante o treinamento.

Hines (1997) recomenda três métodos para reduzir a possibilidade do


overfitting: redução do número de unidades da rede ao mínimo necessário, aumentar
o tamanho do conjunto de treinamento para que o ruído presente nos dados se anule e
promover a interrupção antecipada do treinamento. Após o treinamento, a
capacidade de generalização da rede pode ser aferida por meio de um conjunto de
dados de validação previamente separados para esse fim.

Capítulo 2 - METODOLOGIA DE DESENVOLVIMENTO (CASO


REAL)

Esse capítulo descreve sucintamente o desenvolvimento de um sistema,


baseado em RNA, para a geração dos presets do LTF da COSIPA. Nesses sistema,
125 valores de variáveis de saída deveriam ser obtidos a partir de 9 valores
relevantes de variáveis de entrada. O sistema desenvolvido tinha como objetivo
servir como estratégia alternativa ao modelo matemático que normalmente calcula os
presets, substituindo o metodo alternativo original, que consistia na pesquisa a uma
tabela de valores pré-calculadosa de presets. O propósito deste capítulo é ilustrar,
usando um caso real, as questões envolvidas no desenvolvimento de um projeto
baseado em RNA.

2.1 Busca de Uma Operação Alternativa Mais Eficiente

Como exposto acima, o problema consiste na obtenção de uma forma mais


eficiente de operar o laminador quando o modo normal de operação for impossível.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 19


As seguintes alternativas podem ser vislumbradas:

 Tornar mais detalhada a tabela de operação e automatizar sua utilização.

 Adaptar o modelo matemático para ser executado em outra CPU.

 Desenvolver um modelo matemático para ser usado em outra CPU.

 Implantar redundância ou manutenção preditiva no hardware crítico.

 Utilizar uma rede neural artificial para a geração off-line dos presets.

Analisando-se as alternativas acima, pode-se concluir que um maior


detalhamento da tabela de operação, além de ainda não conseguir englobar todos os
possíveis tipos de produto, teria ainda a desvantagem de aumentar o tempo de
consulta. A adaptação do modelo existente para ser executado em outra CPU, além
das dificuldades técnicas, esbarra no direito de propriedade do fornecedor do modelo
matemático. O desenvolvimento de um novo modelo demanda tempo e pessoal
especializado e a implantação de redundância, além do custo do equipamento,
exigiria adaptações na arquitetura do sistema que, como se pode ver na Error:
Reference source not found, é razoavelmente complexa.

Por todos esses motivos, a solução se inclina naturalmente para as RNA, que
possuem características que favorecem o seu uso, entre as quais:

 Disponibilidade de dados históricos para servir de padrões de treinamento: o


laminador já se encontra em operação há mais de quatro anos, período no qual as
informações relevantes têm sido registradas e armazenadas.

 Capacidade de implementação de funções contínuas, que é o caso das funções


envolvidas no processo de geração de presets.

 Capacidade de generalização a partir dos padrões de treinamento, podendo assim


responder corretamente a produtos de características “inéditas”.

 Registro de diversas aplicações de Redes Neurais em áreas correlatas (item


Error: Reference source not found).

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 20


 Possibilidade de extensão dos resultados do trabalho a outros laminadores da
empresa que operam exclusivamente por meio de tabelas.

 Dispensa do pagamento de royalties.

 Menor necessidade de envolvimento de especialistas em processo.

Quanto às objeções normalmente levantadas em relação ao uso de RNA em


aplicações de controle, o sistema em questão também não apresenta qualquer
problema. Em primeiro lugar, a RNA substituirá apenas o modelo estático (geração
de presets), continuando o controle dinâmico (em tempo real) sob a responsabilidade
dos equipamentos do Nível 1, sem o qual a linha de produção não pode operar. Em
segundo lugar, da mesma forma como normalmente ocorre com os resultados
produzidos pelo modelo matemático, os resultados gerados pelas RNA podem ser
avaliados pelo operador, que sempre poderá solicitar a geração de um novo conjunto
de presets, caso a resposta produzida seja considerada insatisfatória. Por último, no
que se refere à falta de base teórica para compreender a operação de uma RNA, vale
notar que o algoritmo de otimização utilizado pelo modelo matemático do sistema é
o Método Simplex de Nelder e Mead (1965), cujo ótimo funcionamento prático
continua sendo, segundo Lagarias et al. (1998), um “mistério” teórico. Logo, uma
RNA não apresentaria desvantagem nesse particular.

O sistema desenvolvido inclui uma ligação através de socket de comunicação


TCP/IP entre a CPU hospedeira de Nível 1 e o nível corporativo (Nível 3). Dessa
forma, os dados das bobinas a serem processadas estão disponíveis para o operador,
não havendo necessidade de digitação, eliminando-se a perda de tempo e os erros
potenciais por ela provocados. Se, eventualmente, esta comunicação também estiver
inativa, o operador terá que digitar os dados das bobinas, da mesma forma como no
sistema anterior. No entanto, devido à propriedade de tolerância a ruídos das RNA,
eventuais erros de digitação terão efeitos menos perniciosos sobre o resultado final.

2.2 Levantamento de Dados

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 21


Conforme Zhang, Patuwo e Hu (1998), RNA são adequadas para problemas
que envolvam conhecimento de explicitação complexa, mas para os quais existam
suficientes dados ou observações. A quantidade e a qualidade desses dados são
determinantes na viabilidade da abordagem de um problema através desse
instrumento, bem como na escolha da topologia da RNA a ser empregada.

Entre as funções do Nível 2 do sistema de automação do laminador se


encontra o armazenamento de dados de dados históricos de produção. A base de
dados armazena informações detalhadas sobre as bobinas produzidas nos últimos
dois anos (algo em torno de 100.000 bobinas). A experiência operacional indica
que a cada três meses, aproximadamente, o laminador processa todo o mix usual de
produtos.

Para o levantamento desses dados, foi incluído no Nível 2 de automação um


programa para extrair da base de dados histórica as informações relevantes para a
RNA. Os dados obtidos por esse programa representam situações reais de
produção, ou seja, são respostas geradas pelo modelo matemático e validadas pelos
operadores. Trata-se, portanto, de uma vantagem em relação ao modelo off-line que
alimenta a tabela de consulta utilizada atualmente. Por meio desse programa,
foram obtidos os dados referentes às bobinas produzidas entre os meses de junho,
julho e agosto de 2003, num total de 13084 registros.

2.3 Pré-processamento dos Dados

A capacidade de extração de conhecimento a partir dos dados, característica


das RNA, não deve pressupor, em hipótese alguma, que se possa prescindir de um
conhecimento pelo menos básico a respeito do problema abordado com o uso dessa
ferramenta. Esse conhecimento permite, por exemplo, que se removam entradas
e/ou saídas redundantes ou desnecessárias, reduzindo desse modo a
dimensionalidade da rede. Além disso, tal conhecimento possibilita o adequado
tratamento de variáveis com valores não-numéricos ou discretos.

Como explanado no item Error: Reference source not found, constatou-se que
das 30 variáveis de entrada, apenas 9 têm influência significativa sobre as variáveis

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 22


de saída: as espessuras de entrada e saída, a largura, a coroa da tira, a força imposta
na quarta cadeira, a informação sobre o tensionamento da bobina na entrada, a
resistência da liga, o tipo do aço (forma codificada da composição química) e o
código de estampagem. As cinco primeiras variáveis possuem valores numéricos e
contínuos, não necessitando de qualquer tratamento especial. A informação sobre o
tensionamento é do tipo lógico (valores verdadeiro ou falso), a resistência da liga
possui valores discretos (alta, média ou baixa), da mesma forma como o código de
estampagem.

O tipo do aço é a mais complexa das variáveis de entrada, pois se trata, na


verdade, de uma codificação que engloba a receita de fabricação do aço e o teor
equivalente de carbono na sua composição. Para exemplificar, o tipo de aço mais
freqüentemente processado na COSIPA é o denominado como 371100. Os três
primeiros algarismos (371) codificam a composição química do aço e o tipo de
processamento que sofreu na aciaria. Os três últimos algarismos (100), indicam que
o teor equivalente de carbono na composição desse aço é de 10%. Essas informações
são de fundamental importância na determinação do limite de escoamento do
material, que, por sua vez, possui grande influência sobre algumas das variáveis de
saída da rede.

A apresentação dessa variável de uma forma significativa a uma RNA é uma


tarefa particularmente complexa, especialmente quando se sabe que a COSIPA
processa mais de 200 tipos de aço. Lacasse, Fromont e Sorin (1989) propõem a
modelagem do comportamento do aço do ponto de vista metalúrgico por meio do
critério de plasticidade de Von Mises e utilizam uma fórmula do tipo h = Kn, onde h
é a dureza, K é a deformabilidade e n é um coeficiente dependente do produto.

O modelo matemático em uso no laminador realiza, durante o seu ciclo de


adaptação, uma correlação entre o tipo de aço e seu limite de escoamento,
encarregando-se de atualizar uma tabela histórica com os valores dessa correlação.
Assim, ao invés da informação sobre o tipo de aço, a RNA foi alimentada com a
informação sobre limite de escoamento, obtida através da consulta a essa tabela.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 23


A Tabela 2-1 apresenta parte da tabela de correlação gerada pelo modelo. A
coluna Name relaciona os tipos de aço já processados, a coluna Number indica
quantas tiras de um determinado tipo de aço já foram processadas pelo laminador
desde 1º de janeiro de 2001, a coluna Ssigma apresenta o valor de curto prazo (até as
últimas 10 tiras) para o limite de escoamento para cada tipo de aço e a coluna
Sqsigma apresenta o valor histórico (adaptação de longo prazo) para a mesma
variável. A RNA é alimentada com o valor Sqsigma, que é menos influenciado por
fatores circunstanciais, como temperatura, tempo de operação contínua do laminador,
etc. A tabela completa possui 323 linhas (valor em 18 de setembro de 2003).

NAME:COSIPA TCM CREAT_DATE:


NB_COLS:4 NB_ROWS:206

NameNumberSsigmaSqsigma31214032071,3811,3963121002621,3261,39
1371100502111,3111,32037106071661,2731,3063271008431,3531,318377
0220271,1591,22639810018181,1951,26810610010991,3821,34936810018
611,4121,352

Tabela 2-1 – Correlação Entre o Tipo do Aço e o Seu Limite de Escoamento

Decidida a forma de apresentação dos dados, o restante do pré-processamento


inclui:

 Remoção dos registros redundantes, ou seja, aqueles que apresentam os


mesmos valores.

 Remoção dos registros conflitantes, ou seja, aqueles cujas variáveis de


entrada apresentam os mesmos valores, mas que possuem valores diferentes
para as variáveis de saída. No caso específico deste problema, essa situação
não representa necessariamente um erro (em decorrência dos muitos graus de

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 24


liberdade anteriormente explicados), mas ainda assim os registros com essa
característica foram eliminados, para evitar “confundir” o treinamento da
rede. Para se escolher um dentre os vários registros com entradas iguais
mas saídas diferentes, foi utilizado em primeiro lugar o critério da redução
decrescente de espessura da Cadeira 1 para a Cadeira 3 e, em segundo lugar,
o critério da menor variância dos valores de força nas cadeiras 1, 2 e 3
(lembrando que a Cadeira 4 trabalha com valor de força imposto pelo
operador). Esses critérios garantem a escolha dos presets com melhor
distribuição de carga entre as cadeiras, principal característica utilizada pelos
operadores para avaliar os presets gerados pelo modelo.

 Remoção dos registros com dados fora da faixa permitida (outliers). Como
os dados foram extraídos de uma base contendo informações reais de
produção, não houve a ocorrência desse tipo de dados.

 Tratamento de registros incompletos, ou seja, com informações ausentes.


Não houve também esse tipo de ocorrência.

 Transformação dos dados, para colocá-los numa escala adequada para sua
utilização pela rede.

 Separação do conjunto de dados entre os subconjuntos de treinamento, teste e


validação para a rede.

Segundo o Grupo de Publicações Técnicas da companhia NeuralWare (1994),


estima-se que se transcorram dois terços da duração de um projeto típico de RNA
antes da primeira experiência efetiva de treinamento da rede, e que a maior parte
desse tempo seja gasta na fase de pré-processamento. Para facilitar essa tarefa, neste
trabalho foi utilizado o software de pré-processamento DataSculptor®. Trata-se de
um utilitário orientado a objeto que permite realizar todas as tarefas relacionadas
acima, sugerindo inclusive o tipo de transformação mais adequada para cada uma das
variáveis. Esse utilitário possui como vantagem adicional uma integração direta
com o simulador de RNA NeuralWorks®, responsável pela criação e treinamento da

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 25


rede propriamente dita. Opcionalmente, o DataSculptor® também permite a
separação dos dados em subconjuntos de treinamento, teste e validação no formato
ASCII, que podem ser utilizados por outras ferramentas de simulação e treinamento
de redes neurais.

A Figura 2-4 apresenta o projeto-piloto DataSculptor® utilizado neste


trabalho. A entrada compõe-se dos dados obtidos pelo aplicativo off-line de
pesquisa na base de dados de produção (13084 registros). Ao final do pré-
processamento, restaram 8120 registros, sendo 7085 no arquivo de treinamento e
1035 nos de teste e validação.

Figura 2-4 – Projeto-Piloto DataSculptor® Para Pré-processamento dos Dados

Segue-se uma descrição sucinta da função de cada um dos objetos presentes


na figura.

 DADOS_CRUS: Responsável pela leitura das informações do arquivo


original. Esse objeto inclui um descritor de formato de dados, que informa
ao DataSculptor® como interpretar os diversos campos de cada registro
(linha do arquivo-texto original).

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 26


 VISUALIZAÇÃO: Permite visualizar os dados do arquivo-texto original,
traduzidas de acordo com as informações do descritor de formato, na forma
de uma planilha, possibilitando verificar a integridade dos dados.

 ESTATÍSTICAS: Permite as mais variadas análises estatísticas,


configuráveis pelo usuário, sobre um subconjunto qualquer dos dados.
Como exemplo, é possível calcular correlações entre os dados, norteando o
processo de eliminação de variáveis para reduzir a complexidade da rede. A
Figura 2-5 apresenta a matriz de correlação entre a variável velocidade de
laminação das várias cadeiras, mostrando como a velocidade da cadeira 2 está
altamente correlacionada com a das demais. Tal correlação, aliás, já era
esperada, uma vez que a Cadeira 2 é a pivô.

Figura 2-5 – Objeto ESTATÍSTICAS Mostrando uma Matriz de Correlação

 GRÁFICOS: Permite a criação de gráficos para uma análise visual dos dados.
Como exemplo, a Figura 2-6 apresenta graficamente a mesma correlação
mostrada na figura anterior.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 27


Figura 2-6 - Objeto GRÁFICOS Mostrando Correlação Entre Variáveis

 ORDENAÇÃO: Ordena o arquivo original, usando como chave as variáveis


escolhidas (no caso, as variáveis de entrada) e usando a memória como área
de armazenamento.

 FILTRAGEM: Remove da lista de registros pré-ordenados aqueles que


possuam informações iguais (dados redundantes) e aqueles que possuam as
mesmas informações de entrada, mas diferentes informações de saída (dados
conflitantes). Na prática, basta apenas comparar as informações de entrada.

 TRANSFORMAÇÃO: Responsável pela normalização dos valores das


variáveis, de modo a adequá-los para a utilização por uma RNA. O utilitário
não utiliza um mesmo tipo de transformação para todas as variáveis. Em vez
disso, ele analisa a distribuição dos valores e realiza a transformação mais
conveniente. O utilitário faz distinção entre as variáveis de entrada e de
saída e realiza transformações que colocam as primeiras nos intervalos [-1, 1]
ou [0, 1] e as últimas nos intervalos [-0,8, 0,8] ou [0, 0,8]. Com relação às
variáveis de saída, o utilitário realiza transformações passíveis de inversão,
permitindo transformar os valores normalizados das saídas produzidas pela
RNA nos valores adequados ao problema em questão.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 28


 SEPARAÇÃO: Baseado numa distribuição estatística configurável pelo
usuário, esse objeto determina em que subconjunto (treinamento, teste ou
validação) cada um dos registros já transformados será incluído.

 TREINAMENTO, TESTE e VALIDAÇÃO: São os objetos que efetivamente


dividem os registros entre os subconjuntos determinados pelo objeto
SEPARAÇÃO.

 TRAIN_TEST, TEST_SET e VALID_SET: Gravam as informações geradas


pelos objetos anteriores em arquivos utilizáveis pelos simuladores de RNA.
O usuário pode optar pela geração de arquivos no formato texto ou pela
geração de arquivos no formato NeuralWare®, para integração direta com o
simulador NeuralWorks®.

2.4 Hierarquização do Problema

A análise dos dados utilizando o projeto-piloto de pré-processamento


permitiu a descoberta de características do problema que, juntamente com o
conhecimento a respeito do processo modelado, orientaram a redução de sua
dimensionalidade.

Em relação à velocidade das cadeiras, optou-se por incluir entre as saídas da


rede apenas o valor referente à Cadeira 2 (cadeira pivô), devido à já comentada
correlação entre a velocidade dessa cadeira e as velocidades das demais cadeiras.
Assim, a partir do valor da velocidade da Cadeira 2, serão obtidos os valores das
velocidades das outras três cadeiras, utilizando-se as equações do modelo que
correlacionam os valores de redução, escorregamento e velocidade em cada cadeira.

As variáveis espessura de entrada e espessura de saída também foram


removidas da lista de valores a serem calculados, uma vez que seus valores têm que
ser, necessariamente, idênticos aos utilizados como entrada.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 29


Outra característica percebida é que, para a fase de desencaixe, os valores dos
presets da deflexão dos cilindros (bending) são exatamente iguais para as quatro
cadeiras. Logo, a rede precisa calcular apenas um deles. Por fim, foi retirada da
lista de variáveis a serem calculadas a força na Cadeira 4, que deve ser obtida a partir
dos valores para as variáveis de entrada força imposta na cadeira e largura da tira.

Não tendo sido percebidas outras características que preconizassem uma


redução do número de variáveis de saída, a estratégia seguinte foi dividi-las em
quatro subconjuntos distintos, listados em ordem de importância para o processo:
variáveis referentes à fase de laminação propriamente dita, variáveis referentes à fase
de encaixe, variáveis referentes aos ganhos do AGC e variáveis referentes à fase de
desencaixe. Todos esses conjuntos possuem as mesmas 9 variáveis de entrada
relatadas no item 2.3, e cada um deles é modelado por uma RNA distinta. A solução
do problema, portanto, é obtida pela combinação das saídas das quatro redes,
juntamente com a utilização de algumas equações previstas pelo modelo.

Figura 2-7 – Projeto de Pré-processamento dos Dados Sobre a Fase de Desencaixe


Cada conjunto de dados foi pré-processado por um projeto DataSculptor®
obtido a partir do projeto-piloto, usando como fonte um arquivo já ordenado e
filtrado. A Figura 2-7 mostra o projeto específico para o conjunto de dados

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 30


referentes à fase de encaixe. Os projetos para os demais conjuntos são análogos,
mutatis mutandis.

Efetuadas as operações acima descritas, as RNA ficaram definidas com as


seguintes variáveis de entrada e saída:

 Entradas (comuns às 4 RNA): espessura de entrada, espessura de saída, largura,


resistência codificada (1 para baixa resistência, 2 para média resistência e 3 para
alta resistência), limite de escoamento (obtido através de tabela de correlação),
tensionamento codificado (0 para falso e 1 para verdadeiro), coroa, tipo de
estampagem codificado e força imposta na quarta cadeira, num total de 9 valores.

 Saídas da RNA de Laminação: força de laminação nas cadeiras 1, 2 e 3;


redução nas cadeiras 1, 3 e 4; força de deflexão dos cilindros, corrente e
escorregamento nas quatro cadeiras; tensão nos cinco vãos e velocidade na
Cadeira 2, num total de 27 valores.

 Saídas da RNA de Encaixe: força de laminação, força de deflexão de cilindros,


abertura de cilindros, sobreabertura de cilindros, torque e escorregamento para as
quatro cadeiras; tensão nos cinco vãos e espessura nos vãos 1-2, 2-3 e 3-4, num
total de 32 valores.

 Saídas da RNA de Desencaixe: força de laminação nas quatro cadeiras, tensão


nos cinco vãos e força de deflexão de cilindros na Cadeira 1, totalizando 10
valores.

 Saídas da RNA de Coeficientes do AGC: valores dos 10 ganhos (módulos de


elasticidade das cadeiras e dos coroamento; derivadas da força em relação à
espessura de entrada, à espessura de saída, à tensão de entrada e à tensão de
saída; derivadas do torque em relação às espessuras de entrada e saída, derivadas
do escorregamento em relação às tensões de entrada e saída) para as quatro
cadeiras, num total de 40 valores.

2.5 Escolha da Arquitetura das RNA

Conforme discutido no item 1.1.3, duas arquiteturas de RNA são indicadas


para a aproximação de funções: a MLP e a RBF. Visto que ambas as arquiteturas

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 31


são particularmente adequadas à tarefa a que se propõe este trabalho e considerando
que ambas possuem pontos fortes e fracos, o procedimento mais adequado é
experimentar cada uma delas e determinar a que melhor se adapta ao objetivo
estabelecido. Esses experimentos foram feitos com os simuladores NeuralWorks®,
da NeuralWare e Matlab® Neural Networks ToolBox, da MathWorks.

Foi utilizada a versão Professional II Plus (5.2) do NeuralWorks®,


desenvolvida para o sistema operacional DOS, o que significa, por um lado, interface
menos amigável e dificuldade de integração com outros aplicativos, mas, por outro
lado, representa também menor utilização dos recursos da máquina e maior
velocidade de processamento, características opostas às da Neural Networks Toolbox
(versão 4.0, utilizada em conjunto com a versão 6.1 do Matlab®), que é um
aplicativo desenvolvido para o sistema operacional Windows®.

2.5.1 Treinamento Com a Arquitetura MLP Usando o NeuralWorks®

Como descrito acima, o número de unidades de entrada e saída foi


previamente definido. Por essa razão, os experimentos realizados para a obtenção
do melhor desempenho da rede (medido pelo erro médio quadrático) relacionaram-se
com os seguintes parâmetros:

 Número de camadas ocultas.

 Número de unidades ocultas.

 Função de ativação das unidades.

 Regra de aprendizado.
 Valores de taxa de aprendizado e momento.

Para resumir a descrição dessa longa etapa de tentativa e erro, serão


apresentadas as observações feitas em relação à menor das 4 RNA (a relacionada à
fase de desencaixe). Os resultados obtidos para as demais foram semelhantes.
2.5.1.1 Número de Camadas Ocultas

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 32


De acordo com a literatura, uma RNA MLP necessita de no máximo duas
camadas ocultas para aproximar com precisão arbitrária uma função não-linear
(Cybenko, 1988). A utilização de duas camadas representa um aumento da
complexidade das redes e, portanto, só é recomendável caso proporcione uma
significativa melhoria de desempenho em comparação com a utilização de uma única
camada. Assim, para a determinação desse parâmetro, foram comparados os
desempenhos de 3 RNA, duas utilizando duas camadas ocultas e outra com apenas
uma. Em todos os casos, utilizou-se o mesmo número total de unidades ocultas e os
mesmos valores para os demais parâmetros de configuração e treinamento das RNA.

Como as figuras seguintes demonstram, não se justifica o aumento de


complexidade decorrente da utilização de uma camada oculta adicional. Desse
modo, optou-se pela utilização de uma única camada oculta. Nas três figuras
destaca-se o valor obtido para o erro após 30 épocas de treinamento.

Figura 2-8 – Desempenho da 1ª RNA com Duas Camadas Ocultas

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 33


Figura 2-9 – Desempenho da 2ª RNA Com Duas Camadas Ocultas

Figura 2-10 – Desempenho da Rede Com Uma Única Camada Oculta (Vista Parcial)

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 34


2.5.1.2 Número de Unidades Ocultas

A literatura apresenta um vasto número de propostas para a determinação do


número de unidades ocultas de uma RNA MLP (Stader, 1992); (Swingler, 1996);
(Zhang, Patuwo e Hu, 1998); (Basheer e Hajmeer, 2000). Tal variedade, por
certo,se origina do grande número e diversidade de aplicações a que se presta essa
arquitetura de RNA. Como existe uma tendência de os pesquisadores generalizarem
os resultados obtidos para a sua aplicação específica, criam-se “regras” que na
verdade se aplicam apenas a uma situação particular. De fato, a única técnica
efetiva para se obter o número ideal de unidades ocultas é o método de tentativa e
erro. Assim, as várias fórmulas sugeridas, que Prechelt (1995) chega a classificar
como “lixo total”, servem, no máximo, para balizar a busca pelo número ideal.

Tomando por base as equações recomendadas por Swingler (1996) e usando


como exemplo a RNA referente à fase de desencaixe, obtêm-se diversos valores para
o número h de unidades ocultas, de acordo com o critério de cálculo adotado.

 De acordo com o número i de entradas:


(Equação 2-15).

 De acordo com o número p de padrões de treinamento:

(Equação 2-16).

Como se obtiveram 7085 padrões: h  115.

 Levando-se em conta o erro  objetivado:


(Equação 2-17).
Para um erro de 8%: .
 Levando-se em conta o número o de saídas:

(Equação 2-18).

Sendo 10 as saídas da rede e 7085 os padrões:

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 35


Diante de tal disparidade de sugestões, o critério adotado foi buscar uma
RNA com as menores dimensões possíveis, sem que ocorresse perda significativa de
desempenho. Para tanto, fez-se a comparação entre uma RNA com um número de
unidades ocultas inferior ao menor número sugerido (15) e outra com o maior
número permitido pelo aplicativo de simulação (no caso da RNA relativa à fase de
desencaixe, 484).

As figuras seguintes mostram que, após 30 épocas de treinamento, ambas as


RNA apresentaram desempenho semelhante. A distribuição dos pesos na rede de
maior dimensão apresenta uma melhor distribuição em torno do zero, o que, segundo
Swingler (1996), indica um treinamento mais adequado. Apesar disso, na RNA de
menor dimensão também predominam os pesos de baixo valor. Considerando a
simplificação obtida, a decisão foi utilizar 15 unidades na camada oculta.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 36


Figura 2-11 – Desempenho da RNA de Maior Dimensão

Figura 2-12 - Desempenho da RNA de Menor Dimensão


2.5.1.3 Função de Ativação das Unidades

Numa comparação pura e simples entre as duas opções mais comuns (funções
tangente hiperbólica e logística), constatou-se que o desempenho das RNA utilizando
função de ativação logística foi claramente superior, como pode ser verificado pela
comparação entre a, que ilustra uma RNA com função de ativação logística e a, que
se refere a uma RNA de mesmos parâmetros, mas com função de ativação tangente
hiperbólica. Tal diferença deveu-se, provavelmente, ao fato de que todas as entradas
possuem apenas valores positivos ou nulos.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 37


Figura 2-13 – Desempenho da RNA Utilizando Função de Ativação tanh

2.5.1.4 Regra de Aprendizado

O simulador NeuralWorks® disponibiliza 6 opções para a regra de


aprendizado, além de permitir a utilização de regras definidas pelo usuário.
Experimentando-se as opções oferecidas pelo utilitário, constatou-se que, para a
função de ativação logística, a regra de aprendizado que teve melhor desempenho foi
a Regra Delta. A título de comparação, as figuras 4-11 e 4-12 mostram,
respectivamente, o desempenho da RNA treinada com o uso da Regra Delta
Cumulativa e Normalizada (norm-cum-delta) e o desempenho da RNA treinada com
a Regra Delta-Bar-Delta.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 38


Figura 2-14 - Desempenho da RNA Treinada com a Regra Norm-Cum-Delta

Figura 2-15 – Desempenho da RNA Treinada com a Regra Delta-Bar-Delta

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 39


2.5.1.5 Valores de Taxa de Aprendizado e Momento

O aplicativo NeuralWorks® utiliza valores distintos de taxa de aprendizado


para cada camada. Os valores-padrão são 0,3 e 0,15, para a camada oculta e a
camada de saída, respectivamente. A taxa de momento padrão vale 0,4. A Figura 2-
16 mostra o desempenho da RNA treinada com esses valores padrão. O melhor
desempenho foi obtido com a combinação dos valores 0,15 / 0,05 e 0,8 para esses
parâmetros.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 40


Figura 2-16 – Desempenho da RNA Treinada com = 0,15 / 0,05 e  = 0,8

2.5.1.6 Resultados Obtidos Para as Demais RNA

As figuras seguintes mostram os resultados obtidos após o treinamento das


demais RNA (laminação, encaixe e AGC), adotando-se um procedimento semelhante
ao descrito nos itens anteriores. As características e o desempenho obtido para as
quatro redes estão detalhados na Tabela 2-2. As taxas de treinamento referem-se à
camada oculta e à camada de saída, respectivamente. Para cada RNA foi
determinado o erro para o conjunto de teste, para se certificar de que não ocorrera
overfitting. Em todos os casos, a diferença entre os erros foi inferior a 5%.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 41


Figura 2-17 – Desempenho da RNA de Laminação

Figura 2-18 – Desempenho da RNA de Encaixe

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 42


Figura 2-19– Desempenho da RNA dos Ganhos do AGC

RNA RNA RNA RNA


ENCAIXE DESENCAIXE LAMINAÇÃO AGC
Entradas 9 9 9 9
Saídas 32 10 27 40
Exemplos Treinamento 7083 7085 7084 7085
Exemplos Teste 1035 1035 1035 1035
Camadas Ocultas 1 1 1 1
Unidades Ocultas 40 15 30 50
Função de Ativação logística logística logística logística
Regra de Aprendizado Delta Delta Delta Delta
Taxa de Aprendizado 0,3 / 0,15 0,15 / 0,05 0,2 / 0,1 0,2 / 0,1
Taxa de Momento 0,8 0,8 0,8 0,8
Épocas de Treinamento 40 70 40 40
Erro RMS (Treinamento) 0,0433 0,0286 0,0541 0,0457
Erro RMS (Teste) 0,0442 0,0300 0,0547 0,0461

Tabela 2-2 – Parâmetros e Desempenho das RNA MLP Treinadas Com NeuralWorks

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 43


2.5.2 Treinamento Com a Arquitetura RBF Usando o NeuralWorks®

Conforme discutido no item 1.1.3, a principal vantagem da arquitetura RBF


em relação à MLP no que se refere a aplicações como a desenvolvida neste trabalho
é um treinamento mais rápido. Apesar disso, a opção pela arquitetura RBF só é
justificável se apresentar um desempenho significativamente superior ao obtido com
a arquitetura MLP, visto que a implementação em software da arquitetura RBF é um
pouco mais complexa do que para a MLP e que a RBF necessita de um número
maior de exemplos de treinamento para obter um desempenho semelhante ao de uma
MLP.

Feitas essas considerações, utilizou-se como parâmetro de comparação entre


as arquiteturas o desempenho obtido para a RNA de laminação (a que apresentou o
maior erro ao ser treinada com a arquitetura MLP). Caso se obtivesse um erro
significativamente menor para essa RNA adotando-se a arquitetura RBF, esta seria
adotada para a implementação do sistema.

No treinamento de redes RBF, o NeuralWorks® permite a configuração da


taxa de aprendizado, da taxa de momento, do número de unidades na camada
intermediária, da regra de aprendizado e da duração da etapa não-supervisionada do
aprendizado (clustering). Usando o método de tentativa e erro, o melhor resultado
foi obtido com a combinação apresentada na Tabela 2-3. O número de entradas e
saídas, obviamente, foi determinado pelas características do problema.

Unidades na Camada Intermediária 50


Função de Ativação logística
Regra de Aprendizado Delta
Taxa de Aprendizado na Camada Intermediária 0,2
Taxa de Aprendizado na Camada de Saída 0,1
Taxa de Momento 0,8
Épocas de Treinamento 80
Duração da Fase Não Supervisionada (épocas) 30
Erro RMS 0,0567

Tabela 2-3 – Parâmetros de Treinamento da RNA RBF de Laminação

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 44


A Figura 2-20 mostra o desempenho da RNA RBF de laminação.
Comparando-se com o resultado anteriormente obtido com a RNA MLP, conclui-se
que a arquitetura RBF teve desempenho ligeiramente inferior, não se justificando,
portanto, a sua utilização.

Figura 2-20 – Desempenho da RNA RBF de Laminação

2.5.3 Treinamento Com a Arquitetura MLP Usando a Neural Toolbox

Em comparação com o NeuralWorks®, a Matlab® Neural Networks Toolbox


apresenta um número bem maior de parâmetros configuráveis no processo de
treinamento de uma RNA. Para exemplificar, disponibiliza 14 algoritmos de
treinamento, contra 6 do NeuralWorks®. Isso confere bastante flexibilidade ao
utilitário, mas também torna mais longo o processo de obter a melhor configuração.
Uma desvantagem adicional da Neural Toolbox em relação ao NeuralWorks® é o
fato de a normalização dos dados de entrada e a denormalização dos dados de saída
não estarem integradas ao simulador, tendo que ser realizadas separadamente.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 45


Foram experimentados os algoritmos de retropropagação resiliente
(Riedmiller e Braun, 1993) e de gradiente conjugado escalonado (Mller, 1993), que
Demuth e Beale (2002) recomendam como apropriados para redes de grandes
dimensões. Segundo esses autores, outros algoritmos podem ser muito lentos para
muitas aplicações práticas. Tal característica se mostrou real no desenvolvimento
deste trabalho, pois treinando-se a rede com o algoritmo padrão de retropropagação,
a Neural Network Toolbox não conseguiu convergência após mais de 12 horas de
processamento, e isso para a RNA de menor dimensão.

Da mesma forma como estabelecido no item 2.5.2, o desempenho obtido para


a RNA de laminação treinada com o NeuralWorks® foi utilizado como base para
avaliação do desempenho dos treinamentos com a Neural Networks Toolbox.
Assim, somente um resultado claramente superior obtido com esse utilitário
justificaria a adoção da topologia e dos pesos obtidos com a sua utilização.

Relembrando, com o uso do NeuralWorks® obteve-se um erro RMS de


0,0541 para a RNA de laminação. Como a medida do erro na Neural Network
Toolbox é o erro quadrático acumulado (sem a extração da raiz quadrada), o valor
máximo de erro a ser obtido para justificar a utilização dos resultados obtidos com
esse simulador é de:

As figuras que se seguem mostram a estrutura, os parâmetros e o desempenho


da RNA de laminação treinada com a Neural Networks Toolbox utilizando o
algoritmo de retropropagação resiliente, após 100 épocas de treinamento. Para
propiciar uma base de comparação adequada, utilizaram-se, tanto quanto possível,
parâmetros semelhantes àqueles usados durante o treinamento com o NeuralWorks®.
Com relação à função de ativação, utilizou-se a tangente hiperbólica porque a função
de normalização usada converte as entradas para valores no intervalo [-1, 1].

Como a Figura 2-23 permite notar, os resultados obtidos com a Neural


Toolbox foram inferiores aos conseguidos com o NeuralWorks®.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 46


Figura 2-21 – Estrutura da RNA MLP de Laminação Com a Neural Toolbox

Figura 2-22 – Parâmetros de Treinamento da RNA de Laminação

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 47


Figura 2-23 – Desempenho da RNA de Laminação Treinada com Neural Toolbox

2.5.4 Treinamento Com a Arquitetura RBF Usando a Neural Toolbox

Como última etapa da busca pela estrutura ótima para as RNA, foi avaliado o
desempenho da arquitetura RBF treinada com a Neural Networks Toolbox. Esse
simulador oferece duas funções para o desenvolvimento de RNA RBF: uma delas é a
denominada como newrbe, que busca criar uma rede com ajuste exato da função-
alvo, criando um centro receptivo para cada padrão de entrada. Num caso como o
do presente trabalho, em que o número de padrões é grande, o uso de tal função
levaria a uma rede com dimensões proibitivas. A outra função disponível é a
chamada newrb, que tem como objetivo um erro com valor não-nulo e, durante o
treinamento da rede, vai incrementando gradativamente o número de centros
receptivos para reduzir o erro até atingir o valor objetivado. Essa última função foi a
escolhida, por produzir redes de menor dimensão.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 48


Ainda assim, o tempo de processamento foi excessivamente elevado (mais de
16 horas de processamento numa CPU Pentium III, com 256 MB de memória RAM
e clock de 800 MHz), sendo interrompido por falta de memória. Para viabilizar o
treinamento, foi necessário utilizar o conjunto originalmente designado para o teste
da rede como conjunto de treinamento, o que significou uma drástica redução do
número de exemplos (dos originais 7085 para 1035). Mesmo com essa providência,
a Figura 2-24 mostra que foi necessário estabelecer uma constante de espalhamento
(que corresponde ao raio de cada centro receptivo) relativamente elevada e um
objetivo de erro relativamente modesto para se chegar a um tempo razoável de
processamento.

Figura 2-24 – Parâmetros da RNA de Laminação com Arquitetura RBF

Com o valor adotado para o espalhamento das unidades e a dimensão do


conjunto de treinamento, a rede necessitou de 425 centros receptivos para cobrir
adequadamente o espaço, conforme mostra a Figura 2-25. Lembrando que o
conjunto original de treinamento tinha uma dimensão muito superior, isso explica o
motivo da lentidão do processo de treinamento.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 49


Figura 2-25 – Estrutura da RNA de Laminação com Arquitetura RBF

A Figura 2-26 mostra o desempenho da rede após 375 épocas de treinamento.


Como se pode ver, o valor do erro estaciona num valor em torno de 1300, bem
distante do objetivado (10).

Figura 2-26 - Desempenho da RNA de Laminação com Arquitetura RBF

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 50


A análise dos resultados dos experimentos descritos ao longo deste capítulo
demonstra que a combinação ótima de desempenho e simplicidade para as RNA foi
obtida com a arquitetura MLP e treinamento com o simulador NeuralWorks®. Por
esse motivo, a topologia dessas redes e os pesos obtidos ao final de seu treinamento
foram utilizados na implementação do utilitário final.

PIM – COSIPA - Curso Básico Sobre Redes Neurais Artificiais 51

Você também pode gostar