返回列表

10th Place Rapids cuML Solution Quick Writeup

435. Indoor Location & Navigation | indoor-location-navigation

开始: 2021-01-28 结束: 2021-05-17 共享出行与停车 数据算法赛
第10名 Rapids cuML 解决方案简述

第10名 Rapids cuML 解决方案简述

作者: Jiwei Liu (Grandmaster) | 排名: 第10名

这是一场漫长而艰难的比赛!我想祝贺所有坚持到最后的团队。我很期待看到获胜方案的分享。

我参加这次比赛的主要目的是实验 Rapids.ai 工具,以加速深度学习模型的预处理和后处理过程。

预处理

  • 使用 dask 处理原始数据,将其转换为数据帧并保存为 parquets 格式。
  • 使用 dask-cudf 从许多小的 parquets 文件中构建特征。
  • 使用 cuml LabelEncoderTargetEncoderNearest NeighborXgboost 创建简单的模型并探索数据集。

模型

我使用 PyTorch Lightning 构建了两个 RNN 模型:

  • 使用 wifi 特征直接预测航点。
  • 使用 IMU 特征预测航点的位移(delta x & y),类似于 Olaf 的方法

后处理

该方法交替使用 代价最小化吸附到走廊吸附到网格 并迭代运行。针对每次迭代调整了超参数,例如 cost minimization 中的 alphasnap grid 中的 threshold

我用 cupycudf 重写了这些函数,速度非常快。我最好的提交结果进行了 30 次迭代,总共使用了 90 个后处理函数,耗时不到 10 分钟。虽然我没有进行精确测量,但这可能比原始实现快 100 倍。这种加速对于寻找最佳超参数非常重要。后处理使分数提高了 1.1~1.2,这是相当显著的。

其他说明

我没有使用起点/终点泄露数据,也没有使用手工标注的航点。我花了很多时间构建一个端到端的神经网络,试图在训练过程中结合 cost minimizationsnap to grids,但最终没有成功。我很期待看到成功构建了端到端模型的第 1 名团队的方法。

很遗憾,我的其他工作积压太多,所以很抱歉我的解决方案和源代码将在稍后我有时间时再分享。完成后我会更新这个帖子。

同比赛其他方案