Technical
Machine Learning com Preservação de Privacidade
Margarida Vieira · 16 de agosto de 2022
Este artigo relata o meu trabalho na NILG.AI durante um estágio curricular em Machine Learning com preservação de privacidade. Dados de deslocações referem-se a qualquer tipo de informação que conecte a origem e o destino de uma viagem de uma pessoa e são gerados constantemente à medida que nos movimentamos e interagimos com sistemas ligados à Internet. Mas por que motivo são os dados de deslocações sensíveis? As viagens que realizamos são únicas para cada um de nós. Investigadores descobriram que são necessários 12 pontos de uma impressão digital para identificar um indivíduo, enquanto apenas 4 pontos de localização são suficientes para identificar unicamente 95% da população (link).
Naturalmente, podemos generalizar isto para qualquer tipo de dado sensível. Empresas e organizações armazenam atualmente mais dados pessoais do que nunca para servir melhor os seus clientes e operacionalizar de forma mais eficaz. Além disso, como a privacidade está intimamente ligada à segurança, preservar a privacidade dos dados dos utilizadores beneficia tanto os utilizadores como as empresas que processam informações potencialmente sensíveis. Contudo, com muitos atores maliciosos dispostos a aceder a dados pessoais e rastrear informações sensíveis até à sua origem, encontrar uma forma de manter a utilidade dos dados enquanto se reduz adequadamente o risco de fuga de informação sensível tornou-se a principal preocupação.
Esta questão coloca-se naturalmente: como podemos realizar Machine Learning sobre dados para impulsionar avanços técnicos sem criar riscos excessivos para a privacidade dos utilizadores? De facto, a privacidade dos dados é uma questão central no treino e teste de modelos de inteligência artificial, especialmente naqueles que trabalham com dados sensíveis.
Os quatro pilares do Machine Learning com preservação perfeita de privacidade
O significado exato de Machine Learning com preservação perfeita de privacidade ainda não foi completamente esclarecido.
No entanto, é possível definir quatro pilares fundamentais para o alcançar: privacidade dos dados de treino – não deverá ser possível a um ator malicioso engenharia inversa aos dados de treino; privacidade da entrada – os dados de entrada de um utilizador não deverão ser observáveis por outras partes, incluindo o criador do modelo; privacidade da saída – os dados da saída do modelo não deverão ser visíveis por ninguém exceto pelo utilizador cujos dados estão a ser processados; e privacidade do modelo – o modelo não deverá ser vulnerável a qualquer ator malicioso que pretenda roubá-lo (link).
Técnicas de Machine Learning com Preservação de Privacidade
Embora existam muitas técnicas de preservação de privacidade para Inteligência Artificial e Machine Learning, apenas quatro foram selecionadas para exploração e implementação neste estágio curricular: K-anonymity, Differential Privacy com foco no Laplace Mechanism, Homomorphic Encryption e Extreme Learning Machines.
K-Anonymity
K-anonymization é frequentemente referida como o poder de "desaparecer na multidão" e é essencialmente utilizada para generalizar alguns atributos identificadores e remover outros completamente do conjunto de dados, sem comprometer a utilidade e eficácia dos dados (link).
O k em k-anonymity refere-se ao número de vezes que cada combinação de valores aparece num conjunto de dados. Se k = 2, para qualquer registo num conjunto de dados, deve existir pelo menos k outros registos que sejam indistinguíveis. Várias técnicas de k-anonymization mantêm os dados seguros e anónimos, desde generalização até supressão.
Infelizmente, k-anonymity não é suficiente para mais do que conjuntos de dados muito grandes com números pequenos de campos simples por registo. Intuitivamente, quanto mais campos existem e quanto mais entradas possíveis nesses campos, mais único um registo pode ser e mais difícil é garantir que existem k registos equivalentes.
Differential Privacy
Differential Privacy é um conjunto de algoritmos baseado na descrição de padrões de grupos num conjunto de dados enquanto se retém informação sobre indivíduos do conjunto de dados (link).
Informalmente, Differential Privacy garante o seguinte para cada indivíduo que contribui com dados para análise: a saída de uma análise diferencialmente privada será aproximadamente a mesma, independentemente de se contribuir ou não com os seus dados. Isto significa que o risco para a privacidade de um indivíduo não deverá aumentar substancialmente como resultado da participação numa base de dados estatística. Assim, um atacante não deverá conseguir aprender informação alguma sobre qualquer participante que não pudesse aprender se esse participante tivesse optado por não participar na base de dados.
Privacidade absoluta é inerentemente impossível, mas o que Differential Privacy oferece é uma pequena probabilidade de violação de privacidade.
Baseia-se conceitualmente num método anterior conhecido como randomized response, onde a ideia central é introduzir um mecanismo de aleatoriedade que fornece negabilidade plausível. Suponhamos que as respostas registadas num inquérito foram aleatórias, significando que com probabilidade p, a resposta verdadeira seria registada, e com probabilidade 1-p seria registada uma resposta aleatória. Independentemente do que sucedeu, cada indivíduo poderia argumentar que a resposta registada era falsa e, portanto, manter a sua privacidade.
O Laplace Mechanism é um dos métodos mais compreensíveis para Differential Privacy. Até agora, é a única abordagem que possui limites teóricos sobre a privacidade dos utilizadores no conjunto de dados e ainda permite aos cientistas extrair insights úteis. O Laplace Mechanism, contudo, é inadequado para dados categóricos (o Exponential Mechanism seria mais adequado nesse caso).
Homomorphic Encryption
Homomorphic Encryption é um esquema criptográfico de chave pública que inclui três passos principais:
-
O proprietário gera um par de chaves privada e pública
-
O proprietário encripta os dados: com a chave pública, o texto simples é primeiro convertido em texto encriptado, que é ilegível para humanos até que a chave privada correta seja utilizada para o desencriptar.
-
Realiza-se computação sobre dados encriptados: computações são realizadas diretamente sobre o texto encriptado, significando que os dados e resultados permanecem encriptados durante o processo.
-
O proprietário desencripta dados e resultados: os resultados encriptados são então reenviados ao proprietário dos dados e, devido às propriedades homomórficas da encriptação e desencriptação, os dados e resultados são desencriptados pelo proprietário sem que a segurança tenha sido comprometida em qualquer momento durante o procedimento.
Enquanto é padrão os dados estarem encriptados em trânsito, tornam-se vulneráveis uma vez desencriptados para processamento. Como resultado, o cenário ideal seria conseguir processar os dados encriptados diretamente. É aqui que Homomorphic Encryption se torna particularmente interessante, como por exemplo quando se deseja fornecer um serviço de previsão baseado nos dados de um utilizador mas sem que o utilizador necessite confiar noutro partido com os seus dados, fornecendo apenas dados encriptados.
Apesar de ser relativamente simples e ter pouca dependência comparado com os outros métodos, Homomorphic Encryption não consegue realizar multiplicações arbitrárias de forma eficiente e apenas consegue realizar adição e multiplicação, o que pode tornar algumas computações mais difíceis de realizar. Além disso, continua lenta e computacionalmente cara, por isso poderá não ser atualmente prática, principalmente quando comparada com outros mecanismos tradicionais.
Extreme Learning Machines
Extreme Learning Machines são redes neurais com uma única camada ou múltiplas camadas de nós ocultos onde os parâmetros dos nós ocultos não requerem treino.
A ideia é que, ao manter os pesos do modelo aleatórios (mas guardando-os), estamos a aplicar múltiplas adições e multiplicações nos dados que não possuem ainda informação sobre os dados.
Os dados "anonimizados" são a versão comprimida – que pode ter mais, menos, ou o mesmo número de características (dependendo do número de neurónios nas camadas ocultas).
Estágio: na prática
Para efeitos deste estágio, o conjunto de dados New York City Taxi Trip Duration foi utilizado para prever a duração de uma viagem dada a localização e hora do dia.
A importância de compreender e analisar os dados não pode ser negligenciada. Por este motivo, uma análise exploratória minuciosa foi realizada antes do pré-processamento dos dados.
Após conhecer adequadamente o conjunto de dados, iniciou-se a fase de engenharia de características, que, resumidamente, envolveu tratamento de valores em falta através de imputação, tratamento de características não numéricas, por exemplo, através da sua binarização; extração de novas características relevantes a partir das existentes.
Com a engenharia de características definida, o conjunto de dados foi amostrado para aumentar eficiência e acelerar o processamento de dados, ordenado temporalmente, e dividido em amostras de treino e teste. Os modelos de Machine Learning escolhidos foram Linear Regression, XGBoost Regressor e Multi-layer Perceptron (MLP) Regressor. Em termos de métricas, foram avaliadas mean squared error, root mean squared error, mean absolute error, bem como os scores de treino e teste do modelo e o tempo necessário para a sua execução.
Uma explicação mais abrangente e detalhada da análise exploratória, engenharia de características e dos mecanismos de anonimização mencionados, tanto em termos práticos como teóricos, pode ser encontrada no relatório final deste estágio.
Todos os resultados obtidos em Machine Learning com dados anonimizados e não anonimizados foram compilados num dashboard interativo, desenvolvido com a biblioteca Streamlit.
Além disso, se tem interesse em assistir ao vídeo de 5 minutos que submeti como apresentação final, onde percorro uma exploração rápida do dashboard, siga este link.
Conclusões do meu estágio em Machine Learning com Preservação de Privacidade
Relativamente aos objetivos específicos do estágio, creio que um estágio mais longo teria permitido explorar tópicos de complexidade aumentada com maior detalhe. Relativamente a Homomorphic Encryption, apesar de ser um dos métodos mais fortes para anonimizar dados, os resultados obtidos ficaram muito aquém das expectativas, contudo houve falta de tempo para exploração adicional. Quanto ao mecanismo Extreme Learning Machines, cujo poder de anonimização não fica muito atrás do anterior, poderia ter sido explorado com maior detalhe, apesar de os resultados obtidos serem bons quando comparados com os outros mecanismos.
Adquiri um vasto conjunto de novas competências e experiências ao longo de todo o estágio. Apesar de todos os desafios enfrentados, não apenas expandir o meu conhecimento em Machine Learning, que se revelou muito útil numa das minhas unidades curriculares, como também tive a oportunidade única de fazer parte de um projeto de importância incalculável nos dias de hoje.
