Full text
UNIVERSIDADE DE SANTIAGO DE COMPOSTELA ESCOLA T´ ECNICA SUPERIOR DE ENXE ˜ NAR´ IA Mecanismos de atenci´on en aprendizaxe profunda para monitorizaci´on preditiva en minar´ıa de procesos Autor: Pablo Monteagudo Lago Titores: Juan Carlos Vidal Aguiar Manuel Lama Pen´ın Grao en Enxe˜nar´ıa Inform´atica Xullo 2022 Traballo de Fin de Grao presentado na Escola T´ecnica Superior de Enxe˜nar´ıa da Universidade de Santiago de Compostela para a obtenci´on do Grao en Enxe˜nar´ıa Inform´atica
D. Juan Carlos Vidal Aguiar, Profesor do Departamento de Electr´onica e Computaci´on da Universidade de Santiago de Compostela, e D. Manuel Lama Pen´ın, Profesor do Departamento de Electr´onica e Computaci´on da Universidade de Santiago de Compostela, INFORMAN: Que a presente memoria, titulada Mecanismos de atenci´on en aprendizaxe profunda para monitorizaci´on preditiva en minar´ıa de procesos, presentada por D. Pablo Monteagudo Lago para superar os cr´editos correspondentes ao Traballo de Fin de Grao da titulaci´on de Grao en Enxe˜nar´ıa Inform´atica, realizouse baixo nosa titor´ıa no Departamento de Electr´onica e Computaci´on da Universidade de Santiago de Compostela. E para que as´ı conste aos efectos oportunos, expiden o presente informe en Santiago de Compostela, a 16 de xullo de 2022: Titor, Cotitor, Alumno, Juan Carlos Vidal Aguiar Manuel Lama Pen´ın Pablo Monteagudo Lago i
ii
Agradecementos En primeiro lugar, a meus pais e mi˜na irm´a Mari˜na polo seu cari˜no e apoio incondicional. Ao meu av´o por axudarme a ser a persoa da que sempre se sentiu orgullosa. A Jorge e Toya por facer de Santiago o meu segundo fogar. Aos meus amigos do dobre grao por todo o compartido nestes cinco anos. A Luc´ıa, Odei, Chans, Rub´en, David e Paula polas experienciais vividas a 2000 quil´ometros dos nosos fogares. Aos meus titores, por darme a oportunidade de iniciarme no mundo da investigaci´on. iii
iv
Resumo A monitorizaci´on preditiva de procesos, disciplina enmarcada na rama m´ais ampla da minar´ıa de procesos, ten por obxectivo predicir como se vai desenvolver no futuro unha execuci´on en curso dun proceso. Un dos maiores retos neste ´ambito ´e a predici´on da secuencia de actividades que ter´an lugar, na execuci´on dunha instancia dun proceso, dende un certo instante ata a finalizaci´on da mesma. Para afrontar este problema, as principais aproximaci´ons do estado do arte fan uso de redes neuronais recurrentes, pola capacidade destas para manter a informaci´on hist´orica de execuci´on. Non obstante, os resultados acadados por estas arquitecturas sobre os procesos de maior complexidade evidencian as limitaci´ons das mesmas. Neste Traballo de Fin de Grao, proponse unha arquitectura baseada nun modelo secuencia a secuencia dotado dun mecanismo de atenci´on e un algoritmo de busca heur´ıstica para predicir a secuencia de actividades que completar´an unha instancia en execuci´on. Esta arquitectura validouse sobre doce conxuntos de datos ampliamente usados na comunidade cient´ıfica e as evidencias experimentais demostran que esta mellora os resultados das principais aproximaci´ons do estado do arte. v
vi
´ Indice xeral 1. Introduci´on 1 1.1. Problem´atica e motivaci´on . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Obxectivos............................... 4 1.2.1. Obxectivos concretos . . . . . . . . . . . . . . . . . . . . . 4 1.3. Estrutura da memoria . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Marco te´orico e estado do arte 7 2.1. Marcote´orico ............................. 7 2.1.1. Conceptos de miner´ıa de procesos e monitorizaci´on preditiva 7 2.1.2. Redes neuronais profundas e aprendizaxe supervisada . . . 10 2.1.3. Aprendizaxe secuencia a secuencia . . . . . . . . . . . . . . 14 2.1.4. Mecanismos de atenci´on . . . . . . . . . . . . . . . . . . . 15 2.2. Estadodoarte ............................ 18 2.2.1. Predici´on do sufixo . . . . . . . . . . . . . . . . . . . . . . 18 3. Materiais e metodolox´ıa 21 3.1. Materiais ............................... 21 3.1.1. Cl´uster Computaci´on . . . . . . . . . . . . . . . . . . . . . 21 3.1.2. Linguaxe de programaci´on . . . . . . . . . . . . . . . . . . 22 3.1.3. Entorno de desenvolvemento . . . . . . . . . . . . . . . . . 22 3.1.4. Xesti´on da configuraci´on . . . . . . . . . . . . . . . . . . . 23 3.1.5. PyTorch............................ 23 3.1.6. Conxuntos de datos . . . . . . . . . . . . . . . . . . . . . . 24 3.2. Metodolox´ıa.............................. 25 3.2.1. Preparaci´on dos datos . . . . . . . . . . . . . . . . . . . . 25 3.2.2. Selecci´on de variables . . . . . . . . . . . . . . . . . . . . . 26 3.2.3. Construci´on dos prefixos . . . . . . . . . . . . . . . . . . . 29 3.2.4. Preparaci´on da entrada tensorial . . . . . . . . . . . . . . 30 3.2.5. Codificaci´on das actividades . . . . . . . . . . . . . . . . . 30 3.3. Dese˜no da arquitectura neuronal . . . . . . . . . . . . . . . . . . . 32 3.3.1. Codificador .......................... 33 vii
2CAP´ ITULO 1. INTRODUCI ´ ON informaci´on tal como a hora na que tiveron lugar estas, as persoas encargadas de levalas a cabo ou a duraci´on das mesmas. Unha colecci´on de diferentes instancias recibe o nome de rexistro de eventos e constit´ue o punto de partida, a partir do cal, a minar´ıa de procesos busca dar soluci´on ´os problemas ilustrados na Figura 1.1 [2]: Descubrimento de procesos: A partir dun rexistro de eventos, b´uscase inferir un modelo do proceso que se axuste ´o comportamento observado no mesmo. Verificaci´on de conformidade: O punto de partida ´e un modelo do proceso, o cal se compara co comportamento observado nun rexistro de eventos para comprobar o seu grao de conformidade. Enriquecemento do proceso: B´uscase enriquecer un modelo con informaci´on extra´ıda dun rexistro de eventos asociado, a cal sexa de interese para os usuarios do mesmo. Figura 1.1: Minar´ıa descritiva de procesos. Este tipo de problemas enm´arcanse dentro do que se co˜nece como anal´ıtica descritiva de procesos, onde o obxectivo consiste en extraer informaci´on do que ocorreu no pasado de cara a mellorar o proceso no futuro. Non obstante, a responsabilidade de sacar conclusi´ons que permitan a toma de decisi´ons a partir desta informaci´on recae no usuario dos datos. Pola contra, nos ´ultimos anos, o foco de interese desprazouse cara o desenvolvemento de t´ecnicas enmarcadas dentro da anal´ıtica preditiva, co˜necida tam´en como monitorizaci´on preditiva de procesos, cuxo obxectivo consiste en predicir, en tempo real, como se desenvolver´a no futuro unha instancia en execuci´on do proceso, tal como se ilustra na Figura 1.2, extra´ıda de [3]. Neste contexto, os tipos de predici´ons que se poder´ıan facer son os seguintes: Predici´on da seguinte actividade, tomando como referencia un instante tem-
1.1. PROBLEM ´ ATICA E MOTIVACI ´ ON 3 poral fixado. Predici´on do tempo de ocorrencia da seguinte actividade, tomando como referencia un instante temporal fixado. Predici´on do sufixo, isto ´e, a secuencia de actividades que ter´an lugar a partir dun instante temporal fixado. Predici´on do tempo restante dende un instante temporal fixado ata a finalizaci´on da instancia do proceso. Resultado da execuci´on do proceso, que pode incluir a realizaci´on dunha determinada actividade ou o valor dun determinado atributo. Figura 1.2: Monitorizaci´on preditiva de procesos. Ret´omese, neste punto, o exemplo do tratamento dun paciente nun hospital, para ilustrar o ´ambito de aplicaci´on da monitorizaci´on preditiva. Sup´o˜nase as´ı que un paciente acaba de realizar unha an´alise de sangue e seguidamente, por un erro de xesti´on, se lle asigna unha cita cun m´edico para unha data na cal os resultados non estar´an a´ında dispo˜nibles. Esta desviaci´on do fluxo habitual no desenvolvemento do proceso pode detectarse en tempo real e correxirse antes de que o paciente acuda a consulta. A s´ua vez, dispo˜nendo dunha boa predici´on do tempo que se precisa para dispo˜ner dos resultados da an´alise, ´e posible asignar ao paciente unha data para a consulta o m´ais temper´a posible, de maneira que poida comezar o seu tratamento, de ser necesario, o antes posible. Deste xeito, a capacidade de anticipar como se vai desenvolver un proceso permite a mellora da calidade do servizo mediante a toma de decisi´ons de forma proactiva. Polo tanto, a monitorizaci´on preditiva ten un enorme campo de aplicaci´on, o cal ´e consecuente co feito de que esta busca dar soluci´on a problemas de natureza moi diversa. Deste modo, ´e preciso restrinxir o ´ambito deste Traballo de Fin de Grao, centrando este nun desaf´ıo concreto: a predici´on da secuencia de actividades que completar´an, a partir dun punto concreto no tempo, unha instancia en execuci´on ata a s´ua finalizaci´on.
4CAP´ ITULO 1. INTRODUCI ´ ON 1.2. Obxectivos Como se comenta na Secci´on 1.1, a minar´ıa de procesos pon o seu foco en extraer co˜necemento a partir dos rexistros de eventos, que conte˜nen informaci´on relativa a diferentes instancias pasadas dun proceso. Non obstante, moitas das metolox´ıas propostas para isto est´an fortemente ligadas ao conxunto de datos concreto baixo estudo, o que dificulta a s´ua xeralizaci´on. Fronte a isto, a aprendizaxe profunda proporciona un conxunto de algoritmos de aprendizaxe autom´atico que tratan de atopar abstracci´ons de alto nivel sobre os datos de entrada. Estas t´ecnicas permitiron acadar melloras significativas no estado de arte en tarefas como a detecci´on de obxectos, reco˜necemento de voz ou traduci´on de textos [4]. Consecuentemente, moitos autores adaptaron diferentes arquitecturas de aprendizaxe profundo para afrontar o problema da monitorizaci´on preditiva. As´ı, mediante o emprego de redes neuronais recurrentes, lograron mellorar significativamente os resultados obtidos mediante t´ecnicas m´ais tradicionais [5]. Non obstante, no problema da predici´on do sufixo dunha traza incompleta, isto ´e, o conxunto de actividades que seguir´an, previsiblemente, a unha instancia dun proceso a partir dun punto concreto da s´ua execuci´on, os resultados acadados ata o momento [5] semellan prometer un importante marxe de mellora. Polo tanto, no presente Traballo de Fin de Grao, est´udanse as limitaci´ons das arquitecturas propostas para afrontar este problema e pres´entase unha arquitectura que, mediante a incorporaci´on do mecanismo de atenci´on, afronta as problem´aticas identificadas nas aproximaci´ons do estado do arte para a predici´on do sufixo, avaliando esta sobre un conxunto de rexistros de eventos ampliamente usado pola comunidade cient´ıfica no contexto da minar´ıa de procesos. 1.2.1. Obxectivos concretos O obxectivo do presente Traballo de Fin de Grao ´e a avaliaci´on cuantitativa do potencial do mecanismo de atenci´on no marco da monitorizaci´on preditiva de procesos e, m´ais concretamente, na predici´on do sufixo para unha secuencia de actividades dada. A consecuci´on disto ag´ardase que permita solventar as limitaci´ons que presentan as arquitecturas recurrentes na predici´on de sufixo para trazas incompletas e que se traducen nuns rendementos mellorables, especialmente naqueles conxuntos de datos de maior complexidade, contribu´ındo, deste xeito, ´o desenvolvemento de novas arquitecturas que poidan superar ´o estado do arte. A concreci´on deste obxectivo xeral artic´ulase arredor dos catro obxectivos seguintes: Estudo das principais aproximaci´ons do estado do arte para a predici´on do sufixo de actividades [6, 7, 8, 9], identificando as s´uas limitaci´ons, co obxectivo de guiar o futuro dese˜no da arquitectura.
1.3. ESTRUTURA DA MEMORIA 5 Estudo do mecanismo de atenci´on e a s´ua aplicabilidade no contexto da monitorizaci´on preditiva de procesos. Dese˜no e implementaci´on dunha arquitectura, baseada en redes neuronais recurrentes, na cal se incorpore o mecanismo de atenci´on. Comparaci´on da arquitectura implementada coas principais propostas do estado do arte, seguindo o marco experimental descrito en [5]. C´ompre destacar que, tanto a proposta como os resultados obtidos neste Traballo de Fin de Grao, van ser publicados na principal conferencia nacional sobre xesti´on de procesos e servizos. Concretamente, a referencia da publicaci´on ´e a seguinte: Pablo Monteagudo-Lago, Juan C. Vidal, Manuel Lama (2022): Mecanismos de atenci´on en redes neuronales recurrentes para monitorizaci´on predictiva. XVII Jornadas en Ciencia e Ingenier´ıa de Servicios (JCIS 2022). Aceptado. 1.3. Estrutura da memoria A memoria estrut´urase do seguinte xeito: No cap´ıtulo 1 introd´ucese a problem´atica afrontada pola monitorizaci´on preditiva de procesos e a contribuci´on do presente traballo a este ´ambito. No cap´ıtulo 2 real´ızase unha breve introduci´on ´o marco te´orico no que se desenvolve o proxecto, as´ı como ´o estado do arte no contexto da predici´on do sufixo de actividades. No cap´ıtulo 3 pres´entanse as ferramentas e metodolox´ıa empregadas para o dese˜no e implementaci´on da arquitectura, xustificando en cada momento as decisi´ons tomadas para afrontar os obxectivos propostos. No cap´ıtulo 4 det´allanse as probas realizadas para avaliar a arquitectura fronte ´as aproximaci´ons do estado do arte e disc´utense os resultados obtidos, analizando as bondades e limitaci´ons da arquitectura presentada. Finalmente, no cap´ıtulo 5 extr´aense conclusi´ons e identif´ıcanse futuras li˜nas de traballo.
6CAP´ ITULO 1. INTRODUCI ´ ON
Cap´ıtulo 2 Marco te´orico e estado do arte Neste cap´ıtulo rev´ısanse os conceptos relacionados coa miner´ıa de procesos necesarios para a correcta comprensi´on do problema da monitorizaci´on preditiva, en xeral, e da predici´on da secuencia de seguintes actividades (sufixo), en particular. Ademais, real´ızase unha descrici´on das aproximaci´ons do estado do arte que afrontan dito problema, identificando as limitaci´ons que estas presentan. 2.1. Marco te´orico 2.1.1. Conceptos de miner´ıa de procesos e monitorizaci´on preditiva Para a comprensi´on adecuada do traballo posterior ´e convinte formalizar os conceptos introducidos no Cap´ıtulo 1. Ademais, para contextualizar estes, real´ızanse continuas alusi´ons ´o exemplo presentado na Secci´on 1.1, referido ´o tratamento de pacientes nun hospital, o cal constit´ue o proceso baixo estudo. Definici´on 1. Sexa A o dominio de actividades, C o dominio de identificadores das instancias, T o dominio das marcas horarias e D1, ..., Dmos dominios dos atributos dos eventos, con m≥0. Un evento e∈E´e unha tupla (a, c, t, d1, ..., dm)onde a∈A, c ∈C, t ∈Tedi∈Di∪ϵcon i∈ {1, ..., m}, onde ϵdenota o elemento baleiro. Definici´on 2. As proxecci´ons dun evento na s´ua actividade, identificador de instancia, marca horaria e atributo con ´ındice i∈ {1, ..., m}den´otanse por πA, πC,πTeπDirespectivamente. No contexto do tratamento dun paciente, exemplos de actividades ser´ıan 7
8CAP´ ITULO 2. MARCO TE ´ ORICO E ESTADO DO ARTE Cadro 2.1: Extracto dun rexistro de eventos ficticio asociado ´o tratamento de pacientes nun hospital Identificador de caso Actividade Marca temporal Recurso Caso1934 Rexistro 15-02-2021 08:34:20 Victoria Caso1934 TAC 16-02-2021 12:35:12 Mari˜na Caso1934 Consulta 20-03-2021 11:23:53 Dr. Sieira Caso2032 Rexistro 17-02-2021 12:57:25 Victoria Caso2032 An´alise de sangue 17-02-2021 13:05:24 Vera Caso2032 Alta 17-02-2021 18:46:26 Dra. P´erez a realizaci´on dunha an´alise de sangue, a aplicaci´on dun tratamento de radioterapia, etc. Por outra parte, as actividades non se realizan instantaneamente sen´on que, en xeral, estas abarcan un intervalo temporal acotado. Por exemplo, o procesamento dos resultados dunha an´alise de sangue nun laboratorio pode levar varios d´ıas, de maneira que, ata que non se disp´on destes, pode resultar imposible proseguir co tratamento dun paciente. Deste xeito, para unha actividade dada, resulta de interese co˜necer cando se inicia e remata esta ou, pola contra, se esta non se realizou con ´exito, cando esta ´e abortada. As´ı, unha actividade, xunto coa informaci´on adicional asociada ´a mesma, constit´ue un evento dun proceso. Agora ben, as actividades non te˜nen lugar illadamente, sen´on que estas est´an asociadas a instancias particulares de execuci´on do proceso, o que motiva a seguinte definici´on: Definici´on 3. Unha traza ´e unha secuencia non baleira de eventos σ=< e1, ..., en>. O dominio de trazas den´otase por S, de maneira que σ∈S. Dentro dunha traza, os eventos est´an ordeados de acordo coas s´uas marcas temporais. A transcripci´on matem´atica desta restrici´on ´e a seguinte: ∀σ∈ S, σ =< e1, ..., en>, onde n=|σ|´e a lonxitude da traza, verif´ıcase que ∀ei, ej∈ σ;i, j ∈ {1, ..., n}, j > i ⇒πT(ej)≥πT(ei). A partir da noci´on de traza, p´odese formalizar o concepto de rexistro de eventos: Definici´on 4. Un rexistro de eventos, o cal se denota por L, ´e un subconxunto do conxunto de trazas, isto ´e, L={σ1, ..., σl} ⊆ S, onde |L|=l. No exemplo que se est´a a seguir, un rexistro de eventos conter´ıa un hist´orico dos tratamentos recibidos por unha serie de pacientes. No Cadro 2.1 m´ostrase un extracto dun rexistro de eventos ficticio para o tratamento de pacientes nun hospital.
2.1. MARCO TE ´ ORICO 9 A monitorizaci´on preditiva ten por obxectivo, como se viu anteriormente, proporcionar soporte operacional mediante a an´alise en tempo real do proceso. As´ı, trab´allase, xeralmente, con trazas incompletas, correspondentes a instancias en execuci´on do proceso. O conxunto de eventos que tiveron lugar ata un punto concreto no tempo para unha instancia en execuci´on recibe o nome de prefixo da traza. Consecuentemente, os eventos correspondentes a dita instancia que se suceder´an a partir do momento fixado reciben o nome de sufixo. A continuaci´on, formal´ızanse estes conceptos: Definici´on 5. Sexa unha traza σ∈S, σ =< e1, ..., en>ek∈ {1, ..., n}. O seu prefixo de eventos de lonxitude k, denotado por hdk(σ), e o seu correspondente sufixo,tlk(σ), def´ınense como segue: hdk(σ) :=< e1, ..., ek>e tlk(σ) :=< ek+1, ..., en>. En moitos casos, non se traballa co prefixo esufixo de eventos, sen´on que s´o ser´an de interese as actividades asociadas ´os mesmos. Isto motiva a seguinte definici´on: Definici´on 6. Sexa unha traza σ∈S, σ =< e1, ..., en>ek∈ {1, ..., n}. O prefixo de actividades de lonxitude k, def´ınese como o resultado de aplicar a proxecci´on de actividades sobre o prefixo de eventos: πA(hdk(σ)) = < πA(e1), ..., πA(ek)>. O sufixo de actividades asociado a dito prefixo def´ınese como: πA(tlk(σ)) = < πA(ek+1), ..., πA(en)>. Presentadas estas definici´ons, o obxectivo ser´a, partindo do prefixo de eventos asociado a unha instancia en execuci´on, predicir, do xeito m´ais preciso posible, o seguinte evento ou secuencia de eventos que completar´an esta ata a s´ua finalizaci´on. Sexa as´ı hdk(σ) =< e1, ..., ek>o prefixo de eventos correspondente a unha instancia en execuci´on, e′o evento predicido por unha funci´on Ω e ⊕o operador de concatenaci´on entre d´uas secuencias. Con esta notaci´on, o obxectivo da monitorizaci´on predictiva pode formalizarse como a determinaci´on dunha funci´on Ω que proporcione predici´ons, o m´ais precisas posibles, en diferentes contextos. Aqueles que ser´an obxecto de estudo no presente traballo def´ınense a continuaci´on: Definici´on 7. A predici´on da seguinte actividade para o prefixo hdk(σ) = < e1, ..., ek>, consiste en atopar unha funci´on ΩA, definida como ΩA(hdk(σ)) := πA(e′ k+1), tal que ΩA(hdk(σ)) = πA(ek+1). Agora ben, o problema que se aborda neste Traballo de Fin de Grao ´e m´ais ambicioso, no senso de que non se busca unicamente predicir a actividade que seguir´a a un prefixo dado, sen´on a secuencia completa de actividades que se suceder´an ata a finalizaci´on de dita instancia. Dado que o fin de traza pode
10 CAP´ ITULO 2. MARCO TE ´ ORICO E ESTADO DO ARTE entenderse como unha actividade diferenciada, a cal se denota por [FDT], p´odese definir, con esta notaci´on: Definici´on 8. A predici´on do sufixo para o prefixo hdk(σ) =< e1, ..., ek>, consiste en atopar unha funci´on ΩSA, definida como ΩSA(hdk(σ)) := < πA(e′ k+1), ..., πA(e′ n)>, tal que ΩSA(hdk(σ)) = πA(tlk(σ)). ´ E convinte, neste punto, observar que o problema da predici´on do sufixo pode reducirse ´a predici´on da seguinte actividade: partindo dun prefixo de eventos, a funci´on ΩApode aplicarse iterativamente ata alcanzar o fin de traza. Formalmente: Observaci´on. O sufixo de actividades pode ser determinado mediante sucesivas aplicaci´ons da funci´on ΩAdo seguinte xeito: ΩSA(hdk(σ)) = hdk(σ′)⊕ΩA(hdk(σ′)), onde σ′=hdk(σ)⊕< e′ k+1, ..., e′ i−1>mentres que πA(e′ i)= [FDT]. Esta aproximaci´on ´e a que seguen os autores comparados en [5]. Non obstante, resulta evidente que aplicar iterativamente a funci´on ΩApara a predici´on do sufixo conleva a acumulaci´on dos erros asociados a cada predici´on da seguinte actividade. Fronte a isto, a aproximaci´on presentada neste traballo ´e a predici´on directa do sufixo, ´e dicir, a determinaci´on dunha funci´on ΩSA, cuxa aplicaci´on sobre un prefixo, proporcione o seu sufixo de actividades completo. As´ı, a hip´otese de traballo ´e que, evitando a acumulaci´on dos erros asociados a m´ultiples predici´ons da seguinte actividade, se poden realizar predici´ons do sufixo m´ais precisas. Agora ben, ata o momento, as funci´ons de predici´on ΩSA e ΩApresent´aronse dun xeito abstracto, mais o obxectivo ´e determinar estas a partir do rexistro de eventos dun proceso concreto. Neste traballo, a inferencia das mesmas real´ızase mediante unha rede neuronal profunda, elecci´on que non ´e arbitraria, xa que os mellores rendementos acadados ata o momento se conseguiron mediante estas arquitecturas, como se xustifica na Secci´on 2.2, adicada ´o estado do arte. 2.1.2. Redes neuronais profundas e aprendizaxe supervisada Na Secci´on 2.1 formalizouse o problema da predici´on do sufixo en termos da determinaci´on dunha funci´on ΩSA que reciba como entrada un prefixo de eventos e proporcione como sa´ıda o correspondente sufixo de actividades. Para isto, o punto de partida ´e un rexistro de eventos, o cal proporciona un hist´orico de diferentes execuci´ons pasadas do proceso en cuesti´on. Deste modo, a determinaci´on da funci´on ΩSA pode plantexarse como un problema de aprendizaxe supervisada, tal como se ilustra na Figura 2.1: a par-
2.1. MARCO TE ´ ORICO 11 Figura 2.1: A predici´on do sufixo como un problema de aprendizaxe supervisada. tir dun conxunto dos datos que, no presente contexto, ´e un rexistro de eventos, b´uscase desenvolver un modelo que extraia abstracci´ons relevantes das instancias executadas, posibilitando a xeralizaci´on deste co˜necemento para a realizaci´on de predici´ons, o m´ais acertadas posibles, sobre instancias en execuci´on non vistas previamente, isto ´e, que non formen parte do conxunto de datos empregados no adestramento do modelo. Agora ben, para cuantificar a bondade do modelo, ´e preciso definir unha funci´on que permita medir o desempe˜no do modelo na predici´on, a cal recibe o nome de funci´on obxectivo. Polo tanto, o obxectivo da aprendizaxe ´e axustar o modelo, de maneira que se maximice o valor de rendemento que lle asigna a funci´on obxectivo escollida. Como consecuencia, a determinaci´on de ΩSA red´ucese a un problema de maximizar unha funci´on obxectivo. Para isto, ´e preciso empregar un algoritmo de optimizaci´on que realice o axuste dos par´ametros do modelo, na busca dun modelo que proporcione predici´ons o m´ais precisas posibles. A continuaci´on, concr´etanse os elementos involucrados na determinaci´on de ΩSA no contexto da monitorizaci´on preditiva de procesos. Tipos de modelos Actualmente, no marco da aprendizaxe autom´atica, a diversidade de modelos existentes ´e abrumadora: ´arbores de decisi´on, algoritmos de agrupamento, redes bayesianas, redes neuronais artificais, etc. Dentro das ´ultimas, p´odense distinguir, a s´ua vez, redes convolucionais, recurrentes, xerativas antag´onicas, etc [10]. Non obstante, na actualidade, os algoritmos de aprendizaxe profunda est´an cobrando unha enorme importancia, dando lugar a avances significativos en campos como a visi´on por ordenador ou o procesado da linguaxe natural. Estes modelos caracter´ızanse pola presenza de numerosas capas, organizadas xerarquicamente, que obte˜nen representaci´ons dos datos de entrada con diferentes niveis de abstracci´on [11].
18 CAP´ ITULO 2. MARCO TE ´ ORICO E ESTADO DO ARTE as predici´ons realizadas no decodificador. De feito, a introduci´on destas modificaci´ons resultar´ıa nunha arquitectura moi similar ´a dun transformador [13]. 2.2. Estado do arte En termos da clasificaci´on realizada no Cap´ıtulo 1, o presente traballo aborda a anal´ıtica preditiva dos procesos de negocio, dende a perspectiva da monitorizaci´on preditiva, isto ´e, a predici´on de informaci´on relevante para instancias en execuci´on dun proceso baixo estudo, tales como a seguinte actividade, o tempo ata a finalizaci´on da instancia ou o sufixo de actividades. Concretamente, a ´ultima destas tarefas preditivas ´e a que se afronta neste traballo. Para realizar ditas predici´ons, a aproximaci´on m´ais habitual consiste na extracci´on de co˜necemento a partir das execuci´ons previas dun proceso contidas nun rexistro de eventos, tomando como entrada os prefixos asociados a cada unha das trazas e inferindo, a partir das mesmas, un modelo que permita realizar predici´ons sobre instancias en execuci´on do proceso. Polo tanto, este problema pode abordarse como un problema de aprendizaxe supervisado, sendo susceptible de ser tratado mediante t´ecnicas como os ´arbores de decisi´on [18] ou as m´aquinas de soporte de vectores. Non obstante, o crecente tama˜no dos rexistros de eventos dispo˜nibles actualmente, posibilitou a aplicaci´on de t´ecnicas de aprendizaxe profunda para afrontar o problema da monitorizaci´on preditiva, o cal ven motivado polo enorme ´exito das mesmas en campos como a visi´on por computador ou o procesamento da linguaxe natural. Deste xeito, realiz´aronse numerosos estudos experimentando con diferentes arquitecturas de aprendizaxe profundo, as cales permitiron superar os rendementos acadados mediante t´ecnicas de aprendizaxe por computadora m´ais tradicionais [5]. Especificamente, no contexto da predici´on do sufixo, a´ında que entre as aproximaci´ons adoptadas, as redes neuronais recurrentes son unha constante [6, 7, 9, 8], existe unha importante variabilidade en canto a, por exemplo, a codificaci´on da entrada ou o grao de especializaci´on da arquitectura, tal como se observa a continuaci´on. 2.2.1. Predici´on do sufixo En [5], real´ızase unha revisi´on exhaustiva das diferentes aproximaci´ons de aprendizaxe profundo adoptadas no marco da monitorizaci´on preditiva, clasificando estas segundo os seguintes criterios: Datos de entrada. Se un se restrinxe ´o problema de predici´on do sufixo de actividades, a informaci´on relativa ´as secuencias de actividades ´e com´un ´a totalidade de aproximaci´ons que afrontan dita tarefa preditiva, as´ı como o emprego da informaci´on temporal, de acordo coa hip´otese de que as variables temporais aportan informaci´on fundamental de cara a extracci´on das
2.2. ESTADO DO ARTE 19 dependencias entre as actividades. Adicionalmente, alg´uns autores consideran atributos adicionais, tales como os recursos encargados do desempe˜no de cada actividade [8]. Tarefa de predici´on. Entre as arquitecturas que afrontan a predici´on do sufixo existen importantes diferenzas no grao de especializaci´on das mesmas. As´ı, mentres que alg´uns autores empregan arquitecturas cun prop´osito m´ais xeral, dese˜nadas para predicir, adicionalmente, informaci´on temporal do sufixo [6, 8], outros restrinxen o ´ambito das s´uas propostas ´a predici´on da secuencia de actividades futuras [7, 9]. Tipolox´ıa da rede neuronal. A totalidade das aproximaci´ons que afrontan a predici´on do sufixo empregan, como arquitectura base, unha rede neuronal recurrente baseada en LSTM. Codificaci´on da secuencia. As trazas, ´o representar diferentes instancias de execuci´on do proceso, caracter´ızanse por ter unha lonxitude variable. As´ı, dado que as arquitecturas de aprendizaxe profundo traballan con tensores de lonxitude fixa, requ´ırese codificar as trazas dun xeito uniforme, de maneira que poidan ser empregadas como entrada para a rede. ´ A hora de realizar a predici´on do sufixo, a aproximaci´on m´ais empregada recibe o nome de padding de prefixos, t´ecnica que consiste en engadir un s´ımbolo ´as trazas, carente de significado, para uniformizar a lonxitude das mesmas. Esta uniformizaci´on pode realizarse ata a lonxitude m´axima das trazas [6], ou, pola contra, considerar unicamente os Weventos m´ais recentes [8]. Por outra banda, Evermann et. al. [9] consideran unha ventana de Weventos, os cales poden estar asociados a instancias de execuci´on distintas. Codificaci´on de eventos. As diferenzas m´ais significativas entre as aproximaci´ons para a predici´on do sufixo radican na codificaci´on dos atributos de cada un dos eventos que compo˜nen a traza. Por unha banda, as variables continuas son normalizadas, para o cal se empregan t´ecnicas habituais tales como a estandarizaci´on logar´ıtmica [8] ou a normalizaci´on min-max [6]. Non obstante, no contexto da minar´ıa de procesos, o atributo de maior relevancia ´e a actividade asociada a un evento e, sendo esta unha variable categ´orica, a escolla da t´ecnica para a s´ua codificaci´on ten implicaci´ons fundamentais. A aproximaci´on m´ais sinxela e, a s´ua vez, a m´ais empregada, ´e a codificaci´on one-hot, que consiste en representar a variable empregando un vector binario, cuxo tama˜no se corresponde co n´umero de posibles valores que pode adoptar dita variable [6, 7]. Agora ben, se o n´umero de actividades ´e suficientemente grande, esta aproximaci´on conleva un importante consumo de memoria, de maneira que outros autores optan por representaci´ons m´ais compactas como os embeddings, cuxos par´ametros poden ser, a s´ua vez, adestrados [8].
20 CAP´ ITULO 2. MARCO TE ´ ORICO E ESTADO DO ARTE Non obstante, un denominador com´un ´a totalidade de propostas de aprendizaxe profundo para a predici´on do sufixo ´e o m´etodo de inferencia do mesmo: a rede entr´enase para a predici´on da seguinte actividade, de maneira que o sufixo asociado a unha instancia en execuci´on ´e xerado iterativamente, completando o prefixo de partida coas seguintes actividades predicidas pola rede ata a ocorrencia do s´ımbolo correspondente ´o fin de traza. Con respecto a avaliaci´on das diferentes arquitecturas propostas, esta realizouse empregando unha serie de conxuntos de datos asociados a procesos de natureza moi diversa: resoluci´on de incidencias, procesado de entradas, solicitudes de construci´on, etc. Isto trad´ucese nunha gran heteroxeneidade en canto a complexidade dos procesos subxacentes, o que resulta patente en caracter´ısticas tales como o n´umero de actividades, a desviaci´on nas variables temporais ou a lonxitude m´axima das trazas. Deste xeito, nos resultados presentados en [5] obs´ervanse diferenzas significativas nos rendementos das aproximaci´ons comparadas en funci´on do rexistro de eventos particular sobre o que se aval´ıan. As´ı, as arquitecturas que obte˜nen bos resultados nos conxuntos de datos m´ais simples, carecen da capacidade de identificar a maior riqueza dos procesos m´ais complexos, mentres que aquelas con bos rendementos sobre estes, non se adaptan ben a procesos de natureza m´ais sinxela. En conclusi´on, a´ında que, como se indica neste breve resumo do estado do arte, as arquitecturas de aprendizaxe profundo permitiron acadar rendementos moi superiores ´os logrados con outras t´ecnicas, ditas aproximaci´ons non est´an especializadas na predici´on do sufixo, sen´on que este ´e inferido mediante sucesivas predici´ons da seguinte actividade. Isto, segundo a hip´otese sobre a que se articula este traballo, pode explicar porque ningunha das arquitecturas se imp´on claramente sobre o resto, as´ı como as diferenzas de rendemento observadas para os distintos rexistros de eventos. Ademais, a´ında que alg´uns autores exploraron o emprego de mecanismos de atenci´on no contexto da minar´ıa de procesos, por exemplo, para a predici´on de resultados [19], ata onde se co˜nece, non se experimentou con este mecanismo para a predici´on do sufixo, contexto no que, a priori, poder´ıa resultar especialmente vantaxoso ´o tratarse dun problema de aprendizaxe secuencia a secuencia.
Cap´ıtulo 3 Materiais e metodolox´ıa Nesta secci´on pres´entanse as ferramentas e procedementos empregados na implementaci´on e validaci´on da arquitectura neuronal profunda especializada na predici´on do sufixo de actividades. Ademais, xustif´ıcanse as decisi´ons de dese˜no adoptadas no desenvolvemento da mesma. 3.1. Materiais No presente Traballo de Fin de Grao, a predici´on do sufixo de actividades, para unha instancia en execuci´on, afr´ontase mediante unha arquitectura neuronal profunda. Esta aproximaci´on condiciona, en gran medida, as ferramentas empregadas na implementaci´on da mesma, as´ı como o entorno inform´atico sobre o que se valida. 3.1.1. Cl´uster Computaci´on O adestramento dunha rede neuronal profunda, contemplado a baixo nivel, comporta a realizaci´on dunha inxente cantidade de operaci´ons con tensores, estruturas que poden entenderse, dun xeito informal, como matrices multidimensionais. As´ı, sendo as CPUs unidades de procesamento de prop´osito xeral, estas non son adecuadas para este tipo de tarefas, xa que non permiten explotar a natureza intrinsecamente paralela das operaci´ons tensoriais. Deste xeito, as tarefas de aprendizaxe profunda real´ızanse habitualmente empregando tarxetas gr´aficas (GPUs) cuxa estrutura, altamente paralelizada, as fai especialmente adecuadas para os c´omputos que involucra o adestramento da rede, permitindo as´ı a obtenci´on de resultados en tempos razoables. As´ı, a experimentaci´on descrita na Secci´on 4 realizouse sobre o Cl´uster de Computaci´on de Altas Prestaci´ons do Centro Singular de Tecnolox´ıas Intelixen21
22 CAP´ ITULO 3. MATERIAIS E METODOLOX´ IA Cadro 3.1: Especificaci´ons do nodo de computaci´on hpc-gpu4. Nome Modelo Procesador Memoria GPU hpc-gpu4 Dell R7525 2 x AMD EPYC 7543 @2,80 GHz (32c) 256 GB 1x Nvidia Ampere A100 80GB tes (CiTIUS), cuxa potencia permitiu dispo˜ner de maior flexibilidade en canto ´a elecci´on de hiperpar´ametros, po˜nendo as´ı o foco en maximizar os rendementos acadados na predici´on do sufixo. O cl´uster est´a composto por distintos nodos de natureza heterox´enea (c´omputo xeral, traballos intensivos en memoria e c´omputo con GPU), entre os cales se empregou o servidor hpc-gpu4, cuxas especificaci´ons se indican no Cadro 3.1. Ademais, dado que o cl´uster ´e compartido pola comunidade investigadora do centro, empr´egase un sistema de colas denominado SLURM para a xesti´on dos traballos que se env´ıan ´o mesmo. 3.1.2. Linguaxe de programaci´on A linguaxe de programaci´on empregada, tanto para a implementaci´on da rede como para o procesamento dos datos, foi Python. Esta elecci´on non foi arbitaria, xa que esta ´e a linguaxe de-facto para tarefas de aprendizaxe profunda, pola s´ua simplicidade e a enorme dispo˜nibilidade de librar´ıas, o que permitiu axilizar considerablemente a implementaci´on, posibilitando a realizaci´on dunha experimenci´on exhaustiva. Entre as librar´ıas empregadas c´ompre destacar PyTorch,ScikitLearn ePandas. Ademais, para a automatizaci´on da experimentaci´on desenvolv´eronse pequenos scripts de Shell, co obxectivo de axilizar o env´ıo de traballos ´o sistema de colas do cl´uster. 3.1.3. Entorno de desenvolvemento O entorno de desenvolvemento empregado ´o longo do traballo dependeu, en gran medida, da etapa de implementaci´on. As´ı, para o desenvolvemento de prototipos e a realizaci´on de probas r´apidas, empreg´aronse cadernos de Jupyter, pola s´ua simplicidade e compo˜nente interactiva. Por´en, ´a hora de realizar a implementaci´on da rede neuronal e a s´ua avaliaci´on, unific´aronse as diferentes compo˜nentes prototipadas nun proxecto de Visual Studio Code, introducindo as refactorizaci´ons adecuadas e estruturando o c´odigo po˜nendo o foco no desacoplamento, co obxectivo de facilitar o seu futuro mantemento e permitir a introduci´on de cambios dunha maneira ´axil.
3.1. MATERIAIS 23 3.1.4. Xesti´on da configuraci´on A experimentaci´on con diferentes arquitecturas ´o longo do desenvolvemento deste traballo conlevou unha importante labor de codificaci´on, o cal esixiu o emprego dunha ferramenta para o control de versi´ons, co obxectivo de manter a trazabilidade e controlar os cambios introducidos sobre o repositorio, as´ı como para xestionar as versi´ons estables do mesmo. Entre as ferramentas consideradas, optouse por empregar GitHub, decisi´on motivada, en gran medida, pola familiaridade coa mesma, as´ı como por dispo˜ner dunha interfaz amigable para o seguemento do desenvolvemento. 3.1.5. PyTorch PyTorch ´e unha librar´ıa de Python orientada ´o desenvolvemento de aplicaci´ons de aprendizaxe autom´atica que proporciona d´uas funcionalidades de alto nivel: Computaci´on de Tensores sobre GPUs. En PyTorch perm´ıtese operar con tensores tanto en CPU como en GPU, sendo esta ´ultima a opci´on preferente ´o permitir a paralelizaci´on das operaci´ons entre os mesmos, o cal se traduce en diminuci´ons significativas nos tempos de computaci´on. Ademais, PyTorch proporciona unha gran variedade de rutinas para operar con tensores, permitindo traballar con estes dun xeito transparente. Diferenciaci´on impl´ıcita. O adestramento dunha rede neuronal profunda consiste no axuste dos par´ametros dun modelo, de maneira que se minimice o valor dunha funci´on que cuantifica a magnitude das diferenzas entre as predici´ons do modelo e a realidade. As´ı, o problema de adestramento da rede pode entenderse como un problema de optimizaci´on sobre unha funci´on obxectivo, minimizando o seu valor con respecto ´os par´ametros da rede. Agora ben, os algoritmos de optimizaci´on empregados en aprendizaxe profundo requiren o c´omputo do gradiente da funci´on obxectivo, isto ´e, as s´uas derivadas parciais con respecto a cada un dos par´ametros da rede. Dito c´alculo real´ızase empregando o algoritmo de retropropagaci´on (backpropagation, en ingl´es). Agora ben, cando se traballa con redes neuronais profundas en PyTorch, o c´omputo dos gradientes real´ızase dun xeito transparente para o programador, mediante o emprego dun algoritmo de diferenciaci´on impl´ıcita, co˜necido como tape-based autograd [20]. As´ı, a abstracci´on que se consegue mediante a diferenciaci´on impl´ıcita axiliza enormemente a implementaci´on de redes neuronais profundas. Finalmente, c´ompre destacar que PyTorch proporciona os bloques de
24 CAP´ ITULO 3. MATERIAIS E METODOLOX´ IA construci´on fundamentais das redes neuronais m´ais habituais, os cales se integran na librar´ıa torch.nn. Por exemplo, neste traballo empr´eganse redes neuronais recurrentes baseadas en GRUs, sendo o bloque b´asico das mesmas a cela nn.GRU. Deste xeito, a´ında que existen outros entornos/librar´ıas de aprendizaxe profundo, tales como Tensorflow ou Keras, optamos por empregar PyTorch xa que proporciona un bo compromiso entre a simplicidade e a flexibilidade erendemento que aporta. 3.1.6. Conxuntos de datos Na minar´ıa de procesos, o punto de partida ´e, invariablemente, un rexistro de eventos, contendo un hist´orico de execuci´on para diferentes instancias do proceso baixo estudo. Neste traballo empr´eganse unha serie de conxuntos de datos can´onicos, no senso de tratarse dunha colecci´on de referencia no ´ambito acad´emico para a avaliaci´on das aproximaci´ons de monitorizaci´on preditiva [5]. Estes rexistros prove˜nen de 4TU Center for Research Data, un repositorio de datos para uso cient´ıfico, xurdido en 2008 como iniciativa das universidades de Eindhoven, Delft e Twente. Particularmente, a bondade desta colecci´on radica na alta variabilidade que presentan os rexistros de eventos con respecto a indicadores clave como a lonxitude das trazas ou a duraci´on dos casos, o que se evidencia no Cadro 3.2. Por outra banda, tam´en existen diferenzas importantes no n´umero de variantes entre as instancias de execuci´on no rexistro de eventos. A priori, estes factores te˜nen un impacto importante sobre o proceso de aprendizaxe, dado que a presenza dun gran n´umero de variantes dificulta a identificaci´on de patr´ons com´uns entre Cadro 3.2: Estat´ısticas dos rexistros de eventos empregados na experimentaci´on. Repositorio Num. casos Num. actividades Num. eventos Lonxitude media do caso Lonxitude m´axima do caso Lonxitude media do evento Duraci´on m´axima do evento Duraci´on media do caso Duraci´on m´axima do caso Variantes BPI 2012 13087 36 262200 20.04 175 0.45 102.85 8.62 137.22 4366 BPI 2012 A 13087 10 60849 4.65 8 2.21 89.55 8.08 91.46 17 BPI 2012 C 13087 23 164506 12.57 96 0.74 30.92 8.61 91.46 4336 BPI 2012 O 5015 7 31244 6.23 30 3.28 69.93 17.18 89.55 168 BPI 2012 W 9658 19 170107 17.61 156 0.7 102.85 11.69 137.22 2621 BPI 2012 WC 9658 6 72413 7.5 74 1.75 30.92 11.4 91.04 2263 BPI 2013 CP 1487 7 6660 4.48 35 51.42 2254.84 178.88 2254.85 327 BPI 2013 I 7554 13 65533 8.68 123 1.57 722.25 12.08 771.35 2278 Env. permit 1434 27 8577 5.98 25 1.09 268.97 5.41 275.84 116 Helpdesk 4580 14 21348 4.66 15 11.16 59.92 40.86 59.99 226 Nasa 2566 94 73638 28.7 50 0.00 0.00 0.00 0.00 2513 Sepsis 1049 16 15214 14.48 185 2.11 417.26 28.48 422.32 845
3.2. METODOLOX´ IA 25 as execuci´ons. A s´ua vez, a variabilidade nas lonxitudes das trazas, redunda nunha maior incerteza ´a hora de predecir o fin do sufixo para un prefixo considerado. Polo tanto, estas diferenzas evidencian a gran variabilidade na complexidade dos procesos subxacentes, o cal resulta de especial interese xa que se persegue que a arquitectura a desenvolver sexa xeralizable a novos procesos, de maneira que se traballa coa hip´otese de que a presente colecci´on de rexistros de eventos ´e representativa dunha gran variedade de procesos de diferente natureza. Deste xeito, os rendementos obtidos por unha arquitectura sobre esta colecci´on poden ser extrapolables a outros rexistros de eventos non contidos na mesma. 3.2. Metodolox´ıa O dese˜no e implementaci´on da arquitectura presentada neste Traballo de Fin de Grao dividiuse en etapas ben definidas, permitindo as´ı afrontar o desenvolvemento da mesma dun xeito incremental. Isto facilitou a identificaci´on de erros en fases temper´as e permitiu a planificaci´on e estruturaci´on do desenvolvemento. A continuaci´on, proporci´onase unha explicaci´on exhaustiva de cada unha destas fases. 3.2.1. Preparaci´on dos datos O desenvolvemento dunha arquitectura de aprendizaxe profunda involucra, por norma xeral, tres etapas: adestramento do modelo, optimizaci´on de hiperpar´ametros e avaliaci´on do modelo. Consecuentemente, ´e preciso realizar unha partici´on do rexistro de eventos en tres subconxuntos, que reciben o nome de adestramento,validaci´on eproba, con prop´ositos ben diferenciados: Partici´on de adestramento (train, en ingl´es). Esta partici´on empr´egase na etapa de adestramento do modelo para o axuste dos par´ametros da rede, de maneira que se minimice o erro preditivo para os prefixos da presente partici´on. Partici´on de validaci´on (validation, en ingl´es). Esta participaci´on empr´egase na etapa de selecci´on do modelo e optimizaci´on de hiperpar´ametros. As´ı, empregando como criterio o erro preditivo sobre esta partici´on, selecci´onase o modelo co mellor rendemento. Partici´on de proba (test, en ingl´es). Unha vez adestrada a rede, aval´ıase o seu rendemento sobre unha partici´on independente das involucradas no adestramento e validaci´on. A motivaci´on detr´as do emprego deste particionamento ´e que na determinaci´on da bondade do modelo se mida a capacidade de xeralizaci´on do mesmo.
26 CAP´ ITULO 3. MATERIAIS E METODOLOX´ IA Cadro 3.3: Distribuci´on das partici´ons dos datos de entrada. Partici´on 1ªdivisi´on 2ªdivisi´on Porcentaxe global Adestramento 80 % 80 % 64 % Validaci´on 20 % 16 % Proba 20 % 20 % Este requerimento fai necesario que o conxunto de datos empregado na avaliaci´on do modelo sexa independente do de adestramento. De non ser as´ı, poder´ıa xurdir o problema de sobreaxuste (overfitting, en ingl´es), isto ´e, que o modelo te˜na unha escasa capacidade de xeralizaci´on, o cal se evidencia en importantes penalizaci´ons de rendemento cando se aval´ıa este sobre datos que non est´an presentes na partici´on de adestramento [21]. Polo tanto, entendida a necesidade de realizar as partici´ons mencionadas, ´e preciso escoller o tama˜no das mesmas con respecto ´o conxunto de datos de partida. As´ı, neste traballo adoptouse o esquema de particionamento empregado en [5]: en primeiro lugar, os eventos do rexistro son ordeados de acordo coa s´ua marca temporal, subdividindo, posteriormente, o conxunto resultante en d´uas etapas para a obtenci´on das partici´ons. Na primeira divisi´on, dist´ınguense dous conxuntos que constit´uen o 80 % e o 20 % dos datos, respectivamente. Posteriormente, o primeiro subconxunto partici´onase novamente seguindo o mesmo esquema. O resultado son tres partici´ons que seguen unha distribuci´on 64/16/20 e representan as partici´ons de adestramento, validaci´on e proba, na orde indicada. Este esquema de particionamento ven ilustrado no Cadro 3.3. Por´en, a introduci´on destas partici´ons conleva unha diminuci´on importante no n´umero de mostras que se empregan no adestramento xa que, con este esquema, empr´eganse unicamente o 64 % dos datos dispo˜nibles no adestramento. Deste xeito, o rendemento do modelo pode presentar importantes diferenzas para diferentes escollas dos conxuntos de adestramento/validaci´on/proba. Para paliar este sesgo, ´o igual que en [5], empr´egase a t´ecnica de validaci´on cruzada. Deste xeito, real´ızanse cinco partici´ons independentes sobre o rexistro de eventos completo, adestrando e avaliando o modelo sobre cada unha delas. Finalmente, o rendemento do modelo corresp´ondese coa media aritm´etica dos resultados acadados para cada unha das partici´ons consideradas. De novo, a escolla das partici´ons real´ızase do mesmo xeito que en [5], asegurando as´ı a comparaci´on xusta dos resultados. 3.2.2. Selecci´on de variables Neste Traballo de Fin de Grao, a predici´on do sufixo afr´ontase dende a perspectiva dun problema de aprendizaxe secuencia a secuencia, sendo a entra-
3.2. METODOLOX´ IA 27 da da rede a secuencia de eventos que compo˜nen unha instancia en execuci´on (prefixo) e a sa´ıda a secuencia de actividades que completar´an dita instancia (sufixo). Agora ben, a codificaci´on das instancias do rexistro de eventos nun tensor, susceptible de ser empregado como entrada para a rede neuronal, sup´on tomar numerosas decisi´ons en canto ´as variables a empregar, ´a codificaci´on das variables categ´oricas, etc. En primeiro lugar, a pesar de que os procesos asociados ´os rexistros de eventos baixo estudo son de natureza moi diversa, existen unha serie de atributos com´uns a todos eles: identificador de caso,identificador de actividade emarca temporal. Por outra banda, alg´uns rexistros de eventos conte˜nen informaci´on relativa a recursos, isto ´e, os responsables da realizaci´on das actividades asociadas a cada evento da traza. Ademais, existen atributos espec´ıficos de cada proceso particular. Por exemplo, en BPIC 2012, rexistro asociado a un proceso de xesti´on de pr´estamos, un dos atributos corresp´ondese coa cantidade solicitada neste. En definitiva, o primeiro paso para a codificaci´on dos prefixos ´e a selecci´on das variables de interese para a tarefa preditiva en cuesti´on. Deste xeito, dado que no presente Traballo de Fin de Grao a arquitectura desenvolvida se compara coas presentadas en [5], resulta consecuente adoptar unha aproximaci´on similar ´as empregadas en dito artigo. En particular, na maior´ıa dos traballos relativos ´a predici´on do sufixo empr´egase unicamente a informaci´on relativa ´as actividades e a informaci´on temporal asociada ´as mesmas [6, 7, 9], atributos com´uns a todos os rexistros de eventos considerados. Por outra banda, en [8] util´ızase, ademais, a informaci´on de recursos, de maneira que dita aproximaci´on non ´e aplicable sobre rexistros que non conte˜nen dito atributo, tales como Nasa eSepsis (ver Cadro 3.3). Ante isto, co obxectivo de que a comparaci´on fose o m´ais ampla posible, adoptouse a primeira das aproximaci´ons, considerando unicamente as actividades e a informaci´on temporal, exclu´ındo os recursos das variables a empregar. Agora ben, a marca temporal ´e unha variable continua que non se emprega directamente, sen´on que a partir desta se extraen unha serie de variables que facilitan a identificaci´on de dependencias entre as actividades. Estas pres´entanse no Cadro 3.4, onde na columna Procesamento se indica a t´ecnica empregada para a normalizaci´on da variable en cuesti´on. Este ´e un paso previo fundamental no preprocesamento das entradas dunha rede neuronal profunda, xa que a presenza de distribuci´ons moi dispares na entrada da mesma pode dificultar a converxencia da rede durante o adestramento [17]. Para isto, estandariz´aronse as variables temporais, de acordo coa seguinte expresi´on: Z=X−ˆ X S
34 CAP´ ITULO 3. MATERIAIS E METODOLOX´ IA Figura 3.3: Arquitectura do codificador. cales sintetizan a informaci´on relativa ´as entradas previas. Ademais, na Figura 3.3 apr´eciase que cada unha das celas da rede recibe, como entrada, o evento correspondente do prefixo e o estado oculto da cela previa. Deste xeito, o estado oculto de cada cela combina un evento concreto coa informaci´on asociada ´a secuencia de eventos que o precede, a cal est´a sintetizada no estado oculto previo. Polo tanto, o estado oculto asociado ´a ´ultima cela do codificador constit´ue unha representaci´on compacta do prefixo completo, o cal ´e recibido como entrada no decodificador. Non obstante, este proceso de s´ıntese pode dar lugar ´a perda de informaci´on de cara a predici´on do sufixo, especialmente cando se traballa con rexistros de eventos que conte˜nen trazas longas. Deste xeito, prec´ısase dun mecanismo que permita solventar esta limitaci´on da rede recurrente, o que se consegue mediante a incorporaci´on da atenci´on entre o codificador e o decodificador. 3.3.2. Mecanismo de atenci´on e decodificador Na Secci´on 2.4 presentouse, dun xeito te´orico, o modelo de atenci´on empregado en ABASP para permitir ´o decodificador a selecci´on da informaci´on relevante para a predici´on do sufixo, a cal sintetiza o contexto de execuci´on dunha actividade. A continuaci´on pres´entanse os detalles da interacci´on entre dito mecanismo e o decodificador. Na Figura 3.4 am´osase como se integra o mecanismo de atenci´on no decodificador. En primeiro lugar, foi preciso identificar os elementos da arquitectura que desempe˜nan os papeles de consultas,claves evalores. As´ı, resulta claro que, dado que o decodificador precisa a informaci´on sintetizada polo codificador para
3.3. DESE ˜ NO DA ARQUITECTURA NEURONAL 35 Figura 3.4: Arquitectura do decodificador. a realizaci´on das s´uas predici´ons, os estados ocultos deste ´ultimo constit´uen os valores, entre os cales ´e preciso discernir aqueles que resultan de maior utilidade para a tarefa preditiva en cuesti´on. Estes den´otanse como hina Figura 3.4. Ademais, os propios estados ocultos act´uan, simult´aneamente, como claves. Agora ben, para a selecci´on da informaci´on relevante, prec´ısase co˜necer o prefixo sobre o cal se realiza a predici´on e, por outra banda, a secuencia de actividades do sufixo ata unha punto concreto no mesmo, o cal se entende, globalmente, como o contexto de execuci´on para unha actividade do sufixo. Esta informaci´on est´a sintetizada no estado oculto da cela previa do decodificador, denotado como Hi−1, que desempe˜na o papel de consulta. Por tanto, o mecanismo de atenci´on proporciona o contexto de execuci´on en cada punto da predici´on. Deste xeito, empregando o modelo de atenci´on de Bahdanau [16], o c´alculo efectivo do mesmo real´ızase como segue: ci= N−1 X t=0 α(Hi−1,ht)ht Onde αdenota a funci´on de peso de atenci´on aditiva, presentada na Secci´on 2.1.4. N´otese que o contexto proporcionado polo mecanismo de atenci´on, deno-
36 CAP´ ITULO 3. MATERIAIS E METODOLOX´ IA tado por ci, ´e concatenado coa codificaci´on da actividade inmediatamente anterior no sufixo. Non obstante, existen diferenzas con respecto ´a procedencia desta actividade en adestramento e en inferencia. Por unha banda, no adestramento da rede, dado que o sufixo de actividades ´e co˜necido de antem´an, cada cela recibe como entrada a actividade que deber´ıa ser predicida pola cela anterior, denotada por Ai−1na Figura 3.4. Esta actividade, que ten asociado un valor num´erico, ´e procesada tal como se detalla na Secci´on 3.2.5. Por outra banda, en inferencia, dado que non se pode filtrar informaci´on do sufixo asociado ´o prefixo de entrada, a actividade suministrada ser´a a predicida pola cela anterior, denotada por A′ i−1na Figura 3.4, existindo as´ı a posibilidade de que esta non sexa a actividade esperada do sufixo asociado ´a entrada. Non obstante, a predici´on efectiva das actividades do sufixo non ´e realizada pola rede recurrente, sen´on que se incorpora unha capa densa adicional, de maneira que, aplicando unha funci´on softmax sobre a sa´ıda da mesma, se obt´en unha distribuci´on de probabilidade sobre o conxunto de posibles actividades. Empregando esta distribuci´on, existen diferentes alternativas para a selecci´on das actividades do sufixo, as cales se exploran na Secci´on 3.3.4. Un aspecto que non se detalla na Figura 3.4 ´e que sucede coa primeira cela do decodificador, xa que, neste caso, as s´uas entradas non proceden dunha cela anterior. Por´en, mant´ıvose un esquema similar ´o do resto de celas, considerando, deste xeito, a ´ultima cela do codificador como a que precede a esta. Polo tanto, a actividade que recibe como entrada ´e a ´ultima actividade do prefixo e o contexto de execuci´on corresp´ondese co estado oculto proporcionado pola ´ultima cela do codificador. 3.3.3. Adestramento da rede En primeiro lugar, para o adestramento da rede, ´e preciso escoller unha m´etrica diferenciable que permita cuantificar a bondade do modelo en termos da precisi´on das s´uas predici´ons. Para isto, p´odese entender a predici´on do sufixo como un problema de clasificaci´on m´ultiple, onde cada actividade representa unha clase. As´ı, real´ızase unha comparaci´on un a un entre a actividade predicida pola rede e a correspondente no sufixo real, agrupando, posteriormente, os erros asociados a cada unha destas predici´ons. Polo tanto, unha m´etrica habitual en contextos similares ´e a entrop´ıa cruzada categ´orica: l(a′, a) = (l0, ..., lN−1), li=−log exp(a′ i,ai) PC c=1 exp(a′ i,c), i ∈ {0, ..., N −1} No c´omputo da entrop´ıa cruzada categ´orica, faise uso do sufixo verdadeiro
3.3. DESE ˜ NO DA ARQUITECTURA NEURONAL 37 para un prefixo dado, denotado por a, o cal ´e un vector de Ncompo˜nentes, sendo Na lonxitude m´axima de prefixo. O escalar Ccorresp´ondese co n´umero de posibles actividades, de maneira que a∈ {0, ..., C −1}N. Por outra banda, a′∈ RN×Cconstit´ue a sa´ıda da capa densa do decodificador, previamente ´a aplicaci´on da funci´on softmax. Nesta m´etrica, o valor exp(a′ i,ai) PC c=1 exp(a′ i,c)representa a probabilidade asignada pola rede ´a actividade que deber´ıa ser predicida. Posteriormente, sobre o vector l´e preciso aplicar unha reduci´on, obtendo as´ı un valor escalar L, o cal, mediante o axuste dos pesos da rede, se busca minimizar. Na arquitectura presentada, a reduci´on efect´uase mediante o c´omputo da media aritm´etica dos elementos de l: L(a′, a) = PN−1 i=0 li N N´otese que, con esta m´etrica, os erros calc´ulanse independentemente para cada unha das actividades predicidas, o que xustifica o emprego das actividades do sufixo verdadeiro como entrada das celas da GRU do decodificador durante o adestramento. Isto d´ebese a que, de empregar as actividades predicidas, denotadas por A′ ina Figura 3.4, os erros asociados a cada unha das predici´ons atopar´ıanse correlacionados, de maneira que unha m´etrica como a entrop´ıa cruzada categ´orica, na que o erro se calcula agrupando os erros individuais, poder´ıa non resultar axeitada. As´ı, definida a m´etrica, o obxectivo do adestramento ´e a determinaci´on dunha configuraci´on de par´ametros da rede que minimice o erro que esta cuantifica. Para o axuste dos mesmos, empregouse o algoritmo de optimizaci´on Adam [28], caracterizado por asignar un rateo de aprendizaxe adaptativo a cada par´ametro da rede. A escolla deste algoritmo viu motivada pola s´ua ampla adopci´on no ´ambito do procesado da linguaxe natural e a eficiencia computacional do mesmo. Por outra banda, a inicializaci´on dos par´ametros da rede ten unha importancia fundamental para a converxencia da rede no adestramento. As´ı, empregouse inicializaci´on Xavier para este prop´osito, t´ecnica habitual no ´ambito da aprendizaxe profunda [29]. Polo tanto, o adestramento da rede consiste na realizaci´on de m´ultiples axustes dos par´ametros da rede, de acordo coa heur´ıstica definida polo algoritmo de optimizaci´on num´erica escollido, neste caso Adam. Estes axustes real´ızanse a partir dos datos da entrada que recibe a rede en forma de lotes. Deste xeito, un ciclo completo de optimizaci´on involucra cada un dos lotes nos cales a entrada ven agrupada. Estes ciclos reciben o nome de ´epocas (epochs, en ingl´es), sendo as´ı o n´umero de ´epocas un hiperpar´ametro, o cal ´e preciso establecer a un valor de compromiso para garantir a converxencia da rede sen aumentar, inxustifica-
38 CAP´ ITULO 3. MATERIAIS E METODOLOX´ IA damente, o custo computacional do adestramento. Agora ben, mentres que o desexable ´e que en cada ´epoca dimin´ua o erro (loss, ingl´es) do modelo, cuantificado mediante a entrop´ıa cruzada categ´orica, en ocasi´ons poden xurdir comportamentos err´aticos, sendo numerosos os factores que poden dar lugar a esta situaci´on: natureza dos datos de entrada, configuraci´on de hiperpar´ametros, etc. Deste xeito, ´o longo do adestramento da rede, mant´e˜nense os pesos cos que se acadou a menor erro sobre o conxunto de validaci´on e, unha vez rematado o adestramento, selecci´onase o mellor modelo para a s´ua avaliaci´on sobre a partici´on de proba. O emprego do conxunto de validaci´on, en lugar do de adestramento, para elixir o modelo, faise para evitar o sobreaxuste, que dar´ıa lugar a unha escasa capacidade de xeralizaci´on, o cal se traducir´ıa en malos rendementos ´o avaliar a rede sobre a partici´on de proba. 3.3.4. Inferencia do sufixo Na Secci´on 3.3.2 explicouse como o decodificador, a partir do contexto de execuci´on proporcionado polo mecanismo de atenci´on, realiza as predici´ons das actividades do sufixo. Non obstante, a sa´ıda de cada cela non ´e unha actividade concreta, sen´on unha distribuci´on de probabilidade sobre o conxunto das posibles actividades. Polo tanto, a determinaci´on efectiva do sufixo require a selecci´on das actividades que compo˜ner´an o mesmo a partir desta distribuci´on. A aproximaci´on directa para afrontar este problema ´e a selecci´on da actividade m´ais probable a partir da distribuci´on xerada. Agora ben, a distribuci´on de probabilidade das actividades, en cada punto da secuencia, ven condicionada pola actividade predicida na cela inmediatamente anterior, xa que esta ´e recibida como entrada, xunto co contexto de execuci´on, tal como se amosa na Figura 3.4. Esta situaci´on non ti˜na lugar no adestramento, xa que, en dito contexto, empreg´abase a actividade verdadeira do sufixo, tal como se razoou na Secci´on 3.3.3. Polo tanto, dado que cada predici´on ven condicionada polas predici´ons anteriores, o emprego da actividade m´ais probable introduce, inevitablemente, un sesgo que se traduce nunha menor riqueza nos sufixos inferidos, problema que ser´ıa especialmente patente naqueles rexistros de eventos caracterizados por conter trazas de maior lonxitude, limitaci´on que ´e observada en [8]. Para solucionar este problema, en lugar de escoller a actividade ´a que se lle asigna a maior probabilidade, p´odense considerar varias das actividades m´ais probables e explorar os sufixos ´os que estas dan lugar. Evidentemente, non ´e posible realizar unha busca exhaustiva sobre o espazo de posibles sufixos, xa que, sendo Na lonxitude m´axima de sufixo e Co n´umero de actividades, o n´umero de posibles sufixos ´e CN, de maneira que o tama˜no do espazo de busca medra dun xeito exponencial coa lonxitude m´axima dos sufixos. Polo tanto, ´e preciso considerar unha soluci´on de compromiso entre a heur´ıstica voraz de seleccionar,
3.3. DESE ˜ NO DA ARQUITECTURA NEURONAL 39 en cada punto da secuencia, a actividade m´ais probable, e a exploraci´on completa do espazo de busca. As´ı, unha t´ecnica habitual no contexto da inferencia xerativa secuencia a secuencia ´e a busca en feixe (beam search, en ingl´es). Por tanto, considerando, en cada punto da secuencia, as actividades que poden ter lugar, o espazo de busca admite unha representaci´on en forma de ´arbore. Deste xeito, na busca en feixe expl´oranse unicamente as ramas xeradas polas actividades m´ais prometedoras de cada nivel. O n´umero de actividades prometedoras que se consideran en cada nivel ´e un hiperpar´ametro da busca que recibe o nome de tama˜no de feixe. Agora ben, para a selecci´on das actividades do sufixo, ´e preciso establecer un criterio que cuantifique canto de prometedora ´e unha actividade. As´ı, dado que a rede asigna unha probabilidade a cada actividade, p´odese empregar este valor para a selecci´on daquelas que resultan m´ais prometedoras. Non obstante, dado que na predici´on dunha actividade ten unha influencia directa o conxunto de actividades predicidas previamente, a distribuci´on de probabilidade est´a condicionada polo contexto de execuci´on previo. Deste xeito, para a selecci´on da actividade m´ais prometedora en cada punto da secuencia, calc´ulase a s´ua probabilidade empregando o teorema de Bayes, onde esta ven condicionada, a s´ua vez, polo contexto de execuci´on asociado ´o prefixo que se recibe como entrada, representado como cna Figura 3.5. Figura 3.5: Busca en feixe para un tama˜no de feixe de 2 En definitiva, as kactividades m´ais prometedoras ser´an as kactividades dunha nivel da ´arbore ´as que se lles asigne unha maior probabilidade de ocurrencia, a cal se computa como segue: P(yi, ..., y0|c) = i Y j=0 P(yj|yj−1, ..., y0,c), i ∈ {0, ..., N −1}
40 CAP´ ITULO 3. MATERIAIS E METODOLOX´ IA A´ında que este criterio, teoricamente, ´e axeitado para a selecci´on das actividades, ´a hora da s´ua implementaci´on existe a posibilidade de que dito c´omputo dea lugar a subdesbordamentos (underflows, en ingl´es) ´o realizar sucesivas multiplicaci´ons de n´umeros en punto flotante comprendidos no intervalo [0, 1]. Para evitar isto, transf´ormase o produtorio nun sumatorio mediante a aplicaci´on da funci´on logaritmo cuxo car´acter estritamente crecente mant´en a orde asociada ´o criterio orixinal: logP(yi, ..., y0|c) = i X j=0 logP(yj|yj−1, ..., y0,c), i ∈ {0, ..., N −1} Na Figura 3.5 m´ostranse en verde as actividades que son seleccionadas en cada nivel da ´arbore. N´otese as´ı que, de escoller en cada punto a actividade m´ais probable, a rama do segundo nivel xerada a partir da actividade Cnon se chegar´ıa a explorar. Non obstante, o desenvolvemento da mesma permite a exploraci´on do sufixo AC, cuxa probabilidade asociada supera ´a das secuencias xeradas a partir da actividade A, ´a cal se lle asigna a m´axima probabilidade no primeiro nivel. En definitiva, mediante a busca en feixe, o espazo de busca restr´ınxese sobre k×C×Nactividades, o que permite aumentar a riqueza dos sufixos predicidos, sen dar lugar a unha penalizaci´on inasumible en termos de custo computacional. 3.3.5. Validaci´on da rede Neste Traballo de Fin de Grao, a arquitectura desenvolvida ´e comparada coas aproximaci´ons do estado do arte para a predici´on do sufixo presentadas en [5]. En primeiro lugar, isto condicionou a elecci´on das partici´ons de adestramento, validaci´on e proba, de maneira que se empregaron exactamente as mesmas que en dito traballo para garantir a comparaci´on xusta dos resultados. Para a avaliaci´on do rendemento das aproximaci´ons en [5] na tarefa de predici´on do sufixo empregouse a m´etrica de Damerau-Levenshtein [30]. As´ı, considerando os sufixos como secuencias de actividades, esta m´etrica cuantifica a distancia de edici´on entre dous sufixos, isto ´e, o n´umero de inserci´ons, eliminaci´ons, sustituci´ons e transposici´ons de elementos adxacentes precisos para transformar un sufixo noutro. Esta m´etrica ´e especialmente adecuada no contexto da minar´ıa de procesos, en comparaci´on coa distancia de Levenshtein [30], debido que a transposici´on de dous elementos adxacentes, que en termos do proceso subxacente poder´ıa corresponderse coa realizaci´on paralela de d´uas actividades, ten un custo de 2 na m´etrica de Levenshtein fronte a un custo de 1 na distancia
3.3. DESE ˜ NO DA ARQUITECTURA NEURONAL 41 de Damerau-Levenshtein. O c´omputo desta ´ultima distancia admite a seguinte definici´on recursiva: leva,a′(i, j) := max(i, j)se min(i, j) = 0 min leva,a′(i−1, j)+1 leva,a′(i, j −1) + 1 leva,a′(i−1, j −1) + 1ai=a′ j noutro caso De acordo con esta definici´on, a distancia de edici´on entre os sufixos ae a′´e leva,a′(|a|,|a′|), onde |.|denota a lonxitude do sufixo. Agora ben, dado que os sufixos te˜nen unha lonxitude variable, resulta m´ais conveniente, en lugar de traballar directamente coa distancia de Damerau-Levenshtein, normalizar esta con respecto ´as lonxitudes dos sufixos, obtendo as´ı un valor da similitude entre estes, comprendido entre 0 e 1, que recibe o nome de similitude de DamerauLevenshtein: lev sim(a, a′) = 1 −leva,a′(|a|,|a′|) max(|a|,|a′|) As´ı, o rendemento da arquitectura presentada avaliouse calculando a similitude de Damerau-Levenshtein media sobre a partici´on de proba entre os sufixos predicidos pola rede e os sufixos verdadeiros, tal como se fai en [5]. Deste xeito, o resultado obtido permite a comparaci´on emp´ırica da arquitectura coas aproximaci´ons presentadas en [5].
42 CAP´ ITULO 3. MATERIAIS E METODOLOX´ IA
Cap´ıtulo 4 Probas e discusi´on dos resultados Nesta secci´on pres´entanse os resultados da experimentaci´on sobre a arquitectura ABASP, a cal se realizou no contexto do marco de comparaci´on presentado en [5], o cal permite a comparativa xusta coas aproximaci´ons de referencia para a predici´on do sufixo de actividades [6, 7, 8, 9]. As´ı, empr´eganse os resultados presentados en dito comparativa, sen necesidade de replicalos experimentalmente. 4.1. Elecci´on de hiperpar´ametros A arquitectura ABASP pos´ue un conxunto relativamente pequeno de hiperpar´ametros axustables. Non obstante, a configuraci´on dos mesmos ten unha influencia directa nos resultados acadados na experimentaci´on. Agora ben, unha propiedade desexable nas arquitecturas de aprendizaxe profundo ´e a robustez fronte as elecci´ons de hiperpar´ametros, isto ´e, que non existan diferenzas importantes nos resultados obtidos cando os hiperpar´ametros se establecen a valores est´andar, no contexto de aplicaci´on concreto, e configuraci´ons optimizadas dos mesmos. Polo tanto, ´a hora de realizar a experimentaci´on, empregouse unha configuraci´on est´andar, presentada no Cadro 4.1, co obxectivo de fixar un rendemento base para a arquitectura. Agora ben, dentro dos hiperpar´ametros da arquitectura, o n´umero de ´epocas do adestramento ou o tama˜no de lote non s´o infl´uen no rendemento da rede sen´on que, ademais, te˜nen un impacto significativo no tempo de adestramento. Deste xeito, ´a hora de seleccionar unha configuraci´on de hiperpar´ametros ´e preciso ter en conta esta influencia, co obxectivo de garantir a obtenci´on de resultados nun tempo razoable. Non obstante, o par´ametro que condiciona, en maior medida, a duraci´on do adestramento ´e o n´umero de ´epocas (num epochs). Polo tanto, para escoller un 43
50 CAP´ ITULO 5. CONCLUSI ´ ONS E POSIBLES AMPLIACI ´ ONS 5.1. Traballo futuro Os bos rendementos acadados pola arquitectura descrita no presente Traballo de Fin de Grao suxiren que futuras ampliaci´ons sobre a mesma poder´ıan lograr mellorar os resultados obtidos polo resto de aproximaci´ons do estado do arte sobre a totalidade de rexistros de eventos avaliados. As´ı, en primeiro lugar, ser´ıa interesante realizar unha an´alise m´ais fina da influencia dos hiperpar´ametros da rede no seu rendemento, identificando configuraci´ons ´optimas particularizadas a cada rexistro de eventos, especialmente para aqueles nos cales esta arquitectura non acada o mellor rendemento. Do mesmo xeito, poder´ıase complementar a experimentaci´on cun estudio de ablaci´on para identificar, de forma m´ais precisa, a aportaci´on individual do modelo secuencia a secuencia e a atenci´on na mellora preditiva. Por outra banda, a incorporaci´on da informaci´on relativa ´os recursos asignados a cada actividade poder´ıa contribuir a unha mellora do rendemento de ABASP, xa que as aproximaci´ons de Camargo et al. [8], que empregan estes datos, logran resultados superiores nalg´uns dos rexistros de eventos. Finalmente, e como un complemento ´o mecanismo de atenci´on proposto, caber´ıa incorporar a atenci´on entre as sa´ıdas do decodificador, tal e como se fai nos transformadores [13], sendo esperable unha mellora no rendemento da arquitectura sobre rexistros de eventos caracterizados pola presenza de bucles e trazas largas.
Ap´endice A Manuais t´ecnicos A implementaci´on da arquitectura pode descargarse executando o seguinte comando na terminal dun sistema con Git: $> git clone https://github.com/pablomlago/tfg_pablo_monteagudo Estrutura de ficheiros O repositorio coa implementaci´on da arquitectura desenvolvida est´a estruturado dun xeito modular, co obxectivo de facilitar a introduci´on de cambios e posibles ampliaci´ons. A organizaci´on do mesmo expl´ıcase a continuaci´on: data: directorio contendo os pregados dos rexistros de eventos para a validaci´on cruzada do modelo. •data complete: directorio contendo os rexistros de eventos completos. data loader •data loader.py: rutinas para a lectura dos rexistros de eventos e xeraci´on da entrada da rede a partir dos mesmos. data •datasets.py: estruturas de datos para a entrada da rede. model •loss.py: implementaci´on da funci´on obxectivo para o modelo. •metric.py: rutina para o c´alculo da distancia de Damerau-Levenshtein. 51
52 AP´ ENDICE A. MANUAIS T´ ECNICOS •model.py: implementaci´on das compo˜nentes da arquitectura neuronal. predicter •predicter.py: rutinas para a inferencia do sufixo mediante busca en feixe. trainer •trainer.py: implementaci´on do algoritmo de adestramento da rede. LICENSE.md: licencia do software. README.md: instruci´ons para a execuci´on da experimentaci´on. abasp.py: programa principal para a execuci´on da experimentaci´on. execute.sh: secuencia de comandos para a automatizaci´on da experimentaci´on. requirements.txt: requerimentos de librar´ıas para a execuci´on do c´odigo.
Ap´endice B Manuais de usuario A implementaci´on da arquitectura, xunto co c´odigo preciso para replicar a experimentaci´on, pode descargarse executando o seguinte comando na terminal dun sistema con Git: $> git clone https://github.com/pablomlago/tfg_pablo_monteagudo Instalaci´on de Anaconda A execuci´on do c´odigo require a instalaci´on previa dun conxunto de paquetes de Python. Polo tanto, recom´endase o emprego dun xestor de entornos como Anaconda. A continuaci´on pres´entanse os pasos a realizar para a instalaci´on de Miniconda nun entorno Linux: Abrir unha terminal e navegar ata o directorio no cal se pretende realizar a instalaci´on. Descargar Miniconda executando, na mesma terminal, o seguinte comando: $> wget https://repo.anaconda.com/miniconda/ Miniconda3-py39_4.11.0-Linux-x86_64.sh Instalar Miniconda, executando: $> sh Miniconda3-py39_4.11.0-Linux-x86_64.sh Unha vez finalizada a instalaci´on con ´exito, o prompt da terminal pasar´a a estar precedido polo identificador do entorno base: (base)$> 53
54 AP´ ENDICE B. MANUAIS DE USUARIO De non ser as´ı, abrir un novo terminal e executar o seguinte comando: $> conda init Creaci´on do entorno Para replicar a experimentaci´on, recom´endase a creaci´on dun entorno de Minconda para o proxecto, sobre o cal instalar as dependencias precisas para a execuci´on do mesmo. A secuencia de pasos a realizar ´e a seguinte: Crear un entorno coa versi´on 3.9 de Python: $> conda create -n abasp python=3.9 Activar o entorno creado: $> conda activate abasp Clonar o repositorio da implementaci´on: (abasp)$> git clone https://github.com/pablomlago/ tfg_pablo_monteagudo Navegar ´o directorio no que se clonou o repositorio: (abasp)$> cd tfg_pablo_monteagudo Instalar os paquetes listados no ficheiro requirements.txt no entorno: (abasp)$> pip3 install -r requirements.txt Instalar a versi´on de PyTorch para Conda adecuada ´o sistema: (abasp)$> conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
55 Execuci´on da experimentaci´on Unha vez finalizada a execuci´on, p´odese replicar a experimentaci´on completa executando o seguinte comando: (abasp)$> sh execute.sh Se, polo contrario, s´o se requiren os resultados para un rexistro de eventos concreto, p´odese executar: (abasp)$> python3 abasp.py --dataset SEPSIS --execution_id experimentation_tfg --num_epochs 100 [--num_folds 5] Os par´ametros que recibe este programa son os seguintes: dataset: Nome do rexistro de eventos sobre o que se realizara a experimentaci´on. Debe ser un dos rexistros proporcionados no directorio data/- data complete e non se debe incluir a extensi´on no nome. execution id: Identificador ´unico da experimentaci´on, co cal se nomear´an os resultados no directorio results. num epochs: N´umero de ´epocas do adestramento. num folds: Par´ametro optativo que debe coincidir co n´umero de pregados para un rexistro de eventos presente no directorio data. Por defecto, empr´egase o valor 5. Os resultados almac´enanse no directorio results, que conter´a, para cada un dos pregados da validaci´on cruzada, dous ficheiros .csv: un contendo o erro en validaci´on cada 10 ´epocas e outro coas predici´ons realizadas pola rede, fronte ´os sufixos verdadeiros e a similitude de Damerau-Levenshtein entre ambos. Ademais, para cada execuci´on, repres´entase graficamente a evoluci´on do erro en validaci´on ´o longo das ´epocas do adestramento.
56 AP´ ENDICE B. MANUAIS DE USUARIO
Ap´endice C Aprendizaxe profunda e redes neuronais Aaprendizaxe profunda ´e un dos campos m´ais prometedores no contexto da aprendizaxe autom´atica, disciplina que ten por obxectivo o desenvolvemento de modelos que, sen ser explicitamente programados, te˜nan capacidade de realizar unha tarefa, mediante ´a aprendizaxe a partir dun datos proporcionados como entrada. Os modelos de aprendizaxe profundo dist´ınguense dos modelos m´ais tradicionais de aprendizaxe autom´atica pola presenza de numerosas capas, organizadas xerarquicamente, as cales permiten obter representaci´ons dos datos de entrada con diferentes niveis de abstracci´on [17]. Deste xeito, as arquitecturas de aprendizaxe profunda est´an formadas por numerosas capas, constitu´ıdas pola integraci´on de m´ultiples elementos b´asicos que reciben o nome de neuronas artificiais. A expresi´on m´ais b´asica que pode adoptar unha neurona artificial ´e o perceptr´on, cuxo comportamento ven determinado pola seguinte ecuaci´on: y=σ( n X i=1 xiwi+b) = σ(XW +b) Onde X∈Rnrepresenta a entrada do perceptr´on, W∈Rn´e un vector que representa os par´ametros axustables do perceptr´on e b∈R´e un escalar axustable. Por outra banda, a funci´on σdenom´ınase funci´on de activaci´on e constit´ue a compo˜nente non linear do modelo. As funci´ons de activaci´on m´ais habituais son a ReLU, a sigmoide e a tanxente hiperb´olica [17]. 57
58 AP´ ENDICE C. APRENDIZAXE PROFUNDA E REDES NEURONAIS O feito de que Websexan axustables ref´ırese a que os seus valores poden ser modificados na b´usqueda de minimizar o erro preditivo, cuantificado por unha funci´on que mide a discrepancia entre a sa´ıda ye a sa´ıda esperada ˆy. Deste xeito, o adestramento do perceptr´on consiste en atopar os valores de W ebque minimicen o erro preditivo para os valores recibidos como entrada. Agora ben, tal como se comentou, as neuronas artificiais non se empregan illadamente, sen´on que estas se integran conformando redes nas cales cada neurona recibe como entrada, xeralmente, a sa´ıda doutra, dando lugar a estruturas integradas por capas como a ilustrada na figura C.1 Figura C.1: Rede neuronal artificial. As´ı, dado que o obxectivo do adestramento e determinar os valores dos par´ametros que proporcionan un erro m´ınimo na sa´ıda con respecto ´os datos da entrada, cuantificado por unha funci´on obxectivo, requ´ırese o c´omputo da derivada desta funci´on con respecto ´os par´ametros da rede para, mediante un algoritmo de optimizaci´on como o descenso de gradiente, actualizar iterativamente os par´ametros da rede na busca dos valores ´optimos para os mesmos [33]. Para o c´omputo desta derivada, empr´egase o algoritmo de retropropagaci´on (backpropagation, en ingl´es), o cal permite calcular o gradiente da funci´on obxectivo con respecto os par´ametros da rede dun xeito eficiente [34].
Ap´endice D Licenza MIT License Copyright (c) 2022 Pablo Monteagudo Lago Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 59