Um algoritmo de aprendizado profundo para otimizar o resultado


10

Sou um iniciante no aprendizado profundo, mas acho que encontrei a situação certa no mundo real para começar a usá-lo. O problema é que eu apenas usei esses algoritmos para prever resultados. Para o meu novo projeto, preciso de informações para alimentar uma máquina e otimizar os resultados. Alguém poderia explicar brevemente como devo proceder? Estou preso.

Aqui está a situação:

Eu tenho uma máquina que pega pranchas de madeira com diferentes tipos de madeira disponíveis em todo o seu comprimento e precisa cortá-la em blocos fornecidos em uma lista de corte. Esta máquina sempre escolhe a pontuação mais alta que pode obter de uma determinada prancha. A pontuação é obtida multiplicando a área de cada bloco pelo multiplicador . O algoritmo que quero construir deve fornecer a essa máquina um multiplicador para cada bloco listado em uma lista de corte. Toda a saída física desta máquina será armazenada nas prateleiras por um robô até que seja necessário. A máquina de corte pode fazer o downgrade de partes de uma prancha se isso ajudar a atingir uma pontuação mais alta.

O valor deve atuar como um incentivo para que a máquina me dê o bloco de que mais preciso, sem diminuir a quantidade de madeira.

OBJETIVOS DE OTIMIZAÇÃO

  • Certifique-se de que cada bloco esteja em estoque no momento necessário, mas não muito cedo sem motivo
  • Faça o downgrade da menor área possível de madeira (algumas espécies são muito caras)

NÓS DE ENTRADA

  • Tempo antes que este bloco seja necessário
  • Grau de madeira para este bloco
  • Quantidade deste bloco necessária
  • Área do bloco (Talvez?)

FEEDBACK FORNECIDO AO ALGORITMO

  • Tempo que o bloco estava pronto (deve ser o mais baixo possível)
  • Área de madeira rebaixada * número de classes ignoradas

DADOS DE DEVOLUÇÃO ESPERADOS

  • Um multiplicador que dará a esse bloco uma prioridade ideal em relação aos outros

INFORMAÇÃO QUE EU NÃO POSSO RECOLHER

  • Proporção média de cada série para cada espécie de madeira

O que eu descobri até agora é que posso precisar que meu feedback seja quebrado em apenas um valor para torná-lo o nó de saída. O problema é que não consigo entender como criar esse algoritmo para determinar um multiplicador . Estou errado ao tentar resolver isso através do aprendizado profundo?


Esta é uma pergunta realmente interessante! Bem-vindo à IA.
DukeZhou

Tomei a liberdade de editar a pergunta para mais clareza. Não tinha certeza do que fazer com: "Valor por cm² que dará a esse bloco uma prioridade ideal em relação aos outros" Você quer dizer atribuir a um bloco um valor ótimo em relação à sua prioridade em relação a outros blocos?
DukeZhou

@DukeZhou O algoritmo da máquina multiplica o valor que estou tentando otimizar pela área 2D total do bloco (largura x comprimento) para criar uma "pontuação" e cortar cada prancha para obter a pontuação máxima. Se eu atribuir a área do bloco ao algoritmo, poderia determinar a pontuação e dividi-la pela área. Em suma, o foco principal é garantir que a pontuação mais alta corresponda à maior necessidade, para que o objetivo da máquina seja o mesmo que o nosso.
precisa saber é o seguinte

@DukeZhou Desculpe, se não está tão claro quanto possível, o inglês é meu segundo idioma.
precisa saber é o seguinte

1
@DukeZhou Here. Substituí-o pelo termo multiplicador e dei algumas informações extras sobre seu uso.
Frank Malenfant

Respostas:


2

Modelos de aprendizado profundo para tarefas de regressão são bastante difíceis de serem treinados, então eu sugeriria não começar com eles. Em vez disso, começaria com uma das abordagens abaixo e talvez tentasse usar o aprendizado profundo posteriormente.

Uma abordagem clássica para o problema poderia ser analisar seu software de otimização e isso provavelmente o levaria a algum algoritmo determinístico.

Diferentes abordagens podem ser tratar seu software de otimização como uma caixa preta - forneça uma ampla variedade de entradas, anote as variáveis ​​nas quais você está interessado (tempo de execução, resultados de corte etc.) e tente ajustar algum tipo ou regressor nele .

Uma opção é seguir a idéia de Kourosh e formulá-la como um problema clássico de otimização.

Se você preferir usar ferramentas de aprendizado de máquina, sugiro que você comece com um modelo simples, como regressão linear, apenas para verificar se há algum sinal nos dados que você pode usar. Depois, você pode ver algoritmos mais poderosos, como xgboost, árvores de regressão, etc.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.