Un algoritmo de aprendizaje profundo para optimizar el resultado.

10

Soy bastante nuevo en el aprendizaje profundo, pero creo que encontré la situación correcta en el mundo real para comenzar a usarlo. El problema es que solo he usado dichos algoritmos para predecir resultados. Para mi nuevo proyecto, necesito información para alimentar una máquina para optimizar los resultados. ¿Podría alguien explicarme brevemente cómo debo proceder? Estoy atascado.

Aquí está la situación:

Tengo una máquina que toma tablas de madera con diferentes grados de madera disponibles en toda su longitud y tiene que cortarla en bloques provistos en una lista de cortes. Esta máquina siempre elegirá la puntuación más alta que pueda obtener de una tabla determinada. La puntuación se obtiene multiplicando el área de cada bloque por su multiplicador . El algoritmo que quiero construir tiene que darle a esa máquina un multiplicador para cada bloque listado en una lista de cortes. Todo el rendimiento físico de esta máquina será almacenado en los estantes por un robot hasta que sea necesario. La máquina de corte puede degradar partes de una tabla si le ayuda a alcanzar una puntuación más alta.

El valor tiene que actuar como un incentivo para que la máquina me dé el bloque que más necesito sin degradar demasiada madera.

OBJETIVOS DE OPTIMIZACIÓN

  • Asegúrese de que cada bloque esté en stock para cuando sea necesario, pero no demasiado pronto sin razón
  • Reduzca la menor cantidad posible de área de madera (algunas especies son muy caras)

NODOS DE ENTRADA

  • Cantidad de tiempo antes de que se necesite este bloque
  • Grado de madera para este bloque
  • Cantidad de este bloque necesaria
  • Área del bloque (¿Quizás?)

COMENTARIOS PROPORCIONADOS AL ALGORITMO

  • Cantidad de tiempo por adelantado que el bloque estaba listo (debe ser lo más bajo posible)
  • Área de madera degradada * número de calidades omitidas

DATOS DE DEVOLUCIÓN ESPERADOS

  • Un multiplicador que le dará a ese bloque una prioridad óptima en relación con los demás.

INFORMACIÓN QUE NO TENGO PERO PODRÍA REUNIR

  • Relación media de cada grado para cada especie de madera

Lo que he descubierto hasta ahora es que es posible que necesite que mis comentarios se rompan en un solo valor para convertirlo en el nodo de salida. El problema es que no puedo entender cómo hacer que este algoritmo determine un multiplicador . ¿Me equivoco al tratar de resolver esto a través del aprendizaje profundo?

Frank Malenfant
fuente
¡Esta es una pregunta realmente interesante! Bienvenido a AI.
DukeZhou
Me tomé la libertad de editar la pregunta para mayor claridad. No estaba seguro de qué hacer con: "Valor por cm² que le dará a ese bloque una prioridad óptima en relación con los demás" ¿Quiere decir que le da a un bloque un valor óptimo con respecto a su prioridad en relación con otros bloques?
DukeZhou
@DukeZhou El algoritmo de la máquina multiplica el valor que estoy tratando de optimizar por el área 2D total del bloque (ancho x largo) para crear un "puntaje" y cortar cada tabla para obtener el puntaje máximo. Si calculo el área del bloque en el algoritmo, podría determinar el puntaje y luego dividirlo por el área. En general, el objetivo principal es asegurarse de que la puntuación más alta coincida con la necesidad más alta para que el objetivo de la máquina sea el mismo que el nuestro.
Frank Malenfant
@DukeZhou Lo siento si no está tan claro como podría, el inglés es mi segundo idioma.
Frank Malenfant
1
@DukeZhou Aquí. Lo reemplacé con el término multiplicador y le di información adicional sobre su uso.
Frank Malenfant

Respuestas:

2

Los modelos de aprendizaje profundo para las tareas de regresión son bastante difíciles de entrenar, por lo que sugeriría no comenzar con ellos. En cambio, comenzaría con uno de los enfoques a continuación y tal vez intente usar el aprendizaje profundo después.

Un enfoque clásico del problema podría ser analizar su software de optimización y esto probablemente lo conduciría a un algoritmo determinista.

Diferentes enfoques pueden ser tratar su software de optimización como una caja negra: dele una amplia variedad de entradas, anote las variables que le interesan (tiempo de ejecución, resultados de corte, etc.) e intente ajustar algún tipo o regresor en él .

Una opción es seguir la idea de Kourosh y formularla como un problema clásico de optimización.

Si prefiere usar herramientas de aprendizaje automático, le sugiero que comience con un modelo simple como la regresión lineal solo para verificar que haya alguna señal en los datos que pueda usar. Luego, puede ver algoritmos más potentes como xgboost, árboles de regresión, etc.

ginge
fuente