Alexander Savsunenko desenvolve sistemas inteligentes há seis anos, dois dos quais são pesquisadores seniores da Universidade Estadual de Nova York em Stony Brook. Ele desenvolveu sistemas inteligentes para análise de DNA, geração de imagens e marketing.
Agora, Alexander lidera o laboratório de IA da Skylum Software, onde está envolvido em editores gráficos baseados em redes neurais. Perguntamos em quais dos serviços criados ele estava particularmente orgulhoso e por que usar redes neurais nos testes A / B.
Alexander, conte-nos sobre seu trabalho de pesquisa na Universidade de Nova York em Stony Brook. Quais projetos você teve lá e foram relacionados à inteligência artificial ou Machine Learning?Não, eles não estavam diretamente relacionados à IA e aprendizado de máquina. Eu estava pesquisando novos materiais baseados em grafeno. Desenvolvemos um novo material para impressão 3D que conduziria eletricidade. Em seguida, usando uma impressora com dois bicos, seria possível imprimir o estojo e a fiação eletrônica da placa de cada vez. Acabamos criando o material, e agora ele está à venda.
Depois que você teve um projeto interessante no campo de aprendizado de máquina - Let's Enhance, um serviço para melhorar a qualidade das fotos. Conte-nos, como você conseguiu ensinar a máquina a recuperar imagens compactadas?Tiramos as imagens de boa qualidade, fomos compactados e com ruído e treinamos a rede neural para que ela aprendesse a restaurar a imagem de boa qualidade. Após o treinamento em tais pares, a rede neural conseguiu melhorar independentemente a qualidade das imagens: remover pixelização, artefatos de compressão e outros defeitos.
Fonte da fotoQual foi o mais difícil neste projeto?Penso em apoiar este sistema em produção. Quando os artigos apareceram no TechCrunch, Mashable sobre nosso serviço, muito tráfego fluiu para nós e, em um dia, processamos cerca de 200 mil imagens. Eu tive que trabalhar para garantir que nossos servidores resistissem a tudo isso.
No ano passado, o Let's Enhance 2.0 foi lançado. O que havia de novo nele?Alteramos a metodologia de treinamento, função de perda e arquitetura de rede. Se você deseja melhorar a qualidade do produto, esses aspectos podem ser alterados infinitamente.
Qual é o público de serviço hoje? Você conseguiu gerar receita com isso?Deixei o Let's Enhance.io há quase um ano. Depois disso, em julho de 2018, a startup entrou no programa Techstars London e recebeu investimentos do acelerador. O projeto monetizou quase imediatamente e teve lucro.
Em quais desenvolvimentos de IA você participou? De quais deles estão especialmente orgulhosos?Meus colegas e eu tivemos um projeto de nutrigenética do Titanovo que analisou o DNA. Usando o aprendizado de máquina, aprendemos a prever marcadores fisiológicos e predisposições com base na análise do genoma e na genotipagem de chips. Eles coletaram dados de artigos científicos, estatísticas, formaram conjuntos de dados, ensinaram modelos, com base neles formularam recomendações para pessoas e previsões sobre sua saúde futura - tudo isso foi construído com lógica difusa, diferentes classificadores. Agora, existem muitos projetos usando AI e ML em nutrigenética, em genética esportiva. Mas estávamos entre os primeiros. Os materiais sobre esses desenvolvimentos podem ser encontrados no meu blog no Medium.
Eu experimentei a otimização dinâmica de páginas de destino para equipes de marketing, mudando a teoria de bandidos com várias armas para redes neurais. Ele criou scripts de aprendizado de máquina para otimizar as compras de tráfego. E o trabalho de imagem que estou fazendo agora também está relacionado à inteligência artificial. E também tenho orgulho dela.
Você está atualmente trabalhando em serviços de edição de imagens. Quais são as funções da rede neural aqui?Primeiro de tudo, reconhecimento de padrões. O maior papel que a IA desempenha no programa Photolemur da Skylum Software: graças à visão de máquina, este programa pode aprimorar as fotos em um clique.
Como está indo isso?Carregamos uma foto e o serviço a aprimora automaticamente - você só precisa salvá-la. Não há pop-ups, controles deslizantes ou modos.
Para fazer isso, primeiro de tudo, o programa precisa reconhecer o tipo de imagem: retrato, paisagem, paisagem urbana. E também pessoas na foto, prédios e outros objetos, hora do dia, hora do ano (se a foto foi tirada na rua). Então você precisa segmentar a imagem, selecione as zonas correspondentes. No retrato, por exemplo, destacam-se certas partes do rosto: olhos, ouvidos, narinas e outras.
Então tudo isso precisa ser aprimorado, e aqui a inteligência artificial não é mais usada. A imagem é aprimorada por algoritmos com fio, seguindo a maneira como os fotógrafos processam essas imagens. Por exemplo, alise a pele, aumente o contraste do palato, torne o branco dos olhos mais claro. Mas tudo isso é secundário. Primeiro de tudo, você precisa segmentar a imagem.
Quais bancos de dados e algoritmos foram usados para treinar o sistema?Falando em uma estrutura para o desenvolvimento de redes neurais, prefiro o MXNet - uma opção bastante exótica para hoje, mas gradualmente ganhando popularidade. A principal vantagem é a velocidade dos cálculos e o modo híbrido de alternar entre os modos imperativo e simbólico de programação de redes neurais, isso é conveniente. Mas os nomes dos conjuntos de dados e algoritmos, não sei, esse é um segredo comercial do projeto.
Que dificuldades você encontrou ao criar um editor de gráficos inteligente?
A tecnologia ainda não amadureceu; as redes neurais geralmente cometem erros: no reconhecimento de padrões e principalmente na segmentação quando se trata de uma imagem complexa. Portanto, tive que analisar os resultados e editar usando métodos tradicionais e algoritmos padrão. Ainda não é possível construir um sistema que, do começo ao fim, faça tudo exclusivamente com a ajuda de uma rede neural. Bem, é claro, ao trabalhar no dispositivo final do usuário, você precisa levar em consideração a complexidade da rede - os cálculos da CPU são bastante lentos, nem todo mundo tem uma GPU habilitada para CUDA e o OpenCL não é bem suportado.
Qual imagem é tirada para a opção perfeita?Nossa equipe de Garantia da qualidade trabalha nisso e presta atenção especial à qualidade final das imagens. Como nossos editores de fotografia e câmeras estão constantemente mudando, é impossível corrigir uma opção ideal, porque está constantemente mudando.
Qual é o público desses produtos? Você é capaz de "atrair" os usuários da Adobe?Nosso principal produto Luminar é uma nova alternativa ao Adobe Lightroom. Devido à equipe pequena e unida, é possível introduzir novas tecnologias no produto muito mais rapidamente e atrair constantemente novos usuários. O Luminar é ótimo para fotógrafos iniciantes e profissionais, porque combina ferramentas de edição com um clique e uma gama completa de funções para um trabalho mais detalhado com fotos.
Interface Luminar O artigo compara o trabalho no Luminar e no PhotoshopMas o Photolemur é um produto único e relativamente jovem, com pouco mais de um ano de idade. Seu público-alvo são pessoas que não querem entender todos os controles deslizantes e botões do Photoshop, mas simplesmente querem que suas fotos de férias se tornem rapidamente lindas. Conseguimos encontrar nosso público: as vendas estão ativadas e o produto é usado ativamente.
Você também está envolvido em projetos que desenvolvem redes neurais para otimizar as páginas de destino. Conte-nos mais sobre este trabalho.Essa é uma tarefa clássica quando você precisa realizar testes A / B de uma página de destino. Se você gerar páginas separadas para todas as opções elementares possíveis, elas poderão gerar milhões de versões. E para obter um resultado estatisticamente significativo com a abordagem clássica, é necessário realizar um teste A / B aos pares de todas essas opções. Isso requer uma quantidade incrível de tráfego. Esses testes em larga escala só podem permitir às empresas recursos muito grandes, como a Amazon, por exemplo.
E se uma pequena empresa deseja testar muitas opções, você pode fazer testes A / B usando redes neurais que trabalham com treinamento de reforço. De fato, preencher a página com elementos é entregue nas mãos de uma rede neural e atribui-a como uma tarefa para aumentar a conversão da página. Nesta versão do trabalho, a rede neural gira no servidor e aprende em paralelo com o andamento do tráfego. E no final, ele encontra a opção ideal de pouso muito mais rápido.
Se for um pouco mais complicado, a IA aprenderá a mostrar versões de páginas de destino personalizadas para um usuário específico. Porque também fornecemos informações adicionais: navegador, hora do dia, sistema operacional. Consequentemente, o usuário vê a página que a rede neural está mostrando a ele e o tráfego com esse método precisa ser atraído significativamente menos. Obviamente, um resultado perfeito não é garantido, mas a página fornecerá bons resultados muito mais rapidamente.
Alexander falará sobre o uso de redes neurais para conteúdo visual e otimização da página de destino em 14 de novembro na AI Conference Kyiv . A lista de outros palestrantes e o programa do evento estão no site oficial .