【问题标题】:How to do multi-objective optimization using neural networks?如何使用神经网络进行多目标优化?
【发布时间】:2019-11-24 12:16:03
【问题描述】:

我有五个决策变量,每个变量都有一个特定的范围。我需要找到这些变量的组合,以便最大化我的一个目标,同时最小化另一个目标。我准备了一个随机生成变量的数据表,其中包含 2 个目标函数的各自值。请建议我如何使用神经网络来解决这个问题。

我的目标函数涉及热力学计算。如果有兴趣,您可以在这里查看目标函数:

【问题讨论】:

标签: python matlab neural-network artificial-intelligence


【解决方案1】:

方法有很多,但最简单的方法是“线性标量化”。
您可以添加目标以制作单个目标。
在执行此操作时,您可以考虑优先级来衡量目标。
(对多个目标进行线性组合)

查看示例:
变分 AE 损失(正则化损失 + 重建损失)
关联DA损失(分类损失+walker损失+访问损失)

【讨论】:

  • 我经历了标量化方法,我想比较电子约束和加权和方法的结果,两者。我仍然有一个疑问,在进行电子约束时,我为每个目标 + 约束创建了单独的网络。然后在优化每个目标时,比如 obj 2,我如何在该网络中添加其他目标和约束?如果我不清楚,我想问我们如何使用神经网络实现 e-constraint 方法?你能用一个简短的例子来解释这个吗?感谢您的帮助。
  • 其实我从来没有使用过e-constraint方法。我知道使用它有一些好处,但我更喜欢使用硬加权的标量化方法。为了回复您的评论,我搜索了一些论文,但仍然不知道如何实施。通常,对于有约束的梯度下降,我使用拉格朗日乘数法。但人们似乎并没有将它用于电子约束。 (他们说电子约束的计算量小于线性标量化的计算量......但是当我们使用拉格朗日乘数时,计算量不会减少)。对不起,我缺乏知识。
猜你喜欢
  • 2021-04-25
  • 1970-01-01
  • 1970-01-01
  • 2020-03-17
  • 1970-01-01
  • 2020-03-17
  • 2019-09-01
  • 2017-01-24
  • 1970-01-01
相关资源
最近更新 更多