Baixe o app para aproveitar ainda mais
Prévia do material em texto
REDES NEURAIS DE APRENDIZADO PROFUNDO APLICADAS A PROBLEMAS COMPLEXOS DA ENGENHARIA NUCLEAR Victor Henrique Cabral Pinheiro Tese de Doutorado apresentada ao Programa de Pós-graduação em Engenharia Nuclear, COPPE, da Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Doutor em Engenharia Nuclear. Orientador: Roberto Schirru Rio de Janeiro Junho de 2020 REDES NEURAIS DE APRENDIZADO PROFUNDO APLICADAS A PROBLEMAS COMPLEXOS DA ENGENHARIA NUCLEAR Victor Henrique Cabral Pinheiro TESE SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE DOUTOR EM CIÊNCIAS EM ENGENHARIA NUCLEAR. Orientador: Roberto Schirru Aprovada por: Prof. Roberto Schirru Profª. Andressa dos Santos Nicolau Prof. Claudio Marcio do Nascimento Abreu Pereira Prof. César Marques Salgado Dr. Mario Cesar Mello Massa de Campos RIO DE JANEIRO, RJ - BRASIL JUNHO DE 2020 iii Pinheiro, Victor Henrique Cabral Redes Neurais de Aprendizado Profundo Aplicadas a Problemas Complexos da Engenharia Nuclear / Victor Henrique Cabral Pinheiro. – Rio de Janeiro: UFRJ/COPPE, 2020. XIII, 102 p.: il.; 29,7 cm. Orientador: Roberto Schirru Tese (doutorado) – UFRJ/ COPPE/ Programa de Engenharia Nuclear, 2020. Referências Bibliográficas: p. 86-102. 1. Engenharia nuclear. 2. Aprendizado profundo. 3. Engenharia de fatores humanos. I. Schirru, Roberto. II. Universidade Federal do Rio de Janeiro, COPPE, Programa de Engenharia Nuclear. III. Título. iv À minha família. v AGRADECIMENTOS Agradeço à minha família querida – principalmente minha mamãe, meu pai e meu irmão – pelo apoio, pelos momentos de alegria e por terem proporcionado que eu pudesse estudar e chegar até aqui. Agradeço ao meu orientador, professor Roberto Schirru, por toda a orientação (o que pode parecer redundante, mas não é!). Devo agradecimentos pelo excelente suporte e mentoria, pela paciência, pela disponibilidade, pelos conselhos, pela paciência e ainda mais uma vez pela paciência. Foi uma experiência excelente ser seu aluno de doutorado, e através dela acho que amadureci e cresci, portanto, agradeço. Agradeço ao pessoal do LMP pelo auxílio, por estarem sempre prontos a me tirar dúvidas e orientarem com boa vontade quando necessário. Destaco aqui (dentre muitos!) os pesquisadores Andressa Nicolau e Alan de Lima. Agradeço aos amigos de dentro e de fora da universidade. Aos de dentro, pelo companheirismo durante o doutorado e por terem tornado essa jornada mais agradável, e aos de fora, pelo encorajamento e companhia. Por fim, quero agradecer de maneira geral ao restante do corpo docente e técnico-administrativo do PEN/COPPE. Tive uma grata surpresa pela maneira atenciosa e agradável como acolheram a mim e aos demais alunos, e como trabalham com diligência e dedicação para alcançar e manter o padrão de qualidade apresentado pelo programa. vi Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários para a obtenção do grau de Doutor em Ciências (D.Sc.) REDES NEURAIS DE APRENDIZADO PROFUNDO APLICADAS A PROBLEMAS COMPLEXOS DA ENGENHARIA NUCLEAR Victor Henrique Cabral Pinheiro Março/2020 Orientador: Roberto Schirru Programa: Engenharia Nuclear Este trabalho descreve, analisa e propõe soluções a dois problemas complexos da área nuclear, a saber, o Problema de Identificação de Acidentes Nucleares (PIAN) e o Problema de Inferência de Temperaturas (PIT) em certos pontos internos do prédio de contenção do reator. Os sistemas elaborados para solução destes problemas tiveram como núcleo o paradigma de Redes Neurais Profundas (RNPs) – sozinhas ou acopladas a outras técnicas de aprendizado de máquina e estatística – e foram desenvolvidos através de pesquisas no estado da arte da literatura científica, testes minuciosos e aprimoramentos, buscando as arquiteturas de RNPs mais adequadas, capazes de gerar resultados robustos, confiáveis e exatos para esses dois problemas. No caso do PIAN, os testes foram realizados com dados de operação simulados para a usina nuclear Angra 2, e o sistema resultante mais eficiente alcançou 99,88% de respostas “não sei” para eventos fora do escopo de treinamento e 94,56% de classificações corretas aplicando redes neurais profundas retificadas (DRNN) e redes auto-associativas. Já para o PIT, o conjunto de dados para a modelagem de regressão corresponde a aferições reais de temperaturas na usina Angra 1, e os resultados aplicando a DRNN e redes recorrentes LSTM apresentaram erro médio de regressão menor que 2 ºC em 89% dos casos. vii Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the requirements for the degree of Doctor of Science (D.Sc.) DEEP LEARNING NETWORKS APPLIED TO COMPLEX PROBLEMS OF NUCLEAR ENGINEERING Victor Henrique Cabral Pinheiro March/2020 Advisor: Roberto Schirru Department: Nuclear Engineering This work describes, analyzes and proposes the solution to two complex problems of the nuclear area, namely, the nuclear accident identification problem (NAIP) and the inference of temperatures problem (ITP) in certain spots of the reactor containment building. The systems to solve these problems had at their core the paradigm of deep neural networks (DNN) – alone or coupled with other machine learning and statistical techniques – and were developed through research for the state of the art in scientific literature, thorough tests and improvements, seeking for the most adequate DNN architectures, capable of generating robust, reliable and accurate results for these two problems. For NAIP, the tests were developed with operational data simulated for Angra 2 NPP, and the resulting most efficient system achieved 99,88% of correct “don‟t know” answers for events outside of training scope and 94,56% of correct classifications applying deep rectifier neural networks (DRNN) and autoencoders. For ITP, the dataset utilized for the regression modeling corresponds to real measurements of physical variables for Angra 1, with average regression error below 2 ºC in 89% of the cases applying DRNN and LSTM recurrent networks. viii SUMÁRIO 1 - INTRODUÇÃO ........................................................................................................................... 1 1.1 – Contextualização e Motivação ......................................................................................... 1 1.2 – Objetivos .......................................................................................................................... 4 1.3 – Organização ...................................................................................................................... 5 2 - FUNDAMENTAÇÃO TEÓRICA .................................................................................................... 6 2.1 – Breve Histórico ................................................................................................................. 6 2.2 – O Problema do Desaparecimento de Gradiente .............................................................. 9 2.3 – Redes Neurais Profundas Retificadas ............................................................................. 13 2.4 – Redes Neurais Auto-Associativas ...................................................................................15 2.5 – Redes Neurais Recorrentes (RNRs) ................................................................................ 16 2.5.1 – Problema de aprendizado de sequências e as RNRs ............................................... 16 2.5.2 – Long short-term memory (LSTM) ............................................................................ 20 2.6 – Floresta Aleatória ........................................................................................................... 23 3 - O PROBLEMA DE IDENTIFICAÇÃO DE ACIDENTES NUCLEARES (PIAN) ................................... 25 3.1 – Introdução ao Problema ................................................................................................. 25 3.2 – Modelagem Experimental .............................................................................................. 28 3.2.1 - O conjunto de dados ................................................................................................ 28 3.2.2 – Materiais e métodos ............................................................................................... 30 3.2.3 – O classificador ......................................................................................................... 31 3.2.4 – Inspirações para a resposta “não sei” ..................................................................... 31 3.2.5 – Novas Abordagens Propostas Para a Resposta “Não Sei” ....................................... 33 3.3 – Resultados Experimentais .............................................................................................. 34 3.3.1 – Classificação ............................................................................................................ 34 3.3.2 – Resposta “Não Sei” .................................................................................................. 37 3.4 – Análise dos Resultados ................................................................................................... 53 3.5 – Conclusões para o PIAN .................................................................................................. 55 4 - O PROBLEMA DE INFERÊNCIA DE TEMPERATURAS (PIT) ....................................................... 57 4.1 – Introdução ao Problema ................................................................................................. 57 4.2 – Inferência de Temperaturas ........................................................................................... 62 4.3 – Modelagem e Resultados Experimentais ....................................................................... 63 4.4 – Análise dos Resultados ................................................................................................... 80 4.5 – Conclusões para o PIT..................................................................................................... 82 5 - CONCLUSÕES .......................................................................................................................... 83 5.1 – RNPs Aplicadas ao PIAN ................................................................................................. 83 ix 5.2 – RNPs Aplicadas ao PIT .................................................................................................... 84 5.3 – Conclusões Finais e Trabalhos Futuros........................................................................... 84 REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................................... 86 x LISTA DE FIGURAS Figura 2.1 – Modelo de neurônio MP (MCCULLOCH & PITTS, 1943). ................................... 6 Figura 2.2 – Perceptron (HAYKIN, 2007). .................................................................................. 7 Figura 2.3 – Exemplo de rede neural (a) rasa e (b) profunda (GOODFELLOW, 2016). ............ 8 Figura 2.4 – Publicações envolvendo inteligência artificial (PERRAULT, 2019). ..................... 9 Figura 2.5 – Definições básicas para redes neurais (adaptado de KARPATHY, 2019). ........... 10 Figura 2.6 – Função sigmoide logística (a) e tangente hiperbólica (b) e suas derivadas. .......... 13 Figura 2.7 – Análise dos níveis de ativação neuronal (GLOROT & BENGIO, 2010). ............. 13 Figura 2.8 – ReLU. .................................................................................................................... 14 Figura 2.9 – Rede neural auto-associativa (TSCHANNEN, 2018). ........................................... 15 Figura 2.10 – rede neural recorrente (adaptado de GOODFELLOW, 2015). ............................ 18 Figura 2.11 – Célula LSTM (adaptado de OLAH, 2015). ......................................................... 21 Figura 2.12 – Pseudocódigo para florestas aleatórias (ALVARENGA JÚNIOR, 2018). .......... 24 Figura 3.1 – Sistema elaborado por Mól et al. (2002). ............................................................... 32 Figura 3.2 – Matriz de confusão normalizada começando a análise aos 3 segundos. ................ 36 Figura 3.3 – Matriz de confusão normalizada começando a análise com 1 segundo. ................ 36 Figura 3.4 – RMAXZA: Matriz de confusão no conjunto combinado. ..................................... 39 Figura 3.5 – RMAXZA: Resposta do sistema segundo a segundo. ........................................... 39 Figura 3.6 – RMEDZA: Matriz de confusão no conjunto combinado. ...................................... 42 Figura 3.7 – RMEDZA: Resposta do sistema segundo a segundo. ............................................ 42 Figura 3.8 – PSO-RZA: Matriz de confusão no conjunto combinado. ...................................... 45 Figura 3.9 – PSO-RZA: Resposta do sistema segundo a segundo. ............................................ 45 Figura 3.10 – RAAR: Matriz de confusão no conjunto combinado. .......................................... 48 Figura 3.11 – RAAR: Resposta do sistema segundo a segundo. ............................................... 48 Figura 3.12 – A abordagem RAPUC. ........................................................................................ 50 Figura 3.13 – RAPUC: Matriz de confusão no conjunto combinado. ....................................... 52 Figura 3.14 – RAPUC: Resposta do sistema segundo a segundo. ............................................. 52 Figura 4.1 – RE para quatro temperaturas de envelhecimento (EPRI, 2010). ........................... 60 Figura 4.2 – Mapa de calor SICA (algumas variáveis) x SMO. ................................................ 64 Figura 4.3 – Exemplo de resultado de importância de variáveis................................................ 65 Figura 4.4 – Importância de variáveis para o componente “1 2”. .............................................. 67 Figura 4.5 – Importância de variáveis para o componente “3 5”. .............................................. 67 Figura 4.6 – Importância de variáveis para o componente “3 9”. .............................................. 68 Figura 4.7 – Importância de variáveis para o componente “3 50”. ............................................ 68 Figura 4.8 – Importância de variáveis para o componente “4 31”. ............................................ 69 Figura 4.9 – Resultado experimental para o componente “1 2”, abordagem A. ........................ 70 Figura 4.10 – Resultado experimental para o componente “3 5”, abordagem A. ...................... 70 Figura 4.11 – Resultado experimental para o componente “3 9”, abordagem A. ...................... 71 Figura 4.12 – Resultado experimental para o componente “3 50”, abordagem A. .................... 71 Figura 4.13 – Resultado experimental para o componente “4 31”, abordagem A. .................... 72 Figura 4.14 – Resultado experimental para o componente “1 2”, abordagem B. ......................72 Figura 4.15 – Resultado experimental para o componente “3 5”, abordagem B. ...................... 73 Figura 4.16 – Resultado experimental para o componente “3 9”, abordagem B. ...................... 73 Figura 4.17 – Resultado experimental para o componente “3 50”, abordagem B. .................... 74 Figura 4.18 – Resultado experimental para o componente “4 31”, abordagem B. .................... 74 Figura 4.19 – Resultado experimental para o componente “1 2”, abordagem C. ...................... 75 Figura 4.20 – Resultado experimental para o componente “3 5”, abordagem C. ...................... 75 Figura 4.21 – Resultado experimental para o componente “3 9”, abordagem C. ...................... 76 Figura 4.22 – Resultado experimental para o componente “3 50”, abordagem C. .................... 76 xi Figura 4.23 – Resultado experimental para o componente “4 31”, abordagem C. .................... 77 Figura 4.24 – Resultado experimental para o componente “1 2”, abordagem D. ...................... 77 Figura 4.25 – Resultado experimental para o componente “3 5”, abordagem D. ...................... 78 Figura 4.26 – Resultado experimental para o componente “3 9”, abordagem D. ...................... 78 Figura 4.27 – Resultado experimental para o componente “3 50”, abordagem D. .................... 79 Figura 4.28 – Resultado experimental para o componente “4 31”, abordagem D. .................... 79 xii LISTA DE TABELAS Tabela 3.1 – Variáveis de estado. ............................................................................................... 28 Tabela 3.2 – Situações de operação da usina. ............................................................................ 29 Tabela 3.3 – Desempenho da rede iniciando 3 segundos após o início do transiente. ............... 35 Tabela 3.4 – Desempenho da rede iniciando no segundo de início do transiente. ..................... 35 Tabela 3.5 – RMAXZA: Revmax para cada situação operacional. ............................................... 38 Tabela 3.6 – RMAXZA: Performance nos três conjuntos. ........................................................ 38 Tabela 3.7 – RMAXZA: Exatidão do sistema (%)..................................................................... 40 Tabela 3.8 – RMEDZA: Revavg para cada situação operacional................................................. 41 Tabela 3.9 – RMEDZA: Performance nos três conjuntos. ......................................................... 41 Tabela 3.10 – RMEDZA: Exatidão do sistema (%). .................................................................. 43 Tabela 3.11 – PSO-RZA: raio para cada situação operacional. ................................................ 44 Tabela 3.12 – PSO-RZA: Performance nos três conjuntos. ....................................................... 44 Tabela 3.13 – PSO-RZA: Exatidão do sistema (%). .................................................................. 46 Tabela 3.14 – RAAR: para cada evento operacional. ................................................... 47 Tabela 3.15 – RAAR: Performance nos três conjuntos. ............................................................. 47 Tabela 3.16 – RAAR: Exatidão do sistema (%). ........................................................................ 49 Tabela 3.17 – RAPUC: para cada evento operacional. ................................................. 51 Tabela 3.18 – RAPUC: Performance nos três conjuntos. .......................................................... 51 Tabela 3.19 – RAPUC: exatidão do sistema (%). ...................................................................... 53 Tabela 3.20 – Exatidão média nos três conjuntos para cada abordagem. .................................. 53 Tabela 4.1 –Principais hiperparâmetros para as RNPs aplicadas ao PIT. .................................. 66 Tabela 4.2 – Configuração dos experimentos do PIT. ............................................................... 69 Tabela 4.3 – Resultados obtidos. ................................................................................................ 80 xiii ACRÔNIMOS E ABREVIAÇÕES AE – AutoEncoder; DL – Deep Learning; DRNN – Deep Rectifier Neural Network; EFH – Engenharia de Fatores Humanos; GPU – Graphics Processing Unit; LSTM – Long Short-Term Memory; ML – Machine Learning; MLP – Multilayer Perceptron; NRC – Nuclear Regulatory Comission; PIAN – Problema de Identificação de Acidentes Nucleares; PIT – Problema de Inferência de Temperaturas; PSO – Particle Swarm Optimization; RF – Random Forest; RNA – Rede Neural Artificial; RNP – Rede Neural Profunda; RNR – Rede Neural Recorrente; SGD – Stochastic Gradient Descent; UN – Usina Nuclear. 1 CAPÍTULO 1 INTRODUÇÃO 1.1 – Contextualização e Motivação As usinas nucleares (UNs) são sistemas complexos projetados e operados baseados em normas e diretrizes rigorosas de segurança. Dadas as possíveis consequências catastróficas decorrentes de eventos operacionais adversos, uma das maiores prioridades desses ambientes é tipicamente manter o risco de um acidente tão baixo quanto seja possível alcançar de maneira razoável. Assim, sistemas redundantes, complexas análises de segurança, treinamentos exigentes e procedimentos operacionais detalhados estão presentes de forma ubíqua nas UNs, o que faz com que, historicamente, elas estejam entre as instalações de geração de energia elétrica mais seguras do mundo (MARKANDYA & WILKINSON, 2007; KHARECHA & HANSEN, 2013). Sob este paradigma de segurança, é natural que a indústria de geração de energia nuclear esteja particularmente interessada em absorver e implementar inovações no que concerne à Engenharia de Fatores Humanos (NRC, 1981), testando-as e adaptando-as para que auxiliem na tarefa desafiadora de aumentar, concomitantemente, o fator de segurança e o fator de capacidade operacional da usina (MA & JIANG, 2011). Entretanto, considerando os supracitados riscos da operação, é, outrossim, compreensível que a mesma indústria seja cautelosa e reticente, adotando uma posição conservadora ao incorporar apenas os avanços científicos que tenham atingido um grau considerável de confiabilidade e maturidade tecnológica. É nesse contexto que se encontra atualmente a inserção nas UNs do novo paradigma de redes neurais artificiais (RNAs) chamado de aprendizado profundo (GOODFELLOW et al., 2014): embora técnicas de inteligência artificial (RUSSELL & NORVIG, 2009) incluindo redes neurais “tradicionais” e modelos estatísticos sofisticados venham sendo estudados pela comunidade acadêmica há décadas para tratar de problemas conhecidos nas usinas e aprimorar a eficiência e segurança dos processos (BARTLETT & UHRIG, 1992; EMBRECHTS & BENEDEK, 2004; KWON & KIM, 1999; MÓL et al., 2010; MOSHKBAR-BAKHSHAYESH & GHOFRANI, 2013; NICOLAU & SCHIRRU, 2017; PINHEIRO & SCHIRRU, 2019; ROVERSO, 2004), as 2 complexidades envolvidas no treinamento de redes neurais mais profundas (isto é, com mais camadas ocultas), além de fenômenos como a saturação de neurônios (WANG et al., 2004), dificultaram e limitaram por décadas a aplicação do aprendizado profundo em uma miríade de áreas – incluindo a nuclear. Cabe ressaltar que a RNA, enquanto técnica de aprendizado de máquina (do inglês, machine learning – ML), não é particularmente nova. Sua concepção inicial como modelo probabilístico para o armazenamento de informações inspirado no cérebro humano é historicamente atribuída à McCulloch & Pitts (1943) e Rosenblatt (1957). Desde então, a ideia de modelar computacionalmente o processo de pensamento humano tem evoluído de forma conjunta com a tecnologia da computação, neurociência e até mesmo com a criatividade dos pesquisadores.A despeito de alguns obstáculos devidos a ceticismo, complicações matemáticas ou falta de poder computacional, as RNAs têm sido aprimoradas com considerável sucesso como uma das mais poderosas técnicas de aprendizado de máquina ao longo dos últimos 60 anos. As redes neurais profundas (RNPs) são RNAs com diversas camadas internas (também chamadas de camadas ocultas) de neurônios separando as camadas de entrada e saída da rede. Mais especificamente, como definidas por Bengio & LeCun (2007), as RNPs possuem “muitos níveis de componentes adaptativos não-lineares”, ao contrário das tradicionais redes neurais (dali em diante comumente chamadas de redes neurais “rasas”), com poucas camadas internas. Tal nomenclatura deu origem à área de aprendizado profundo (do inglês, deep learning – DL) como sendo aquela que envolve, principalmente, modelos de redes neurais profundas. As RNPs possuem a habilidade de aprender através de exemplos e de modelar complexas relações não-lineares entre esses exemplos. Sua vantagem em relação às redes neurais rasas reside fundamentalmente no fato de que o aprendizado profundo introduz o conceito de hierarquia de representações de características (GOODFELLOW, 2015), de modo que representações de características complexas são expressas em termos de representações mais simples, distribuídas e aprendidas pela rede ao longo das camadas durante o processo de treinamento. Com efeito, isso reflete a forma como é entendido o funcionamento do cérebro: de forma hierárquica (LEWIS & VAN ESSEN, 2000). 3 Apesar de suas similaridades, há diferenças consideráveis no comportamento de redes neurais profundas e rasas durante o treinamento. Há um número muito maior de transformações parametrizadas não lineares que um sinal de entrada encontra conforme se propaga da camada de entrada para a camada de saída, sendo cada transformação realizada por uma unidade de processamento (neurônio) que possui parâmetros treináveis, comumente chamados de pesos. Esse fato dificultou e, por décadas, impossibilitou que se alcançasse qualquer resultado significativo com redes neurais contendo mais de cerca de três camadas internas, tanto por uma questão de capacidade computacional quanto por um problema fundamental – o Problema de Desaparecimento de Gradiente (GLOROT & BENGIO, 2010) – que será descrito no Capítulo 2, e consiste basicamente na perda da capacidade de aprendizado por parte das redes durante a atualização de parâmetros por retropropagação do erro. Felizmente, a combinação recente de avanços nas arquiteturas, como computação de reservatório (LUKOŠEVIČIUS & JAEGER, 2009), redes neurais convolucionais (FUKUSHIMA & WAKE, 1980; LECUN et al., 1989) e recorrentes (HOCHREITER & SCHMIDHUBER, 1997; JORDAN, 1990), novos algoritmos de treinamento e funções de ativação, tais como a ReLU (GLOROT & BORDES, 2011) e ELU (CLEVERT & UNDERTHINER, 2015) possibilitaram a exploração de redes mais complexas e eficientes. De fato, o aumento no número de publicações científicas estudando as arquiteturas das assim chamadas redes neurais profundas vem crescendo rapidamente desde circa 2006 (VARGAS et al., 2017), fornecendo resultados “estado da arte” em diversas aplicações em diferentes áreas do conhecimento (SCHMIDHUBER, 2015). Entretanto, embora não seja difícil encontrar na literatura exemplos de resultados notáveis utilizando redes neurais profundas nas mais diferentes aplicações, estas ainda têm sido relativamente pouco estudadas na área de engenharia nuclear, onde os estudos recentes mencionados mostram que elas potencialmente podem oferecer melhor performance, menor tempo de treinamento e maior capacidade de generalização do que outras técnicas de aprendizado de máquina quando aplicadas a problemas complexos da engenharia nuclear. 4 1.2 – Objetivos Esta pesquisa foi conduzida com o objetivo de analisar o comportamento de redes neurais profundas em dois problemas complexos da área nuclear. São eles: O problema de identificação de acidentes em usinas nucleares – PIAN (NICOLAU & SCHIRRU, 2013), a partir de séries temporais de variáveis físicas de um conjunto de acidentes de base de projeto postulados para a usina nuclear Angra 2, obtidas com dados simulados; O problema de inferência de temperaturas – PIT, através de correlações com variáveis físicas reais disponíveis nos sistemas de controle integrados na usina nuclear Angra 1, para auxiliar na avaliação do tempo de vida útil restante de equipamentos expostos a condições adversas de temperatura dentro do prédio de contenção na usina. Ambos os estudos de caso relatados neste trabalho foram realizados com ineditismo na literatura acadêmica, até onde foram as pesquisas deste autor. De fato, não foram encontrados trabalhos tratando do problema de inferência de temperaturas (PIT) utilizando redes neurais profundas para estimativa de vida útil remanescente de equipamentos em usinas nucleares. A relevância dessa aplicação em específico está em dar suporte a uma tomada de decisão mais embasada no tocante à substituição ou não dos equipamentos dentro do prédio de contenção do reator, potencialmente elevando o nível de confiabilidade operacional da usina durante o período de extensão de vida útil, ao mesmo tempo em que permitirá otimizar os gastos com manutenção e troca do maquinário, enquanto que o PIAN é relevante na medida em que fornece ao operador uma ferramenta de suporte à tomada de decisão capaz de alertá-lo acerca de um possível transiente antes mesmo deste tomar consciência da possibilidade de ocorrência do evento, aumentando assim o nível de segurança da planta. De forma geral, as metodologias aplicadas são ainda contribuições relevantes na medida em que podem ser facilmente estendidas e adaptadas a outros conjuntos de dados e situações similares nas mais diversas indústrias e operações. Já no que se refere à aplicação desse paradigma de redes para o PIAN, esta levou à publicação de dois artigos por este autor (PINHEIRO et al., 2019; SANTOS et al., 2019) e, quando da publicação destes, naturalmente também era pioneira, embora isso esteja, felizmente, começando a mudar, com artigos aplicando o aprendizado profundo 5 nas usinas nucleares sendo publicados com mais constância. Seu valor está em atuar como um sistema de engenharia de fatores humanos (EFH) para dar suporte à tomada de decisão de operadores nas usinas nucleares para regularização da situação na hipótese de um evento adverso, aumentando o fator de segurança operacional e eficiência das mesmas e minimizando o risco de acidentes graves, como será mais bem descrito nos capítulos subsequentes. Aqui, novamente, o sistema proposto é extensível a outras indústrias e processos. A relevância dessas pesquisas e estudos de caso talvez resida, entretanto, principalmente em demonstrar o potencial que as redes neurais profundas possuem em fornecer melhores resultados para os problemas e desafios clássicos da área de geração de energia nuclear, além de mostrar caminhos plausíveis para o tratamento de problemas complexos da área nuclear até então sem solução. Espera-se que os resultados deste trabalho influenciem e possam motivar mais trabalhos e pesquisas utilizando essa abordagem. 1.3 – Organização No Capítulo 1 foi feita uma introdução sobre o cenário atual da aplicação de redes neurais profundas à área da engenharia nuclear, seu potencial e importância. Foram ainda apresentadas a motivação, inovação e relevância do trabalho e introduzida qual será a abordagem aplicada: estudos de caso da performance de redes neurais profundas a dois problemas complexos da área nuclear. No Capítulo 2 será apresentada a fundamentação teórica das redes neurais profundas, com foco nas arquiteturas desenvolvidas e aplicadas aos problemas abordados neste trabalho. O Capítulo 3apresenta o primeiro estudo de caso, o PIAN. O Capítulo 4 apresenta o segundo estudo de caso, o PIT. O Capítulo 5 apresenta as conclusões gerais e sugestões para trabalhos futuros. 6 CAPÍTULO 2 FUNDAMENTAÇÃO TEÓRICA 2.1 – Breve Histórico O desenvolvimento de unidades de processamento inspiradas nos neurônios biológicos é historicamente atribuído inicialmente à McCulloch & Pitts (1943), com seu modelo de neurônio artificial (conhecido atualmente como neurônio MP) que fora baseado principalmente em estudos em neurologia da década de 30. Ilustrado na Figura 2.1, trata-se de um núcleo de processamento simples, que recebe entradas binárias (vindas dos neurônios 1 e 2) e é capaz de fornecer uma saída também binária (saindo do neurônio 3), desde que seja atingido um limiar de ativação neuronal. Tal modelo era capaz de representar (ou melhor, mapear) algumas funções lógicas lineares. Figura 2.1 – Modelo de neurônio MP (MCCULLOCH & PITTS, 1943). Dezesseis anos depois, é postulada aquela que ficou conhecida como regra de Hebb (1949), a respeito de como funciona o processo de aprendizagem do ponto de vista neurobiológico: através do fortalecimento de conexões neuronais entre determinados neurônios com a repetição de estímulos. Embora tal estudo tenha sido feito no campo da neuropsicologia, o paradigma de neurônio artificial viria a ser alterado para ao menos permitir esse novo conceito biológico, de forma tal a culminar, em 1958, no modelo de neurônio artificial chamado perceptron (ROSENBLATT, 1958), ilustrado na Figura 2.2. Sua principal diferença em relação ao neurônio MP é a presença de pesos, “ ”, que representam a força das conexões entre cada entrada e o neurônio de saída, permitindo o “aprendizado” por parte desse modelo de neurônio através do ajuste desses pesos levando em consideração exemplos de treinamento conhecidos. 7 Figura 2.2 – Perceptron (HAYKIN, 2007). Entretanto, a despeito do grande otimismo de Rosenblatt quanto ao futuro dos perceptrons, Minsky (1969) publica, no livro Perceptrons, uma forte crítica ao modelo de neurônio artificial e à, até então, recente 1 abordagem conexionista para a inteligência artificial. Em particular, Minsky argumenta que o perceptron ainda não era capaz de representar funções não lineares (ou, mais exatamente, não linearmente separáveis) tais como a função XOR, indicando que, para tal, seria necessária a concatenação de várias camadas de perceptrons. Porém, até então não havia um algoritmo de aprendizado capaz de fazer o ajuste de pesos para este caso. Esse fato, aliado aos avanços na abordagem simbólica para a inteligência artificial (sistemas especialistas, algoritmos evolucionários, árvores de decisão, etc.) levaram ao período chamado de “primeiro inverno” para as redes neurais, com poucas aplicações e pesquisas na área. Apenas 17 anos depois a abordagem conexionista voltou a prosperar, com Rumelhart et al. (1986), ao revisitarem, expandirem e tornarem acessível a ideia de retropropagação de erros – a qual fora proposta por Werbos (1974), mas sem muita apreciação por parte da academia – para ajustes de pesos naquelas que passaram a ser chamadas de redes neurais perceptron de múltiplas camadas (do inglês, multilayer perceptrons – MLP). Seguiram-se a isso resultados teóricos importantes, como Cybenko (1989), que enunciou o teorema da aproximação universal para redes neurais 2 . O que se tinha, até então, eram redes neurais que funcionavam bem com uma ou poucas camadas internas com quantidade razoável de neurônios, dadas as limitações computacionais anteriores à democratização das unidades de processamento gráfico (do 1 Atribui-se o “nascimento” da inteligência artificial enquanto ciência formal à conferência de Dartmouth, em 1956. 2 Enuncia que redes neurais, ainda que com uma única camada, com quantidade finita suficientemente grande de neurônios podem, em teoria, aproximar funções arbitrariamente complexas. 8 inglês, Graphics Processing Units – GPU), e um estudo teórico robusto que embasava as promessas de resultados notáveis que as redes neurais com uma camada poderiam atingir. Por que, então, buscar redes neurais com várias camadas? Surpreendentemente, ainda não há uma resposta definitiva para isso, porém o consenso geral entre os cientistas é de que redes neurais mais rasas (isto é, com menos camadas internas de neurônios), representada na Figura 2.3a, necessitam de uma quantidade exponencialmente maior de neurônios para aproximar (mapear) a mesma função que uma mais profunda (Figura 2.3b). Isso ocorre porque as redes neurais profundas aprendem de forma hierárquica, com as camadas mais próximas da entrada se especializando em aprender características mais simples do conjunto de dados de treinamento que vão sendo combinadas em representações mais abstratas e de nível do problema, o que foi confirmado apenas recentemente com estudos envolvendo a interpretabilidade do aprendizado de máquina, como Zeiler & Fergus (2014). Figura 2.3 – Exemplo de rede neural (a) rasa e (b) profunda (GOODFELLOW, 2016). O fato, entretanto, é que não se tinha ainda uma forma eficiente de treinar essas redes neurais mais profundas. O espaço da função de erro, que se quer minimizar, é muito ruidoso nesses casos, com muitos mínimos locais. Além disso, foi relatado por Hochreiter (1991, 1998) o problema de desaparecimento de gradiente, que aparece e se intensifica com o aumento de profundidade das redes. Tais fatores, juntamente com a falta de capacidade computacional, levaram a uma limitação no escopo de problemas que as redes neurais eram capazes de resolver de forma eficiente, e consequentemente ao “segundo inverno” para as redes neurais. 9 A formalização do conceito de aprendizado profundo (BENGIO & LECUN, 2007), formas de contornar as dificuldades relatadas, especialmente o desenvolvimento de uma função de ativação que permitiu contornar o problema de desaparecimento de gradiente (GLOROT, 2010), além do avanço das GPUs, tornaram possível e eficiente o treinamento de redes neurais mais profundas, mas foi apenas por volta de 2012 que a onda maciça de publicações envolvendo aprendizado profundo e suas aplicações ocorreu, principalmente devido àquele que ficou conhecido como o “momento ImageNet”, quando uma arquitetura de rede neural profunda (KRIZHEVSKY, 2012) venceu por larga margem a competição de classificação de imagens “ImageNet”, chamando a atenção de grandes empresas e concentrando investimentos na pesquisa e desenvolvimento de sistemas envolvendo aprendizado profundo. A Figura 2.4 3 retrata a propagação de artigos envolvendo inteligência artificial publicados em um repositório ao longo da última década, fazendo com que o aprendizado profundo tenha produzido resultados “estado da arte” em aplicações como processamento de imagens, visão computacional, reconhecimento de fala, tradução automática, arte, imagiologia médica, processamento de informação médica, robótica e controle, bioinformática, processamento de linguagem natural, cibersegurança e muitos outros (ALOM et al., 2019; SCHMIDHUBER, 2015). Figura 2.4 – Publicações envolvendo inteligência artificial (PERRAULT, 2019). 2.2 – O Problema do Desaparecimento de Gradiente 3 Nos rótulos da figura, respectivamente, lê-se: inteligência artificial, computação e linguagem, visão computacional e reconhecimento de padrões, aprendizado de máquina, computação neural e evolucionária e, por fim, robótica. 10 O principal impedimento, do ponto de vista teórico, para que as redes profundas pudessem ser treinadas com os algoritmos clássicos de retropropagação de gradiente (HAYKIN, 2007) é o chamado problema de desaparecimentode gradiente. De fato, ele é tão importante que ficou conhecido como o “problema fundamental do deep learning” (SCHMIDHUBER, 2015). É importante notar que, embora tenha sido documentado desde o início da década de 90 na literatura (BENGIO et al., 1994; HOCHREITER, 1991), o desaparecimento de gradiente só foi contornado de maneira eficiente para redes neurais progressivas 4 (do inglês, feedforward – FF) quando da introdução das funções de ativação retificadas (GLOROT et al., 2011). Mas antes de explica-lo, são importantes algumas definições básicas referentes às redes neurais, ilustradas na Figura 2.5: Figura 2.5 – Definições básicas para redes neurais (adaptado de KARPATHY, 2019). ∑ pré-ativação neuronal; ( ) ativação neuronal; resultado da aplicação da função de ativação não-linear à pré-ativação. Em particular, na Figura 2.5b, , uma função sigmoide logística; ̂ saída da rede, equivalente, portanto, à ; valor conhecido de saída, também chamado de alvo (do inglês, target); viés (do inglês, bias). Funciona como o coeficiente linear da função afim de pré- ativação, e nas redes neurais modernas tem, entre outras, as funções de aumentar a flexibilidade do modelo e influenciar nas ativações neuronais. : função de erro (do inglês, “loss function”); compara à ̂ de forma a medir a performance da rede durante o treinamento. 4 Isto é, cujos sinais se propagam pelos neurônios em apenas um sentido, tipicamente da entrada para a saída, ao contrário de redes com conexões de retroalimentação, definidas mais à frente. 11 Com essa notação tem-se, por exemplo, para o primeiro neurônio na segunda camada interna (Figura 2.5a): ∑ ( ) O algoritmo de retropropagação para o treinamento das redes baseado no método do gradiente descendente (do inglês, stochastic gradient descent – SGD), também conhecido como regra delta, consiste, basicamente, em: Fornecer um exemplo (do inglês, sample) de treinamento (entradas) para a rede, que calculará sua saída correspondente, dados os pesos (e vieses) atuais, inicializados aleatoriamente; Calcular o erro entre a saída da rede ( ̂) e o valor conhecido ( ) para tal exemplo; Retropropagar o erro para cada um dos pesos da rede, segundo a seguinte expressão 5 : O problema de desaparecimento de gradiente usualmente aparece durante o treinamento de RNPs utilizando métodos baseados em gradiente para o aprendizado das redes: à medida que os valores de pré-ativação neuronal tornam-se muito grandes (em valor absoluto), o gradiente computado pela derivada do erro nessas camadas torna-se pequeno (fenômeno conhecido como “saturação de neurônio”). Consequentemente, o gradiente, utilizado para ajustar os pesos da rede, tende a ficar cada vez mais próximo de zero conforme o erro vai sendo retropropagado através da regra da cadeia. Assim, as primeiras camadas internas da rede terão gradiente desprezível, e seu impacto no ajuste dos pesos será ínfimo, tornando o processo de aprendizado tão lento a ponto de ser impraticável (ver Figura 2.7). 5 Na prática, embora o erro seja calculado exemplo a exemplo, o ajuste dos pesos da rede não é tipicamente realizado nessa freqüência, como no SGD, mas sim realizado em bateladas (do inglês, batches), por razões computacionais, de eficiência e de estabilidade de treinamento, sendo o tamanho da batelada é um dos hiperparâmetros a definir. Isso dá origem aos termos “batch gradient descent" (quando o tamanho do batelada é o tamanho do conjunto de dados de treino) e “mini batch gradient descent”, quando o conjunto de dados é dividido em grupos (mais comum). 12 De fato, calculando explicitamente as taxas de variação do erro em relação a cada um dos pesos destacados na Figura 2.5a, tem-se, adotando a função simples de erro quadrático ( ̂ ) e desconsiderando os termos referentes aos vieses, para simplificar a notação (sem prejuízo da argumentação): ( ̂ ) ( ) ( ̂ ) ( ) ( ) ( ̂ ) ( ) , ( ) ( ) ( ) ( ) - Assim, as RNPs que, seguindo o exemplo das redes neurais rasas, eram tradicionalmente ativadas com funções sigmoides (HAYKIN, 2007) são bastante afetadas pelo desaparecimento de gradiente conforme se desenvolvem em profundidade, pois estas saturam muito rapidamente. As funções sigmoide logística e tangente hiperbólica, por exemplo, definidas como ( ) (Figura 2.6a) e ( ) ( ) (Figura 2.6b), possuem limites assintóticos entre 0 e 1 e -1 e 1, respectivamente, conforme suas entradas se aproximam de 4 ou -4, como pode ser observado na Figura 2.6. Nessas regiões, suas derivadas se aproximam de zero e o gradiente tende a desaparecer. 13 Figura 2.6 – Função sigmoide logística (a) e tangente hiperbólica (b) e suas derivadas. Glorot & Bengio (2010) realizaram um estudo aprofundado a respeito de redes neurais profundas com funções de ativação sigmoides e mostraram que, de fato, a ativação de neurônios nas camadas mais profundas da rede se aproxima de zero (Figura 2.7, mostrando que a partir da camada 4 o valor da ativação fica próximo de zero muito rapidamente). Quando isso ocorre, se está efetivamente zerando o aprendizado dos pontos ligados àquele neurônio saturado, fazendo-as apresentar um desempenho ruim, com treinamento lento que converge tipicamente para mínimos locais. Figura 2.7 – Análise dos níveis de ativação neuronal (GLOROT & BENGIO, 2010). 2.3 – Redes Neurais Profundas Retificadas GLOROT et al. (2011), então, propuseram um novo tipo de arquitetura, chamada de rede neural profunda retificada (do inglês, deep rectifier neural network – 14 DRNN), que utiliza uma função de ativação retificada chamada de ReLU (rectified linear unit), definida como ( ) ( ), para ativar os neurônios das camadas internas. Como se pode observar na Figura 2.8, tal função não sofre com o problema de desaparecimento de gradiente por apresentar comportamento linear no domínio positivo, de maneira que o gradiente fluirá bem para os neurônios ativos durante a retropropagação. Figura 2.8 – ReLU. Adicionalmente, segundo os autores, tal função de ativação introduz uma esparsividade que é mais biologicamente plausível, ao emular melhor o funcionamento do cérebro. Os autores argumentam que estudos indicam que os neurônios biológicos codificam informação de maneira esparsa e distribuída, com percentual de neurônios ativos ao mesmo tempo entre 1 e 4%. A ReLU, nesse sentido, por construção inativa cerca de 50% dos neurônios a cada fase do treinamento (aqueles cuja pré-ativação será negativa ou nula), ao passo que funções sigmoides geram uma representação densa dos pesos, com quase 100% deles continuamente ativos ao mesmo tempo. As DRNN, portanto, são redes neurais profundas progressivas ativadas nas camadas internas por funções ReLU. Naturalmente, devido ao triunfo dessa função de ativação, diversas outras funções retificadas similares foram propostas na literatura, como ELU, SELU, Leaky-ReLU, GELU, ISRU, Swish, entre outras (NWANKPA, 2018). Embora algumas forneçam resultados interessantes em alguns problemas específicos, a maior parte das aplicações científicas e comerciais ainda utiliza a ReLU, pois esta tem fornecido bons resultados de maneira robusta e consistente. 15 2.4 – Redes Neurais Auto-Associativas As redes neurais auto-associativas (do inglês, autoencoders – AE) são redes projetadas e treinadas para aprenderem a copiar os seus sinais de entrada (KRAMER, 1992). A arquitetura de uma rede neural autoencoder rasa tradicional(também chamada de “vanilla autoencoder”) é composta por uma camada de entrada, uma camada interna e uma camada de saída. O advento do paradigma de redes neurais profundas levou à implementação de autoencoders profundos com várias camadas, nos quais as camadas de entrada e saída possuem a mesma quantidade de neurônios, enquanto que as camadas internas possuem tipicamente menos neurônios, formando uma representação codificada dos dados (representada por na Figura 2.9). Como tal, as redes neurais autoencoder fazem parte da classe de aprendizado de máquina não supervisionado, definido como aquele capaz de descobrir padrões ou características nos dados sem o fornecimento de classes (labels) pré-definidas, diferenciando-se das aplicações de aprendizado supervisionado, nas quais tanto os dados de entrada quanto os esperados de saída (targets) são fornecidos à rede para o treinamento 6 . Figura 2.9 – Rede neural auto-associativa (TSCHANNEN, 2018). O propósito inicial dessa arquitetura era realizar compressão de dados ou redução da dimensionalidade no espaço de características em aplicações de processamento de informação (BOURLARD & KAMP, 1988). No seu processo de aprendizado, a AE inicialmente comprime a entrada em um espaço de menor dimensão para obter sua codificação, a qual é posteriormente decodificada através da reconstrução para a dimensão original. Esse segundo processo é feito através do cálculo das diferenças entre a entrada original e seus valores reconstruídos (KRAMER, 1992), 6 Há ainda uma série de outras formulações e terminologias, como aprendizado autossupervisionado, aprendizado semissupervisionado, meta-aprendizado, etc, as quais fogem ao escopo deste trabalho. 16 chamado de erro de reconstrução, a partir do qual os pesos da rede são ajustados utilizando algum algoritmo de treinamento que diminua esse erro. Após o treinamento, portanto, a AE tenderá a fornecer erros de reconstrução muito grandes para entradas que difiram daquelas utilizadas no treinamento, devido ao fato de que a rede não será capaz de decodificá-las a partir de sua projeção em menor dimensão (isto é, após ter se especializado em codificar e decodificar os dados de treino, informações diferentes destes tenderão a ser consideradas dados espúrios pela rede). Isso torna essa arquitetura de redes particularmente adequada para tarefas como detecção de novelties, a qual constitui, juntamente com a detecção de outliers (AGGARWAL, 2015) uma parte da área de detecção de anomalias e consiste em identificar se um sinal de entrada é suficientemente diferente daqueles utilizados para o treinamento de algum modelo (AMARBAYASGALAN et al., 2018). A variante profunda dos autoencoders, chamada de deep autoencoder (AGGARWAL, 2018), possui o mesmo objetivo que a rede AE tradicional, porém conta com vários estágios de codificação e decodificação do sinal de entrada empilhados sequencialmente (ZHOU et al., 2014). Assim, ela tem a capacidade de discriminar, captar e representar de forma hierárquica e eficiente características complexas dos dados brutos de entrada (ZHOU & PAFFENROTH, 2017). A DAE tem sido utilizada, por conta disso, com sucesso em aplicações modernas de detecção de anomalias (AMARBAYASGALAN et al., 2018; GUTOSKI et al., 2017; ZONG et al., 2018). 2.5 – Redes Neurais Recorrentes (RNRs) As redes neurais recorrentes (GOLLER & KUCHLER, 1996) são arquiteturas particularmente adequadas para lidar com problemas de aprendizado de sequências. 2.5.1 – Problema de aprendizado de sequências e as RNRs Redes neurais progressivas permitem, por construção, apenas que os sinais se propaguem através de suas camadas em uma direção (ver Figura 2.5), e, portanto, implicitamente assumem que há independência entre cada um dos exemplos de treinamento e teste. Dessa forma, ao ser finalizado o processamento de cada exemplo, o estado, isto é, o conhecimento adquirido a respeito daquele exemplo em particular, é perdido (embora ele ainda esteja, filosoficamente, guardado indiretamente na forma da transformação dos pesos da rede durante o treinamento). Em casos em que os exemplos 17 são, de fato, independentes entre si, isto não representa um problema, mas caso contrário – como é típico na modelagem de séries temporais, palavras, frases ou frames de um vídeo – existe uma relação sequencial entre cada um dos dados, e tais problemas são caracterizados, portanto, como aprendizado de sequências (LIPTON et al., 2015). Há duas formas principais de fornecer às redes neurais a capacidade de incorporar informações sobre o contexto sequencial: coletando os inputs na forma de “janelas deslizantes” sequenciais de tamanho fixo ou adicionando conexões de retroalimentação ao paradigma de rede neural progressiva para modelar o fluxo sequencial diretamente. As redes neurais recorrentes (RNR) nascem 7 , portanto, dessa segunda abordagem, ao adicionar tais conexões de retroalimentação (feedback) em um grau arbitrário de complexidade. Tratam-se de modelos conexionistas Turing-completos (SIEGELMANN & SONTAG, 1992) por construção temporalmente profundos com a habilidade de transmitir informação dinamicamente ao longo dos passos da sequência, formando uma espécie de “memória”. Além disso, tais redes, ao processarem cada exemplo de maneira sequencial, adicionam a flexibilidade (bastante desejada nesse tipo de aplicação) de lidar com sequências de tamanho variável, permitindo com que seja definida, com certo grau de liberdade, quanta informação a rede deve receber antes de fornecer uma saída, algo que não seria possível com a modelagem de janela deslizante para as redes neurais progressivas (com entradas de tamanho fixo). A figura 2.10 ilustra uma rede neural recorrente e seu “desdobramento” ao longo dos passos da sequência 8 . O estado interno (muitas vezes denotado como ) é o responsável pela acumulação e, portanto, memória dos pontos anteriores na sequência. 7 Historicamente, na verdade, podem ser consideradas uma evolução das redes de Hopfield (1982), as quais, por sua vez, foram possivelmente inspiradas por Little (1974), mantendo inclusive algumas das suas terminologias (como o conceito de “estados”) até hoje. 8 Na nomenclatura de redes neurais recorrentes, usam-se os termos passos de tempo e elementos da sequência de forma intercambiável. 18 Figura 2.10 – rede neural recorrente (adaptado de GOODFELLOW, 2015). As redes neurais recorrentes tradicionais, entretanto, por serem treinadas com variações dos métodos de otimização por gradiente, como a retropropagação no tempo (WERBOS, 1990), também sofrem do problema de desaparecimento de gradiente, tendo sido mostrado que elas não guardam adequadamente informação sobre passos anteriores da sequência da ordem de mais de uma dezena (HOCHREITER et al., 2001). Além disso, não possuem mecanismos que as permitam discriminar seletivamente quais aspectos da sequência devem ser guardados, esquecidos e transmitidos ao longo de seu processamento. Esses fatores, principalmente, limitaram bastante a sua aplicabilidade e motivaram a busca por uma arquitetura de rede neural robusta e mais eficiente. De fato, a retropropagação no tempo consiste, tal como numa rede neural FF, em inicializar cada um dos parâmetros (U, V e W, seguindo a notação da Figura 2.10) aleatoriamente, fornecer exemplos de dados de entrada ( ) para os quais conhece-se a saída correta ( ) e ajustar os parâmetros de maneira a minimizar o erro ( ) entre a saída fornecida pela rede ( ̂) e de acordo com o gradiente descendente: 19 Sendo, neste caso: ( ) ( ) com e (ou e ), na aplicação comum de sequências temporais)sendo o passo sequencial atual e anterior, respectivamente. Fazendo ainda, por exemplo, ( ) ( ̂( ) ) onde: * + tem-se para, por exemplo, o quarto passo da sequência: ( ) ( ) O termo leva a multiplicações sucessivas (pois depende de , que depende de , etc.) da derivada da função de ativação. Supondo-a sigmoide logística, esse valor está limitado (Figura 2.6a) entre e : ( ) ∏ levando, Q.E.D., ao problema do desaparecimento de gradiente 9 . Ao longo dos anos, os pesquisadores buscaram solucionar ou contornar esse problema e aproveitar o potencial das RNRs de várias formas, como: Funções de ativação alternativas, como a ReLU e suas variantes; Clipagem de gradiente; Pré-treinamento não-supervisionado; 9 A rigor, as RNRs também estão sujeitas, da mesma forma, ao problema de explosão de gradiente (fazendo com que o treinamento divirja), além do desaparecimento de gradiente, que pode advir das multiplicações sucessivas do peso da conexão recorrente no caso e , respectivamente. Porém, a explosão de gradiente é mais simples de evitar, utilizando clipagem de gradiente. 20 Busca de pesos por métodos alternativos como os algoritmos evolucionários; Algoritmos de força bruta (do inglês, brute force algorithms), contando com poder computacional para transmitir a informação; etc. Mas foi na utilização de arquiteturas alternativas que contornam o problema, como as redes de estado de eco (JAEGER, 2001) e as redes de longa memória curta (do inglês, long short-term memory – LSTM), propostas por Hochreiter & Schmidhuber (1997) que as RNRs triunfaram. 2.5.2 – Long short-term memory (LSTM) As redes neurais Long Short-Term Memory (HOCHREITER & SCHMIDHUBER, 1997) são arquiteturas de redes neurais recorrentes que buscam melhorar o fluxo do erro durante o treinamento das RNR tradicionais, afastando-as do problema de desaparecimento do gradiente e tornando possível à rede guardar a informação de centenas de passos anteriores na sequência de forma seletiva. Uma camada LSTM consiste de um ou mais blocos conectados de forma recorrente, conhecidos como blocos de memória, ou células LSTM (Figura 2.11). Cada bloco contém, tipicamente, três unidades multiplicativas, chamadas de portões de entrada, saída e esquecimento, que controlam seletivamente, respectivamente, as operações de escrita, leitura e exclusão de informações no estado das células ( ), mantendo-o relativamente protegido durante o processo de atualização dos pesos. Mais especificamente, a entrada para a célula é multiplicada pela ativação do seu portão de entrada, a saída da célula é multiplicada pela ativação do portão de saída e os valores anteriores armazenados no estado da célula são multiplicados pela ativação do portão de esquecimento. Matematicamente, e utilizando a notação da Figura 2.11, a célula LSTM pode ser representada como segue, sendo o estado interno da célula e seu estado oculto que, em última instância, é dado como saída: 21 Figura 2.11 – Célula LSTM (adaptado de OLAH, 2015). o portão de esquecimento seletivamente “esquece-se” de informações irrelevantes na sequência: ( , - ) o portão de entrada identifica a nova informação a ser armazenada, e consiste na etapa sigmoide logística, que decide o que deve ser atualizado, e na etapa tanh, que elabora um vetor com possíveis valores a adicionar ao estado da célula: ( , - ) ̃ ( , - ) na etapa de atualização do estado da célula, é aplicada a operação de esquecimento ao estado anterior da célula, e são adicionados os possíveis valores, parametrizados pelo quanto decidiu-se atualizar: ̃ finalmente, o portão de saída fornece uma versão “filtrada” do estado da célula: ( , - ) ( ) Ao discretizar, dessa forma, as funções de cada parte da célula, há apenas multiplicações matriciais elemento a elemento (produtos de Hadamard) combinadas por uma soma na atualização do estado da célula. Dessa forma, ao retropropagar o erro, o fluxo do gradiente não tende a ser interrompido. De fato, lembrando que, nas RNN 22 “tradicionais”, aplicações sucessivas de são precisamente o que leva ao problema de desaparecimento de gradiente, resta saber como a LSTM evita que esse termo vá a zero. Reescrevendo o termo referente ao estado da célula LSTM: ( , -) ( , -) ( , -) tem-se que o fluxo de gradiente pelo estado da célula nas LSTM é: ( , -) ( ( , -) ( , -)) ou seja: ( , -) Assim, o gradiente comporta-se de maneira similar ao termo do portão de esquecimento. Isto é, tenderá a ser aproximadamente um tantas vezes quantas a rede “decidir” que uma parte da informação deve ser lembrada. Em última instância, isso significa que o gradiente não irá a zero rapidamente, como ocorre nas RNN tradicionais, tendo sido reportados resultados experimentais em que a LSTM consegue guardar informação de mil pontos anteriores na sequência (HOCHREITER & SCHMIDHUBER, 1997). A LSTM, juntamente com a arquitetura de redes neurais convolucionais (do inglês, convolutional neural networks – CNN), propostas por LeCun et al. (1989) tem sido responsável por boa parte do sucesso na aplicação de modelos de aprendizado profundo nas mais diversas áreas, atingindo resultados estado da arte em campos como: análise proteica, reconhecimento de escrita manual, detecção de voz, reconhecimento ótico de caracteres, tradução automática, identificação de idiomas, análise de sentimento, modelagens de séries temporais em geral, entre outros (SCHMIDHUBER, 2015). 23 2.6 – Floresta Aleatória Como será descrito mais a frente, a técnica de aprendizado de máquina floresta aleatória (do inglês, random forests – RF), proposta por Breiman (2001), embora não pertença à classe de redes neurais, mas sim de geração de agregados de árvores de decisão (do inglês, decision tree ensembles), foi utilizada (Seção 4.3) como parte de um sistema para “filtrar” as variáveis físicas mais relevantes, dentro de um escopo de cerca de 150 variáveis, para serem alimentadas às RNPs na modelagem de regressão no problema de inferência de temperaturas, num processo conhecido como importância de variáveis (do inglês, feature importance – FI) por permutação, descrito em Altmann et al. (2010). As florestas aleatórias tratam-se de um modelo relativamente barato computacionalmente e altamente interpretável (quando comparado às redes neurais, cujas principais desvantagens são o custo computacional e apresentarem características de modelos “caixas-pretas”), fazem parte da classe de algoritmos supervisionados de aprendizado de máquina e consistem no “ensacamento” (do inglês, bagging) de árvores de decisão. Tais algoritmos objetivam obter árvores que se ajustem bem aos dados, ao mesmo tempo em que sejam tão pouco correlacionadas (i.e. com baixa covariância) entre si quanto possível, o que é feito em geral selecionando amostras aleatoriamente com reposição (do inglês, bootstrapping) do conjunto de dados. A ideia é que os valores de predição de cada uma das árvores sejam combinados de alguma forma e seus desvios individuais em relação ao valor esperado, por serem pouco correlacionados devido ao bagging, tendam a se anular, fornecendo uma resposta mais acurada do que as respostas de cada árvore individual. Formalmente, para o caso de florestas aleatórias aplicadas à classificação 10 : “Uma floresta aleatória é um classificador que consiste em uma coleção de classificadores individuais em formato deárvores de decisão * ( ) + onde os * + são vetores aleatórios independentes identicamente distribuídos no espaço, e cada um „vota‟ para eleger qual a classe mais popular para a entrada .” (BREIMAN, 2001, em tradução livre). 10 A aplicação de florestas aleatórias para regressão é análoga, variando basicamente a forma como são interpretadas e calculadas as funções de erro e demais métricas. Ver Denil et al. (2014) para mais detalhes. 24 A Figura 2.12 ilustra o pseudocódigo para florestas aleatórias simples. Ao longo dos anos, o modelo de RF alcançou sucesso considerável em uma grande variedade de aplicações e inspirou diversas modificações e técnicas mais avançadas de agrupamento de árvores de decisão (PRETORIUS et al., 2017). Figura 2.12 – Pseudocódigo para florestas aleatórias (ALVARENGA JÚNIOR, 2018). 25 CAPÍTULO 3 O PROBLEMA DE IDENTIFICAÇÃO DE ACIDENTES NUCLEARES (PIAN) 3.1 – Introdução ao Problema As usinas nucleares são projetadas e operadas baseando-se em padrões e diretrizes estritamente definidos. A análise de segurança de uma usina nuclear busca tornar tão baixa a probabilidade de um acidente radiológico quanto seja razoável atingir, a despeito do grande risco inerente ao inventário de radiação no núcleo do reator. Portanto, princípios de redundância, diversos sistemas de segurança e de defesa em profundidade são aplicados desde a etapa de concepção e projeto, de modo a garantir um elevado nível de confiabilidade e previsibilidade (O‟HARA et al., 1994). O problema de identificação de acidentes nucleares (PIAN) é um problema complexo da área nuclear de grande relevância para a segurança da planta, que vem sendo estudado ao longo dos anos (MA & JIANG, 2011). Na ocorrência de um transiente, é possível observar a evolução temporal das variáveis físicas envolvidas através das leituras dos instrumentos da sala de controle, a começar pela operação em estado estacionário. Tal evolução no tempo de cada uma das possivelmente dezenas de variáveis envolvidas fornece uma curva específica – um padrão – único (em teoria) com respeito àquele tipo de acidente/transiente (JEONG et al., 1996), tornando a sua análise útil para identificar o evento que está ocorrendo. O PIAN pode, assim, ser encarado como um problema de reconhecimento de padrões, onde sintomas relevantes compostos por um grupo de variáveis da planta são representativos do acidente. Um sistema de diagnóstico automatizado capaz de identificar o evento operacional de forma rápida e robusta é uma ferramenta valiosa de suporte à tomada de decisão aos aos operadores da sala de controle, na medida em que permite a eles atuarem mais rapidamente para retornar a usina à operação normal, ou proceder com o seu desligamento preventivo, conforme protocolo. Como já sugerido, diversos métodos estatísticos e técnicas de inteligência artificial foram testados na literatura científica com vistas a resolver o PIAN (ver MA & JIANG, 2011, para uma revisão bibliográfica, além de KWON & KIM, 1999; MOL et al., 2002; EVSUKOFF & GENTIL, 2005; NICOLAU & SCHIRRU, 2017; PENG et al., 2018; PINHEIRO, 2018). Dentre estas abordagens, as redes neurais têm sido 26 exploradas, sejam sozinhas ou combinadas em sistemas híbridos, como ferramentas para identificar automaticamente os padrões de saída dos instrumentos durante o transiente ou acidente, os quais serão diferentes dos observados na operação normal. De fato, a evolução no desempenho das redes neurais para o PIAN acompanha diretamente a notável evolução das próprias redes neurais ao longo das décadas: desde as primeiras publicações no assunto, como BARTLETT & UHRIG (1992), até outros trabalhos envolvendo arquiteturas mais recentes (EMBRECHTS & BENEDEK, 2004; ROVERSO, 2004), as redes neurais avançaram de técnicas que não eram capazes de identificar os transientes rápido o suficiente até uma alternativa poderosa que pode lidar com cenários numerosos de acidentes em tempo real ou mesmo em uma janela de tempo de quase-equilíbrio (MOSHKBAR & GHOFRANI, 2013). Entretanto, a dificuldade em identificar transientes com evolução rápida e modelar dados com dependências temporais são problemas tradicionais e recorrentes das aplicações de redes neurais ao PIAN. Paralelamente, dada a característica de “mundo aberto” 11 desse e da vasta maioria dos problemas práticos de classificação de padrões (SCHEIRER, 2014), é importante que o classificador seja capaz de considerar todos os outros objetos fora do escopo de interesse como potenciais negativos, isto é, não pertencentes a nenhuma das classes conhecidas, ao invés de atribuí-los à classe mais similar conhecida (treinada). Além disso, dado que as usinas nucleares são sistemas críticos do ponto de vista de segurança, é igualmente importante que a rede forneça respostas assertivas apenas quando ela tiver um grau suficiente de confiança naquela classificação, de maneira a não fornecer informações conflitantes ou, pior, equivocadas aos operadores, podendo influenciá-los a conduzir a planta a um estado mais grave que o atual, com consequências possivelmente catastróficas. A solução para tais complicadores é equipar o sistema com a capacidade de fornecer uma resposta “não sei” (KARMAKAR & PAL, 2018) para eventos fora do escopo da modelagem ou para os quais a rede não seja capaz de fornecer uma resposta assertiva. Alguns exemplos notáveis de trabalhos que buscam atingir esse objetivo, com redes neurais ou outros classificadores, são: 11 Problemas de classificação de mundo aberto são aqueles em que há apenas algumas classes que o sistema é capaz de reconhecer em um grande espaço de todas as classes conhecidas, já que não é necessário (ou possível), neste caso, treinar o sistema com todos os possíveis transientes operacionais. 27 1. Ha (1997) com rejeição seletiva por classe como uma alternativa à rejeição simples para reduzir erros de classificação em situações nas quais os inputs não puderem ser atribuídos a uma das classes conhecidas de maneira confiável; 2. Mol et al. (2002), que consiste em uma arquitetura de RNA com saltos (do “inglês, jump type ANN”) combinada a um modelo de rede auto-associativa. Boa parte da abordagem realizada com redes neurais profundas apresentado neste trabalho teve como inspiração esse artigo; 3. Chakraborty & Pal (2002) desenvolveram um esquema de treinamento de redes neurais que consiste em treinar “sub-redes” para cada classe, de maneira que estas não respondam a pontos fora do escopo dos dados de treinamento; 4. Jain et al. (2014) calculam o teorema do valor extremo para cada classe e estima a máxima verossimilhança de parâmetros de uma distribuição de Weibull; 5. Scheirer et al. (2014) introduziram um modelo de reconhecimento em problemas de “mundo aberto” chamado de redução compacta de probabilidades (do inglês, compact abating probability – CAP) onde a probabilidade de pertencimento a uma classe diminui conforme o candidato distancia-se dos dados conhecidos em direção ao espaço aberto; 6. Bendale & Boult (2015) propõem um algoritmo de não-outlier mais próximo (do inglês, nearest non-outlier – NON) que adiciona categorias de forma incremental enquanto detecta outlier e gere o risco de espaço aberto; 7. Nicolau & Schirru (2017) aplicaram o algoritmo evolucionário de inspiração quântica (do inglês, quantum evolutionary algorithm – QEA) combinada com a teoria de vizinho mais próximo dos diagramas de Voronoi para clusterizar áreas de influência para cada evento conhecido, fornecendo a resposta “não sei” para aqueles fora dessa área. Nesse contexto, a motivação dessa aplicação foi explorar combinações de arquiteturas, procedimentosde treinamento e funções de ativação centralizados em redes neurais profundas para atuarem como base a um sistema robusto capaz de diagnosticar de forma rápida e acurada acidentes nucleares e fornecer ainda a resposta “não sei”. O diferencial deste estudo reside, portanto, em abordar o problema utilizando modelos de aprendizado profundo otimizados com as arquiteturas de RNPs. O sistema foi desenvolvido e testado utilizando dados de operação simulados para a usina nuclear de reator de água pressurizada (PWR) Angra 2, localizada na região sudeste do Brasil. 28 3.2 – Modelagem Experimental 3.2.1 - O conjunto de dados Neste estudo de caso foi utilizado um conjunto de dados, obtidos por Alvarenga (1997) em um simulador de referência para a usina Angra 2, composto por assinaturas temporais de 61 segundos envolvendo 16 variáveis físicas, listadas na Tabela 3.1, para 13 cenários de operação (12 acidentes postulados mais a operação normal, enumerados na Tabela 3.2). O objetivo é, novamente, aplicar técnicas de redes neurais profundas de maneira a obter um sistema eficiente e robusto ao ruído que seja capaz de identificar, o quanto antes possível, a qual situação operacional cada evolução temporal das variáveis de estado corresponde, além de fornecer a resposta “não sei” para eventos que porventura estejam fora do escopo de treinamento ou para os quais a rede não seja capaz de fornecer uma resposta confiável. Tabela 3.1 – Variáveis de estado. Código Variável Unidade 1 Vazão percentual no núcleo % 2 Temperatura na perna quente ºC 3 Temperatura na perna fria ºC 4 Vazão no núcleo kg/s 5 Nível percentual no gerador de vapor – faixa larga % 6 Nível percentual no gerador de vapor – faixa estreita % 7 Pressão no gerador de vapor MPa 8 Vazão de água de alimentação kg/s 9 Vazão de vapor kg/s 10 Vazão no circuito primário kg/s 11 Pressão no sistema primário MPa 12 Potência térmica percentual % 13 Potência nuclear percentual % 14 Margem de subresfriamento ºC 15 Nível percentual do pressurizador % 16 Temperatura média no primário ºC 29 Tabela 3.2 – Situações de operação da usina. Código Situação Descrição simplificada 1 BLACKOUT Perda de alimentação elétrica externa 2 BLACKSEM Perda de alimentação elétrica sem desligamento do reator 3 LOCA Perda de refrigerante do sistema primário 4 MEFWISO Isolamento da alimentação principal e auxiliar 5 MFWBRSEM Ruptura da alimentação principal sem desligamento do reator 6 MFWISO Isolamento da alimentação principal 7 MSTMISEM Isolamento da linha de vapor principal sem desligamento do reator 8 MSTMISO Isolamento da linha de vapor principal 9 NORMAL Condição normal de potência 10 SGTR Ruptura de tubos do gerador de vapor 11 STMLIBR Ruptura da linha de vapor principal 12 TRIPREA Desligamento da turbina sem desligamento do reator 13 TRIP Desligamento da turbina e do reator De forma a aumentar a robustez do sistema e ao mesmo tempo fornecer à RNP a quantidade adequada de exemplos de treinamento, foi feito aumento de dados (do inglês, data augmentation) nas séries temporais originais de forma a simular, para cada variável, as incertezas dos instrumentos de medição (tipicamente consideradas 1% nas usinas nucleares) ao sobrepor aos dados originais um ruído branco com distribuição normal e 1% de desvio padrão. Para as avaliações de performance do classificador, esse procedimento resultou em 4368 séries para treinamento, 2184 para validação e 1456 para o teste 12 da rede, seguindo a formulação aproximada 50-30-20, respectivamente. Naturalmente, quando uma situação de operação anormal ocorre, ela se inicia com um transiente no qual as variáveis físicas envolvidas no evento ainda não se desenvolveram por completo até seus valores no regime estacionário. Isso significa que quanto mais tempo um sistema de diagnóstico automático tem para absorver os dados e identificar o evento, mais confiável será sua resposta. Por outro lado, sistemas mais 12 Neste trabalho, treinamento refere-se aos dados reservados para o treino das redes e atualização dos parâmetros através do gradiente descendente, tal como descrito no Capítulo 2. Validação refere-se aos dados utilizados para definição de critérios de parada e considerações acerca do ajuste da rede aos dados, e teste diz respeito aos dados reservados para auferir a capacidade de generalização da rede e desempenho geral do treinamento. 30 rápidos são obviamente desejáveis, especialmente em situações críticas do ponto de vista de segurança, como nas usinas nucleares. O sistema ideal é, portanto, aquele que apresenta um meio-termo e relação balanceada entre tempo e precisão, de forma a permitir uma implementação segura. Pensando nisso, as análises envolvendo o classificador foram realizadas tanto considerando que o início da aquisição dos dados pelo sistema ocorre 3 segundos após o início do transiente (para a análise da resposta “não sei” é considerado este caso apenas) quanto com ela ocorrendo no segundo de início do mesmo (cenário mais desafiador). Já a modelagem experimental para a geração de resposta “não sei” consistiu em reproduzir diversas situações de eventos desconhecidos da seguinte maneira: inicialmente, um dos 13 cenários operacionais é selecionado para representar o evento desconhecido. Então, três conjuntos são criados para avaliar a performance de cada um dos métodos propostos (que serão descritos mais adiante), e uma versão do classificador é treinada sem esse evento escolhido. Tais conjuntos são montados da seguinte maneira: 1) Conjunto desconhecido: esse conjunto contém 1881 exemplos do evento desconhecido selecionado; 2) Conjunto conhecido: esse conjunto contém 1881 exemplos de cada evento que é parte do escopo de treinamento do classificador. No total, formam-se 22572 exemplos; 3) Conjunto combinado: esse conjunto combina o conjunto desconhecido ao conhecido, somando 24453 exemplos. Ao seguir esse padrão, foi possível avaliar cada metodologia “não sei” proposta para cada situação hipotética de evento desconhecido dentre os 13 cenários operacionais da Tabela 3.2. Isto é, cada metodologia é testada para o caso de blackout desconhecido, depois BLACKSEM desconhecido, e assim por diante. 3.2.2 – Materiais e métodos O tempo de treinamento é um fator relevante para as RNPs. Portanto, foi utilizada uma unidade de processamento gráfico (GPU) modelo NVIDIA® GeForce® GTX 1070 para acelerar o treinamento dos modelos através da computação paralela. A linguagem de programação utilizada para conduzir a pesquisa foi o Python (VAN ROSSUM, 2007), adotando as versões habilitadas para computação paralela – baseadas na linguagem CUDA (NICKOLLS et al., 2008) – de algumas de suas bibliotecas 31 (frameworks) de código aberto especializadas em aprendizado de máquina: TensorFlow (ABADI et al., 2016) e Keras (CHOLLET, 2016), além das bibliotecas auxiliares NumPy (WALT et al., 2011), Pandas (MCKINNEY, 2010), Scikit-learn (PEDREGOSA et al., 2011) e Matplotlib (HUNTER, 2007). 3.2.3 – O classificador Para a definição do modelo de rede neural utilizado para classificar os eventos operacionais, diversos testes foram realizados buscando os hiperparâmetros (número de camadas, épocas, neurônios em cada camada, funções de ativação, taxa de aprendizado, otimizadores, etc.) que forneceriam a melhor performance. Assim, chegou-se ao modelo de rede neural profunda retificada (DRNN, descrito na Seção 2.3) composta por três camadas internas com mil neurônios cada ativados por ReLU nas camadas internas e de saída. As camadas de entrada e saída possuem, respectivamente, dezesseis e um neurônio. 3.2.4 – Inspirações para a resposta “não sei” Já para capacitar o sistema a fornecer a resposta “não sei” de maneira confiável e eficiente,
Compartilhar