机器人领域机器学习模型的正确方法

我正在寻找一个起点,即使用哪种模型或方法。情况如下:

一台机器人有9个输入:

  • -6个传感器提供距离信息

  • -检测碰撞的传感器

  • -左侧电机的当前速度
  • -右侧电机的当前速度

输出:2个数字(或2个布尔值)来控制2个电机(左前和右前)

现在我在考虑让机器人自己找出避免碰撞的方法。我将6个传感器的数据连同一个“成功/失败”的标志一起输入模型。然后,模型被训练以了解当某个传感器值低于某个数值时,一个电机需要比另一个快以避免碰撞输入。此外,我需要告诉模型避免碰撞标志。

作为平台,我考虑使用树莓派,可能与Azure连接,这样我可以使用任何我想用的模型

但是我需要找哪种模型呢?它需要从连续数据中学习。尝试某事,记录下来,从中学习,然后尝试其他事情。输出可能是多重回归或多重二元的。

输入也是多重的。需要从新的数据点中学习。有没有建议?


回答:

你要找的是强化学习。关于机器人或游戏AI的相关文献有很多。它的工作原理,正如你所说的,是连续的。

它(智能体)有一个环境(传感器、当前速度),它可以执行动作(控制电机),这些动作会导致环境的反应。根据所采取的动作,它会收到一个奖励,比如与物体的距离 < 之前=> +1,否则-1。你明白我的意思。通过尝试和失败,它会创建自己的策略(它的行为),以最大化奖励。

强化学习中最常用的算法是Q-Learning(其深度学习版本称为DQN)。

这里有一篇可能与你的问题相关的论文:链接

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注