-1

我有一个电磁传感器和电磁场发射器。传感器将从发射器读取功率。我想使用读数来预测传感器的位置。

让我简化问题,假设传感器和发射器处于一维世界中,其中只有位置 X(不是 X、Y、Z)并且发射器发射功率作为距离平方的函数。

从下面绘制的图像中,您将看到发射器绘制为圆形,而传感器绘制为十字形。

一个发射器

例如,如果传感器距离发射器 5 米,则传感器上的读数将为 5^2 = 25。因此正确的位置将是 0 或 10,因为发射器位于位置 5。

因此,使用一个发射器,我无法知道传感器的确切位置。我只知道有 50% 的机会是 0,有 50% 的机会是 10。

因此,如果我有两个发射器,如下图所示:

两个发射器

我会得到两个读数。我可以确切地知道传感器在哪里。如果读数是 25 和 16,我知道传感器在 10。

所以从这个事实来看,我想使用 2 个发射器来定位传感器。

现在我已经向您解释了情况,我的问题是这样的:

  1. 发射器具有更复杂的距离函数。这不仅仅是距离的平方。而且它也有噪音。所以我正在尝试使用机器学习对其进行建模。
  2. 发射器的某些区域效果不佳。例如,如果您在 3 到 4 米之外,发射器将始终为您提供 9 的固定读数,而不是从 9 到 16。

  3. 当我用 2 个输入训练机器学习模型时,预测非常准确。例如,如果输入是 25,36,输出将是位置 0。但这意味着在训练之后,我根本无法移动发射器。如果我将其中一个发射器移得更远,预测将立即被打破,因为当右发射器向右移动 1 米时读数将类似于 25,49。预测可以是任何东西,因为模型之前没有见过这个输入对。而且我负担不起在 2 个发射器的所有可能距离上训练模型。

  4. 发射器可能略有不同。差异将在规模上。例如,其中一个发射器可以提供 10% 的更大读数。但是你现在可以忽略这个问题。

我的问题是当发射器被允许移动时如何使模型工作?给我一些想法。

我的一些想法:

  1. 我认为我必须动态地确定两个发射器相对于彼此的位置。但是在知道两个发射器的位置之后,我如何告诉模型呢?
  2. 我尝试单独训练每个发射器,而不是将它们作为输入配对。但这意味着有很多位置会导致冲突,例如当您得到读数 = 25 时,模型将预测 0 和 10 的平均值,因为两者都是读数 = 25 的有效位置。您可能会建议训练预测距离而不是位置,如果没有问题 2是可能的。但是因为有2号问题,3米到4米之间的预测就会出错。该模型将输入为 9,输出将是 3.5 米或 3 到 4 米之间的平均距离。
  3. 使用模型来预测位置概率密度函数,而不是预测位置。例如,当读数为 9 时,模型应预测 3 到 4 米的均匀密度函数。然后你可以以某种方式结合来自 2 个读数的 2 个密度函数。但我认为与一起建模 2 个发射器相比,它不会那么准确,因为密度函数可能非常复杂。我们不能假设正态分布甚至均匀分布。
  4. 基于两个预测必须相同的假设,使用某种优化器分别预测每个发射器的位置。如果预测不同,优化器必须尝试移动预测,以使它们完全位于同一点。也许强化学习的动作是“左移”、“右移”等。

我告诉你我的想法,以便它可以唤起你的一些想法。因为这已经是我最好的了,但它还没有优雅地解决问题。

因此,理想情况下,我希望端到端模型提供 2 个读数,并且即使在发射器移动时也能给出位置。我该怎么做呢?

PS。发射器只允许在使用前移动。在使用或预测期间,模型可以假设发射器将不再移动。这使您有时间在使用前运行发射器位置校准算法。也许这对您有所帮助。

4

1 回答 1

0

您将记忆函数与训练模型混淆了;前者只是回忆以前的结果后者是人工智能的省。要使用两个发射器进行训练,您需要提供有用的输入数据和适当的标签(正确答案),并设计您的模型拓扑,使其可以针对从未见过的案例进行有用的功能响应训练。

根据定义,让第一个发射器位于位置 0。然后,您的数据包括第二个发射器的位置和两个读数。标签是传感器的位置。您给定的示例如下所示:

emit2 read1 read2 sensor
  1    25    36     0
  1    25    16     5
  2    25    49     0
  1.5  25     9     5    distance of 3 < d < 4 always reads as 3^2

由于您知道在基础物理中存在平方关系,因此您需要在模型中包含二次函数。为了处理噪声,您需要一些阻尼器功能,例如在第一个节点之后的隐藏层中增加一个或两个节点。对于更复杂的关系,您将需要其他拓扑、非线性激活函数等。

你能从那里拿走吗?

于 2019-01-22T23:39:32.033 回答