O uso de tecnologias computacionais de processamento, análise de dados em nuvem e ferramentas de IA associado a inovação de coleta e processamento de dados em tempo real, apresenta uma enorme inovação, considerando-se a grande variabilidade e os diversos parâmetros reais de operação dos processos agrícolas.
A coleta de dados de fontes diversas tais como dados gerados por maquinários, equipamentos, sensores de campo até as fases de logística e de escoamento para processamento e beneficiamento do produto.
Um dos desafios da indústria de beneficiamento de sementes, envolve aprender e identificar vários padrões de leitura de dados a fim de realizar comparações entre informações geradas que forneçam uma base para análises profundas e tomadas de decisão visando-se ganho de tempo, qualidade e segurança.
A busca por integração entre todas as informações coletadas buscando por alternativas intermediárias, como detecção de anomalias, que envolve o monitoramento em tempo real para detectar tendências incomuns e padrões específicos foram necessários para construção de nosso robusto modelo de Machine Learning para tratativa da problemática em questão, bem como integrar todos os dispositivos (Diferentes tecnologias de Hardware, Softwares e Protocolos de Comunicação) unificando e entregando benefícios até para sistemas de gerenciamento (ERP).
Esse desenvolvimento exigiu grande esforço e multidisciplinaridade, principalmente na integração e controle de máquinas industriais, onde o objetivo era o desenvolvimento de uma solução que gera-se o mínimo impacto possível, de maneira a evitar a necessidade de trocas de equipamentos ou atualizações tecnológicas as quais gerariam altos custos e aumentariam a nossa dificuldade de entrar no mercado.
Para resolver isso, criamos um CED (Centro de Experiência Digital), utilizando equipamentos de fabricantes comumente utilizados pela Indústria para controle de automação, e através dele criamos gateways virtuais em nosso sistema, permitindo a comunicação com equipamentos de fabricantes como Siemens e Rockwell os quais muitos já estão fora de linha.
1) Modelo de Análise Diagnóstico
O Modelo de Análise foi desenvolvido para atender e gerar compreensão da cadeia “End to End” da Agro Indústria, no primeiro momento especificamente para a indústria de Beneficiamento de Sementes, gerando a análise de cada etapa do processo, desenhado por um grupo de pessoas que de forma evidente conhecem as dores de cada etapa do processo, permitindo o tratamento dos “dados” para a geração de informações necessárias para uma tomada de decisão rápida e assertiva. De forma a permitir saber: Quem? Quando? Onde? O que? Como? Por quê? Além de saber os resultados das ações realizadas em cada etapa do processo.
Nossa solução permite acesso a dados gerando informações em tempo real, se tornando o melhor e mais assertivo guia para direcionar a companhia ao sucesso, apontando resultados negativos ou positivos de cada etapa do processo, conseguindo visualizar o caminho mais rápido e eficaz para a tomada de decisão, substituindo os trabalhosos relatórios temporais de áreas (semanal, mensal, bimestral, semestral…), por visualizações em tempo real com outros relatórios, fornecendo visibilidade de gaps em tempo real e insights para corrigi-los e mitigando riscos e prejuízos gerando aumento de produtividade e lucro.
Era necessário coletar dados reais de operação dos processos ou simular dados reais, com isso veio a necessidade de aquisição de componentes de controle e comando de automação para montar um Sistema de Simulação e Testes, sendo composto por equipamentos e componentes que são comumente utilizados na indústria. Este set-up experimental teve como principal função, gerar os dados que serão coletados para Treinamento e Teste para o modelo de IA, utilizados como parâmetros de entrada para avaliação dos modelos criados, através da simulação de condições e situações variadas. Abaixo apresentamos a arquitetura simplificada.
Arquitetura Simplificada do Set-up experimental – Controle Industrial
Nossa abordagem de coleta de dados, utilizou um sistema simulado de produção, obtendo sinais de variáveis geradas pelos equipamentos de comando e instrumentos o qual nesse caso apresentou-se como um dos grandes desafios (Integração da Indústria).
O modelo utilizou dados coletados e eventos simulados provenientes do Sistema de Simulação e Testes (Set-up experimental). A suposição implícita dos dados de modelagem, conforme feita, o modelo precisava ser capaz de analisar o impacto de cada ação ou de cada processo, capaz de entregar relatórios de alto valor e em tempo real que auxiliariam no entendimento para a tomada de decisão, compreendendo e respondendo perguntas como:
1ª Quem e/ou O quê? (identificar pessoa, equipamento, evento climático…)
2ª Quando? (data do ocorrido, tempo)
3ª Onde? (local específico, site de trabalho, sistêmico…)
4ª Como? (efeito, ação causadora)
5ª Por quê? (direcionamento corporativo ou desvio, cultura, falta de produto,
clima, tempo, quebra de extratos…e muito mais).
Fluxograma simplificado de exemplo das etapas de processos de produção de campo, logística e indústria
Com as questões acima respondidas, foi possível ter o entendimento, visualizar ações para aumento de performance produtiva, identificar necessidades e/ou oportunidades de mudança de direcionamento estratégico antes não observadas ou visualizadas, permitindo a visualização por área e os impactos que cada área geram na cadeia, divididos também de forma bastante simplificada no diagrama abaixo.
Fluxograma simplificado do Modelo de Análise Diagnóstica da cadeia “End to End”
Ou seja, para cada etapa foi desenvolvido um Modelo de Machine Learning para análise e os resultados passaram a ser analisados por um outro modelo o qual tem como objetivo analisar toda a cadeia e sugerir melhorias.
2. DESENVOLVENDO O MODELO
2.1. Preparando os Dados, Recursos e Ferramentas de IA
Para esse modelo utilizamos três conjuntos de dados como entradas:
- Dados de Treinamento
- Dados de Teste
- Dados Reais de Operação
Apresentamos um exemplo do quadro abaixo de dados para Treinamento e Teste.
Exemplo Simplificado de Esquema de divisão dos dados para Treinamento e Teste
2.2. Engenharia de Recursos
Uma das tarefas importantes é a extração dos recursos dos dados de Treinamento e Teste. Os módulos no ramo esquerdo e no ramo direito mostram o processo de engenharia de recursos nos conjuntos de dados de treinamento e teste, respectivamente.
Os recursos criados e incluídos nos dados de treinamento foram agrupados em duas categorias. Muitos outros tipos de recursos foram criados com base em diferentes casos de uso e dados, sendo aqui apenas exemplos bastante simplificados.
- Recursos brutos selecionados: Os recursos brutos são aqueles incluídos nos dados de entrada originais. Para decidir quais desses recursos devem ser incluídos nos dados de treinamento, a descrição detalhada do campo de dados e o conhecimento do domínio são úteis. Neste modelo, todas as medições dos sensores (s1-s21) estão incluídas nos dados de treinamento.
- Recursos agregados: Os recursos resumem a atividade histórica de cada ativo. No modelo, dois tipos de recursos agregados foram criados para cada um dos sensores. O exemplo desses recursos são:
a1-a21: a média móvel dos valores do sensor nas mais w ciclos recentes;
sd1-sd21: o desvio padrão de valores de sensor em mais w ciclos recentes.
Esses recursos agregados servem como exemplos de um grande conjunto de recursos potenciais que foram e podem ser criados. Outros recursos, como alteração nos valores do sensor dentro de uma janela, alteração do valor inicial, velocidade da alteração, número acima de um limite definido, e muito outros foram incluídos em nosso desenvolvimento, os quais aqui apresentamos apenas simples exemplos.
Além disso, dependendo do tamanho dos dados, é útil agregar todos os dados em si do que incluir dados brutos. Em outras palavras: incluir apenas recursos agregados para os recursos que variam no tempo; por exemplo, pode ser melhor agravar as leituras dos sensores que ocorrem a cada segundo, para valores do dia ou da semana antes da modelagem (para obter um conjunto de dados mais equilibrado entre linhas que representam falhas e linhas que representam não falhas). Tentar diferentes níveis de agregação e avaliar o desempenho do modelo para determinar o nível ideal de agregação.
A seguir apresentamos de forma simplificada o fluxo de um trabalho da aplicação da preparação dos dados de treinamento, teste e recursos.
Fluxo de trabalho simplificado da preparação dos dados de treinamento, teste e recursos
2.3. Treinamento e avaliação dos modelos
Como e quais algoritmos foram treinados?
Três opções de algoritmos foram utilizadas para o desenvolvimento do modelo de análise diagnostica, sendo:
- Regressão
- Classificação Binária
- Classificação Multi-Classe
Sendo realizada três atividades paralelas, cada uma com uma experiência separada. Os nomes dessas experiências são mostrados abaixo.
Experiência 01: Treinamento e avaliação de modelos de regressão
Experiência 02: Treinamento e avaliação de modelos de classificação binária
Experiência 03: Treinamento e avaliação de modelos de classificação multi-classe
Existem várias etapas comuns ao treinar três tipos diferentes de modelos. Primeiro, eles compartilham o mesmo processo e fonte de dados ao importar os dados de treinamento e de teste dos módulos Leitura (os dados de saída da Experiência 01). Em segundo lugar, o módulo “Colunas do Projeto” exclui colunas de rótulos irrelevantes para cada modelo. Por exemplo, o módulo “Colunas do Projeto” da (Experiência 02), excluirá as colunas “label1” e “label2” e mantém apenas o rótulo índice nos dados de treinamento para preparar o treinamento dos modelos de regressão. Em terceiro lugar, a ferramenta “Editor de Metadados” é usado para definir a coluna do rótulo correspondente como “Rótulos”. Por fim, o módulo Seleção de recursos com base em filtro foi aplicado para selecionar e incluir os 35 principais recursos correlatos nos dados de treinamento com base em medida “Correlação de Pearson”.
Treinar modelos de aprendizado de máquina como “Árvore de decisão impulsionada de duas classes” ou “Regressão da floresta de decisão”, os parâmetros iniciais do modelo são definidos como os parâmetros padrão do modelo. Neste modelo, usamos a ferramenta “Train Model do Azure ML” para treinar o modelo com os parâmetros padrão do modelo. Na prática, esses parâmetros foram ajustados para uma determinada métrica de desempenho. No Azure ML, o módulo “Sweep Parameters” é fornecido para ajuste dos parâmetros do modelo.
2.4. Como realizar o treinamento e avaliação dos modelos de regressão
O treinamento e avaliação de quatro modelos de regressão foi necessário, sendo: regressão de floresta de decisão, regressão de árvore de decisão aumentada, regressão de Poisson e regressão de rede neural.
Ilustramos de forma simplificada o fluxo de trabalho das atividades para treinamento e avaliação dos modelos de regressão utilizados.
Fluxo de trabalho simplificado para treinamento e avaliação dos modelos de regressão
2.5. Como avaliar os Resultados dos Algoritmos de Regressão?
A metodologia que utilizamos para a avaliação dos algoritmos de regressão, foi a comparação dos resultados dos que apresentaram melhor desempenho em termos de duas métricas principais: “Erro absoluto médio” e “Erro quadrático médio (raiz)“.
Apresentamos um exemplo do painel de avaliação de modelos do Azure ML, onde mostra resultados de comparações de quatro modelos, dos quais “Regressão de floresta de decisão” e “Regressão de árvore de decisão aprimorada” apresentaram o melhor desempenho em termos das métricas principais: “Erro absoluto médio” e “Erro quadrático médio (raiz)”.
Exemplo do painel de avaliação de modelos do Azure ML
2.6. Sobre o Treinamento e avaliação de modelos de classificação binária
Ilustramos abaixo como exemplo uma modelagem de classificação binária baseada em dois aspectos. Sendo utilizados para treinamento e avaliação quatro modelos de classificação binária: Regressão logística de duas classes, Árvore de decisão reforçada de duas classes, Floresta de decisão de duas classes e Rede Neural de duas classes. Equilibrando a distribuição de classes fazendo uma amostragem dos registros com a classe majoritária conforme figura abaixo.
Fluxo de trabalho para treinamento e avaliação dos modelos de classificação binária
2.7. Como realizar a Avaliação dos Resultados dos Modelos de Classificação Binária
Sugerimos a comparação dos resultados dos que apresentam melhor desempenho em termos de quatro métricas: “Accuracy“, “Precisão“, “Recall” e “F-Score“.
A seguir apresentamos um exemplo do painel de avaliação de modelos do Azure ML, onde é comparado os resultados dos quatro modelos, com objetivo de se determinar o melhor modelo. O algoritmo “Rede Neural de Duas Classes” apresenta melhor desempenho em termos de quatro métricas: “Accuracy”, “Precisão”, “Recall” e “F-Score”.
Exemplo do painel de avaliação de modelos do Azure ML
A distribuição de classes desequilibradas é um problema comum em muitas tarefas de classificação. Por exemplo, ao classificar se um paciente tem câncer ou não, não é incomum que os dados de treinamento contenham exemplos positivos / negativos altamente desequilibrados, o que, no entanto, reflete a verdadeira distribuição de classe na população em geral.
Sugerimos dois métodos gerais de amostragem para ajudar a equilibrar a distribuição de classes: Amostragem na Classe Majoritária ou Amostragem na Classe Minoritária. O primeiro método foi implementado na Experiência 02; O módulo do SMOTE do Azure ML foi implementado no último método.
Esse módulo foi criado com base no algoritmo “SMOTE: técnica de sobre amostragem de minorias sintéticas”. É usado para aumentar o tamanho dos exemplos minoritários em um conjunto de dados sintetizando novos exemplos com a classe minoritária. O modulo SMOTE possui dois parâmetros: “porcentagem SMOTE” e “Número de vizinhos mais próximos”. O parâmetro “porcentagem SMOTE” deve estar em múltiplos de centenas (100,200,300,400, …). Esta é uma fração dos novos exemplos minoritários que serão adicionados. Por exemplo, dobramos nossa classe minoritária definindo o valor para 100, triplicamos o tamanho da classe minoritária definindo o valor para 200 etc. O parâmetro “Número de vizinhos mais próximos” é usado para gerar novos exemplos da classe minoritária. Cada exemplo gerado é uma média do exemplo original e de seus vizinhos mais próximos da mesma classe.
2.8. Treinamento e avaliação de modelos de classificação Multi-Classe
Para treinar e avaliar dois modelos de classificação multi-classe: Regressão Logística Multi-classe e Rede Neural Multi-classe, e dois modelos de regressão ordinal em Regressão Logística de Duas Classes e Rede Neural de Duas Classes.
A regressão ordinal é um tipo de análise de regressão usada para prever uma variável ordinal. Uma variável ordinal é a variável cujo valor pode ser classificado ou ordenado, mas a distância real entre esses valores é desconhecida.
No problema de classificação de várias classes formulado aqui, o atributo de classe “Rótulo” é uma variável ordinal, pois seu valor refletirá a gravidade do progresso da falha. Portanto, consideramos apropriado usar a regressão ordinal, em vez de tratar apenas o atributo de classe como uma variável categórica.
Como exemplo ilustramos o fluxo de trabalho para treinamento e avaliação dos modelos de classificação multi-classe.
Fluxo de trabalho para treinamento e avaliação dos modelos de classificação Multi-Classe
2.9. Avaliação dos Resultados dos Modelos de classificação Multi-Classe
A seguir apresentamos, como exemplo, o painel de resultados dos Azure ML (como exemplo), onde comparam os resultados de “Regressão Logística Multi-Classe” e “Rede neural Multi-Classe”, através de comparações de resultados numéricos e/ou Matrix de Confusão. A última apresenta melhor desempenho em termos de seis métricas: “Precisão geral”, “Precisão média”, “Precisão micro-média”, “Macro-precisão média”, “Recuperação micro-média” e “Recuperação macro-média “, que serão as métricas adotadas na metodologia para avaliação dos resultados.
Painel de avaliação de modelos do Azure ML
3. Implantação dos modelos como um serviço
Uma vez que os algoritmos foram devidamente treinados e avaliados estes estarão prontos para implantação como um serviço. Para implantar um modelo, é preciso conectar todo o processamento de dados, engenharia de recursos, módulos de pontuação, transformações salvas e modelos treinados salvos para formar um experimento de pontuação.
Depois que um modelo de aprendizado é implantado como um serviço, ele pode ser consumido por uma variedade de opções, como um aplicativo móvel, site, painéis de Business Inteligence ou até mesmo um documento do Excel.
O modelo é capaz de analisar o impacto de cada ação ou de cada processo, entregando relatórios de alto valor e em tempo real que auxiliando no entendimento para a tomada de decisão, compreendendo e respondendo perguntas como:
1ª Quem e/ou O quê? (Identificar Pessoa, Equipamento, Evento Climático…)
2ª Quando? (Data do Ocorrido, Tempo)
3ª Onde? (Local Específico, Site de Trabalho, Sistêmico…)
4ª Como? (Efeito, Ação Causadora)
5ª Por quê? (Direcionamento Corporativo ou Desvio, Cultura, Falta de produto, Clima, Tempo, Quebra de Extratos…e muito mais).
Conheça nossa Solução:
Autora: Julia Goulart Ferreira
Engenheira Agrícola especializada em Data Science e Machine Learning aplicados à Agricultura