Titulo Estágio
Aprendizagem computacional verificável e explicável
Áreas de especialidade
Sistemas Inteligentes
Engenharia de Software
Local do Estágio
DEI-FCTUC
Enquadramento
A Inteligência Artificial está a ser aplicada em áreas nas quais existem vidas humanas dependentes dos resultados produzidos pelos sistemas. Exemplos incluem o desenvolvimento de veículos totalmente autónomos, robôs urbanos, software médico, aviação, etc. Nesses contextos surge a necessidade de garantir que o software esteja correto.
A aprendizagem computacional é a área de Inteligência Artificial que lida principalmente com algoritmos de aprendizagem supervisionada baseada em exemplos. O resultado da aprendizagem é de difícil verificação, uma vez que a especificação é um conjunto de exemplos e podem ser cometidos erros em novos casos que não estejam nesse conjunto. Assim, é fundamental garantir que o resultado da aprendizagem seja verificável e esteja correto.
Esta dissertação tem como o objetivo estudar formas de verificar o software, para garantir que cumpre de forma correta a funcionalidade pretendida, e explicar as decisões tomadas pelo software, para garantir que essas decisões são compreensíveis para um ser humano. Estes dois requisitos (ser verificável e explicável) têm uma natureza próxima, pelo que se pretende construir uma única abordagem que dê resposta aos dois.
Objetivo
Esta dissertação tem como objetivos principais:
- Construir um caso de estudo e preparar um ambiente de desenvolvimento para treinar e avaliar os resultados de algoritmos de Machine Learning.
- Conceber uma abordagem na qual se possa usar algoritmos de aprendizagem baseada em exemplos combinada com a construção de modelos que possam ser verificados e cuja análise possa resultar em explicações (fundamentações das decisões tomadas).
- Planear e executar experiências que permitam avaliar se o resultado da aprendizagem garante segurança e fiabilidade perante novos casos que não façam parte do conjunto de exemplos de treino. Dever-se-á poder verificar se o resultado está correto e explicar as decisões tomadas com recurso a Inteligência Artificial.
Plano de Trabalhos - Semestre 1
- Estudo do estado da arte. (Meses 1 e 2)
A primeira fase consistirá em aprofundar conhecimentos nos tópicos relacionados com o estágio, com particular atenção a aprendizagem computacional, artificial networks, tolerância a falhas e injeção de falhas. O trabalho deve resultar na escrita do capítulo da dissertação sobre o estado da arte.
- Construção de um caso de estudo e preparação do ambiente. (Meses 3 e 4)
Esta tarefa consiste em conceber um caso de estudo para treinar e avaliar os resultados da aprendizagem, por forma a obter um ambiente de desenvolvimento e de testes adequado aos objetivos do estágio.
- Versão preliminar da abordagem para conseguir aprendizagem computacional que seja verificável e explicável. (Meses 4 e 5)
Desenho e conceção da primeira versão da framework e utilização do caso de estudo para realizar experiências e avaliar os resultados.
- Escrita do relatório intermédio. (Mês 5)
As tarefas realizadas no decorrer do primeiro semestre devem ser documentadas na forma de um relatório intermédio, seguindo-se a sua apresentação pública e discussão. Será importante apresentar nesse relatório os resultados preliminares obtidos.
Plano de Trabalhos - Semestre 2
- Conceção da abordagem para verificação de algoritmos de Machine Learning, incluindo verificações de consistência e de conhecimento prévio (a priori knowledge). (Meses 6 e 7)
O objetivo é conceber formas de verificar os algoritmos para garantir que cumprem os requisitos de segurança e fiabilidade. Para além de verificável, o resultado deve ser também explicável, isto é, apesar de em muitos casos o resultado da aprendizagem computacional ser uma "black box" o objetivo é poder explicar a razão de ser de cada decisão automática.
- Avaliação da framework e dos métodos de supervisionamento propostos. (Meses 8 e 9)
Para avaliar o método de verificação desenvolvido no passo anterior, o caso de estudo anteriormente construído será usado para garantir que um algoritmo de Machine Learning tem o comportamento correto ou, caso contrário, o verificador irá detetar todos os erros.
- Escrita de artigo científico. (Mês 9)
Caso os resultados se revelem promissores será recomendada a escrita de um artigo científico sob a orientação e com a colaboração dos orientadores.
- Escrita da dissertação de Mestrado. (Mês 10)
Deve ser concluída a escrita da dissertação de mestrado e preparada a respetiva apresentação pública. A dissertação deve documentar todo o trabalho realizado, os resultados e as conclusões obtidas.
Condições
O trabalho irá ser realizado no Departamento de Engenharia Informática da Universidade de Coimbra e o/a Estudante terá acesso a um local de trabalho nos laboratórios do DEI bem como aos recursos computacionais necessários.
Irá ser aberta uma bolsa de investigação para licenciado/a à qual o/a Estudante se poderá candidatar para apoiar os trabalhos a tempo inteiro.
Observações
Esta tese insere-se no âmbito de um projeto de investigação e há a possibilidade de colaboração com uma das universidades com as quais a UC tem colaboração (Paris, CNR, Barcelona ou Bolonha).
Orientador
Raul Barbosa
rbarbosa@dei.uc.pt 📩