Uma (muito) Rápida Introdução à ‘Inteligência Artificial’

O poder de computação ao alcance das pessoas começou a crescer rapidamente, aos trancos e barrancos, na virada do milênio, quando as unidades de processamento gráfico (GPUs) começaram a ser aproveitadas para cálculos não gráficos, uma tendência que se tornou cada vez mais difundida na última década. Mas as demandas da computação de “Aprendizado Profundo” [Deep Learning] têm aumentado ainda mais rápido. Essa dinâmica estimulou os engenheiros a desenvolver aceleradores de hardware voltados especificamente para o aprendizado profundo [o que se conhece popularmente como ‘Inteligência Artificial’], sendo a Unidade de Processamento de Tensor (TPU) do Google um excelente exemplo.

Ainda não temos uma Teoria da Mente, que possa nos dar uma base para a construção de uma verdadeira inteligência senciente. Aqui a distinção entre as disciplinas que formam o campo da Inteligência Artificial

Aqui, descreverei resumidamente o processo geral do aprendizado de máquina, introduzindo uma abordagem muito diferente para este problema – o uso de processadores óticos para realizar a computação de uma rede neural com fótons em vez de elétrons, que será objeto do próximo post. Para entender como a ótica pode impulsionar este campo, precisamos saber um pouco sobre como os computadores executam cálculos de redes neurais.

Visão geral

Quase invariavelmente, os neurônios artificiais são ‘construídos’ [na verdade eles são virtuais] usando um software especial executado em algum tipo de computador eletrônico digital.

Esse software fornece a um determinado neurônio da rede várias entradas e uma saída. O estado de cada neurônio depende da soma ponderada de suas entradas, à qual uma função não linear, chamada função de ativação, é aplicada. O resultado, a saída desse neurônio, torna-se então uma entrada para vários outros neurônios, em um processo em cascata.

As camadas de neurônios interagem entre si. Cada círculo representa um neurônio, em uma visão muito esquemática. À esquerda (em amarelo) a camada de entrada. Ao centro, em azul e verde, as camadas ocultas, que refinam os dados, aplicando pesos variados a cada neurônio. À direita, em vermelho, a camada de saída, com o resultado final.

Por questões de eficiência computacional, esses neurônios são agrupados em camadas, com neurônios conectados apenas a neurônios em camadas adjacentes. A vantagem de organizar as coisas dessa maneira, ao invés de permitir conexões entre quaisquer dois neurônios, é que isso permite que certos truques matemáticos de álgebra linear sejam usados ​​para acelerar os cálculos.

Embora os cálculos de álgebra linear não sejam toda a história, eles são a parte mais exigente do aprendizado profundo em termos de computação, principalmente à medida que o tamanho das redes aumenta. Isso é verdadeiro para ambas as fases do aprendizado de máquina:

  • O treinamento – processo de determinar quais pesos aplicar às entradas de cada neurônio.
  • A inferência – processo deflagrado quando a rede neural está fornecendo os resultados desejados.
Concepção do processo de treinamento de máquina, dos dados brutos, à esquerda, ao modelo completo.

Matrizes

O que são esses misteriosos cálculos de álgebra linear? Na verdade eles não são tão complicados. Eles envolvem operações com matrizes, que são apenas arranjos retangulares de números – planilhas, se preferir, menos os cabeçalhos de coluna descritivos que você encontra em um arquivo Excel típico.

É bom que as coisas sejam assim, porque o hardware de um computador moderno é otimizado exatamente para operações com matriz, que sempre foram o pão com manteiga da computação de alto desempenho – muito antes de o aprendizado de máquina se tornar popular. Os cálculos matriciais relevantes para o aprendizado profundo se resumem essencialmente a um grande número de operações de multiplicação e acumulação, em que pares de números são multiplicados entre si e seus produtos somados.

Ao longo dos anos, o aprendizado profundo foi exigindo um número cada vez maior dessas operações de multiplicação e acumulação. Considere LeNet, uma rede neural pioneira, projetada para fazer classificação de imagens. Em 1998, demonstrou superar o desempenho de outras técnicas de máquina para reconhecer letras e numerais manuscritos. Mas em 2012 o AlexNet, uma rede neural que processava cerca de 1.600 vezes mais operações de multiplicação e acumulação do que o LeNet, foi capaz de reconhecer milhares de diferentes tipos de objetos em imagens.

Gráfico tridimensional ilustrando o processo de inferência, partindo de dados brutos dispersos (embaixo à direita) até o refinamento final (após muitas iterações de inferência), onde o resultado (ou predição) é obtido.

Aliviar a pegada de CO2

Avançar do sucesso inicial do LeNet para o AlexNet exigiu quase 11 duplicações do desempenho de computação. Durante os 14 anos que se passaram, a lei de Moore ditava grande parte desse aumento. O desafio tem sido manter essa tendência agora que a lei de Moore dá sinais de que está perdendo força. A solução de sempre é simplesmente injetar mais recursos – tempo, dinheiro e energia – no problema.

Como resultado, o treinamento das grandes redes neurais tem deixado uma pegada ambiental significativa. Um estudo de 2019 descobriu, por exemplo, que o treinamento de um determinado tipo de rede neural profunda para o processamento de linguagem natural emite cinco vezes mais CO2 do que um automóvel durante toda a sua vida útil.

Os aprimoramentos nos computadores eletrônicos digitais com certeza permitiram que o aprendizado profundo florescesse. Mas isso não significa que a única maneira de realizar cálculos de redes neurais seja necessariamente através dessas máquinas. Décadas atrás, quando os computadores digitais ainda eram relativamente primitivos, os engenheiros lidavam com cálculos difíceis como esses usando computadores analógicos.

À medida que a eletrônica digital evoluiu, esses computadores analógicos foram sendo deixados de lado. Mas pode ser hora de seguir essa estratégia mais uma vez, em particular nestes tempos em que cálculos analógicos podem ser feitos oticamente de forma natural.

No próximo post vou trazer o mais recente desenvolvimento em fotônica aplicada ao aprendizado de máquina – em uma arquitetura analógica! Estamos, sem dúvida, vivendo tempos interessantes neste campo promissor.

Fonte de pesquisa: spectrum.ieee.org

Algo Prático: Um Provador Virtual para o Varejo de Confecções

Hoje vou me despir [trocadilho intencional] da pretensão intelectual- acadêmica para enfocar um assunto prático sobre desenvolvimento de sistemas.

Eu tenho grande interesse no mercado de confecções e moda, em geral. Talvez pelo fato de ter uma clientela no setor, além de amigos e familiares envolvidos no negócio. Nosso estúdio de software já teve a oportunidade de criar inovações importantes para nossos clientes do setor de confecções, sempre com foco na interação e responsividade. Por essa razão, achei que seria interessante falar neste post sobre o sistema Revery AI. Queremos nos colocar como fornecedores dessa classe de tecnologia para o mercado brasileiro, empregando nossa expertise em manipulação de imagens, sistemas de aprendizado de máquina (AI) e soluções 3D.

Imagem: iStock

O aumento repentino das compras online por conta da pandemia de Covid-19 impôs desafios significativos aos varejistas de confecções. A incapacidade física de experimentar e visualizar as roupas tornou as compras menos interativas, contribuindo para baixas taxas de conversão e altas taxas de devolução, em comparação com as compras tradicionais. Os provadores virtuais como o que discutimos aqui tornam-se alternativas viáveis, nestes tempos infecciosos, para recriar, em certa medida, a experiência perdida de provar roupas pessoalmente. Existem muitas empresas desenvolvendo um provador virtual [inclusive a nossa]. O grande problema para sua implementação é a escalabilidade.

Os sites de comércio eletrônico de confecções têm milhares, senão milhões de items em estoque – que chamaremos de Unidade(s) de Manutenção de Estoque (UME). Atualmente, o fluxo de trabalho para edição de conteúdo dos sites que vendem para esse segmento geralmente requer trabalho gráfico personalizado em software como o Photoshop e/ou software modelador em 3D, que são caros e requerem mão-de-obra especializada. Em contraste, o Revery AI aproveita a pesquisa de aprendizado de máquina [Machine Learning] para automatizar todo esse processo, resultando no primeiro provador virtual escalável que pode ser facilmente integrado a qualquer grande plataforma de e-commerce com milhões de UMEs.

Aprendizado de Máquina

Em vez de uma produção gráfica elaborada, em 3D, o sistema trabalha com imagens básicas. O objetivo é produzir visualizações precisas e realistas de roupas vestindo pessoas. Uma solução comum [e ingênua] para atualizar o conteúdo do site com novos items seria simplesmente copiar e colar a peça no modelo. Mas isso apresenta dois problemas.

1) Se as poses e maneirismos do modelo-roupa forem incompatíveis, o copiar-colar não funcionará.

2) Mesmo com poses ideais, copiar e colar não leva em consideração as interações peça-peça, peça-peça-modelo e também ignora a iluminação, as sombras, etc.

Este sistema usa o aprendizado de máquina profundo [deep learning] para superar esses problemas. Para o problema 1), o Revery AI usa uma série de distorções, para deformar a imagem da roupa em uma forma aproximada à do corpo fazendo a pose apropriada. Isso difere das abordagens comuns de baixa tecnologia, que normalmente usam apenas uma única e limitada deformação/transformação de imagem.

Para o problema 2), o sistema se baseia em um gerador de imagem que recebe as entradas relevantes (a imagem do modelo, imagem da roupa, pose, etc.) e retorna uma imagem realista de uma figura humana vestindo a roupa. O sistema produz melhorias significativas no tamanho, ajuste e caimento, em comparação com as técnicas costumeiras de baixa tecnologia, permitindo criar imagens realistas de qualquer modelo usando qualquer combinação de roupas. Para os interessados em detalhes técnicos adicionais, este link leva ao artigo original da pesquisa no site de pré-impressões Arxiv >> https://arxiv.org/abs/2003.10817

Tela do Revery AI. O usuário seleciona a peça à direita e o software a renderiza no modelo virtual à esquerda. Note que o software faz os ajustes e transformações na peça para se adaptar realisticamente ao modelo. A peça foi fotografada normalmente em superfície plana.

A abordagem de exibição de produtos e venda online adotada pelo Revery AI torna a integração com os varejistas muito mais fácil, porque requer apenas uma única imagem da peça de roupa em um fundo de cor uniforme. Todo o resto é integrado e resolvido pelo software. A equipe do Revery processa em torno de um milhão de imagens por semana. Em seguida, trabalha com o varejista para criar um ‘widget’ que possa ser facilmente integrado ao site da loja. A simplicidade desta solução significa que os clientes podem ter um provador virtual montado em poucos dias.

O sistema já se integra com sucesso a vários varejistas de alto perfil no e-commerce de moda. Pesquisas com os clientes mostram que o provador virtual melhorou o engajamento médio dos usuários em 500% e, mais importante, proporcionou um aumento na taxa de conversão da venda também de 500%. Além disso, os resultados mostram aumentos no valor médio dos pedidos e diminuições nas taxas de devolução. Essa solução também atende vários casos de uso que vão além do provador virtual. Como a geração e manipulação de imagens está no centro do negócio, os clientes também têm interesse em usar o sistema para gerar imagens de sessões de fotos “in store”, para economizar nas despesas com os vários tipos de serviços fotográficos que utilizam.

Embora a experimentação virtual baseada em imagens seja um campo de pesquisa ativo na academia, a transição da pesquisa para o produto não é trivial. Gerar imagens realistas e precisas de pessoas e roupas em alta fidelidade é mais difícil do que parece. Quaisquer imprecisões são simplesmente inaceitáveis ​​para os clientes. A start-up demorou um ano para obter resultados satisfatórios.

Neste ponto, percebemos que esse exercício aparentemente acadêmico pode realmente ser uma ferramenta que usuários reais desejam usar. É uma grande inovação, capaz de trazer movimento para esse mercado tão significativo para a economia brasileira, especialmente neste momento de crescimento das compras online.

Nosso estúdio [Vox Leone] se mantém sempre atualizado sobre essa linha de pesquisa, que acompanhamos de perto há quase duas décadas. Se você quiser saber mais sobre o sistema, ou experimentar a tecnologia em seu site ou plataforma, entre em contato. Esta é uma das nossas linhas de trabalho favoritas.

Uma demonstração ao vivo pode ser vista e experimentada [em inglês] neste link: https://revery.ai/demo.html