Aprendizado de máquina e simulação de eventos discretos: aplicações exemplares

Neste artigo discuto o aprendizado de máquina como uma tecnologia de apoio para tornar a simulação de eventos discretos mais eficiente e eficaz.

A simulação de eventos discretos é uma técnica utilizada na fabricação e logística para problemas que não podem ser investigados com técnicas analíticas convencionais. Técnicas convencionais, por exemplo, incluem cálculos estáticos, programação matemática ou estatísticas. É frequentemente o caso de tais técnicas convencionais não bastarem os requisitos de análise em sistemas de produção complexos ou processos logísticos complexos. Por exemplo, lógicas de controle ou interdependências entre equipamentos de produção, equipamentos logísticos e algoritmos de planejamento podem ser analisados apenas com um modelo de simulação. O custo da construção desses modelos de
simulação pode ser enorme, e os resultados da simulação também podem ser caros. Em ambos os casos, os custos podem ser reduzidos aplicando aprendizado de máquina. Isso é o que eu quero mostrar neste artigo.

Integrando aprendizado de reforço, redes neurais e simulação de eventos discretos

Neste artigo destaco aplicações exemplares de aprendizado de máquina no contexto de simulação de eventos discretos. Esses exemplos são aplicáveis a estudos de simulação em planejamento de fábrica, projeto de rede da cadeia de suprimentos, programação de produção, projeto de processo e muito mais. Os tópicos abordados são o aprendizado reforçado em modelos de simulação, redes neurais para extrapolação de espaços amostrais simulados e uma comparação do aprendizado reforçado em modelos de simulação versus otimizadores de modelos convencionais.

Nas seções a seguir deste artigo explicarei o que é uma simulação de evento discreto. Também explicarei o que são aprendizados reforçados e redes neurais. Prossiga fornecendo uma visão geral de possíveis
abordagens para a integração de aprendizado de máquina e simulação. Apresentarei uma abordagem de modelagem que combina simulação e redes neurais para extrapolar uma amostra simulada do espaço geral da solução.

Simulação de evento discreto é apropriada para modelagem de processos

Em um dos meus artigos anteriores eu forneci um sistema de classificação técnica de simulação. Simulação de eventos discretos é minha técnica de simulação favorita. É uma técnica poderosa para analisar processos em sistemas de fabricação e logística. Uso simulação de eventos discretos para avaliar layouts de fábrica, conceitos de manuseio de materiais e projetos de otimização de fluxo de materiais. Também usei simulação de eventos discretos para planejamento tático de produção, ou seja, planejamento de produção a curto e médio prazo. Exemplos incluem simulação de inventário e
simulação de cronograma de produção. A simulação de eventos discretos, em comparação com simulação baseada em agentes, dinâmica do sistema e simulação de monte-carlo, é uma técnica apropriada para modelar processos. Seu foco é bastante detalhado e menos conceitual, pois essa
técnica de modelagem implementa a tomada de decisão em nível de processo, enquanto outras técnicas negligenciam esse nível de detalhes.

O aprendizado de máquina é composto por aprendizado supervisionado, não supervisionado e reforçado

Neste artigo destaco aplicações exemplares de machine learning, outro domínio poderoso, no contexto de projetos discretos de simulação de eventos. Já publiquei um artigo neste site cobrindo os três paradigmas de aprendizagem de máquina: aprendizado supervisionado de máquina, aprendizado de máquina não supervisionado e aprendizado reforçado. Todos esses paradigmas têm escopos diferentes e são todos poderosos quando aplicados adequadamente. O reforço também é frequentemente descrito como inteligência artificial, uma vez que em seu núcleo possui um algoritmo de aprendizagem reforçado que melhora uma política de tomada de decisão baseada no Estado ao longo do tempo à medida que o algoritmo aprende com recompensas e punições recebidas na forma de feedback de seu ambiente.

Redes neurais facilitam uma caixa preta que carece de transparência, mas é capaz de fazer previsões complexas

Redes neurais são um subconjunto específico da tecnologia de aprendizagem de máquina, muitas vezes associada ao aprendizado profundo. Em seu núcleo, uma rede neural é composta por neurônios que
juntos reproduzem uma rede de sinal e resposta. As redes neurais visam reproduzir o comportamento em um cérebro humano e são usadas para reconhecimento de padrões e resolução de problemas sem qualquer estrutura analítica específica.

Na figura abaixo eu ilustrei a estrutura de uma simples rede neural. Existem muitas estruturas diferentes de redes neurais, mas elas são compostas por essa estrutura estrutural básica.

No núcleo, uma rede é composta de neurônios. Na figura exibida abaixo ilustramos a estrutura básica de uma rede neural com um número definido de neurônios de entrada (laye de entrada), uma camada oculta e uma camada de saída.

Cada neurônio converte valores de entrada em um valor de saída. Você pode pensar em cada neurônio realizando uma análise de regressão nas entradas fornecidas, encaminhando o resultado como uma saída para a próxima camada. As camadas entre a entrada original e saída final são referidas como camadas ocultas. Quanto mais camadas ocultas, mais profunda a rede (em geral).

Vantagens de usar um modelo de rede neural

Redes neurais artificiais podem resolver problemas muito complexos do mundo real. Modelos que usam uma rede neural praticamente facilitam a inteligência artificial na forma de serem capazes de aprender relações entre valores de entrada e saída, mesmo quando estes são não lineares ou até mais complexos do que não lineares. Isso permite que esses modelos revelem relações que são difíceis de prever.

Desvantagens de um modelo de rede neural

Redes neurais artificiais facilitam um modelo de caixa preta. Isso vem com riscos, sendo dois grandes deles 1) risco de super equipar o modelo, 2) dificuldade de extrair achados generalizáveis do modelo. Redes neurais artificiais não são boas em explicar como e por que tomaram suas decisões. Redes neurais artificiais tendem até a funcionar bem em casos de extrema variância e na presença de outliers extremos.

Aplicações comerciais de redes neurais em SCM e além

No gerenciamento da cadeia de suprimentos, os modelos de rede neural podem, por exemplo, ser usados para controle de estoque e liberação de pedidos de compra. Como demonstrarei, redes neurais também podem ser usadas para apoiar estudos discretos de simulação de eventos, tornando-as mais eficientes e eficazes. Também vi aplicações de redes neurais que foram usadas para roteamento de transporte e otimização da rede de transporte.

Além da fabricação e logística, as redes neurais são, por exemplo, usadas para:

  • Detecção de fraude de cartão de crédito
  • Detecção de fraudes de seguros
  • Reconhecimento de voz
  • Processamento de linguagem natural
  • Diagnóstico de doença médica
  • Previsão do preço das ações financeiras
  • Controle de processo e qualidade
  • Previsão de demanda
  • Reconhecimento de imagem

O aprendizado reforçado pode facilitar o auto-aprendizado

O reforço é um paradigma de aprendizado de máquina que permite a tomada de decisões sob incerteza. Em outro artigo que publiquei no SCDA expliquei como os três paradigmas da machine learning são: I) aprendizado de máquina supervisionado, II) aprendizado de máquina não supervisionado, e III) aprendizado reforçado.

A classe de algoritmos de aprendizado de máquina supervisionado (I) descreve algoritmos que treinam modelos baseados em dados rotulados, ou seja, dados com entradas e saídas conhecidas. A regressão linear é um exemplo de aprendizado de máquina supervisionado.

A classe de algoritmos de aprendizagem de máquina não supervisionados (II) descreve algoritmos que treinam modelos que podem reconhecer padrões e estruturas em dados não rotulados. k-significa clustering é um exemplo de aprendizado de máquina não supervisionado.

A classe de algoritmos de aprendizagem de reforço (III) difere tanto do aprendizado de máquina não supervisionado quanto supervisionado, pois facilita-se através de algoritmos que podem operar sem dados conhecidos, ou seja, não precisam ser treinados usando dados de entrada. Em sua essência, eles consistem em uma política de tomada de decisão que descreve quais ações devem ser tomadas dependendo de um estado atual. Ao executar as decisões propostas pela política, e ao colher a partir de recompensas resultantes, a política é ajustada. Isso altera a tomada de decisão iterativamente. O conceito de aprendizado de reforço é ilustrado na figura abaixo.

Vantagens do aprendizado de reforço

Algumas vantagens de algoritmos de aprendizagem reforçado incluem que eles são capazes de operar sem dados de treinamento. Isso significa que eles podem ser usados em ambientes com alto nível de incerteza. Mesmo quando há muito pouca informação disponível, um modelo de aprendizado reforçado pode funcionar bem.

Desvantagens do aprendizado de reforço

Em geral, modelos de aprendizagem reforçado podem ser um exagero. Eles podem muitas vezes representar um caso de super engenharia. Eles também podem exigir quantidades excessivas de poder computacional e podem, em alguns casos, ser melhor substituídos por um algoritmo de aprendizagem de máquina supervisionado ou não supervisionado.

Aplicações comerciais de aprendizado reforçado

Uma aplicação amplamente reconhecida de aprendizado reforçado na gestão da cadeia de suprimentos é a gestão de estoques. Outro exemplo popular pode ser encontrado em robôs e controle de robôs. Isso é relevante para o manuseio de equipamentos materiais.

Mas também já houve aplicações comerciais de aprendizado reforçado como parte de uma simulação de evento discreto. A empresa Pathmind, que não está operando neste momento (ou seja, fora do negócio), desenvolveu uma ferramenta AnyLogic que poderia ser usada para implementar um aprendizado reforçado diretamente na AnyLogic.

Eu posso integrar aprendizado de máquina no modelo de simulação, ou ele pode ser executado separadamente como suporte externo

Ao integrar aprendizado de máquina e simulação de eventos discretos, recomendo uma das duas abordagens: ele, aprendizado de máquina, pode ser integrado ao modelo como uma alternativa aos planejadores de experimentos convencionais ou otimizadores de modelo, ou o aprendizado de máquina pode ser executado em cima do modelo de simulação , para dar suporte ao modelo e obter mais informações de seus resultados e configurações de parâmetros.

Refiro-me à primeira abordagem como “integração de aprendizado de máquina”, e a esta última como “suporte ao aprendizado de máquina”. Nas seções a seguir deste artigo eu irei prosseguir introduzindo aplicações exemplares de integração de aprendizado de máquina e suporte a aprendizado de máquina.

Suporte de estudo de simulação com uma rede neural para extrapolar soluções do subconjunto amostrado

Na figura abaixo eu ilustrei como um estudo de simulação pode ser suportado por modelos de rede neural artificial.

A rede neural é responsável por inferir uma pequena amostra de execução de simulação em um espaço de solução mais amplo. Em outras palavras, uma rede neural é treinada a partir das configurações do modelo que foram simuladas, com os resultados de simulação associados. Usando essa pequena amostra, a rede neural é ajustada para minimizar o desvio entre os resultados simulados (valores de KPI) e as saídas previstas do modelo de rede neural.

Uma vez que a rede neural foi treinada, ela é usada contra outra pequena amostra de configurações de modelo simulado para avaliar sua validade para prever configurações de sistema anteriormente
desconhecidas.

O engenheiro de simulação agora pode usar o modelo de rede neural para prever as saídas do modelo (valores de KPI do sistema de interesse) para configurações do sistema além do espaço de solução que ele implementou e testou em seu ambiente de simulação. Em outras palavras, o engenheiro de simulação pode prever o comportamento do sistema com base em resultados de simulação conhecidos sem ter que implementar configurações de modelo adicionais.

A integração do aprendizado por reforço fornece uma alternativa interessante aos otimizadores convencionais

O caminho percorrido pelo aprendizado por reforço representa uma maneira muito diferente de utilizar a inteligência artificial para estudos de simulação. Com o aprendizado por reforço, assim como com os otimizadores de modelos de simulação convencionais, o objetivo é encontrar uma configuração de sistema boa ou mesmo ótima o mais rápido possível, ou seja, com o menor esforço (custo) possível.

Os otimizadores de simulação convencionais destinam-se a apoiar o analista de simulação na identificação rápida de configurações de sistema promissoras. Esses otimizadores assumem a forma de
gerenciadores de experimentos e, por exemplo, implementar estratégias como (I) gradiente descendente, (II) projetos fatoriais e (III) melhoria evolutiva etc.

Na figura abaixo, ilustro como os otimizadores de modelos de simulação convencionais visam apoiar pesquisas eficientes e eficazes para um ótimo dentro do espaço de solução derivado.

Os otimizadores de modelos de simulação convencionais geralmente são capazes de lidar com quantidades muito grandes de variáveis de decisão e tipos de variáveis, mas geralmente exigem muito poder computacional.

Em muitos casos, os otimizadores também não são capazes de encontrar boas soluções. Para evitar esforço computacional excessivo, engenheiros e analistas industriais costumam aplicar heurísticas. O problema com estes, no entanto, é que eles são inerentemente inflexíveis.

Outra alternativa aos otimizadores convencionais é fornecida pelo aprendizado por reforço. O Pathmind foi um aplicativo exemplar que forneceu um serviço de aprendizado por reforço relacionado à simulação no AnyLogic. O Pathmind ofereceu a possibilidade de lidar com alta variabilidade, escalabilidade para grandes espaços de estado e otimização multiobjetivo com objetivos até mesmo contraditórios. No vídeo abaixo, incorporei uma referência do Youtube cobrindo o aprendizado por reforço com o Pathmind no AnyLogic.

Considerações finais sobre inteligência artificial e simulação

Neste artigo, apresentei dois procedimentos de como a inteligência artificial pode ser usada na engenharia de simulação de eventos discretos. Ambos os procedimentos fazem uso de inteligência artificial para aumentar a eficácia e eficiência do modelo de simulação. O modelo
de simulação em si não representa inteligência artificial.

Pessoalmente, acredito que as redes neurais são um forte suporte para tornar a execução do estudo de simulação mais eficiente. O domínio do aprendizado por reforço é muito interessante, mas resta saber se o aprendizado por reforço pode realmente ganhar uma posição comercial e prática na engenharia de simulação quando, por exemplo, comparado aos otimizadores convencionais.

Se você estiver interessado em ouvir meus pensamentos sobre esse assunto com mais detalhes, também pode assistir ao vídeo do Youtube que referi abaixo.

Leave a Reply

Deixe um comentário

O seu endereço de e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Close

Meta