p Figura 1:Exemplo adversário (direita) obtido adicionando ruído adversário (meio) a uma imagem de entrada limpa (esquerda). Embora o ruído adicionado no exemplo adversário seja imperceptível para um humano, isso leva a Deep Neural Network a classificar erroneamente a imagem como "prego" em vez de "panda gigante". Crédito:IBM Blog Research
p Nos últimos anos, assistimos a enormes avanços no desenvolvimento da inteligência artificial (IA). Os sistemas modernos de IA alcançam desempenho de nível humano em tarefas cognitivas, como o reconhecimento de objetos em imagens, anotando vídeos, convertendo fala em texto, ou traduzir entre diferentes idiomas. Muitos desses resultados inovadores são baseados em Redes Neurais Profundas (DNNs). DNNs são modelos complexos de aprendizado de máquina com certa semelhança com os neurônios interconectados no cérebro humano. DNNs são capazes de lidar com entradas de alta dimensão (por exemplo, milhões de pixels em imagens de alta resolução), representando padrões nessas entradas em vários níveis de abstração, e relacionar essas representações a conceitos semânticos de alto nível. p Uma propriedade intrigante dos DNNs é que, embora sejam normalmente altamente precisos, eles são vulneráveis aos chamados exemplos de adversários. Exemplos adversários são entradas (digamos, imagens) que foram deliberadamente modificadas para produzir uma resposta desejada por um DNN. Um exemplo é mostrado na Figura 1:aqui, a adição de uma pequena quantidade de ruído adversário à imagem de um panda gigante leva o DNN a classificar erroneamente esta imagem como um prego. Muitas vezes, o alvo dos exemplos adversários é a classificação incorreta ou uma previsão incorreta específica que beneficiaria um invasor.
p Ataques adversários representam uma ameaça real à implantação de sistemas de IA em aplicativos críticos de segurança. Alterações virtualmente indetectáveis de imagens, vídeo, Fala, e outros dados foram criados para confundir os sistemas de IA. Essas alterações podem ser feitas mesmo se o invasor não tiver conhecimento exato da arquitetura do DNN ou acesso aos seus parâmetros. Ainda mais preocupante, ataques adversários podem ser lançados no mundo físico:em vez de manipular os pixels de uma imagem digital, adversários podem escapar dos sistemas de reconhecimento facial usando óculos especialmente projetados, ou derrotar os sistemas de reconhecimento visual em veículos autônomos colando patches nos sinais de trânsito.
p A IBM Research Ireland está lançando a Adversarial Robustness Toolbox, uma biblioteca de software de código aberto, para apoiar pesquisadores e desenvolvedores na defesa de DNNs contra ataques adversários e, assim, tornar os sistemas de IA mais seguros. O lançamento será anunciado na conferência RSA pelo Dr. Sridhar Muppidi, IBM Fellow, VP e CTO IBM Security, e Koos Lodewijkx, Vice-presidente e CTO de Operações e Resposta de Segurança (SOAR), Segurança IBM.
p O Adversarial Robustness Toolbox é projetado para apoiar pesquisadores e desenvolvedores na criação de novas técnicas de defesa, bem como na implantação de defesas práticas de sistemas de IA do mundo real. Os pesquisadores podem usar o Adversarial Robustness Toolbox para comparar as novas defesas contra o estado da arte. Para desenvolvedores, a biblioteca fornece interfaces que suportam a composição de sistemas de defesa abrangentes usando métodos individuais como blocos de construção.
p A biblioteca é escrita em Python, a linguagem de programação mais comumente usada para desenvolvimento, teste e implantação de DNNs. Inclui algoritmos de última geração para criar exemplos adversários, bem como métodos para defender DNNs contra eles. A abordagem para defender DNNs é tripla:
- Medindo a robustez do modelo. Em primeiro lugar, a robustez de um dado DNN pode ser avaliada. Uma maneira direta de fazer isso é registrar a perda de precisão em entradas alteradas adversamente. Outras abordagens medem o quanto as representações internas e a saída de um DNN variam quando pequenas mudanças são aplicadas a suas entradas.
- Endurecimento do modelo. Em segundo lugar, um determinado DNN pode ser "reforçado" para torná-lo mais robusto contra entradas adversárias. Abordagens comuns são pré-processar as entradas de um DNN, para aumentar os dados de treinamento com exemplos adversários, ou para alterar a arquitetura DNN para evitar que sinais adversários se propaguem através das camadas de representação internas.
- Detecção de tempo de execução. Finalmente, os métodos de detecção de tempo de execução podem ser aplicados para sinalizar quaisquer entradas com as quais um adversário possa ter moderado. Esses métodos normalmente tentam explorar ativações anormais nas camadas de representação interna de um DNN causadas pelas entradas adversárias.
p Para começar com a caixa de ferramentas de robustez adversária, verifique a versão de código aberto em github.com/IBM/adversarial-robustness-toolbox. O lançamento inclui extensa documentação e tutoriais para ajudar os pesquisadores e desenvolvedores a começarem rapidamente. Um white paper descrevendo os detalhes dos métodos implementados na biblioteca está em preparação.
p Esta primeira versão do Adversarial Robustness Toolbox é compatível com DNNs implementados nas estruturas de aprendizado profundo TensorFlow e Keras. Versões futuras estenderão o suporte a outras estruturas populares, como PyTorch ou MXNet. Atualmente, a biblioteca tem como objetivo principal melhorar a robustez adversária dos sistemas de reconhecimento visual, Contudo, estamos trabalhando em versões futuras que incluirão adaptações a outros modos de dados, como voz, texto ou série temporal.
p Como um projeto de código aberto, a ambição do Adversarial Robustness Toolbox é criar um ecossistema vibrante de colaboradores da indústria e da academia. A principal diferença para esforços semelhantes em andamento é o foco nos métodos de defesa, e na composição de sistemas de defesa práticos. Esperamos que o projeto Caixa de Ferramentas de Robustez Adversarial estimule a pesquisa e o desenvolvimento em torno da robustez adversária de DNNs, e avançar na implantação de IA segura em aplicativos do mundo real. Compartilhe conosco sua experiência de trabalho com a Adversarial Robustness Toolbox e quaisquer sugestões para melhorias futuras.