Há algumas semanas, participei de uma ação para estudantes da Universidade Técnica de Brno (República Tcheca) chamada ŽijemeIT. Esta é uma mini-conferência anual para estudantes, na qual várias empresas de TI grandes e conhecidas em Brno apresentam apresentações gerais sobre suas atividades, orientações e projetos interessantes. Este ano, houve uma tendência notável para as empresas usarem o aprendizado de máquina e a inteligência artificial para resolver vários problemas de negócios. Nesta breve revisão, gostaria de compartilhar algumas observações interessantes sobre esse tópico. Quem se importa, eu peço um corte
A ação é realizada na forma de apresentações da empresa e estandes de informações com folhetos de publicidade. Na apresentação, você pode ter uma ideia geral das atividades da empresa e, durante o intervalo, pode fazer perguntas de interesse aos palestrantes ou conversar com representantes da empresa nos estandes e aprender mais sobre projetos e vagas em aberto. O objetivo da ação é apresentar aos estudantes potenciais empregadores e, possivelmente, encontrar um emprego futuro.

Onde o aprendizado de máquina encontrou sua aplicação
Este ano, muitas apresentações foram dedicadas a tópicos de aprendizado de máquina e inteligência artificial. Essas tecnologias são usadas em várias áreas e áreas de TI.
Por exemplo, a empresa americana Mavenir analisa a segurança das redes das operadoras móveis e identifica transações fraudulentas (a chamada auditoria de vulnerabilidade de rede). Para analisar mensagens de spam e identificar ataques fraudulentos, o Mavenir usa métodos clássicos de aprendizado de máquina.
No início, os especialistas da empresa coletam dados das operadoras de telefonia móvel, em particular dados sobre chamadas telefônicas e mensagens SMS (duração da chamada, número do chamador, número do remetente da mensagem, texto da mensagem). Em seguida, os gráficos estatísticos são construídos com base em eles e vários métodos analíticos são aplicados: gráficos sociais, análise semântica. O objetivo é identificar qualquer atividade suspeita na rede. A análise de dados estatísticos permite criar um classificador de texto de mensagens. Por fim, com base na pesquisa, os especialistas da Mavenir fornecem a um provedor de serviços móveis um relatório detalhado e uma previsão do potencial de qualquer atividade fraudulenta em sua rede móvel.
Aqui está o problema de receber dados de chamadas e mensagens em diferentes países. Para analisar vulnerabilidades na rede, são necessários dados reais do operador. Diferentes reguladores do controle de dados pessoais operam em diferentes países: o GDPR opera na Europa e os estados têm suas próprias leis.
Em termos de tecnologia, Keras e scikit-learn são usados. Em relação ao Python, há uma limitação no multithreading - uma limitação conhecida do Global Interpret Locker (GIL), que é uma limitação crítica ao processar grandes quantidades de dados. C ++ XGBoost usado anteriormente. Permite obter um atraso muito pequeno (menos de 0,1 ms).

Outro exemplo é Y Soft. A empresa está desenvolvendo interfaces de usuário para impressoras. Uma das tarefas importantes aqui é testar o programa concluído. O teste manual é bastante demorado, demorado e não exclui a possibilidade de erro. Portanto, a empresa automatizou o teste manual da interface do usuário do programa usando a visão computacional e um braço robótico (o projeto RQA pode ser lido
aqui e
aqui ).

O braço robótico é autorizado no terminal usando credenciais, vai para a tela de destino, seleciona a tarefa desejada (digitaliza, imprime), verifica o sucesso e, finalmente, vai para a tela principal.

O robô é monitorado por uma câmera que grava suas ações em vídeo. Aqui, as tarefas de detecção de tela e reconhecimento de elementos no aplicativo são resolvidas. Os métodos clássicos de visão computacional foram originalmente utilizados: descritores de recursos, OCR. Um dos problemas foi o chamado efeito Moiré - o aparecimento de uma série de faixas horizontais na tela do monitor, o que geralmente ocorre quando se olha para a tela do monitor através da câmera. Como resultado de experimentos, os problemas foram resolvidos usando um novo classificador de imagens baseado em histogramas de bordas distorcidas cumulativas locais. Nesse caso, o uso da IA pode aumentar significativamente a velocidade da operação (cerca de um segundo versus 20 segundos nos métodos tradicionais de processamento de imagem).

Em termos de tecnologia, eles usaram inicialmente o CNTK (wrapper sobre C ++) e o Accord. O CNTK possui uma API complexa e o Accord não é mais suportado e possui baixa simultaneidade. Por fim, a biblioteca ML .NET é usada em conjunto com as tecnologias .NET (ASP .NET).
Onde o aprendizado de máquina ainda não é aplicável
Em alguns casos, os métodos tradicionais para resolver problemas sem usar o aprendizado de máquina ainda continuam sendo a melhor opção. Por exemplo, a Thermo Fisher Scientific está desenvolvendo um programa de imagem para um microscópio eletrônico com pré-processamento de imagem. Para o processamento de imagens, são utilizados métodos tradicionais de visão computacional.

Isto é devido a vários fatores. Em primeiro lugar, os métodos de aprendizado de máquina não podem fornecer 100% de precisão, mesmo um erro insignificante sempre ocorre. Nesse caso, quando o cliente é uma organização científica (por exemplo, laboratórios de pesquisa envolvidos na produção de microchips), a precisão crítica para o cliente é o fator de aceitação. Em segundo lugar, para alcançar a máxima eficiência de previsão, os mesmos modelos de aprendizado de esponja exigem uma quantidade enorme de dados para treinamento, preferencialmente o máximo possível daqueles em que sua precisão será avaliada. No caso da Thermo Fisher Scientific, o cliente não está pronto para fornecer seus dados para testes de desempenho.

Finalmente, é difícil explicar o resultado obtido pela inferência de uma rede neural (o fenômeno conhecido de redes neurais como a “caixa preta”). É o caso quando a extrema precisão e compreensão do processo de tomada de decisão tem uma prioridade mais alta do que a implementação da tarefa e a velocidade de execução.
Por enquanto é tudo. Boa sorte a todos e até breve!