Advertisement

【笔记】Loc2Vec: Learning location embeddings with triplet-loss networks

阅读量:

这篇博客的笔记内容丰富且具有参考价值。。

概述

该算法的主要功能是基于位置测量数据来推测用户的活动目标。本文研制了一种深度学习方案用于编码地理空间关系并描述周边环境的语义相似度模型。

模型的作用是接收一个经纬度坐标,并通过模型将该坐标转换为指定维度的数据表示。具体而言,在本研究中,默认以点周围的要素栅格化来进行CNN建模,并借鉴了类似于word2vec中的嵌入技术。

GIS数据栅格化

主要涉及的是具体体现位置环境信息的关键方面

相似表示

语义相似的图像块在该空间中映射到互相靠近的高维空间中的特征向量表示。

自监督学习:三重网络

三重网络:一种自监督学习方法,在嵌入空间中通过运算使得锚点与正样本尽可能接近,并与反样本保持适当距离;在栅格化数据中将经过数据增强操作(如平移、旋转)生成的图像作为正样本使用。将远离锚点的位置标记为反样本。为了防止神经网络仅依赖于简单的变换特征,在训练过程中对每个正样本实例随机地关闭或激活其通道中的若干个(共12个通道)。这样设计的目的在于让模型能够从较为丰富的特征中学习到更鲁棒的表示能力。

上述损失函数存在一种情况使得d_-接近于1从而导致学习效果失效因此建议采用改进型SoftPN三重损失函数具体而言应当将正则化项中的\vartriangle(a,n)替换为\min(\vartriangle(a,n),\vartriangle(p,n))从而使正样本和锚点与负样本的距离均被显著拉大

神经网络结构

基于卷积神经网络(CNN)、全连接层(Dense Layer)以及嵌入层(Embedding Layer)构建的深度学习模型。通过动态丢弃(Dropout)结合带有漏点Rectified Linear Unit(Leaky ReLU)的激活函数设计模型,在整个丢弃通道上实现了动态丢弃操作。该深度学习模型采用Keras框架实现,拥有305,040个可训练参数,并在p3.2xlarge AWS实例上使用Adam优化器经过两周时间训练完成。

训练数据

基于用户的前一千万位置信息及随后的五百万交通工具的位置数据。
从每个采样点出发生成一个半径为一公里的圆形样本区域。
将采样点进行平移和旋转变换,在距离范围内生成二到八公里范围内的正样本图片。
其中每组 mini-batch 包含约三千万张图片中的三分之一左右。

可视化

全部评论 (0)

还没有任何评论哟~