《中国人工智能学会通讯》——9.6 哈希学习

  1. 云栖社区>
  2. CCAI>
  3. 博客>
  4. 正文

《中国人工智能学会通讯》——9.6 哈希学习

知与谁同 2017-09-04 14:02:00 浏览1187
展开阅读全文

9.6 哈希学习

大数据在科学、金融、气象、医疗、军事、交通等领域都具有非常广阔的应用前景[3-4] , 其对人类社会的各方面都带来了巨大的甚至是革命性的影响。例如,在科学领域 , 包括天文、生物、物理、化学、信息等在内的各个领域的科学发现,已经从实验型科学发现、理论型科学发现、计算型科学发现,发展到第四范式 , 即基于大数据的数据密集型科学发现[5-6] 。 因此可以说 , 大数据已经成为国家重要的战略资源 , 对大数据的存储、管理和分析也已经成为学术界和工业界高度关注的热点[3-4] 。

收集、存储、传输、管理大数据的目的是为了利用大数据 , 机器学习技术[7]是有效利用大数据时必不可少的技术。 机器学习界也一直在尝试对越来越大的数据进行学习[8] 。但今日的大数据除了数据量大 , 往往还伴随着数据的多源、动态、价值稀疏等特性。因此一些新的挑战也随之而来 , 近年来 ,大数据机器学习 ( 简称“大数据学习”) [9] 受到了广泛关注 , 成为机器学习领域的研究热点之一。在大数据学习领域 , 新的成果也不断涌现 , 例如 Kleineret al [10] 基于集成学习中 Bagging 的思想提出了新型数据采样方法 BLB, 用来解决 Bootstrap 在遇到大数据时的计算瓶颈问题 ; Shalev-Shwartz et al [11] 基于随机学习的思想提出了梯度上升 ( 下降 ) 的改进方法 , 用来实现大规模模型的快速学习 ; Gonzalezet al [12] 提出了基于多机集群的分布式机器学习框架GraphLab, 用以实现基于图的大规模机器学习。

哈希学习 (learning to hash) [13-23] 通过机器学习机制将数据映射成二进制串的形式 , 不仅能显著减少数据的存储开销 , 还能降低数据维度 , 从而有效提高学习系统的效率。哈希学习的目的是学到数据的二进制哈希码表示 , 使得哈希码尽可能地保留原空间中的近邻关系 , 即保相似性。具体来说 , 每个数据点会被一个紧凑的二进制串编码 , 在原空间中相似的两个点应当被映射到哈希码空间中相似的两个点。图 1 是哈希学习的示意图。以图像数据为例 ,原始图像表示是某种经过特征抽取后的高维实数向量 , 通过从数据中学习到的哈希函数 h 变换后 , 每幅图像被映射到一个 8 位 (bit) 的二进制哈希码 , 原空间中相似的两幅图像将被映射到相似 ( 即海明距离较小 ) 的两个哈希码 , 而原空间中不相似的两幅图像将被映射到不相似 ( 即海明距离较大 ) 的两个哈希码。使用哈希码表示数据后 , 所需要的存储空间会被大幅减小。举例来说 , 如果原空间中每个数据样本都被一个 1 024 字节的向量表示 , 一个包含 1亿个样本的数据集要占用100 GB的存储空间。相反,如果把每个数据样本哈希到一个 128 位的哈希码 , 1亿个样本的存储空间只需要 1.6 GB。 单台机器 ( 包括配置很高的单台服务器 ) 处理原始表示时 , 需要不断地进行外内存交换 , 开销非常大 , 但如果用哈希码表示 , 所有计算都可以在内存中完成 , 单台普通的个人电脑 (PC) 也能很快地完成计算。由于很多学习算法 , 比如 k 近邻 (kNN)、支持向量机 (SVM)等的本质是利用数据的相似性 , 哈希学习的保相似性将在显著提高学习速度的同时 , 尽可能地保证精度。另一方面 , 因为通过哈希学习得到的哈希码位数 ( 维度 ) 一般会比原空间的维度要低 , 哈希学习也能降低数据维度 , 从而减轻维度灾难问题。同时,基于数据的哈希码表示,可以构建哈希索引,实现常数级别或者次线性级别的大数据快速检索。因此 ,哈希学习在大数据学习中占有重要地位。image
需特别指出的是 , 数据库研究领域早已使用二进制哈希码来表示数据[24-26] , 但他们使用的哈希函数是人工设计或者随机生成的;与之不同 , 哈希学习是希望从数据中自动地学习出哈希函数。 从哈希技术的角度来看 , 前者被称为数据独立方法 , 后者被称为数据依赖方法。 有研究表明[18-19] , 与数据独立方法相比 , 数据依赖方法 ( 即哈希学习方法 ) 只需用较短的哈希编码位数就能取得理想的精度 , 从而进一步提高检索和学习效率 , 降低存储开销。

网友评论

登录后评论
0/500
评论
知与谁同
+ 关注
所属团队号: CCAI