O Google anunciou hoje que disponibilizará em código aberto o seu algoritmo “Show and Tell”, por meio do qual máquinas podem aprender a gerar legendas descritivas para imagens. O código do algoritmo já está disponível no GitHub como um modelo do TensorFlow, a ferramenta de treinamento de redes neurais que o Google disponibilizou recentemente.
A principal função do “Show and Tell” é identificar objetos e ações que estejam acontecendo em fotografias para gerar, automaticamente, legendas descritivas para elas. Essas legendas, por sua vez, podem ser usadas para criar programas de acessibilidade para internautas com deficiências visuais ou para auxiliar outros pesquisadores de inteligência artificial, por exemplo.
Segundo a empresa, ele utiliza a terceira geração do módulo “Inception” de classificação de imagens para entender o que cada foto mostra. Com isso, além de compreender quais objetos a imagem contém, a inteligência artificial também é capaz de descrever a relação entre elas. Por exemplo, ela pode entender que um cachorro está correndo atrás de uma bolinha. Graças a esses recursos, ela é capaz de descrever imagens com 93,9% de precisão.
Com suas próprias palavras
Num primeiro momento, a rede neural precisa ser treinada com centeas de milhares de imagens já legendadas, com base nas quais ela aprende a identificar objetos. Após essa fase de treinamento, ela consegue reaproveitar as legendas escritas por humanos em fotos que tragam cenas semelhantes, como pode ser cisto na imagem acima (após receber as três fotos da esquerda, a rede produziu a legenda da foto da direita).
Entretanto, essa não é a única capacidade do “Show and Tell”. Após ser treinado com um número suficiente de imagens, ele consegue juntar elementos de fotos e legendas diferentes para criar suas próprias descrições para situações diferentes das que ele já viu. No exemplo abaixo, ele produziu a legenda da foto da direita (diferente das demais) após ser treinado com as fotos da esquerda.
Treino pesado
Para usar o sistema, no entanto, é necessário bastante tempo e poder computacional. Isso porque o modelo disponibilizado pelo Google exige que ele seja treinado pelo próprio usuário. Para isso, é necessário um computador com uma placa de vídeo especializada nesse tipo de tarefa. Essa versão, segundo o Google, consegue ainda ser 25% mais rápida por ciclo de treinamento que as anteriores.
Mesmo assim, o processo de treinamento ainda deve levar cerca de duas semanas, de acordo com o Engadget. No entanto, de acordo com o site, como o sistema foi dispoibilizado em código aberto, é possível que em breve uma versão já treinada seja disponibilizada na internet.