舰船科学技术  2023, Vol. 45 Issue (17): 182-185    DOI: 10.3404/j.issn.1672-7649.2023.17.037   PDF    
基于哈希学习的舰船网络数据库目标数据检索方法
许自龙, 方小平     
南昌大学 共青学院信息工程系,江西 九江 332020
摘要: 为了在海量舰船网络数据库中准确获取目标数据,提高数据库目标数据检索的成功率与检索精度,基于哈希学习算法,对舰船网络数据库目标数据检索方法展开研究。通过深度卷积神经网络与哈希学习的有效结合,构建舰船网络数据库目标数据检索模型,利用深度卷积神经网络提取舰船网络数据库中的数据特征,通过哈希学习层获取舰船网络数据库中数据特征的检索匹配哈希码,并在检索模型中引入加权余弦三元组损失函数完成模型训练,将目标数据作为训练后的模型输入,通过匹配输出的目标数据特征哈希码和舰船网络数据库中数据特征检索哈希码,实现舰船网络数据库目标数据检索。实验表明:该方法可实现舰船网络数据库目标数据检索,检索成功率为100%,可获取准确的经纬度数据;对图像以及文本数据库目标数据均值平均精度最高为82%、78%,检索精度较高,检索的实际应用性能较高。
关键词: 哈希学习     舰船网络     数据库     目标数据检索     卷积神经网络     损失函数    
Object data retrieval method of ship network database based on Hash learning
XU Zi-long, FANG Xiao-ping     
Department of Information Engineering Gongqing College of Nanchang University, Jiujiang 332020, China
Abstract: In order to accurately obtain target data in massive ship network databases and improve the success rate and retrieval accuracy of database target data retrieval, a research was conducted on target data retrieval methods for ship network databases based on hash learning algorithms. Through the effective combination of deep convolutional neural network and hash learning, the target data retrieval model of the ship network database is constructed, and the data feature extraction in the ship network database is realized using the deep convolutional neural network. Based on the obtained features, the retrieval matching hash code of the data feature in the ship network database is obtained through the hash learning layer, and the weighted cosine triplet loss function is introduced in the model to complete the model training. Finally, the target data is used as the input of the trained model, and the target data retrieval in the ship network database is achieved by matching the output target data feature hash code with the data feature retrieval hash code in the ship network database. The experiment shows that this method can achieve target data retrieval in ship network databases, with a success rate of 100%. It can obtain accurate longitude and latitude data, and the average accuracy of image and text database target data is the highest at 82% and 78%, with high retrieval accuracy and practical application performance.
Key words: Hash learning     ship network     database     target data retrieval     convolutional neural network     loss function    
0 引 言

随着科学技术不断更新,舰船网络数据库中的数据量也逐渐增加[1],对于这些海量数据,实现高效检索关键目标数据尤为重要。由于舰船网络数据库中的数据具有规格巨大且维度较高的特点,所以实现舰船网络数据库目标数据快速检索也是一项重要挑战[2]

为此众多学者对舰船网络数据库目标数据检索进行了大量研究,罗鹏程等[3]提出基于深度学习的舰船网络数据库目标数据检索方法,实现目标数据重排列处理,最终利用SimCSE模型实现舰船网络数据库目标数据检索。该方法虽然可提升舰船网络数据库目标数据的检索能力,但检索范围较小,对目标数据检索的成功率具有一定的影响。宁海涛[4]提出基于分块主色法的舰船网络数据库目标数据检索方法,对舰船网络数据库目标数据进行分割处理,获取以非均匀量化形式的目标数据特征,通过加权值方式完成特征遍布状况的计算,最终利用相似度匹配实现舰船网络数据库目标数据检索。虽然该方法能够有效降低舰船网络数据库目标数据检索时间,但是对目标数据检索的准确性还有一定的上升空间,检索性能有待加强。赵英豪等[5]提出基于海量时空数据的舰船网络数据库目标数据检索方法,以遍布式舰船数据库HBase为基础,通过三维网格实现舰船网络数据库目标数据编码处理,采用兴趣维度特性和HBase的结合,实现舰船网络数据库目标数据检索,该方法虽然可提高舰船网络数据库目标数据的检索正确率,但对于图像目标数据的检索精度较低,降低了检索方法的实际应用性能。

哈希学习技术被普遍应用于数据传输、计算机图像以及目标检索等领域[6],该技术可将舰船网络数据库目标数据特征有效转化成二进制哈希码,有助于舰船网络数据库目标数据检索。本文基于哈希学习算法,对舰船网络数据库目标数据检索方法展开研究,提升舰船网络数据库目标数据检索的效率以及性能。

1 舰船网络数据库目标数据检索 1.1 深度卷积神经网络和哈希学习的目标数据检索

利用深度卷积神经网络和哈希学习构建舰船网络数据库目标数据检索模型[7],如图1所示。

图 1 舰船网络数据库目标数据检索模型 Fig. 1 Target data retrieval model of ship network database

通过深度卷积神经网络提取舰船网络数据库中的数据特征,经过哈希层处理后[8],获取舰船网络数据库中数据特征的检索匹配哈希码,通过损失函数以及后向传播算法分别对所得数据特征检索匹配哈希码与网络进行处理、训练,获取舰船网络数据库目标数据检索模型参数,最终将需检索的舰船网络数据库中的目标数据作为训练后的模型输入,利用输出的目标数据特征哈希码和舰船网络数据库中的数据特征检索匹配哈希码进行相似度匹配,实现舰船网络数据库目标数据检索。

1.1.1 深度卷积神经网络层

使用深度卷积神经网络完成对舰船网络数据库中的数据特征提取,本文选用的深度卷积神经网络基础结构是深度为16的VGG模型,其中含有5个卷积层以及2个完全连接层。采用步频是1、卷积核尺寸为4×4的卷积层作为深度卷积神经网络中的前2个卷积层,而后3个卷积层则分别采用步频是1、一个卷积核尺寸为2×2的卷积层以及步频是1、2个卷积核尺寸为4×4的卷积层。在应用深度卷积神经网络过程中,应随着输入目标数据的大小,修正对应的卷积层输出数量。

1.1.2 哈希学习层

哈希学习层通过深度卷积神经网络输出的舰船网络数据库中的数据特征,获得利于目标数据检索的二进制哈希码,由于2个完全连接层均和哈希学习层相连,所以通过式(1)描述深度哈希函数为:

$ h\left( {x,w} \right) = {\rm{sign}}\left( {\left[ {{f_6}\left( x \right);{f_7}\left( x \right)} \right]{w^{\rm{T}}}} \right)。$ (1)

式中: $ w $ 为哈希学习层权重; $ x $ 为通过深度卷积神经网络输出的舰船网络数据库中的数据特征; $ {f_6}\left( {{\cdot}} \right) $ $ {f_7}\left( {{\cdot}} \right) $ 为完全连接层 $ F6 $ 以及 $ F7 $ 输出的舰船网络数据库中的数据特征向量; $ T $ 为转置。通过式(2)获取 $ k $ 节的舰船网络数据库数据特征二进制哈希码为:

$ \tilde h\left( {x,w} \right) = \left[ {{h_1}\left( {x;{w_1}} \right),{h_2}\left( {x;{w_2}} \right), \cdots ,{h_k}\left( {x;{w_k}} \right)} \right]。$ (2)

设定哈希学习层为一个简易完全连接层,利用Sigmoid激活函数处理哈希学习层中的神经元,获取位于(0,1)区间之中的神经元激活数值,对该值进行阈值函数二值化处理,获取舰船网络数据库数据特征二进制哈希码。由于产生的每个二进制哈希码均受限于上层传输来的舰船网络数据库数据特征,所以产生的每个二进制哈希码不具备独特性,还可导致哈希码的信息繁琐。针对此种情况,采用切割方式处理上一层传输来的舰船网络数据库数据特征,防止循环信息影响二进制哈希码的产生,以此降低哈希码之间的冗杂,同时提升哈希码的独特性与品质。

以上一层输出的舰船网络数据库数据特征为基础,获取切割后距离相同的 $ k $ 节特征,产生的切割节点总数即舰船网络数据库数据特征二进制哈希码的编码位数,其次利用 $ k $ 节特征输入完全连接层和激活函数层,通过式(3)描述此时的哈希函数为:

$ \begin{gathered} {{\tilde h}_i}\left( {x,w} \right) = {\rm{sign}}\left( {\left[ {{X_i}\left( {{f_6}\left( x \right);{f_7}\left( x \right)} \right)} \right]{w^{\rm{T}}}} \right) ,\\ \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} i = 1,2,...,j, \cdots ,k。\\ \end{gathered} $ (3)

式中: $ {\tilde h_i}\left( {x,w} \right) $ 为获取的第 $ i $ 位舰船网络数据库数据特征哈希码; $ {X_i}\left( {{f_6}\left( x \right);{f_7}\left( x \right)} \right) $ 为切割后第 $ i $ 节数据特征。

对激活函数选取而言,如果采用符号函数直接作为完全连接层的输出,虽可严厉控制输出为二进制输出,但输出具有不能微分缺点,不能经过后向传播梯度完成梯度更新,难以优化模型。如果采用ReLU函数,实现损失函数最小化的同时难以直接完成离散优化,选用Sigmoid或者tanh为激活函数实现接连输出表示的舰船网络数据库数据特征二进制哈希码松懈。

但此时以不是0的中央值作为Sigmoid函数的输出值,由于该输出值位于(0,1)区间且均为大于0的数,如此会导致非0均值信号作为后一层神经元的输入,干扰梯度的生成,所以在训练过程中,参数的梯度值应以全为小于0的数或者全为大于0的数,即以正方向或者负方向更新形式完成后向传播,实现慢速收敛并不易抵达最优值。因tanh函数属于均值为0的函数,可应对Sigmoid函数非0均值现象的产生,更有助于训练效率的提升,所以选择激活函数为tanh函数,通过式(4)描述此刻的哈希函数为:

$ \begin{gathered} {{\tilde h}_i}\left( {x,w} \right) = {\rm{tan}} h \left( {\left[ {{X_i}\left( {{f_6}\left( x \right);{f_7}\left( x \right)} \right)} \right]{w^{\rm{T}}}} \right), \\ \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} \mathop {}\nolimits^{} i = 1,2, \cdots ,k。\\ \end{gathered} $ (4)

为实现高效检索舰船网络数据库目标数据,对接连输出利用阈值函数获取以离散化方式存在的舰船网络数据库数据特征二进制哈希码。

1.2 损失函数

为使获取的舰船网络数据库数据特征哈希码具有模态之间的类似构造,选用加权三元组作为损失函数,一个锚记、负样本与正样本构成每个三元组,当进行舰船网络数据库目标数据检索时,通常描述三元组为 $ \left\{ {\tilde b_i^x,\tilde b_j^{y + },\tilde b_k^{y - }} \right\} $ ,如果锚记和样本存在不小于一个同种标签时,那么样本为正样本,否则为负样本。由于语义区间中的类似程度具备排列性特点,与只有 $ \left\{ {0,1} \right\} $ 的单标签类似程度描述不同,所以通过权重因素保障多个标签数据位于语义区间中的类似度构造。加权余弦三元组损失即对跨模态数据间的类似程度进行余弦长度计量处理,同时利用一个权重因素 $ \omega $ 和每个三元组进行相乘,通过式(5)表示检索目标数据时的加权余弦三元组损失函数为:

$\begin{aligned} L = & \sum\limits_{i,j,k} {\omega \left( {{r_j},{r_k}} \right)} \left( {\cos \left( {\tilde b_i^x,\tilde b_j^{y + }} \right)} \right. - \\ & \left. {\max \left( {\cos \left( {\tilde b_i^x,\tilde b_k^{y - }} \right)} \right)} \right) 。\end{aligned}$ (5)

式中: $ \omega $ 为类似样本; $ r $ 为锚记标签数量; $ \omega \left( {{r_j},{r_k}} \right) = $ $ \dfrac{Z}{{{2^{{r_j}}} - {2^{{r_k}}}}} $ 。其中, $ Z $ 为权重因素实现归一化的系数,一般状态 $ {r_k} = 0 $ ,通过式(6)可计算该系数为:

$ Z@p = \sum\limits_{i = 1}^p {\frac{{\ln \left( {1 + i} \right)}}{{{2^{{r_j}}} - 1}}} 。$ (6)

其中, $ p $ 为归一化几率的输出。

综上,可通过将加权余弦三元组作为损失函数,提升哈希学习层获取舰船网络数据库数据特征哈希码的语义信息表达能力,提升舰船网络数据库目标数据检索能力。

2 实验分析 2.1 实验设置

为了验证本文提出方法的实际应用性能,以某舰船网络后台数据库作为测试对象,对该数据库中目标数据进行检索。舰船网络后台数据库包含20000个图像数据集以及25000个文本数据集,其中图像数据集含有舰船主机图像、传动设备图像与机械舱图像等,文本数据集含有舰船航行数据、经纬度数据以及动力数据等,本文从以上数据集中分别选取3000个图像数据集和2 000个文本数据集作为实验对象。

2.2 检索成功率

从全部数据集中随机抽取20个数据对其应用本文方法,探究本文方法对舰船网络数据库目标数据检索的成功率。

使用本文方法对随机选取的20个舰船网络数据库目标数据均可成功实现检索,检索成功率为100%,同时能够确定具体检索日期,说明本文方法能够有效实现舰船网络数据库目标数据的检索,并且检索成功率较高。

2.3 检测准确性

使用本文方法对对随机选取的20个舰船网络数据库中的经纬度数据进行检索,检索结果如表1所示。

表 1 经纬度数据检索结果 Tab.1 Results of longitude and latitude data retrieval

分析表1可知,本文方法可检索出舰船网络数据库中各舰船的经纬度数据,其中包含详细的东西经、南北纬数据,说明本文方法可实现舰船网络数据库目标数据的准确检索。

2.4 检索精度

为了测试本文提出方法对于舰船网络数据库目标数据检索的精度,在引入均值平均精度(MAP)为舰船网络数据库目标数据检索评价指标。目标数据检索均值的平均精度越高,说明检索方法能够更准确地找到与检索要求相关的数据,这意味着该方法具有更好的数据匹配能力和准确性,能够提供更有价值的信息检索服务。采用精度评价前 $ l $ 个舰船网络数据库数据相较于检索目标数据 $ s $ 的排行,如下:

$ precision@l = \sum\limits_{i = 1}^l {{Re} l\left( i \right)} /l 。$ (7)

式中,检索目标数据 $ s $ 与排行为 $ i $ 的数据间的真实标识联系用 $ {Re} l\left( i \right) $ 描述。

实验给出不同位数哈希码的3000个图像数据集和2000个文本数据集关于MAP的折线图,目标数据检索均值平均精度的测试结果如图2所示。

图 2 目标数据检索均值平均精度 Fig. 2 Average accuracy of target data retrieval mean

根据图2可知,随着哈希码位数的增加,使用本文方法对舰船网络数据库目标数据进行检索的均值平均精度呈现总体上升趋势。当哈希码位数为30时,检索舰船网络图像以及文本数据库目标数据均值平均精度大约分别为75%、70%;当哈希码位数为60时,检索舰船网络图像以及文本数据库目标数据均值平均精度大约分别为82%、78%。说明本文方法对舰船网络数据库目标数据的检索精度较高,检索的实际应用性能较高。

3 结 语

本文研究的基于哈希学习的舰船网络数据库目标数据检索方法,不仅可以准确检索舰船网络数据库目标数据,还可获取清晰的检索结果。

参考文献
[1]
蔡梦玲. 基于贝叶经信息资源的特色数据库建设[J]. 图书馆杂志, 2021, 40(2): 111-116. DOI:10.13663/j.cnki.lj.2021.02.013
[2]
张天, 靳聪, 帖云, 等. 面向跨模态检索的音频数据库内容匹配方法研究[J]. 信号处理, 2020, 36(6): 966−976.
[3]
罗鹏程, 王继民, 王世奇, 等. 基于深度学习的科学数据集检索方法研究[J]. 情报理论与实践, 2022, 45(7): 49-56. DOI:10.16353/j.cnki.1000-7490.2022.07.008
[4]
宁海涛. 基于分块主色法的图像无序激增数据检索仿真[J]. 计算机仿真, 2021, 38(1): 375-379.
[5]
赵英豪, 吕亮, 徐青, 等. 一种面向海量时空数据的多维检索策略[J]. 测绘科学, 2020, 45(6): 199-204. DOI:10.16251/j.cnki.1009-2307.2020.06.028
[6]
薛朝辉, 张瑜娟. 基于卷积核哈希学习的高光谱图像分类[J]. 遥感学报, 2022, 26(4): 722-738.
[7]
聂秀山, 刘兴波, 袭肖明, 等. 基于相似度驱动的线性哈希模型参数再优化方法[J]. 软件学报, 2020, 31(4): 1039-1050. DOI:10.13328/j.cnki.jos.005918
[8]
黄雅婕, 翟俊海, 周翔, 等. 基于哈希学习的投票样例选择算法[J]. 计算机应用, 2022, 42(2): 389-394.