• Nenhum resultado encontrado

CURSO DE CIÊNCIA E TECNOLOGIA

N/A
N/A
Protected

Academic year: 2021

Share "CURSO DE CIÊNCIA E TECNOLOGIA "

Copied!
60
0
0

Texto

(1)

UNIVERSIDADE FEDERAL RURAL DO SEMIÁRIDO PRÓ-REITORIA DE GRADUAÇÃO

CAMPUS CARAÚBAS

CURSO DE CIÊNCIA E TECNOLOGIA

GLEIDSON LEITE DA SILVA

DESENVOLVIMENTO DE REDE NEURAL DE MULTICAMADAS PARA PREDIÇÃO DE PARÂMETROS DE SOLDAGEM

CARAÚBAS/RN

2018

(2)
(3)

GLEIDSON LEITE DA SILVA

DESENVOLVIMENTO DE REDE NEURAL DE MULTICAMADAS PARA PREDIÇÃO DE PARÂMETROS DE SOLDAGEM

Trabalho de conclusão de curso apresentado ao Departamento de Bacharelado em Ciências e Tecnologia da Universidade Federal Rural do Semiárido, como parte dos requisitos para obtenção do Título de Bacharelado.

CARAÚBAS/RN

2018

(4)
(5)
(6)

A minha Avó, Terezinha Bezerra da Silva (in memorian), por me ensinar que não podemos ter tudo que queremos, mas, podemos lutar pelos nossos objetivos.

A minha mãe, Alzenira Bezerra, por todo amor, carinho e força que vem me dando e ajudando em cada passo da minha vida. Uma mulher que é muito mais que uma guerreira, é um exemplo de vida que me mostrou que nunca devemos desistir dos nossos objetivos.

Aos meus irmãos, Ingrid, Riquelme e Matheus, que são a fonte de toda a minha inspiração.

Ao meu pai, Josivan José, por todas as noites que passou sem dormir para poder me ajudar.

Ao meu padastro, Roberto Alves, por todo apoio

e encorajamento.

(7)

AGRADECIMENTOS

Primeiramente a Deus, por ter iluminado e guiado meu caminho, mostrando-me sempre a direção certa.

A toda minha família, por todo apoio e encorajamento que têm me proporcionado por todo esse tempo.

Quero agradecer ao meu orientador, Dorgival Albertino da Silva Junior, por ter compartilhado seus conhecimentos, por toda paciência, disponibilidade e motivação para comigo durante todo o desenvolvimento desse e outros trabalhos.

Quero agradecer a minha namorada, Pâmela Larissa de Sousa Vieira, que além de ser uma ótima namorada, também é uma ótima amiga. Me ajudando e me apoiando nas horas certas.

Quero agradecer aos meus amigos, Thierry Lucas, Otávio Augusto, Pedro Praxedes (Pepeu), Walkernandes Ferreira, Breno Gomes, Leticia Ainoan, Hérisson Natan, Mariana Lima, entre outros que tiver o prazer de ter uma grande amizade durante todo esse período acadêmico, por todas as brincadeiras, momentos de estudo entre várias outras lembranças que guardo comigo.

Quero agradecer também a to dos os meus vizinhos que vem acompanhando minha história, em especial tia Zina e Sr. Paulo, que desde sempre vem me orientando e me ajudando de todas as formas possíveis.

Quero agradecer a minha família em especial, tia Preta (Maria de

Lourdes), tia Neta (Alvenete Bezerra), tio Alcimar, Irmão (Antônio Costa) e tio

César, por terem acompanhado toda a minha história de vida.

(8)

“A persistência é o menor caminho do êxito.”

(Charles Chaplin)

(9)

RESUMO

Nesse presente trabalho é apresentado o desenvolvimento de uma Rede Neural Artificial (RNA) cuja finalidade será obter os parâmetros necessários para a modelagem matemática da curva de uma zona termicamente afetada pela operação de soldagem. É feito um referencial teórico sobre as RNAs com foco na perceptron de múltiplas camadas, onde a mesma é uma das principais estruturas que utiliza do aprendizado supervisionado. Então é tratado sobre a aquisição do banco de dados para o auxílio do treinamento da rede, assim como também sobre o algoritmo de aprendizagem da rede, onde o mesmo irá modificar os pesos sinápticos da RNA. Logo após é feita a análise do erro percentual da rede assim como também a comparação entre a rede desenvolvida neste trabalho e algumas redes já desenvolvidas como a MLP Regressor da biblioteca Scikit Learn e a Neural Network ToolBox do software Matlab.

Palavras-chave: Redes Neurais Artificiais. Zona Termicamente Afetada na Soldagem. Perceptron Múltiplas Camadas. Algoritmo de Aprendizagem.

Modelagem Matemática.

(10)

On this present work is presented the development of an Artificial Neural Network (ANN), whose finality will be get the necessary parameters to model mathematically of the curve of an heat affected zone in welding operation. Is maked a theorical referencial about the ANNs with focus on multilayer perceptron, where this is a one of structure's main that uses the supervised learning. Then it's treated about the acquisition of the database for helper on trainning of the ANN, as well about the algorithim of learning of the network, where this will modifer the synaptic weigths of the RNA. Right after is made a analyse of the percentual error of the network, as well the comparation enter the network developed on this work and other network already developed as the MLP Regressor from library Scikit Learn and the Neural Network Toolbox from the software Matlab.

Keywords: Artificial neural networks. Heat Affected Zone in welding.

Perceptron Multiple Layers. Learning Algorithm. Mathematical Modeling.

(11)

LISTA DE FIGURAS

Figura 1 - Representação em diagrama em blocos do funcionamento do

sistema nervoso ... 20

Figura 2 - Representação do neurônio ... 21

Figura 3 - Representação do modelo MCP ... 23

Figura 4 - Representação gráfica da função sigmoidal ... 24

Figura 5 - Representação da função sigmoide com variação em α ... 25

Figura 6 - Representação da função gaussiana ... 25

Figura 7 - Representação da função tangente hiperbólica ... 26

Figura 8 - Representação da função Linear ... 27

Figura 9 - Representação da função degrau bipolar ... 27

Figura 10 - Representação da função degrau ... 28

Figura 11 - Representação da função rampa simétrica ... 29

Figura 12 - Representação das redes alimentadas com camada única ... 31

Figura 13 - Representação da RNA recorrente ... 32

Figura 14 - Simulação das isotermas para o aço 1020 ... 42

Figura 15 - Representação do erro médio quadrático da RNA MLP Implementada ... 49

Figura 16 - Representação da Elipse que envolve a ZTA com os parâmetros obtidos da RNA MLP implementada ... 50

Figura 17 - Representação do erro médio quadrático da RNA MLP da biblioteca Scikit-Learn ... 51

Figura 18 - Representação da Elipse que envolve a ZTA com os parâmetros obtidos da RNA MLP da biblioteca Scikit-Learn ... 52

Figura 19 - Representação do erro médio quadrático da RNA MLP do NNTOOL ... 52

Figura 20 - Representação da Elipse que envolve a ZTA com os parâmetros obtidos da RNA MLP do NNTOOL ... 53

Figura 21 - Representação gráfica do erro médio quadrático dos dados de

treinamento e validação ao longo das épocas ... 54

(12)

Tabela 1: Dados para treinamento da rede MLP ... 47

Tabela 2: Dados para testes da rede MLP ... 48

Tabela 3: Dados obtidos da RNA MLP implementada ... 50

Tabela 4: Dados obtidos da RNA MLP da biblioteca Scikit-Learn ... 51

Tabela 4: Dados obtidos da RNA MLP do NNTOOL ... 53

(13)

LISTA DE SÍMBOLOS E ABREVIAÇÕES

RNA Rede Neural Artificial

NNTOOL Neural Network ToolBox

IA Inteligência Artificial

ZTA Zona Termicamente Afetada

MCP McCulloch e Pitts

𝑤 Peso Sináptico

𝜃, 𝑏 Bias

𝑥, 𝑣 Informação de entrada do neurônio

𝜑 Função de Ativação

𝜂 Taxa de Aprendizagem

𝛿 Gradiente Local

(14)

1. INTRODUÇÃO ... 16

1.1 Motivação ... 18

1.2 Objetivos ... 19

1.2.1 Objetivo Geral ... 19

1.2.2 Objetivos Específicos ... 19

2. REVISÃO BIBLIOGRÁFICA ... 20

2.1 O Cérebro Humano ... 20

2.2 Neurônios Biológicos ... 21

2.3 Redes Neurais ... 22

2.4 Funções de Ativação ... 24

2.5 Tipos de Arquiteturas ... 30

2.5.1 Redes Alimentadas Adiante com Camada Única ... 30

2.5.2 Redes Alimentadas Diretamente com Múltiplas camadas ... 31

2.5.3 Redes Recorrentes ... 32

2.6 Formas de Aprendizagem ... 32

2.7 Rede Perceptron ... 33

2.8 Multilayer Perceptron (MLP) ... 35

2.9 Algoritmo de Retropropagação ... 35

2.10 Dificuldade de Treinamento ... 38

2.11 Normalização dos Dados ... 38

2.12 Aplicações ... 40

2.13 Soldagem ... 40

3. METODOLOGIA ... 43

3.1 Bibliotecas Voltadas para Inteligência Artificial ... 43

3.1.1 TensorFlow

TM

... 43

3.1.2 PyTorch ... 44

3.1.3 Scikit-Learn ... 44

3.2 Banco de Dados ... 44

3.3 Implementação da MLP ... 45

4. RESULTADOS ... 47

5. CONCLUSÕES ... 54

6. REFERÊNCIAS ... 56

(15)

ANEXO A – FLUXOGRAMA DO TREINAMENTO DA MLP ... 58

ANEXO B – ALGORITMO DO TREINAMENTO DE UMA REDE MLP ... 59

(16)

1. INTRODUÇÃO

No decorrer dos anos, a humanidade vem ganhando experiências com a resolução de determinados tipos de problemas em seu cotidiano. Uma das principais ferramentas que vem auxiliando o homem nestes últimos tempos é a inteligência artificial, onde ela facilita bastante muitas tarefas do dia-a-dia das pessoas. Por exemplo, um desenvolvedor de jogos de xadrez não precisaria programar uma lógica altamente complexa para que o computador interagisse com o jogador se o mesmo utilizasse dos artifícios da inteligência artificial.

A inteligência artificial (IA) é um ramo da ciência da computação que tem como principal objetivo modelar um circuito ou um software que seja capaz de ter um comportamento mais próximo da realidade possível.

Diferentemente de um computador convencional, o cérebro é uma máquina complexa, capaz de organizar seus neurônios com o intuito de processar rapidamente suas informações. A visão humana por exemplo, tem a capacidade de processar dados visuais de um determinado ambiente e envia- las ao cérebro, onde o mesmo irá organizar essas informações, fazendo com que seja possível haver a interação do sujeito com o ambiente e seus componentes.

A RNA é um algoritmo projetado para modelar a maneira em que os neurônios realizam uma tarefa em particular ou uma função em interesse (Haykin, 2001). Assim como o cérebro, as redes neurais vão ganhando eficiência (conhecimento) a partir de sua experiência, onde a mesma será obtida a partir de treinos e práticas ao decorrer do tempo, fazendo com que ela venha a se adaptar também ao meio em que foi projetada. Todo esse conhecimento da rede é armazenado nas conexões entre os neurônios chamados de sinapses, onde as mesmas são modificadas à medida em que a RNA ganha experiência. Nas RNAs, as sinapses são chamadas de pesos e o processo de atualização dos mesmos é chamado de algoritmo de aprendizagem. Existem dois processos de aprendizagem nas redes neurais: aprendizagem supervisionada e não supervisionada, onde cada uma tem uma aplicação diferente.

Os materiais metálicos têm suas propriedades mecânicas, onde a partir

do momento em que o metal é sujeito a uma determinada elevação de

temperatura, essas propriedades são modificadas. Na soldagem, quando o

(17)

17 eletrodo toca a superfície metálica, uma grande quantidade de calor é transferida para essa superfície, logo, é necessário conhecer a Zona Termicamente Afetada (ZTA). A ZTA depende de alguns fatores como: a velocidade de soldagem, o calor aportado e a temperatura de pré-aquecimento.

Visto que há empresas que trabalham com confecções de peças

metálicas com o auxílio do processo de soldagem e necessitam de automação

com precisão em seu processo de fabricação, nesse presente trabalho, será feita

a modelagem da curva elíptica que se aproxima da ZTA com o uso das RNAs,

onde a partir da entrada dos parâmetros citados acima (velocidade de soldagem,

calor aportado e temperatura de pré-aquecimento) a rede irá retornar os

principais parâmetros da curva que envolve toda a ZTA, fazendo assim com que

se tenha uma visão melhor sobre a os efeitos da ZTA sobre o material.

(18)

1.1. MOTIVAÇÃO

Quando se trabalha com modelagem matemática, há um determinado grau de dificuldade em obter uma resposta exata sobre tal problema, pois existem vários fatores que devem ser levados em conta. Muitas vezes, as equações convencionais para um determinado problema, não abrangem toda as variáveis que alteram na resposta final.

As redes neurais artificiais, simulam a capacidade de os neurônios aprenderem de acordo com suas experiências, assim, com uma pequena quantidade de banco de dados de variáveis de entradas e suas respectivas respostas (variáveis de saída), é possível diminuir a complexidade matemática de sua modelagem, havendo assim um ganho até mesmo na produtividade.

Segundo Pião (2012), a generalização que a rede consegue obter, faz com que haja uma vasta área de aplicações como:

 Reconhecimento de voz;

 Reconhecimento óptico de caracteres;

 Prospecção de dados;

 Previsões de mercado;

 Diagnósticos Médicos.

Visto que a abordagem sobre modelagem matemática da ZTA, é um

assunto pouco abordado na literatura, nesse presente trabalho, será abordado

sobre a construção de uma RNA Multilayer Perceptron (MLP), que retornará os

parâmetros que modelam uma elipse que envolve toda a ZTA.

(19)

19

1.2. OBJETIVOS 1.2.1. Objetivo Geral

Esse trabalho tem como objetivo, a apresentação das RNAs e suas principais estruturas com ênfase no desenvolvimento da MLP e sua implementação aplicada na área da soldagem voltada a ZTA.

1.2.2. Objetivos Específicos

 Realizar um referencial teórico sobre as RNAs;

 Desenvolver um algoritmo para implementação da rede MLP;

 Criar um banco de dados para treinamento da rede;

 Aplicar a RNA para obtenção dos parâmetros da curva que envolve toda a ZTA;

 Fazer a comparação da RNA proposta com algumas já projetadas.

(20)

2. REVISÃO BIBLIOGRÁFICA

2.1. O Cérebro humano

Segundo Russel e Norvig (2013), o modo como o cérebro habilita o pensamento é um grande mistério para a ciência. Ao longo dos anos, foram feitos vários estudos, assim como também houve várias contribuições para o estudo da neurociência, porém em 1873, Camillo Golgi desenvolveu uma técnica de coloração que permitiu a observação de neurônios individuais no cérebro (RUSSEL; NORVIG, 2013). Essa técnica foi de suma importância para o estudo da estrutura do cérebro, pois foi a partir dela que Nicolas Rashevsky aplicou um modelo matemático ao estudo do sistema nervoso.

Segundo Haykin (2001), o sistema nervoso humano tem como seu centro o cérebro, que recebe continuamente informações e as processa, tomando assim uma série de decisões que sejam apropriadas para qualquer eventualidade. Esse processo é realizado a partir do momento em que os receptores do cérebro captam sinais do ambiente ou do próprio corpo, e geram pulsos elétricos que são enviados ao mesmo, logo os atuadores convertem esses pulsos em respostas como saída do sistema. Na Figura (1), têm-se uma representação em diagrama em blocos do funcionamento do sistema nervoso:

O cérebro é responsável pelas emoções, pensamentos, percepções e cognições, assim como também pela execução de funções sensoriomotoras e autônomas. O cérebro também tem a capacidade de reconhecimento e tomar decisões a partir de algumas observações. Todas essas capacidades são Figura 1: Representação em diagrama em blocos do funcionamento do sistema

nervoso

Fonte: Haykin (2001)

(21)

21 desenvolvidas a partir de experiências do ser humano e a interação com o seu meio (BRAGA; CARVALHO; LUDERMIR, 2000).

2.2. Neurônios biológicos

O cérebro humano possui cerca de 10 bilhões de neurônios, sendo que um único neurônio tem até 10.000 sinapses com outros neurônios. Se cada ligação for considerada como um bit de informação binária, tem-se 10 𝑋 10 , ou seja 100 trilhões de bits que correspondem a 11,37 Tb de capacidade de armazenamento de memória (LUDWIG JUNIOR; MONTGOMERY, 2007).

Embora tenham-se várias estruturas diferentes de neurônios, todos eles são compostos por dendritos, somas (corpo celular) e axônios, como representado na Figura (2).

Figura 2: Representação do neurônio

Fonte: Favan (2015)

Os dendritos são responsáveis pelo recebimento de estímulos de outros neurônios. Os axônios são responsáveis pela transmissão dos pulsos elétricos para outros neurônios. A transmissão desses pulsos não é resultado de uma conexão física direta entre os neurônios, mas sim, de conexões sinápticas.

Segundo Cocolo (2015), a soma (corpo celular) tem a função de processar as

informações recebidas pelos dendritos e produzir um potencial de ativação que

(22)

classifica se um neurônio poderá disparar um estimulo elétrico ao longo do seu axônio. As terminações dos axônios possuem uma membrana denominada pré- sináptica, que converte o impulso elétrico proveniente do corpo celular, emitindo neurotransmissores anteriormente armazenados em vesículas (PIÃO, 2012).

Segundo Ludwig Junior e Montgomery (2007), os sinais elétricos oriundos dos sensores do corpo humano como retina ocular, papilas gustativas e entre outros propagam-se pelo axônio. Para que esses sinais se propaguem pelos axônios, os mesmos têm de ter um valor de aproximadamente 50mV, pois, caso contrário, o sistema nervoso irá considerá-lo irrelevante, fazendo com que ele seja bloqueado. Antes do sinal elétrico entrar em outro neurônio, ele tem de passar por uma sinapse, onde a mesma é responsável pelo processo de ligação entre o axônio e o dendrito que por sua vez ocorre por um processo químico seletivo utilizando a substancia serotonina.

2.3. Redes Neurais

Um dos primeiros modelos de redes neurais artificiais foi proposto por McCulloch e Pitts (MCP), representado pela Figura (3), onde o mesmo é uma simplificação do que se sabia em sua época sobre o neurônio biológico. Seu modelo tem como característica 𝑛 terminais de entradas que representam os dendritos e apenas uma saída 𝑣 que representa o valor de saída do neurônio.

Para simulação do comportamento das sinapses são acoplados pesos 𝑤 , 𝑤 , … , 𝑤 nos terminais das entradas. O efeito da sinapse 𝑖 no neurônio pós- sináptico é dado por 𝑥 𝑤 .

O neurônio deixa o sinal se propagar quando a soma dos efeitos das sinapses no neurônio pós-sináptico ultrapassa o limiar de excitação, também chamado de threshold (𝜃). A ativação do neurônio é dada por uma função de ativação, onde a mesma é quem irá informar se a saída será ativa ou não. A função de ativação do modelo MCP é dada pela Equação (1).

𝑥 𝑤 = 𝑣 (1)

(23)

23 Logo, o modelo MCP só terá sua saída ativa quando a Equação (2) for satisfeita.

𝑥 𝑤 + 𝑏 ≥ 𝜃 (2)

Onde 𝑛 é o número de entradas do neurônio, 𝑤 é o peso associado a entrada 𝑥 , 𝜃 é o limiar (threshold) do neurônio b é o valor do bias.

De acordo com Braga, Carvalho e Ludermir (2000), a rede MCP tem as seguintes limitações:

1. Redes MCP com apenas uma camada, só conseguem implementar funções linearmente separáveis;

2. Pesos negativos são mais adequados para representar disparos inibidores;

3. O modelo foi proposto com pesos fixos, não-ajustáveis.

Figura 3: Representação do modelo MCP

Fonte: Autoria Própria

(24)

2.4. Funções de ativação

A função de ativação de cada neurônio tem por objetivo processar o potencial de ativação e transformá-lo em um sinal de saída (FAVAN, 2015). A função de ativação do modelo MCP tem como resposta um número binário, ou seja, apenas 0 ou 1. A partir desse modelo, foi possível produzir outros tipos de funções de ativação com o intuito de retirar essa restrição fazendo com que a saída do neurônio não seja necessariamente 0 ou 1.

Segundo Ludwig Junior e Montgomery (2007), as funções de ativação que se destacam são:

a) Função Sigmoide ou Sigmoidal representada pela Equação (3). Como exemplo da função Sigmoide, a mesma é ilustrada graficamente pela Figura (4).

𝜑(𝑣) = 1

1 + 𝑒 (3)

Essa é uma das funções mais utilizadas no desenvolvimento das redes neurais devido ao seu comportamento não linear. Essa função tem como limites de 𝜑 entre 0 e 1, podendo assumir qualquer valor real entre esse range. O valor de 𝛼 é positivo, onde o mesmo indica a inclinação da função, conforme representado pela Figura (5).

Figura 4 – Representação Gráfica da função sigmoidal

Fonte: Autoria Própria

(25)

25

b) Função Gaussiana representada pela Equação (4). Como exemplo da função Gaussiana, a mesma é ilustrada graficamente pela Figura (6).

𝜑(𝑣) = 𝑒 (4)

c) Função Tangente Hiperbólica representada pela Equação (5). Como exemplo da função Sigmoide, a mesma é ilustrada graficamente pela Figura (7).

𝜑(𝑣) = tanh(𝑣) (5)

Figura 5 - Representação da função Sigmoide com variação em α

Fonte: Autoria Própria

Figura 6 – Representação da função Gaussiana

Fonte: Autoria Própria

(26)

A Equação (5), pode ser substituída pela Equação (6), sendo 𝛼 o valor da inclinação da curva.

𝜑(𝑣) = 1 − 𝑒

1 + 𝑒 (6)

De acordo com Moletta (2015), a tangente hiperbólica é muito utilizada como função de ativação devida as seguintes características:

 É uma função contínua e diferenciável em todos os pontos, permitindo ajustes com algoritmos no gradiente descendente;

 Existe uma saturação da saída do neurônio, o que evita que a saída divirja;

 podem ser utilizadas para criar vários tipos de mapeamento, pois próximo da origem apresentam caráter quase linear, e próximos à saturação são fortemente lineares.

d) Função Linear representada pela Equação (7). Como exemplo da função Sigmoide, a mesma é ilustrada graficamente pela Figura (8).

𝜑(𝑣) = 𝛼𝑣 (7)

Figura 7 – Representação da função Tangente Hiperbólica

Fonte: Autoria Própria

(27)

27

Essa função não limita a saída da rede. O 𝛼 é o coeficiente angular da reta, ou seja, um número real que define a saída linear para os valores de entrada.

e) Função Degrau Bipolar representada pela Equação (8). Como exemplo da função Sigmoide, a mesma é ilustrada graficamente pela Figura (9)

𝜑(𝑣) = +𝛾 𝑠𝑒 𝑣 > 0

−𝛾 𝑠𝑒 𝑣 ≤ 0 (8)

Figura 8 – Representação da função linear

Fonte: Autoria Própria

Figura 9 – Representação da função Degrau Bipolar

Fonte: Autoria Própria

(28)

f) Função Degrau representada pela Equação (9). Como exemplo da função Sigmoide, a mesma é ilustrada graficamente pela Figura (10)

𝜑(𝑣) = 𝛾 𝑠𝑒 𝑣 ≥ 0

0 𝑠𝑒 𝑣 < 0 (9)

g) Função rampa simétrica representada pela Equação (10). Como exemplo da função Sigmoide, a mesma é ilustrada graficamente pela Figura (11).

𝜑(𝑣) =

𝛾 𝑠𝑒 𝑣 > 𝛾 𝑣 𝑠𝑒 − 𝛾 ≤ 𝑣 ≤ +𝛾

−𝛾 𝑠𝑒 𝑣 < 𝛾

(10) Figura 10 – Representação da função degrau

Fonte: Autoria Própria

(29)

29

De acordo com Cocolo (2015), as funções de ativação são classificadas em relação a sua diferenciabilidade, formando assim dois grupos:

1) Funções parcialmente diferenciáveis: são aquelas que possuem pontos cuja derivada de primeira ordem é inexistente. Nesse grupo estão incluídas as funções: degrau, degrau bipolar e a função rampa simétrica.

2) Funções totalmente diferenciáveis: aquelas cujas derivadas de primeira ordem existem em todos os pontos do seu domínio. Nesse grupo estão incluídas as funções: Sigmoide, tangente hiperbólica, gaussiana e linear.

Uma propriedade muito importante das RNAs é o bias que é representado pela letra 𝑏. O bias é incluído ao somatório da função de ativação fazendo com que 𝑣 = ∑ 𝑥 𝑤 + 𝑏 . Segundo Ludwig Junior e Montgomery (2007), o bias tem como intuito o aumento do grau de liberdade da função, fazendo com que consequentemente a capacidade de aproximação da rede também aumente.

Assim como os demais pesos, o peso associado ao bias é modificado ao passar das épocas.

Figura 11 – Representação da função rampa simétrica

Fonte: Autoria Própria

(30)

2.5. Tipos de arquiteturas

Existem vários modelos de arquiteturas das RNAs. Cada arquitetura tem como principais parâmetros: o número de camadas, o número de neurônios em cada camada, o tipo de conexão entre os neurônios e a sua topologia. Segundo Ludwig Junior e Montgomery (2007), para se formar uma RNA é necessário ter uma ou mais camadas, que contenham um ou mais neurônios interligados por sinapses.

Cada tipo de rede serve para solucionar um tipo de problema. De acordo com Braga, Carvalho e Ludermir (2000), as redes que apresentam uma única camada, servem para resolver problemas linearmente separáveis. Redes recorrentes são mais apropriadas para resolver problemas que envolvam processamento temporal.

As RNAs têm uma camada de entrada, uma, nenhuma ou várias camadas ocultas e uma camada de saída. A camada de entrada tem como principal função a distribuição dos dados de entrada para cada neurônio da camada seguinte. A função dos neurônios da camada oculta é capacitar a rede a extrair informações, possibilitando assim resolver problemas que não são linearmente separáveis. E por fim a camada de saída tem seu número de neurônios igual ao número de saídas da rede (LUDWIG JUNIOR; MONTGOMERY, 2007).

2.5.1. Redes Alimentadas Adiante com camada única

Neste tipo de RNA, em sua forma mais simples há apenas uma camada

de entrada onde a mesma está projetada sobre uma camada de saída de

neurônios. A sua alimentação ocorre de forma acíclica, ou seja, a camada de

saída não está projetada sobre a camada de entrada, pois a camada de entrada

é uma camada de nós de fonte. Sua representação é dada pela Figura (12).

(31)

31

2.5.2. Redes Alimentadas Diretamente com Múltiplas Camadas

Nesse tipo de rede há uma ou mais camadas a mais além da camada de entrada e saída, chamadas de camadas ocultas. De acordo com Haykin (2001), ao se adicionar uma ou mais camadas ocultas na rede, a capacidade de se extrair estatísticas de ordem elevada aumenta. Vale ressaltar que os neurônios das camadas ocultas têm como principal função a intervenção entre a camada de entrada e a saída da rede de uma maneira útil. Segundo Cocolo (2015), esse tipo de arquitetura possibilita um melhor treinamento, devido a maior interação entre os neurônios.

Figura 12 – Representação das redes alimentadas com camada única

Fonte: Autoria Própria

(32)

2.5.3 Redes Recorrentes

Esse tipo de rede se difere das demais por ter pelo menos um laço de repetição. De acordo com Amorim (2016), essa estrutura possui pelo menos uma camada intermediária. A presença de laços de realimentação tem um impacto profundo na capacidade de aprendizagem da rede e no seu desempenho.

Segundo Haykin (2001), os laços de realimentação envolvem o uso de ramos particulares compostos de elementos de atraso único, fazendo com que a rede tenha um comportamento não linear.

2.6. FORMAS DE APRENDIZAGEM

Na literatura apresentada por Russel e Norvig (2013), existem dois tipos principais de aprendizagem, aprendizagem supervisionada e aprendizagem não- supervisionada.

Fonte: Autoria Própria

Figura 13 – Representação da RNA recorrente

(33)

33 Na aprendizagem não-supervisionada, as RNAs conseguem detectar padrões nas entradas, fazendo assim com que haja um agrupamento de dados, embora as características não sejam evidenciadas pelas entradas. Um exemplo seria a flor íris, onde a mesma é dividida em três espécies: Setosa, Versicolor e a Virginica, onde cada uma dessas espécies é caracterizada por quatro parâmetros, sendo eles: comprimento das sépalas, largura das sépalas, comprimento das pétalas e largura das pétalas, logo, por aprendizado não supervisionado é possível detectar esses padrões.

Na aprendizagem supervisionada, também conhecida como aprendizagem com um professor, as RNAs aprendem a partir de exemplos de entradas e saídas, onde a partir desse conjunto de dados a rede irá se desenvolver e se aperfeiçoar de modo que a mesma se adeque a esses padrões que foram repassados.

2.7. Rede Perceptron

De acordo com Pião (2012), a RNA Perceptron foi criada por Rosenblatt no final da década de 1950, dando assim continuidade aos trabalhos de McCulloch. Em relação aos outros tipos de redes, a perceptron é a mais simples sua estrutura é dada por apenas uma camada de entrada, é onde serão colocadas as entradas da rede, e uma camada de neurônios de saída, sendo que o número de neurônios de saída deve ser igual ao de saídas da rede (LUDWIG JUNIOR; MONTGOMERY, 2007).

Na Perceptron, os pesos são simbolizados por 𝑤 , 𝑤 , … , 𝑤 . As entradas da rede são representadas por 𝑥 , 𝑥 , … , 𝑥 , e o bias por b (em outras literaturas, o bias também é representado por 𝜃). O cálculo do campo local induzido é dado pela Equação (11):

𝑣 = 𝑤 𝑥 + 𝑏 (11)

Segundo Haykin (2001), o objetivo da perceptron é classificar e predizer

um conjunto de entradas a partir da saída da rede. Sejam dadas as entradas

𝑥 , 𝑥 , … , 𝑥 , e duas classes classe 1 e classe 2, a saída da rede irá informar à

(34)

qual classe essas entradas pertencem a partir da seguinte regra: Caso a saída da rede seja +1, então o conjunto de entradas pertence a classe 1, caso seja -1, pertencem a classe 2.

Para que a rede responda de uma forma coerente com os seus dados de treinamento, é necessário que os pesos dela, sejam atualizados e ajustados, fazendo assim com que sua saída tenha um erro percentual relativamente baixo.

Para fazer o ajuste desses pesos, é necessário que se faça um algoritmo de aprendizagem, utilizando as Equações (12), (13), (14) e (15) sequencialmente.

𝑤 = 𝑤 + ∆𝑤 (12)

𝜃 = 𝜃 − ∆𝜃 (13)

∆𝑤 = 𝜂(𝑦 − 𝑦 )𝑥

,

(14)

∆𝜃 = 𝜂(𝑦 − 𝑦 ) (15)

Os parâmetros das Equações (12), (13), (14) e (15) são dados da seguinte forma:

 𝑤 representa o valor do peso corrigido;

 𝑤 representa o valor do peso da iteração anterior;

 𝑙 representa a l-ésima amostra para treinamento da rede;

 𝑦 representa a saída desejada da rede;

 𝑦 representa a saída obtida da rede;

 𝜂 representa a taxa de aprendizado.

De acordo com Veras (2013), a taxa de aprendizado 𝜂 corresponde ao

tamanho do passo em direção a correção do erro. Deve-se ter cuidado ao

escolher o valor da taxa de aprendizado, pois caso o valor da mesma seja alto,

é possível que a rede convirja mais rápido, porém, a capacidade de

generalização da mesma perde relativamente sua eficiência, porém, se o valor

for baixo, é possível que a rede convirja mais lentamente e sua capacidade de

generalização será mais eficiente, evitando que a rede venha a gerar resultados

indesejáveis. Os valores da taxa de aprendizado é compreendo por qualquer

número real entre 0 e 1.

(35)

35

2.8. Multilayer Perceptron (MLP)

De acordo com Braga, Carvalho e Ludermir (2000), a rede perceptron só pode resolver problemas linearmente separáveis. Para que fosse possível solucionar esse problema, foi preciso fazer uma implementação de camadas intermediarias (camadas ocultas) entre as camadas de entrada e saída.

Deve-se atentar ao fato de que a utilização de duas camadas intermediarias permite a aproximação de qualquer função. A utilização de uma camada intermediária é o bastante para se resolver problemas que suas funções são contínuas em todo o domínio, assim, para casos em que haja descontinuidade nas funções a serem aproximadas, faz-se necessário o acréscimo de uma camada intermediária. A utilização de mais de duas camadas diminuirá o desempenho da rede (FERTIG, 2011).

Segundo Mathias (2016) os neurônios da MLP possuem função de ativação não linear, onde geralmente é usada a função Sigmoide. De acordo com Fertig (2011), geralmente são usadas funções de ativação lineares na camada de saída da rede e nas camadas intermediárias são usadas funções não lineares como a função Sigmoide.

2.9. Algoritmo De Retropropagação

Conforme Veras (2013), Backpropagation é o algoritmo de treinamento supervisionado que tem como principal objetivo, a minimização do erro de aprendizado da rede. O Backpropagation utiliza o método do gradiente descendente, onde o mesmo corrige os pesos no sentido contrário a propagação da informação, logo, a correção dos pesos começa da camada de saída, ao se calcular o erro entre a saída desejada e a saída da rede, calculando assim o gradiente local de cada neurônio, logo, os pesos vão sendo ajustando no sentido das camadas intermediárias para a camada de entrada.

Para que que seja possível corrigir os pesos da MLP, será necessário

fazer a análise em dois momentos: a computação para frente (propagação) e a

computação para trás (retropropagação), chamados assim de feedforward e

backward respectivamente (BRAGA; CARVALHO; LUDERMIR, 2000).

(36)

Segundo Ludwig Junior e Montgomery (2007) e Haykin (2001), um resumo do algoritmo Backpropagation se dá a partir dos seguintes passos:

1. Inicialização dos pesos: É necessário que os pesos sinápticos sejam inicializados de uma forma randômica, cuja média entre ambos seja igual a zero;

2. Apresentação dos exemplos de treinamento: Deve-se apresentar uma época de exemplos à rede. Para cada exemplo apresentado, é necessário fazer a computação para frente, fazendo assim com que os sinais da rede se propagem. Após o processo de propagação, a correção dos pesos deve ser feita através do algoritmo de retropropagação dos erros.

3. Computação para frente (propagação): Deve ser apresentado um vetor de entrada (𝑥) à camada de entrada, calculando assim o campo local induzindo (𝑣) a partir da Equação (16) e o sinal de saída (𝜑(𝑣)) de todos os neurônios a partir da Equação (17), desde a camada de entrada, até a camada de saída. Ao se chegar na camada de saída, o sinal de saída da mesma será um vetor (𝑦

( )

), logo, será possível calcular o sinal de erro (𝑒 ) a partir da Equação (19):

𝑣

( )

(𝑛) = 𝑤

( )

(𝑛)𝑦

( )

(𝑛) (16)

𝑦

( )

= 𝜑 (𝑣 (𝑛)) (17)

𝑦

( )

= 𝑥 (𝑛) (18)

𝑒

( )

= 𝑑 (𝑛) − 𝑦

( )

(𝑛) (19)

(37)

37

Sendo j o índice do neurônio j-ésimo da camada de saída l e 𝑑 (𝑛) o vetor de saída desejado da rede. O valor 𝐿 corresponde ao índice da última camada.

4. Computação para trás (Retropropagação): Calcula-se os gradientes locais (𝛿) do j-ésimo neurônio da l-ésima camada a partir da Equação (20.1) e (20.2), para a última camada e as demais camadas respectivamente. Em termos matriciais a Equação (20.2) pode ser dada pela Equação (20.3).

𝛿

( )

= 𝑒

( )

(𝑛)𝜑 𝑣

( )

(𝑛) (20.1)

𝛿

( )

= 𝜑 ′(𝑣

( )

(𝑛)) 𝛿

( )

(𝑛)𝑤

( )

(𝑛) (20.2)

𝛿

( )

= 𝜑 𝑣

( )

(𝑛) 𝑤 (𝑛)𝛿

( )

(𝑛) (20.3)

Os pesos da camada 𝑙 podem ser ajustados a partir da Equação (21.1). Em termos matriciais, a Equação (21.1) pode ser dada pela Equação (21.2)

𝑤

( )

(𝑛 + 1) = 𝑤

( )

(𝑛) + 𝛼 𝑤

( )

(𝑛 − 1) + 𝜂𝛿

( )

(𝑛)𝑦

( )

(𝑛) (21.1)

𝑤

( )

(𝑛 + 1) = 𝑤

( )

(𝑛) + 𝛼 𝑤

( )

(𝑛 − 1) + 𝜂𝛿

( )

(𝑛)𝑦

( )

(𝑛)′ (21.2)

5. Iteração: É necessário que haja uma certa quantidade de iterações

para que a rede ajuste seus pesos de forma que os mesmos tragam

respostas satisfatórias e coerentes à rede, onde essa quantidade

é definida por uma quantidade de épocas. O critério de parada

também pode ser definido a partir de um limite para o erro global

(38)

médio da rede. Enquanto não for atingido um certo número de épocas, deve-se repetir os passos 3 e 4.

Haykin (2001) aborda que é necessário que a cada época de treinamento, os exemplos sejam apresentados de uma forma aleatória.

2.10. Dificuldade de Treinamento

Existem alguns problemas que fazem com que a rede não venha a convergir. Por exemplo, em relação a escolha da taxa de aprendizado que, caso a mesma seja elevada, a rede ficará instável.

Um desses problemas é a ocorrência de excesso de treinamento, conhecido também como overfitting. Em um determinado momento do treinamento da rede, a mesma já se faz eficiente, porém, após um determinado ciclo, o treinamento começa a perder sua eficiência, fazendo com que a eficiência da rede venha a regredir. Para reduzir esse tipo de problema Braga, Carvalho e Ludermir (2000), recomendam encerrar o treinamento em uma quantidade menor de épocas.

2.11. Normalização dos dados

De acordo com Jayalakshmi e Santhakumaran (2011), é de suma importância tomar cuidado com o pré-processamento dos dados que irão ser utilizados para se treinar a RNA. Para que haja uma melhor eficiência no treinamento da rede, é necessário fazer com que os dados sejam normalizados, pois, sem a mesma é possível, que a rede tenha de ter uma maior quantidade de épocas para que a mesma venha a convergir para a otimização dos pesos.

A técnica de normalização consiste em transformar um conjunto de dados

em um determinado intervalo. De acordo com Jayalakshmi e Santhakumaran

(2011), existem várias técnicas que podem ser utilizadas para normalizar um

conjunto de dados dentre elas, têm-se: Normalização Estatística, Normalização

Min-Max, Normalização Mediana, Normalização Sigmoide, Normalização Coluna

Estatística.

(39)

39 Segundo Cheadle et al. (2003), a técnica de Normalização Z-Score é um método de normalização muito utilizada em neuroimagens, assim como também em softwares cujas aplicações são voltadas à área de bioinformática. Essa técnica utiliza o desvio padrão (𝜎) e a média (𝜇) para cada dado de um conjunto.

A normalização pela Z-Score é dada pela Equação (22), onde a mesma faz com que os dados tenham uma média zero e uma variância unitária.

𝑥 = 𝑥 − 𝜇

𝜎 (22)

. Vale ressaltar que, ao se calcular o desvio padrão e a média, ambos devem ser considerados para todos os demais cálculos de normalização. Para Jayalakshmi e Santhakumaran (2011), a vantagem dessa normalização está na redução dos efeitos de outliers nos dados, ou seja, reduz as chances de haver dados muito diferente em relação ao conjunto como um todo.

Segundo Saranya e Manikandan (2013), a técnica de normalização Min- Max faz com que os números sejam transformados em escalas tendo como referência o valor máximo (𝑥 ) e o mínimo (𝑥 ) que é repassada para a mesma, e os novos valores de máximos (𝑑 ) e mínimos (𝑑 ). A principal vantagem desse método, é a preservação da relação entre os dados. A normalização é dada pela Equação (23)

𝑥 = (𝑥 − 𝑥 )(𝑑 − 𝑑 )

𝑥 − 𝑥 + 𝑑 (23)

A normalização mediana consiste em normalizar cada amostra pela média de todos os dados de amostra. Esse tipo de normalização é muito utilizada quando há necessidade de calcular a relação entre duas amostras hibridizadas (JAYALAKSHMI; SANTHAKUMARAN, 2011). A normalização mediana é dada pela Equação (24)

𝑥 = 𝑥

𝑚𝑒𝑑𝑖𝑎(𝑎 ) (24)

(40)

A normalização Sigmoide, faz com que um conjunto de dados sejam normalizados entre um range de -1 a 1. Segundo Jayalakshmi e Santhakumaran (2011), esse método é utilizado quando os dados se comportam de uma forma ruidosa. A normalização Sigmoide é dada pela Equação (25)

𝑥 = 𝑒 − 𝑒

𝑒 + 𝑒 (25)

Neste trabalho, a normalização será feita conforme a Equação (26), onde será feita a divisão de cada valor de um conjunto, pelo valor máximo do mesmo, fazendo assim com que os dados sejam distribuídos entre um range entre -1 a 1.

𝑥 = 𝑥

max (𝑥) (26)

2.12. Aplicações

Existem vários tipos de aplicações para a RNA MLP, isso devido a sua facilidade de implementação. A seguir têm-se algumas aplicações da rede:

 Reconhecimento de caracteres;

 Previsão de comportamento de ações na bolsa;

 Verificação de assinaturas;

 Segurança em transações com cartões de crédito;

 Diagnóstico Médico;

 Carros autônomos;

 Drones autônomos.

2.13. Soldagem

De acordo Silva Junior et al. (2017), se faz necessário determinar os

parâmetros da soldagem corretamente, para evitar problemas influenciados

(41)

41 pelos processos metalúrgicos e mecânicos da solda. Os principais parâmetros da soldagem que afetam as propriedades mecânicas dos materiais são, são a quantidade de energia inserida no sistema, o rendimento térmico do arco elétrico e a distribuição da temperatura.

Segundo Silva Junior et al. (2017), a Equação (27) descreve o comportamento da poça de fusão e das isotermas no plano mais superficial do material.

𝑅𝑒 = 𝑒 𝑄

2𝜋(𝑇 − 𝑇 )𝑘 (27)

Em que 𝑉 é a velocidade de soldagem, 𝛼 é a difusividade térmica do material, 𝑄 é a quantidade de energia inserida no sistema, 𝑇 é a temperatura de pré-aquecimento, 𝑇 é a temperatura de pico, 𝑘 é a condutividade térmica e 𝑅 é o raio envolve a isoterma descrito pela equação (28).

𝑅 = (𝑥 + 𝑦 + 𝑧 ) (28)

Ao modelar a Equação (27) de forma que a mesma tenha uma relação entre as isotermas com o plano de soldagem em z = 0, foi possível obter a Equação (29).

𝑌 = 𝑄

2𝜋(𝑇 − 𝑇 )𝑘 𝑒 − 𝑥 (29)

Devido a divergência que a modelagem numérica da Equação (29) tem,

se faz necessário modelar a mesma de modo a se obter uma curva que englobe

toda a ZTA, assim, a equação elíptica se faz capaz de descrever a ZTA conforme

mostra a Figura (14).

(42)

Figura 14 - Simulação das isotermas para o aço 1020

Fonte: Autoria Própria.

(43)

43 3. Metodologia

Para que seja possível se fazer uma melhor análise da RNA, será construído um algoritmo na linguagem de programação Python. A linguagem foi escolhida devido a sua facilidade na implementação e sua grande quantidade de bibliotecas que estão disponíveis para o campo que está sendo estudado nesse trabalho.

As RNAs são aplicáveis a diversas situações em que se quer classificar algum padrão ou até mesmo fazer com que alguma máquina venha a aprender a executar uma determinada tarefa sem ter de fazer uma programação complexa para a mesma, assim, empresas como a Google, o Facebook, entre outras, desenvolveram as suas próprias RNAs. Algumas delas estão disponíveis como bibliotecas na linguagem de programação Python, como a TensorFlow, PyTorch e a Scikit-learn.

O MATLAB tem a ferramenta Neural Network Toolbox (NNTool), onde a mesma cria RNA’s com uma estrutura adaptável, onde o usuário pode definir os principais parâmetros da rede.

Com o auxílio do NNTool e a função MLP Regressor da biblioteca Scikit- Learn, é possível fazer a comparação da RNA proposta pelas referências utilizadas nesse trabalho.

3.1. Bibliotecas Voltadas Para Inteligência Artificial 3.1.1. TensorFlow

TM

É uma biblioteca de código aberta, a TensorFlow

TM

foi desenvolvida pela empresa Google, cuja finalidade é trabalhar com IA. A própria empresa utiliza dos recursos de sua biblioteca para usar em suas principais ferramentas como Google Tradutor, Google Fotos e etc.

Sua arquitetura flexível permite que haja a possiblidade de implementação

em mais de uma CPU ou GPU’s em uma área de trabalho, servidor ou até

mesmo dispositivos móveis.

(44)

A biblioteca foi inicialmente desenvolvida pelos pesquisadores e engenheiros que trabalham no Google Brain Team dentro da organização de pesquisa em inteligência de máquinas e pesquisa em RNAs profundas. Assim, essa biblioteca pode ser aplicada em uma ampla área de pesquisa em RNAs e Deep Learning.

3.1.2. PyTorch

É um pacote que oferece dois recursos de alto nível, sendo eles:

Computação tensorial com uma grande aceleração na GPU e RNAs profundas construídas a partir de um sistema autograd de fita.

O pacote PyTorch possui uma estrutura fácil de se usar, pois oferece uma máxima velocidade e flexibilidade. Esse pacote permite mudanças rápidas dentro de seu código durante o próprio treinamento sem prejudicar o seu desempenho. E ssa biblioteca inclui alocador GPU personalizado, o que torna os modelos de aprendizado profundo altamente eficientes em memória. Devido a isso, o treinamento de grandes modelos de aprendizado profundo torna-se mais fácil.

3.1.3. Scikit-Learn

A Scikit-Learn é uma biblioteca que fornece vários algoritmos de aprendizagem supervisionada e não supervisionada. O projeto foi iniciado em 2007 por David Cournapeau como um projeto Google Summer of Code. Após o início do projeto, muitos voluntários também contribuíram para a evolução da biblioteca.

3.2. Banco de dados

Para que seja possível treinar a rede, é necessário que haja um certo banco

de dados, para que este venha a servir de exemplos para a mesma. Quanto

maior for a quantidade de dados para treinamento, melhor será o desempenho

da RNA em relação ao mapeamento do problema. Existem várias bibliotecas

para se fazer aquisição de dados de várias extensões como as de arquivos de

(45)

45 texto, planilha, data, database, entre outros, fazendo assim com que a importação dos dados de treinamento seja uma tarefa simples e mais automatizada.

Para a aplicação deste trabalho, foram coletados os dados da simulação das isotermas para o aço 1020, com velocidades de soldagem (𝑉 ), calor aportado (𝑄) e temperaturas de pré-aquecimento (𝑇 ) variadas. A partir do software AutoCAD, foi possível fazer uma aproximação dos parâmetros da elipse, como a posição inicial descentralizada (𝑥 ), o tamanho do eixo menor (𝑎) e o tamanho do eixo maior (𝑏).

3.3. Implementação da MLP

A partir das informações do referencial teórico, é possível implementar a RNA MLP em um algoritmo. Para que a rede possa ser generalizada, são usados os conceitos da programação orientada a objetos (POO), em que é utilizado uma classe em que nela são implementados todos os atributos e métodos da rede.

Para a construção da rede, é necessário definir primeiramente a sua arquitetura, definindo assim a quantidade de neurônios de entrada e a quantidade de neurônios de saída. É necessário também definir a quantidade de camadas ocultas na rede, logo, como foi visto, duas camadas são o suficiente para se solucionar qualquer problema que envolva a MLP, então a quantidade de camadas ocultas pode ser dada por um valor fixo igual a dois. É necessário também estipular a quantidade de neurônios nas camadas ocultas.

Para facilitar os cálculos matemáticos, todas as variáveis usadas serão dadas em formas matriciais. É necessário observar que as funções de ativação têm seus limites máximos. Independentemente da escolha de qual função de ativação se deseja usar é necessário que se faça a normalização dos dados de entrada e saída, pois a função de ativação Sigmoide por exemplo, pode assumir valores apenas entre 0 e 1 e a função tangente hiperbólica pode assumir valores entre -1 e 1.

Vale ressaltar que ao se deixar a função de ativação linear na última

camada, os pesos tenderão a se ajustar aquelas saídas, não se fazendo

necessário a normalização do conjunto de dados de saída. Logo, é sempre

importante se preocupar com o pré-processamento dos dados, fazendo assim o

(46)

processo de normalização das entradas. Caso não se faça a normalização dos

dados de entradas, a rede irá convergir de uma forma mais lenta.

(47)

47

Fonte: Autoria Própria 4. Resultados

Os dados coletados para se fazer o banco de dados são dados pela Tabela (1), sendo os valores de 𝑥 , 𝑎 e 𝑏 parâmetros da elipse que envolve toda a ZTA dada pela Equação (30).

(𝑥 − 𝑥 )

𝑎 + 𝑦

𝑏 = 1 (30)

Tabela 1 – Dados para treinamento da Rede MLP

Dados de Entrada Dados de Saída

𝑉 𝑄 𝑇 𝑎 𝑏 𝑥

2.4 3200 1803 5.005 4.619 1.485

2.4 3200 1323 6.963 6.156 2.527

2.4 3200 1053 8.945 7.688 3.716

2.4 3200 823 11.59 9.805 5.349

2.4 3200 673 14.4 12.02 7.127

1.8 4500 1803 6.966 6.414 2.105

1.8 4500 1323 9.66 8.544 3.55

1.8 4500 1053 12.38 10.62 5.183

1.8 4500 823 16.16 13.53 7.591

1.8 4500 673 20.14 16.59 10.2

2.1 4000 1803 6.164 5.653 1.907

2.1 4000 1323 8.553 7.521 3.212

2.1 4000 1053 10.95 9.344 4.678

2.1 4000 823 14.02 11.83 6.576

2.1 4000 673 17.41 14.45 8.768

2.4 3200 1853 4.868 4.504 1.419

2.4 3200 1373 6.694 5.953 2.378

2.4 3200 1103 8.434 7.346 3.389

2.4 3200 873 10.88 9.247 4.906

2.4 3200 723 13.32 11.17 6.444

1.8 4500 1753 7.168 6.582 2.204

1.8 4500 1273 10.07 8.86 3.782

1.8 4500 1003 13 11.13 5.561

1.8 4500 773 17.34 14.41 8.363

1.8 4500 623 21.45 17.84 10.92

2.1 4000 1903 5.838 5.382 1.746

2.1 4000 1423 7.918 7.028 2.852

2.1 4000 1153 9.849 8.563 3.982

2.1 4000 923 12.39 10.58 5.538

2.1 4000 773 14.69 12.5 6.91

(48)

Assim, foram separados aleatoriamente 90% desses dados para treinamento e 10% para validação da rede. Para teste da rede, foram separados os dados da Tabela 02.

Tabela 2 – Dados para Testes da Rede MLP

Dados de Entrada Dados de Saída

𝑉 𝑄 𝑇 𝑎 𝑏 𝑥

2 3500 1800 5.558 5.165 1.561

2 3500 1300 7.886 7.025 2.755

2 3500 1000 10.62 9.092 4.37

2 3500 800 13.57 11.42 6.217

2 3500 600 18.71 15.49 9.495

2.2 3700 1950 5.296 4.904 1.536

2.2 3700 1450 7.224 6.441 2.542

2.2 3700 1150 9.198 8.017 3.683

2.2 3700 950 11.17 9.617 4.863

2.2 3700 750 14.11 12.03 6.626

1.8 3000 1700 5.239 4.937 1.315

1.8 3000 1200 7.685 6.956 2.48

1.8 3000 900 10.9 9.363 4.302

1.8 3000 700 14.7 12.39 6.663

1.8 3000 500 21.48 18.29 10.65

Fonte: Autoria Própria

Para se treinar a rede foram escolhidas duas camadas intermediárias, pois, não se sabe muito sobre a continuidade do problema em questão. O número de neurônios na entrada é igual a 4, sendo 3 para as entradas referentes a velocidade de soldagem, o calor aportado e a temperatura de pré-aquecimento e 1 para o bias. Nas camadas intermediarias foram escolhidos 27 neurônios. Na camada de saída, têm-se 3 neurônios, onde os mesmos serão usados para informar os parâmetros da elipse que envolve a ZTA.

O valor do bias é igual a -1. A função de ativação escolhida foi a Tangente

Hiperbólica descrita pela Equação (5). Para normalização dos dados de

entradas, os mesmos foram divididos por um fator de 5000. A taxa de

aprendizado é igual a 0,003. O número de épocas é igual a 500. Todos os pesos

foram inicializados randomicamente, com um range entre -1 e 1.

(49)

49 Ao se treinar a rede durante o número total de épocas, foi possível obter o gráfico de validação dado pela Figura (15).

Figura 15 – Representação do Erro Médio Quadrático da RNA MLP Implementada

Fonte: Autoria Própria

Ao se treinar a rede, foram lançados os dados de entradas da Tabela (2)

para que fosse possível avaliar a rede, fazendo assim um erro percentual. Logo,

os dados obtidos foram dados pela Tabela (3).

(50)

Tabela 3 – Dados Obtidos da RNA MLP Implementada Dados de Entrada Dados de Saída Erros Percentuais

𝑉 𝑄 𝑇 𝑎 𝑏 𝑥 𝐸𝑟𝑟𝑜(%) 𝑎 𝐸𝑟𝑟𝑜(%) 𝑏 𝐸𝑟𝑟𝑜(%) 𝑥

2 3500 1800 1.657 5.474 5.190 6.160 1.504 0.481 2 3500 1300 2.870 7.740 6.829 4.158 1.850 2.785 2 3500 1000 4.315 10.188 8.780 1.255 4.072 3.428 2 3500 800 6.222 13.160 11.101 0.084 3.018 2.793 2 3500 600 9.145 17.584 14.459 3.689 6.016 6.653 2.2 3700 1950 1.490 5.219 5.025 2.976 1.455 2.475 2.2 3700 1450 2.557 7.263 6.464 0.601 0.546 0.351 2.2 3700 1150 3.652 9.235 8.024 0.840 0.401 0.088 2.2 3700 950 4.970 11.395 9.765 2.201 2.017 1.535 2.2 3700 750 7.272 14.947 12.523 9.744 5.933 4.098 Erro Percentual Médio 3.1708 2.6812 2.4687

Fonte: Autoria Própria

A Figura (16) mostra como ficaram as elipses em relação aos dados de amostra, onde foram variadas as temperaturas de pré-aquecimento, o calor aportado e a velocidade de soldagem.

Figura 16 – Representação da Elipse que envolve a ZTA com os parâmetros obtidos da RNA MLP Implementada

Fonte: Autoria Própria

(51)

51 Para se comparar os resultados da rede, foi implementada uma rede utilizando a biblioteca Scikit-learn. O gráfico de validação do treinamento é dado pela Figura (17).

Figura 17 – Representação do Erro Quadrático Médio da RNA MLP da Biblioteca Scikit-Learn

Fonte: Autoria Própria

Ao passar os dados de entrada (Velocidade de Soldagem, Calor Aportado e Temperatura de Pré-Aquecimento) para a rede, foi possível obter os resultados dados pela Tabela (4).

Tabela 4 – Dados Obtidos da RNA MLP da Biblioteca Scikit-Learn Dados de Entrada Dados de Saída Erros Percentuais

𝑉 𝑄 𝑇 𝑎 𝑏 𝑥 𝐸𝑟𝑟𝑜(%) 𝑎 𝐸𝑟𝑟𝑜(%) 𝑏 𝐸𝑟𝑟𝑜(%) 𝑥

2 3500 1800 8.704 7.377 3.738 457.565 32.730 27.634

2 3500 1300 10.044 8.573 4.362 264.586 8.706 37.908

2 3500 1000 10.794 9.239 4.718 147.007 13.004 48.110

2 3500 800 11.264 9.657 4.944 81.186 28.839 56.708

2 3500 600 11.708 10.050 5.159 23.303 46.283 66.692

2.2 3700 1950 8.563 7.253 3.676 457.519 36.944 25.035

2.2 3700 1450 9.912 8.456 4.302 289.939 17.057 33.204

2.2 3700 1150 10.671 9.130 4.661 189.726 0.735 41.862

2.2 3700 950 11.148 9.554 4.889 129.232 14.467 49.159

2.2 3700 750 11.598 9.955 5.108 75.044 29.450 57.543

Erro Percentual Médio 211.5107 22.8215 44.3855

(52)

Fonte: Autoria Própria

A Figura (18) representa os a elipse que envolve toda a ZTA com os parâmetros obtidos pela Tabela (4).

Figura 18 – Representação da Elipse que envolve a ZTA com os parâmetros obtidos da RNA MLP da Biblioteca Scikit-Learn

Fonte: Autoria Própria

Para se comparar os resultados, foi utilizado o NNTool do software MATLAB com os mesmos parâmetros utilizada na rede implementada. Ao se completar as 500 épocas, foi obtido o gráfico representado pela Figura (19).

Figura 19 – Representação do Erro Quadrático Médio da RNA MLP do NNTOOL

Fonte: Autoria Própria

Ao se passar os dados de entradas para teste, foram obtidos os resultados

da Tabela (5).

(53)

53

Tabela 5 – Dados obtidos da RNA MLP do NNTOOL Dados de Entrada Dados de Saída Erros Percentuais

𝑉 𝑄 𝑇 𝑎 𝑏 𝑥 𝐸𝑟𝑟𝑜(%) 𝑎 𝐸𝑟𝑟𝑜(%) 𝑏 𝐸𝑟𝑟𝑜(%) 𝑥

2 3500 1800 6.409 6.178 2.009 310.573 11.157 61.103 2 3500 1300 7.611 7.137 2.849 176.262 9.497 59.439 2 3500 1000 10.970 9.475 4.624 151.023 10.784 49.142 2 3500 800 14.600 12.108 6.784 134.836 10.773 40.597 2 3500 600 17.501 14.474 8.767 84.316 22.642 43.404 2.2 3700 1950 6.441 6.234 1.944 319.310 17.713 60.356 2.2 3700 1450 7.169 6.908 2.572 182.036 4.370 60.065 2.2 3700 1150 9.066 8.326 3.646 146.165 9.479 54.525 2.2 3700 950 12.107 10.590 5.397 148.969 5.195 43.884 2.2 3700 750 15.819 13.458 7.821 138.737 4.621 34.989 Erro Percentual Médio 179.2227 10.6231 50.7504

Fonte: Autoria Própria

A Figura (20) representa graficamente a elipse que envolve toda a ZTA com os parâmetros obtidos da Tabela (5).

Figura 20 – Representação da Elipse que envolve a ZTA com os parâmetros obtidos da RNA MLP do NNTOOl

Fonte: Autoria Própria

Para uma melhor observação, a Figura (21) mostram em mesma escala

os gráficos de erro médio quadrático do treinamento e validação das RNA’s feita

nesse presente trabalho e a da biblioteca scikit-learn.

(54)

Figura 21 – Representação gráfica do erro médio quadrático dos dados de treinamento e validação ao longo das épocas

Fonte: Autoria Própria

É possível visualizar na Figura (21) que em apenas 500 épocas, a rede implementada nesse presente trabalho apresentou uma melhor performance, para a aplicação em soldagem.

5. Conclusões

Foi possível implementar o algoritmo backpropagation da rede MLP a partir dos conhecimentos adquiridos pelo referencial teórico. É perceptível que a rede conseguiu obter parâmetros da elipse satisfatórios, onde os mesmos conseguiram se aproximar dos pontos de simulação das isotermas, apesar de que o banco de dados ser relativamente pequeno, os erros percentuais médios obtidos foram baixos.

Vale ressaltar que todos os dados que foram coletados para se fazer o

banco de dados, foram feitos por aproximação, assim, ainda existe um erro

percentual entre os dados reais e os da aproximação. A quantidade de épocas

foi definida em um valor relativamente baixo devido a análise de rápida

convergência da rede implementada.

(55)

55 Ao se comparar com a RNA da Scikit-Learn, é possível observar que a rede implementada pelo algoritmo conseguiu tangenciar mais pontos com um erro percentual menor, tendo assim uma eficiência maior, até mesmo em seu treinamento, onde é perceptível que o erro médio quadrático teve um maior decaimento em uma pequena quantidade de épocas.

Ao se comparar com a RNA do NNTool, é possível observar que a rede implementada pelo algoritmo conseguiu mapear os dados de uma forma mais eficiente que do NNTool, com erros percentuais dos parâmetros da elipse menores.

O campo de aplicação das redes neurais é muito amplo, sendo possível

aplicar a mesma em diversas situações em que se precisa fazer predições e

classificações de vários problemas.

(56)

6. REFERÊNCIAS

COCOLO, Camila. IMPLEMENTAÇÃO EM FPGA DE UMA REDE NEURAL DE HOPFIELD. 2015. 93 f. Tese (Doutorado) - Curso de Engenharia Elétrica, Universidade de São Paulo, São Carlos, 2015.

RUSSEL, Stuart; NORVIG, Peter. INTELIGÊNCIA ARTIFICIAL. 3. ed. S. I:

Campus, 2013.

HAYKIN, Simon. REDES NEURAIS: PRINCÍPIOS E PRÁTICAS. 2. ed. S. I:

Bookman, 2001.

BRAGA, Antônio de Pádua; CARVALHO, André Pnce de Leon F. de;

LUDERMIR, Teresa Bernarda. REDES NEURAIS ARTIFICIAIS: TEORIA E APLICAÇÕES. S. I: Ltc, 2000.

PIÃO, Silvano Sotelo. IMPLEMENTAÇÃO DE REDE NEURAL ARTIFICIAL EM FPGA UTILIZANDO VHDL. 2012. 66 f. TCC (Graduação) - Curso de Engenharia Elétrica, Universidade de São Paulo, São Carlos, 2012.

LUDWIG JUNIOR, Oswaldo; MONTGOMERY, Eduard. REDES NEURAIS:

FUNDAMENTOS E APLICAÇÕES COM PROGRAMAS EM C. S. I: Ciência Moderna, 2007. 125 p.

AMORIM, Alefjohn Feitosa. IDENTIFICAÇÃO DO GLAUCOMA UTILIZANDO REDES NEURAIS COM IMPLEMENTAÇÃO EM FPGA. 2016. 65 f. Tese (Doutorado) - Curso de Ciência e Tecnologia, Universidade Federal Rural do Semi-Árido, Caraúbas, 2016.

VERAS, Carlos Vinicius Aladim. Estudo Comparativo de Técnicas de Redes

Neurais Artificiais na Previsão da Velocidade do Vento em Curto Prazo. 2013. 57

(57)

57 f. TCC (Graduação) - Curso de Engenharia de Computação, Escola Politécnica de Pernambuco – Universidade de Pernambuco, Recife, 2013.

MATHIAS, Victor Hugo Yuuki. Aplicação de uma rede neural artificial para otimização de CPC máximo em Google AdWords. 2016. 70 f. TCC (Graduação) - Curso de Engenharia Elétrica, Engenharia Elétrica e de Computação, Universidade de São Paulo, São Carlos, 2016.

FERTIG, Thiago Kramer. Autenticação de usuários através do reconhecimento de voz. 2011. 77 f. TCC (Graduação) - Curso de Sistemas de Informação, Ciências Exatas e Tecnologia, Universidade do Planalto Catarinense, Lages, 2011.

MOLETTA, Eduardo. REDES NEURAIS COM ESTADOS DE ECO APLICADAS EM CONTROLE DEPENDENTE DOS ESTADOS. 2015. 84 f. Dissertação (Mestrado) - Curso de Mestrado em Engenharia Elétrica, Eletrônica, Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2015.

CONGRESSO BRASILEIRO DE ENGENHARIA DE FABRICAÇÃO, 9., 2017,

Joinville, Santa Catarina. MODELAGEM ELÍPTICA APLICADA NA

DETERMINAÇÃO DA LARGURA DA ZONA TERMICAMENTE AFETADA. Santa

Catarina: Abcm, 2017. 7 p.

(58)

ANEXO A – FLUXOGRAMA DO TREINAMENTO DA RNA MLP

(59)

59

Fonte: Autoria Própria

(60)

ANEXO B –ALGORITMO DO TREINAMENTO DE UMA REDE MLP 01 Inicio Treinamento MLP

02 Definir parâmetros da RNA MLP (taxa de aprendizagem, número de neurônios em cada camada oculta, número de épocas, função de ativação e função de normalização

03 Apresentar e normalizar os dados de treinamento, validação e teste 04 Inicializar Pesos

05 Para i = 1 até número de épocas faça:

06 Randomizar dados de treinamento

07 Para j = 1 até o número de exemplos para treinamento 08 x ← j-ésima entrada dos exemplos de treinamento 09 d ← j-ésima saída dos exemplos de treinamento

10 v1 ← Campo local induzido da primeira camada intermediária 11 y1 ← Sinal de saída da primeira camada intermediária

12 v2 ← Campo local induzido da segunda camada intermediária 13 y2 ← Sinal de saída da segunda camada intermediária

14 v3 ← Campo local induzido da camada de saída 15 y3 ← Sinal de saída da camada de saída

16 erro ← d-y3

17 Calcular gradiente local da camada de saída

18 Calcular gradiente local da segunda camada intermediaria 19 Calcular gradiente local da primeira camada intermediaria 20 Atualizar Pesos

21 Fim Para

22 Calcular erro médio quadrático com os dados de validação 23 Calcular erro médio quadrático com os dados de Treinamento 24 Fim Para

25 Testar RNA com os dados de teste.

26 Fim Treinamento MLP

Fonte: Autoria Própria

Referências

Documentos relacionados

Não existe, por sua vez, relatos na literatura sobre os produtos de degradação do DEC, ivermectina e albendazol, sendo estes medicamentos utilizados em larga escala pela

Deste modo, este trabalho teve por objetivo investigar princípios de design de uma Sequência Didática (SD) sobre mitose e câncer, inspirada na história de

O entendimento da metáfora dentro-fora traz uma demarcação do que estaria dentro e fora do corpo por meio de sua superfície, a pele. Sendo esta, muitas vezes considerada como

36 Figura 1 Variação na concentração da glicose plasmática em cavalos marchadores durante o teste padrão de simulação de marcha em cavalos condicionados e não condicionados...

Além disso é necessário destacar o investimento significativo feito em comunicação pelo VIVADANÇA e a importância dela para a formação de públicos, afinal, “todo

Segundo Miyashita (2013), o tratamento cirúrgico pode resultar em graves sequelas das estruturas anatômicas envolvidas na fisiologia da cavidade oral, a extensão

Este memorial tem como objetivo refletir sobre o processo de captação de recursos para o espetáculo teatral “Barbacena – Fragmentos da Loucura”, que resultou na elaboração de

O impacto econômico causado pela Doença de Aujeszky DA tem diminuído com uso de vacinas deletadas para o gene gE do Vírus da DA e testes diagnósticos para detecção de anticorpos