A convergência dos sistemas de inteligência artificial (IA) com o mundo ágil está tendo um efeito perturbador na maneira como construímos software e nos tipos de produtos que construímos, diz Aidan Casey. Combinando machine learning e deep learning, podemos construir aplicativos que realmente aprendam como seres humanos. O preconceito na IA é uma grande preocupação, já que os sistemas de inteligência artificial são tão bons quanto os conjuntos de dados usados para treiná-los.
Aidan Casey, gerente sênior de engenharia de software da Johnson Controls, falou sobre como as capacidades de inteligência artificial serão usadas para aumentar e moldar o mundo ágil de amanhã na aginext 2019. A conferência foi realizada de 21 a 22 de março em Londres, Reino Unido. Segundo o site do evento:
A Aginext dedica dois dias ao futuro das transformações Agile, Lean, CICD e DevOps. Não destinado a novatos - embora todos sejam bem vindos! A Aginext é a primeira conferência desse tipo focada em ajudar agilistas experientes como você a se sentirem revigorados nas transformações culturais e técnicas.
Em sua palestra, Casey explora como a próxima geração de produtos com tecnologia de inteligência artificial vê os desenvolvedores se distanciando da codificação de regras de negócios e indo em direção a configuração de algoritmos treinados por dados do mundo real. Isso muda o cenário quando se trata de criar software, movendo os desenvolvedores de software para cima na cadeia de valor.
Casey explica por que os produtos de software são tão confiáveis quanto os dados e os algoritmos que os capacitam. Garantir que todos os fluxos de dados sejam precisos e consumidos corretamente por sistemas de IA será uma preocupação primordial para as equipes que trabalham no desenvolvimento de software. Ter uma compreensão geral das práticas de ciência de dados e dos diferentes tipos de algoritmos (bayesiano, logístico, etc.) está se tornando uma habilidade crucial.
De acordo com Casey, o preconceito na inteligência artificial é uma preocupação real para o nosso setor, é algo que ainda não compreendemos e regulamos. Todos os sistemas de IA são o produto de algoritmos construídos e são suscetíveis a preconceitos. Quer isso aconteça intencionalmente ou não, os sistemas de IA são tão bons quanto os conjuntos de dados usados para treiná-los.
O InfoQ entrevistou Aidan Casey sobre a aplicação de inteligência artificial no mundo ágil.
InfoQ: O que a Inteligência Artificial nos trouxe ao longo dos anos?
Aidan Casey: O trabalho começou no campo da Inteligência Artificial nos anos 50, com Alan Turing sonhando em criar máquinas que pudessem pensar independentemente. Setenta anos depois, creio que agora estamos entrando na era de ouro da IA. Para ilustrar o quanto ela avançou, vale a pena considerar a IA em termos de jogos em que os computadores são colocados contra os humanos. A jogabilidade tem sido um método escolhido para demonstrar as capacidades das máquinas pensantes e para medir o quanto a IA avançou.
O divisor de águas começou em 1997, quando o Deep Blue da IBM venceu o atual campeão mundial de xadrez Garry Kasparov em uma competição de seis jogos. Foi quando o mundo realmente começou a prestar atenção às máquinas. Pelos padrões de hoje, os recursos de IA do Deep Blue são bastante limitados, era essencialmente um computador rápido construído em torno de um algoritmo de busca de árvore altamente otimizado.
Avançamos para 2011, quando o sistema de computador Watson da IBM ganhou no programa de televisão Jeopardy!, batendo dois dos mais bem sucedidos concorrentes de todos os tempos. Durante o concurso, o Watson não tinha acesso à internet, seu raciocínio cognitivo e capacidade de processamento de linguagem natural ultrapassavam os humanos.
Em 2017, o AlphaZero chegou, uma verdadeira máquina de jogo de propósito geral. AlphaZero dominou os jogos de xadrez, Go and Shogi (Xadrez Japonês) em apenas três dias treinando e jogando contra si mesmo usando aprendizado de máquina não supervisionado e reforçado. Percorremos um longo caminho em setenta anos e as máquinas são melhores que nós em muitos jogos de reflexão.
InfoQ: Como a AI pode ajudar equipes ágeis na criação de produtos melhores com mais rapidez?
Casey: O aprendizado de máquina pode ser aplicado a todos os tipos de casos de uso, desde detecção de fraude e anomalia até inteligência de negócios, pesquisa médica, segurança e reconhecimento de imagem. Os cientistas de dados são os pioneiros em nosso admirável mundo novo.
O Processamento de Linguagem Natural (PNL) está tendo um efeito igualmente transformador no desenvolvimento de produtos. A tradução de idiomas, a análise de sentimentos, a resposta a perguntas, os chatbots e as interfaces conversacionais agora confundem as linhas entre onde o software termina e onde as experiências humanas começam.
InfoQ: Como isso afeta os processos e práticas usados para desenvolver software e as habilidades necessárias?
Casey: A abordagem ágil de adotar ciclos curtos de desenvolvimento com o objetivo de fornecer continuamente valor ao cliente funciona igualmente bem para projetos cognitivos e centrados em IA. Para o trabalho intensivo de dados, como a construção de modelos de aprendizado de máquina, vale a pena considerar a abordagem CRISP-DM (processo entre indústrias para mineração de dados). Com essa abordagem, os modelos de aprendizado de máquina são aprimorados, refinados, e implantados iterativamente até que o resultado desejado seja alcançado.
Processos de desenvolvimento, como refinamento de backlog e priorização de recursos, são definidos para se tornar ainda mais orientados a dados. Com o surgimento do software inteligente de autoaprendizagem, as equipes terão insights mais profundos sobre os padrões e comportamentos de uso de seus usuários. As decisões de priorização do backlog serão mais orientadas à dados e menos à sentimento.
InfoQ: Como podemos aplicar o autoaprendizado em aplicativos ou sistemas de software?
Casey: Há um número crescente de produtos de software de atendimento ao cliente que permitem combinar seu suporte de base de conhecimento existente com chatbots para fornecer respostas pré-enlatadas e de autoaprendizagem para consultas de clientes.
Essa é uma ótima maneira de começar a experimentar os recursos de autoaprendizagem.
Os sistemas de recomendação, conforme popularizados pelo recurso de recomendação de filmes da Netflix, fizeram avanços significativos nos últimos anos. Estes podem ser facilmente integrados em sistemas existentes para adicionar capacidades de autoaprendizagem. Por exemplo, os sistemas de filtragem colaborativa podem coletar e analisar informações comportamentais dos usuários na forma de feedback, avaliações, preferências, e uso de recursos. Com base nessas informações, esses sistemas exploram semelhanças entre vários usuários para sugerir recomendações de usuários.
InfoQ: Como os robôs de operações de inteligência artificial podem nos ajudar a facilitar a solução de problemas?
Casey: O surgimento de chatbots operacionais, popularizados pelo hubot, projeto de código aberto do github, estão mudando o paradigma tradicional de operações. O trabalho que anteriormente acontecia offline agora está sendo trazido para salas de bate-papo usando ferramentas de comunicação como o Slack. Ao fazer isso, as equipes estão unificando suas comunicações para incluir tudo, desde o desenvolvimento e teste até as implantações de produção e a resolução de interrupções do sistema.
Outra tendência interessante é o surgimento da análise baseada em PNL e aprendizado de máquina de logs operacionais, o que está ajudando a facilitar a resolução de problemas e a análise de causa raiz.
Os modelos de aprendizado de máquina podem ser treinados para analisar logs de eventos e categorizar e classificar as respostas operacionais corretas.
InfoQ: Quais questões éticas precisamos considerar ao aplicar a IA?
Casey: Na sociedade, os pais constantemente fornecem feedback e orientação aos seus filhos para que eles sejam bons membros da sociedade com uma bússola moral bem afiada. Da mesma forma, ao projetar sistemas de IA, precisamos treiná-los para garantir que a forma como os dados são consumidos e processados é ética e justa.
Como indústria, há necessidade de mais regulamentação para garantir que façamos a coisa certa.
A controvérsia recente da Cambridge Analytica destaca a necessidade de um exame mais detalhado - só porque você pode construir, não significa que você deveria.
Tem havido alguns casos de alto perfil que destacam os problemas de preconceito na IA. Em 2017, Vicente Ordóñez, professor de ciências da computação da Universidade da Virgínia, percebeu um padrão em algumas das suposições feitas pelo software de reconhecimento de imagens que estava criando, em que fotos de pessoas na cozinha eram automaticamente marcadas como mulheres. A causa raiz disso foi um conjunto de dados de código aberto que foi usado para treinar o modelo de reconhecimento de imagem chamado de conjunto de dados COCO. Neste conjunto de dados, a maioria dos objetos de cozinha, como colheres e xícaras, foram retratados ao lado das mulheres, e isso introduziu o preconceito.
Sistemas de IA treinados injustamente podem reforçar um preconceito existente. Este é um dos maiores desafios que enfrentamos como indústria. A diversidade é a chave para eliminar o preconceito, empregar conjuntos de dados diversos e justos para treinar sistemas de IA. Da mesma forma, precisamos de diversidade nas equipes de desenvolvimento que constroem nossos sistemas de IA para trazer equilíbrio.