Formalization of deep learning techniques with the Why3 proof platform

Detalhes bibliográficos
Autor(a) principal: Sousa, Márcio Alexandre Mota
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: https://hdl.handle.net/1822/80109
Resumo: Dissertação de mestrado integrado em Engenharia Informática
id RCAP_bd8c7079196ee3c00b147e5f21bd2965
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/80109
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Formalization of deep learning techniques with the Why3 proof platformFormalização de técnicas de Deep Learning com a plataforma de prova Why3Deep learningMachine learningRede neuronalVerificação formalWhy3Formal verificationNeural networkDissertação de mestrado integrado em Engenharia InformáticaMachine Learning como um campo, parte integrante da área de Inteligência Artificial, tem crescido exponencialmente, principalmente nesta última década, onde passou de quase desconhecido pelo público em geral para a existência de carros autónomos e até robôs humanóides como o robô Sophia da Arábia Saudita. A maioria de nós agora lida com Inteligência Artificial todos os dias, em anúncios direcionados por exemplo, o que é agora a norma. Deep Learning, um ramo específico de Machine Learning de onde originaram as Redes Neuronais, é vastamente utilizado no desenvolvimento de sistemas autónomos de alta complexidade. Alguns destes sistemas em particular podem ser classificados como sistemas críticos, o que traz a necessidade de fornecer alguma forma de garantia de que estes sistemas vão sempre funcionar como é suposto, uma vez que qualquer falha em sistemas desta categoria pode ter consequências graves. Isto naturalmente levanta preocupações relativas à segurança, levando a comunidade a procurar uma forma de obter tais garantias, eventualmente levando-os aos métodos de Verificação Formal para atingir os níveis de confiabilidade necessários para a adoção pública de tais sistemas. Tem havido um interesse crescente quanto a este assunto, uma vez que as aplicações de Redes Neuronais estão em constante expansão, e muitas ferramentas de software já resultaram deste trabalho, sendo algumas dessas ferramentas analisadas nesta dissertação. Este estudo vem contribuir para esse esforço, e tem como objetivo principal a avaliação do Why3, a fim de compreender se esta ferramenta possui as características necessárias que lhe permitam juntar-se a estas ferramentas já existentes como um novo meio de verificação da correção de Redes Neuronais. Para atingir este objetivo, primeiramente criamos um proof-of-concept a fim de analisar se o Why3 fornece o suporte necessário para esta tarefa. Em seguida, damos um passo em frente e formalizamos uma Rede Neuronal à escala de uma aplicação real no Why3, de onde tiraremos as nossas conclusões. Durante o trabalho sobre a formalização de Redes Neuronais, pretendemos também compilar um guia abrangente sobre Why3, desde as funcionalidades que oferece, até exemplos de como pode ser aplicado explicados passo a passo, com o objetivo de oferecer uma base de conhecimento compreensiva para qualquer pessoa interessada em explorar o Why3, contribuindo ao mesmo tempo para a escassa documentação existente sobre o Why3.Machine Learning as a field, from the realms of Artificial Intelligence, has been growing exponentially, especially in this last decade, where it went from the general public barely even hearing about it to the existence of self-driving cars and even humanoid robots like the Saudi Arabian Sophia. Most of us now deal with AI everyday, in targeted ads for example, and it has become the norm. Deep Learning, a particular branch of Machine Learning from where Neural Networks stem, is widely used in the development of high-complexity autonomous systems. Some of these systems in particular can be classified as critical systems, which brings the necessity of providing some form of guarantee that these will always work as intended, since any failure from this category of systems can have serious consequences. This naturally raises security concerns, hence leading the community to search for a way of attaining such guarantees, eventually leading them to Formal Verification methods to achieve the necessary reliability levels for the public adoption of said systems. There has been a growing interest regarding this matter, since the applications of Neural Networks are continuously expanding, and many software tools have already resulted from this work, some of which will be analysed in this dissertation. This study comes to contribute to this effort, and has as its main objective the evaluation of Why3, in order to understand if this tool possesses the necessary characteristics that may allow it to join these already existing tools as a new mean of verifying the correctness of Neural Networks. To achieve this objective, firstly we create a proof-of-concept in order to analyse if Why3 provides the necessary support for this task. Then we go a step further and formalize a real life application scale Neural Network in Why3, from where we will draw our conclusions. While working on the formalization of Neural Networks, we also aim to compile a comprehensive guide on Why3, where we go from the functionalities that it provides, to examples of how it can be applied explained step by step, with the goal of offering an understandable knowledge base for anyone that may be interested in exploring Why3, while also contributing to the scarce existing documentation of Why3.Pinto, Jorge SousaAzevedo, Paulo J.Universidade do MinhoSousa, Márcio Alexandre Mota2022-04-052022-04-05T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/80109eng203022939info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-12-09T01:21:00Zoai:repositorium.sdum.uminho.pt:1822/80109Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:44:16.223739Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Formalization of deep learning techniques with the Why3 proof platform
Formalização de técnicas de Deep Learning com a plataforma de prova Why3
title Formalization of deep learning techniques with the Why3 proof platform
spellingShingle Formalization of deep learning techniques with the Why3 proof platform
Sousa, Márcio Alexandre Mota
Deep learning
Machine learning
Rede neuronal
Verificação formal
Why3
Formal verification
Neural network
title_short Formalization of deep learning techniques with the Why3 proof platform
title_full Formalization of deep learning techniques with the Why3 proof platform
title_fullStr Formalization of deep learning techniques with the Why3 proof platform
title_full_unstemmed Formalization of deep learning techniques with the Why3 proof platform
title_sort Formalization of deep learning techniques with the Why3 proof platform
author Sousa, Márcio Alexandre Mota
author_facet Sousa, Márcio Alexandre Mota
author_role author
dc.contributor.none.fl_str_mv Pinto, Jorge Sousa
Azevedo, Paulo J.
Universidade do Minho
dc.contributor.author.fl_str_mv Sousa, Márcio Alexandre Mota
dc.subject.por.fl_str_mv Deep learning
Machine learning
Rede neuronal
Verificação formal
Why3
Formal verification
Neural network
topic Deep learning
Machine learning
Rede neuronal
Verificação formal
Why3
Formal verification
Neural network
description Dissertação de mestrado integrado em Engenharia Informática
publishDate 2022
dc.date.none.fl_str_mv 2022-04-05
2022-04-05T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/80109
url https://hdl.handle.net/1822/80109
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203022939
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799133002729521152