DreamBlooms/HansPub-15000-to-45000 huggingface dataset:
system: [SYSTEM]

user: 3. 技术对比 3.1. 分布式光纤传感技术 分布式光纤传感技术是将光纤本体作为传感器，通过与解调仪连接对光纤中传输激光的各项属性进行实时分析，从而对外界信号进行监控。当管道周围地理环境中出现滑坡等地质灾害或管道发生泄漏，光纤会因拉扯而发生变形或者内部二氧化硅的密度因温度而发生变化，由此带来光化，应变、温度等中间参数的变化得以直观的在波形图上得到体现。通过对波形图的分析和判断，现场管理人员得以及时了解发生事件的类型、强度以及位置，以便及时反应和处理。 根据光纤中传播的背向散射光的分布，见图1 [ 3 ]。将基于散射式的光纤传感技术分为拉曼散射、瑞利散射、布里渊散射以及部分基于干涉或其它类型的产品。 图1. 光纤传播的背向散射光的分布 在拉曼散射、瑞利散射、布里渊散射这三种分布式传感技术中，系统配置是相似的。激光光源用来向传感光纤发射信号光脉冲。当光脉冲沿着光纤的长度传播时，少量的信号被瑞利、布里渊或拉曼散射效应反向散射。背向散射光被过滤为特定波长，经过分析以确定温度或应变。 分布式光纤传感技术适用于管道同沟敷设有光缆的情况。需进一步根据具体管道内流体介质类别(气体或液体)、管道口径、是否其它探测的内容(如入侵、地灾等)合理设计光缆与管道的相对位置。 分布式光纤传感技术的优点包括：1) 利用与管道同沟敷设的光缆用于泄漏检测可以降低成本；2) 定位精度高；灵敏度高，对小的泄漏更敏感；3) 传感光缆抗电磁干扰和外界震动干扰能力强，高绝缘性好；4) 抗电磁干扰、安全可靠；5) 不受管道内流体性质的变化影响；6) 不受管道运行状态的影响。 分布式光纤传感技术的缺点有：1) 是基于外部条件的检测方法，受外部条件制约，光缆中断会影响到泄漏检测系统中断；2) 可能无法检测到渐进式泄漏；3) 无法预测泄漏的大小；4) 尤其是当流体温度接近环境温度时不易探测，因此有些输油管道不太适用；5) 对于没有光缆的已有管道来说，需要敷设光缆，费用昂贵、难度大。 3.2. 负压波技术 这项技术基于对管道负压的测量。当管道发生泄漏时，释放处的压力下降。这种负压波从释放点以波动的形式向上下游两个方向传播，可以被两端或沿管道的高精度压力变送器感知。 对负压的检测与确认是负压波技术的基础，因此需在管道两侧一定的位置安装高灵敏度和高精度的压力变送器。变送器连续测量管路压力的波动，见图2，将迅速的压力降低和恢复信息上传给监控设备。通过来自所有监测站点的数据变化分析，以确定是否启动泄漏检测警报，同时利用该负压波到达上下游的时间差可以确定泄漏点的具体位置。 图2. 负压波法示意图 负压波技术优点包括：1) 利用压力变送器进行测量，成本费用低；2) 检测速度快；3) 能够比较准确的定位的泄漏位置；4) 对流体性质(如粘度和密度)极不敏感；5) 不受外部环境条件影响；6) 比较容易发现打孔盗油。 负压波技术缺点包括： 1) 适合用于液体管道的泄漏检测，不推荐用于天然气管道。根据管道中气体流动的流体剖面，由于管道泄漏而产生的声波不能在天然气管道中长距离传播，负压波在输气管道中会迅速衰减，并且泄漏产生的压力波幅值往往接近正常水平的管道噪声。根据2012年12月发布的《管道与危险物质安全管理局(美国运输部)泄漏检测研究报告》，负压波法不适用于天然气管道。 2) 负压波技术可以检测突然发生的泄漏或由于管道损坏造成的泄漏。该技术对渐进式泄漏的检测能力较差，因为在渐进式泄漏中不会产生特定的声波。 3) 受仪表精度和响应时间影响非常大。用于压力测量的传感器需要有很快的响应时间非常高的采样率。须经常校准仪表，否则可能会导致系统出现错误。仪表故障会导致无法检测到泄漏。 4) 受噪音影响，压力传感器很难精确的检测到负压波突降点，时间差计算精度有待提高。 5) 正常的操作，例如调节阀门、启停泵等都会引起负压波，造成误报警。 3.3. 实时瞬态模型技术 实时瞬态模型技术基于水力模拟的实时模拟流体流动、压力和温度的模型，依据动量守恒计算、能量守恒计算和大量的流动方程将模拟结果与测量数据(压力和流量)进行比较判断出管道是否泄漏。 为了设计特定管道的实时瞬态模型，需要了解管道的配置，包括管道的物理参数(管长、管径、壁厚、管道构成、路由拓扑、路线走向、粗糙度、泵、阀门、设备位置等)及流体物性(精确的体积模量、黏度、密度等) [ 4 ]。 实时瞬态模型可以用于几种方法检测泄漏，最常见的两种方法是： 1) 偏差分析法：将SCADA系统的测量值与实时瞬态模型的计算值进行比较。如果差值超过预先确定的阈值，则会产生泄漏警报。 2) 模型补偿量平衡法：采用实时瞬态模型实时计算库存量。库存量更改用于纠正数量不平衡。如果补偿的不平衡超过预定的阈值，则会产生泄漏警报。 相对于其他方法，实时瞬态模型的优势在于它能够模拟所有的动态流体特性(流量、压力、温度)，并考虑到广泛配置的物理管道特性(长度、直径、厚度等)以及产品特性(密度、粘度等)。 实时瞬态模型的优点有：1) 有完整的流体动力学特性，如流量，压力和温度等建模；2) 通常依托于现有的仪表和SCADA系统，安装成本相对较低；3) 可以测量泄漏的体积和位置；4) 适用于瞬态工况；5) 在提高模型配置的准确性后，误报率更低。 实时瞬态模型的缺点包括：1) 现场仪表(压力、流量、温度)的任何故障或缺陷都将降低其性能，使其容易出现误报；2) 算法比较复杂，需要大量的关于管道、设备和流体的数据，而有时这些数据的获取比较困难；3) 运操作和维护都需要较专业的知识和技能；4) 对流体特性，特别是粘度和密度较敏感；5)泄漏位置识别的准确性不是很好，取决于现场仪表在管道上的位置。需要经常校准流量和压力仪表。 3.4. 技术的选择标准 管道泄漏检测系统的选择主要依据五个主要因素： 1) 灵敏度。灵敏度定义为系统能够检测到的泄漏大小的综合度量，以及在发生这种大小的泄漏时系统发出警报所需的时间。 2) 精确度。精确度是与泄漏流量、总容积损失、泄漏位置等估计参数相关的泄漏检测系统性能的度量。 3) 可靠性。可靠性是对泄漏检测系统对管道可能存在的泄漏做出准确判断的能力的度量。 4) 稳健性。稳健性是对泄漏检测系统在管道运行条件不断变化的情况下继续发挥作用并提供有用信息的能力的一种衡量。 5) 投资成本。包括建成一套完成的泄漏检测系统所需的系统设备、材料的采购和施工的费用。 评估过程中也应适当考虑的其它次要因素包括：泄漏大小、泄漏检测时间、兼容性、适用性、数据资源可获得性、易用性、可访问性、安全性等。
system: [SYSTEM]

user: 4. 结论和建议 管道泄漏检测系统对于管道安全运行至关重要，需要根据管道实际情况选择合适的泄漏检测技术。负压波技术和实时瞬态模型都可以依托现有的仪器仪表，综合成本较低，其中负压波技术建议用于天然气管道。光纤传感技术不但能够检测管道泄漏，还可以用于探测第三方入侵、地层运动(如滑坡、崩塌、沉降及其它地质灾害)、季节变化对周围土壤影响、土壤侵蚀迹象、管道智能清管器位置追踪等。 分布式光纤传感技术具有监测距离长、定位精度高、灵敏度高、安装施工方便等优点，是未来天然气管道相关安全监测技术(包括泄漏检测技术)的主要发展方向之一。光纤通信已经是新建油气管道项目的主用通信方式，新建管道项目都会与管道同沟敷设光缆，大大降低了光纤传感泄漏检测的建设成本。所以建议新建管道项目将基于分布式光纤传感技术的泄漏检测系统作为首选。
system: [SYSTEM]

user: 摘要 虽然互联网快速进步发展，但也带来了大量的网络数据流，随之而来的是数据的综合存储，数据的综合计算和数据分析等诸多问题，各种业务系统的复杂多样化，数据分析的实效性要求也变得越来越高，先前常用的离线分析很多已经不适用于当今的生产需要，如今对数据的推荐系统在实时性方面有了更高的需求。基于矩阵分解的推荐算法作为目前较为流行的推荐算法，不论从预测的准确度还是预测的精确度都要明显地优于其它的算法。但传统的矩阵分解方法在处理大规模数据时存在计算速度慢和计算资源不足的问题。Flink大数据框架作为当前热门的流数据处理框架，在迭代计算与流数据处理上有明显的优势。本文将矩阵分解方法与Flink处理相结合，在原有的矩阵分解推荐算法的基础上，提出一种基于Flink的矩阵分解算法的优化模型，解决了矩阵分解在大数据环境下的瓶颈。
system: [SYSTEM]

user: 1. 引言 “大数据”技术近几年来快速发展，它不仅是一个企业发展趋势，也是一个改变了人类日常生活的重大技术创新。大数据对整个行业以及用户的整合重要性也日益突出，进行高度智能化商业决策，已成为企业脱颖而出的重要关键，越来越多的中国企业已经开始针对企业大数据技术进行企业战略整合布局，重新正确定义自己的企业核心战略竞争力。 在高速发展的信息社会里，科技发达，信息广泛流通，人们之间的信息交流越来越密切，大数据与人们的生活日益紧密地联系在一起，大数据技术就是这个高科技信息时代的必然产物。生活的许多方面都可以涉及应用到企业大数据，这些企业大数据的应用属性都是直接呈现了企业大数据不断变化增长的信息复杂性，所以，大数据的应用分析方法在企业大数据分析领域已经显得尤为重要。简单地说，它是作为决定最终企业信息分析是否有价值的一个决定性考量因素 [ 1 ]。
system: [SYSTEM]

user: 2. Flink的选择 Apache Flink是大数据时代下的一个的产物——基于流式数据计算模型的实时计算平台。与Flink同样优秀的实时计算框架还有Apache Flink Streaming和Apache Storm。在众多优秀的实时计算框架的选择上，阿里巴巴研究员蒋晓伟曾对该问题做出解答：“我们觉得在流处理方面Flink在功能，延迟，一致性和性能上综合来看是目前社区最优秀的，所以我们决定采用它来实现流和批的一体化方案。” Flink是把批当作一种有限的流，而Flink Streaming却与之相反，Flink Streaming是把流转化成一个个小的批来处理，因此，在流数据处理上，需要的延迟越低，额外的开销就越大，这就导致了Flink Streaming很难做到秒级甚至压秒级的延迟。因此如果要用一套引擎来解决流和批处理，那就必须以流处理为基础。 在流式计算上，Flink的流式处理引擎和Storm很相似，然而Storm只能处理流数据，没有批处理的能力。在语义处理上，Storm支持“At Most Once”和“At Least Once”，而Flink在此基础上还支持“Exactly Once”。同时，Flink还提供了很多高级的API，而Storm需要使用者自己去实现这些功能。 因此，在综合推荐系统的实时性、数据的精确性以及计算引擎的易用性等方面而言，Flink是一个更加合适的选择。
system: [SYSTEM]

user: 3. 矩阵分解 基于系统矩阵模型分解的综合推荐分析算法，其从本质上来说是一种基于矩阵模型的用户协同特征过滤综合推荐分析算法，它是通过分析提取用户评分系统矩阵分解中的各种影响推荐因素，从而构成特征向量，分解并得出推荐用户间的特征向量和推荐物品间的特征向量，由得出用户和推荐物品间的向量高度交互相关性从而产生综合推荐。该评分方法一方面可以实时得到了评分用户的各个偏好和每件评分物品的各个特性，另一方面可以降低了原有的评分指标矩阵的各个维度。假设用户的物品评分矩阵为R，矩阵中有m个用户和n个物品，每个元素表示用户对物品的评分。评分矩阵R中有很多缺失值，每位用户只对其中很少一部分的物品有评分 [ 2 ]，因此，R是一个非常大的稀疏矩阵。此时需要做的工作是补全这些缺失值。对于评分矩阵的补全，有一个最重要的原则是补全后的值对原矩阵的扰动最小，一般判断的标准是补全后的矩阵和原来矩阵的特征值相差最小。 最早使用的矩阵分解方法是奇异值分解。奇异值分解是线性代数中一种重要的矩阵分解，奇异值分解则是特征分解在任意矩阵上的推广。在信号处理、统计学等领域有重要应用。对于评分矩阵R，首先，补全R中的缺失值，得到R'；然后，使用奇异值分解方法将R’；分解为如下形式： R ′ = U T ⋅ S ⋅ V (1) 其中， U ∈ R m × k ， V ∈ R k × n 是两个正交矩阵， S ∈ R k × k 是对角矩阵。 对角线上每个元素的值就是该评分矩阵特征值的平方。对于矩阵S，保留最大的前f个奇异值组成对角矩阵 S f [ 3 ]，就是舍弃了权重较低的奇异值和所对应的特征向量，即去除了一部分噪音，并且保留f个奇异值在U和V中对应的行和列，得到 U f 和 V f [ 4 ]。将这三个矩阵再次相乘，可得到降维后的评分矩阵 R ′ f ： R ′ f ( u ， i ) = U f T ⋅ S f ⋅ V f (2) 其中， R ′ f ( u ， i ) 是用户u对物品i的预测评分。 奇异值分解模型的推荐效果优于传统的基于邻域的推荐算法，该模型也是早期推荐系统中矩阵分解算法较为常用的方法 [ 5 ]。但是该方法存在存储空间的耗费特别大和时间复杂度较高的缺点，以致于很难应用在实际的应用中。 奇异值分解方法的不足有目共睹 [ 6 ]，为了解决以上问题，许多研究人员提出了各种应对方案。比如，张宇等人提出了基于MapReduce的矩阵分解算法，解决了大批量的评分矩阵在多节点上的资源共享问题 [ 7 ]。但是，该算法使用的MapReduce框架，在迭代计算的过程中，节点间的通信和I/O操作影响了算法的执行效率 [ 8 ]；杨洋等人提出了一种基于矩阵分解与用户近邻模型的推荐算法，该算法实现了两种推荐模型的融合，一定程度上提高了推荐系统的推荐准确度 [ 9 ]。但是，其忽略了物品或用户间的相似性对推荐系统推荐准确度的影响。 综上，本文针对矩阵分解算法展开研究。在原有的矩阵分解模型基础上，做进一步优化，然后，将优化后的矩阵分解模型与最近邻模型融合，从而提出一种基于Flink的矩阵分解和K近邻融合的推荐算法 [ 10 ]。
system: [SYSTEM]

user: 4. 问题分析 在上文对这种矩阵向量分解特征算法的详细介绍中，本文发现在矩阵求解物品用户和其他物品的两个特征向量时，矩阵分解p和q可能会同时丢失一些物品用户和其他物品的特征信息，比如物品用户间的特征相似性和用户物品间的特征相似性。在精确求解不同用户或其他物品间的相似度时，采用皮尔逊相关系数和采用评分概率矩阵方法求得的分析结果可能存在一定的概率差异。因此，本文首先引入了一种新的训练目标计算函数，在该目标函数中分别引入了与用户或其他物品间的绝对相似性，保证了对模型进行训练前后相似度的相对一致性。
system: [SYSTEM]

user: 5. 算法优化 5.1. 具体步骤 5.1.1. 相似度计算 采用皮尔逊相关系数，计算其与虚拟用户或其他虚拟物品间的相似度。计算公式基本列表内容如下： s i m ( i ， j ) = ∑ c ∈ I i j ( R i ， C − R i ) ( R j ， C − R j ) ∑ c ∈ I i ( R i ， C − R i ) 2 ∑ c ∈ I j ( R j ， C − R j ) 2 (3) 皮尔逊相关系数的变化范围为−1到1。系数的值为1意味着 I i 和 I j 可以很好的由直线方程来描述，所有的数据点都很好的落在一条直线上，且两集合呈正相关。系数的值为−1意味着所有的数据点都落在直线上，两集合呈负相关。若系数的值为0，那么意味着两个集合之间没有线性关系。 5.1.2. 设计目标函数 为了确保持设计模型运动训练前后练习用户间或训练物品间的相似度计算一致性，本文在分析设计模型目标计算函数时，融合了上式两种计算方法得到的相似度计算结果，目标计算函数定义如下： f ( U ， M ) = ∑ ( i ， j ) ∈ I ( r i j − u i m j T ) 2 + ∑ i ∈ I j ( u k i − ∑ u p ∈ K N N ( u i ) s i m u i u p u k p ∑ u p ∈ K N N ( u i ) s i m u i u p ) 2       + ∑ j ∈ I i ( m k j − ∑ m q ∈ K N N ( m j ) s i m m i m p m k p ∑ m q ∈ K N N ( m j ) s i m m i m p ) 2 + λ ( p u 2 + q i 2 ) (4) 上式中， ( i ， j ) ∈ I 表示一个训练数据集中的用户评分项， I j 表示用户集合， I i 表示物品集合， K N N ( u i ) 表示用户u i 的前K个最近邻居集合， K N N ( m j ) 表示物品m j 的前K个最近邻居集合， s i m u i u p 表示两个用户间的相似度， s i m m i m p 表示两个物品间的相似度，k表示某一个物品特征或者的隐含相关因子。 本文在矩阵分解模型的基础上增加了物品间的相似度和用户间的相似度计算，使模型既可以处理用户对物品的评分信息，又考虑了用户或物品间的相似度，有助于推荐准确度的提高 [ 11 ]。本文在最近邻模型中选取邻居数目时，只选取了前K个邻居，一方面是为了减少计算时间，另一方面，大部分用户或者物品的信息包含在前K个邻居中，其余邻居对于相似度影响很小。 5.1.3. 求解目标函数 我们通过Flink在迭代式计算方面的优势求解特征矩阵u i 和m j 。本文采用交替最小二乘法(ALS)，利用最小二乘法可以简便地求得未知的数据，并使得这些求得的数据与实际数据之间误差的平方和为最小。即，首先固定u i 求解m j ，然后固定m j 求解u i ，依次迭代。具体过程如下： ∂ u k i ∂ f 2 1 = 0 ， ∀ i ， k ⇒ ∑ j ∈ I i ( u i T m j − r i j ) 2 + ( u k i − ∑ u p ∈ K N N ( u i ) s i m u i u p u k p ∑ u p ∈ K N N ( u i ) s i m u i u p ) + λ n u i n k i = 0 ， ∀ i ， k (5) ⇒ u i = ( M I I M I I T + ( λ n u i + 1 ) E ) − 1 × ( M I i R T ( i ， I i ) + ∑ u p ∈ K N N ( u i ) s i m u i u p u k p ∑ u p ∈ K N N ( u i ) s i m u i u p ) ， ∀ i (6) 以上，迭代计算求得u i ，同理，对于m j ： m j = ( M I I M I I T + ( λ n u i + 1 ) E ) − 1 × ( M I i R T ( j ， I j ) + ∑ m q ∈ K N N ( m j ) s i m m j m q m k p ∑ m q ∈ K N N ( m j ) s i m m j m q ) ， ∀ i (7) 该算法的主要过程是：通过交替最小二乘方法不断迭代，寻求最优解。若算法达到迭代的次数或者计算结果收敛，可得到用户特征向量u i 和物品特征向量m j ，最终使用特征向量产生推荐结果。 在上述特征算法的分析设计中，本文首先考虑到全面性并考虑到对用户或其他物品的特征相似性，然后将其算法融入应用目标特征函数求解计算中的特征向量，具有偏导性函数的特征求解算法过程复杂，计算量大的缺点。因此，本文通过计算相关用户或其他物品的前后k邻和近邻的前后相似性，将相关用户或其他物品的前后相似性进行融合后得到一个损失矩阵函数，在损失矩阵进行分解后，可大大减少相关用户或其他物品相关信息的大量丢失，提高用户推荐管理系统的用户推荐结果准确度。
system: [SYSTEM]

user: 6. 实证分析 6.1. 数据来源及说明 该数据取自于：https://grouplens.org/datasets/movielens/。 这个数据集(ratings.csv和movies.csv)涵盖9742部电影。这些数据由610名用户在1996年3月29日至2018年9月24日期间创建。该数据集于2018年9月26日生成。用户是随机选择的。所有选定的用户都对至少20部电影进行了评分。不包括人口统计信息。每个用户都由一个id表示，不提供其他信息。 6.2. 实验涉及 针对本文提出的矩阵分解算法的研究，设计实验对文中提出的矩阵分解优化模型的性能进行验证。本文主要对算法的预测评分准确度进行验证，即计算矩阵分解优化模型、传统的矩阵分解。 本文除了使用Flink计算框架之外，Flink相关的一些组件也有所应用，比如Flink SQL，在推荐列表的查询中，比较Flink SQL查询方案与传统的MySQL查询方案，验证查询速度的提升，从而得出在Flink框架下一种更加高效的查询方案，应用在推荐系统中有助于提升系统的实时性。 6.3. 测评结果 1) 基于Flink的实时推荐系统框架与传统推荐系统框架的模型训练时间对比实验，具体结果如图1和图2所示。 图1可以看出，对于不同的算法类型，基于Flink的实时推荐系统框架相比于传统推荐系统框架，其性能都有所提升。因此，在基于Flink的实时推荐系统框架中，其性能的提升具有很高的幅度。 图2是矩阵分解算法在不同的迭代次数下，Flink和Hadoop两种框架下的模型训练时间对比情况，可以看出，随着迭代次数的增加，Hadoop框架下的模型训练时间增加明显，而Flink框架下随着迭代次数的增大，模型的训练时间相对稳定，其原因在于，HadoopMapReduce在每次计算之后，需要重新访问HDFS，增加了数据I/O的时间，从而也极大的降低了计算的性能 [ 12 ]。因此，Flink是一种极其适合在具有多次迭代计算的数据挖掘的场景中应用，这得益于Flink是基于内存计算的，即在计算过程中，所得到的中间计算结果不落地，直接存储在内存中，这样减少了数据的I/O操作，从而很大的提升了计算速度，提高了系统的性能 [ 13 ]。 图1. 模型训练时间对比 图2. 矩阵分解模型在不同迭代次数下模型训练时间对比 2) 基于Flink的实时推荐系统框架与传统推荐系统框架的性能提升对比实验，具体数据如图3所示。 图3. Flink SQL与MySQL数据查询时间对比 由图3可以看出，采用Flink SQL查询推荐的方式，相比传统的MySQL查询方式，极大的提升了查询的速度，也因此极大的提升了推荐系统的实时性。并且可以发现，随着推荐列表规模的不断增大，传统的查询方式的查询时间增加明显，Flink SQL则增加缓慢，这说明了Flink SQL在面对大量数据的查询时仍然具有优异的表现。Flink SQL具有大量数量快速查询的能力，其主要得益于Flink SQL的表数据在内存中存储采用的是内存列存储的方式，这种存储方式不管是在空间的占用量还是在读取吞吐率上都有优异的表现 [ 14 ]。因此，在实时推荐系统中应用Flink SQL查询技术，极大的提高了推荐系统的实时性。 3) 在Flink环境下，分别对传统的矩阵分解的推荐算法以及优化后的矩阵分解这两种的评分预测正确度值的RMSE值进行对比实验，验证本文中提出的矩阵分解优化算法的性能。实验结果如图4所示。 图4. 不同隐含特征值个数RMSE值 对于以上两种推荐模型，从图4的信息可以优化后的矩阵分解推荐算法在传统的矩阵分解模型的基础上很大程度的提高了推荐的准确度，说明了本文设计的优化模型的在算法的准确度上有所提升，其关键就在于引入了用户和物品的相似度计算；其次，随着隐含特征个数的增加，传统矩阵分解模型的RMSE值下降速度变缓，这也从侧面说明，传统的矩阵分解模型每次计算出的结果都是包含了显著特征的用户特征向量。
system: [SYSTEM]

user: 7. 结论 本章首先简要介绍了各种矩阵中的分解函数模型的基本原理，分析了各种矩阵中的分解函数模型可能存在的不足。针对系统矩阵信息分解系统模型信息丢失影响用户或其他物品信息相似性的复杂问题，本文提出了一种基于Flink的矩阵分解优化模型。该综合模型在之前原有的一个矩阵数组分解综合模型的研究基础上，引入了对用户和一个物品的前身和k个最近最远邻居的数据相似性综合计算，即是将融合了最多附近邻居的模型引入到矩阵数组分解的综合模型中，增强了推荐系统的推荐准确度。前k个最近邻居的选取，在考虑了相似度的同时，减少了计算特征矩阵的时间，有助于提高系统的实时性。 最后设计实验，对文中提出的矩阵分解优化模型的性能以及本文设计与实现的实时推荐系统的性能进行验证。实验结果验证了基于Flink平台搭建的实时推荐系统在性能上比传统的Hadoop框架好；并且，本文设计Flink SQL查询技术的使用，极大地提高了推荐系统的实时性；同时，本文提出的矩阵分解优化模型在推荐准确度、计算速率方面与当前传统的推荐算法相比要有优势。
system: [SYSTEM]

user: 摘要 文章研究了基于视频的乒乓球球员动作识别问题。在计算机视觉领域，人体动作识别具有一定挑战性。基于专业乒乓球运动员在乒乓球发球机的接发动作视频，构建了乒乓球击球动作视频数据集，将其分为正手击球、反手击球、正手拉球、反手拉球和非击球动作5类。提出通过人体密集姿态(Dense Pose)处理数据集，将把人体形态从环境中进行提取，随后提出一种改进的C3D卷积网络，用于学习数据集上连续帧的时空特征。结果表明，文章设计的算法对于光线、环境等干扰因素具有较好的鲁棒性，泛化性能好，为基于视频的动作分类识别问题提出了一种可行解决方案。
system: [SYSTEM]

user: 1. 引言 乒乓球被誉为我国的国球，其易于开展，参与性强，普及度高，得到了国内各年龄段人员的普遍喜爱。随着科技的高速发展，计算机技术已成为提升运动竞技水平的重要工具，带有智能功能的比赛记录和分析装置已在训练和比赛中得到了初步应用。王恺凡等人基于卷积神经网络开发了一款乒乓球训练平台，将人脸识别、人体骨骼识别和心率检测功能进行了整合，提升了训练效果 [ 1 ]。丁朔等人融合语音交互与自然语言处理技术，设计了一款乒乓球智能训练系统，辅助教练员制定训练计划，并对错误的动作给予视频纠正指导 [ 2 ]。杨波等人将VR (Virtual Reality，虚拟现实)技术引入高等院校的乒乓球课堂教学，将其整合融入既有课程，提升了教学效果 [ 3 ]。任云青等人采用ROS (Robot Operating System，机器人操作系统)、OpenCV (Open Source Computer Vision Library，开源计算机视觉库)等软件，设计并实现了一款智能乒乓球自动捡球机器人，实现了乒乓球智能识别、分拣与运输等功能 [ 4 ]。 在以乒乓球运动为代表的对抗性球类项目的球员技术动作识别与分析方面，基于机器视觉的人体动作识别技术近来得到了普遍关注。孙于成等使用时空图卷积在其自建的乒乓球骨骼数据集上实现了击球动作的研究 [ 5 ]。Martin等提出的双时空卷积神经网络(TSTCNN)在MediaEval 2020“运动视频分类：乒乓球的动作分类”比赛中取得了优异的成绩 [ 6 ]。杨静等基于支持向量机(SVM)和光流分析，提出了一种识别体育视频中羽毛球运动员运动的方法 [ 7 ]。Nur Azmina Rahmad等在其自建的羽毛球比赛数据集中对AlexNet，GoogleNet，VggNet-16和VggNet-19四种卷积神经网络的模型分类性能进行了比较 [ 8 ]。Piergiovanni等构建了MLB-YouTube棒球比赛运动数据集，并用3D卷积网络的方法对数据集细粒度活动进行识别 [ 9 ]。 然而上述动作识别算法研究均基于公开或非公开球员间比赛的视频数据集，在疫情常态化的新形势下，发球机已成为训练的重要组成部分，发球机发球速度、力量和旋转方式和球员回球有较大差异，而关于球员在乒乓球发球机上的回球动作识别相关研究目前比较罕见。为提升乒乓球发球机的训练质量，课题组邀请专业乒乓球队员进行标注技术动作采集，通过60 fps深度摄像机采集专业运动员接发球动作，建立了发球机接发球标准动作数据集，随后通过密集姿态(Dense Pose)技术去除环境、衣服、肤色等影响因素，最后对C3D网络 [ 10 ] 改进并训练数据，完成对乒乓球击球动作的识别，整个项目的实验过程如图1所示。 图1. 乒乓球击球动作识别算法流程图
system: [SYSTEM]

user: 2. 视频数据集构建 2.1. 数据采集环境搭建 选取市场上主流的乒乓球发球机(双鱼1040)进行接发球训练。该设备在出球口设置了胶皮擦球装置，能够通过胶皮摩擦发出上旋、下旋转和侧旋球；同能够调整发球速度、角度、频率，可以满足接发球技术动作训练要求。 视频采集设备为ZED双目深度像机，参数调整为：分辨率720像素、帧率60 fps。为了保证采集到的运动视频不会出现丢帧和跳帧等问题，在数据采集时对连接摄像机的电脑硬件设备进行了调整。整体采集设备硬件如图2所示。 图2. 数据采集设备 2.2. 数据集搭建 目前乒乓球接发球主流的技术动作可分为正反手拉球、正反手攻球、正反手搓球、正反手削球等几类，目前这些技术动作尚无准确的动作集标准，然而统计分析表明，多数高水平运动员在乒乓球发球机上的接发球动作有较大相似性，因此选择邀请高水乒乓球球员动员录制接发球视频，将他们的击球动作作为标准数据集。 香港中文大学研究者于2020年构建了一个大规模体操运动人体动作数据集：FineGym [ 11 ]，数据集通过层级化标注对动作的细粒度进行了区分，最细划分到一个具体的体操动作，例如平衡木体操下马动作中的团身前空翻动作。文章根据此数据所划分的细粒度动作，构建了乒乓球击球动作数据集。 乒乓球击球动握拍方式大致可以分为横拍和直拍两种，通过分析视频中的连续帧发现，直拍中有些击球动作轨迹相似，例如正手攻球和正手拉球在即将击球的瞬间的连续2~3帧动作相似，反手攻球和反手拉球在准备接球和击球的瞬间都有1~3帧的动作相似，这也是击球动作中区分的难点，击球动作相似和动作差异如图3所示。因此，在采集数据和做动作区分时，选择了对正手攻球、正手拉球、反手攻球、反手拉球的动作进行采集。采集的数据集中，击球动作之外的动作将其称为其他动作，对4类击球动作和1类其他动作进行识别，以便于模型更好区分击球动作。 图3. 击球动作中的相似动作：(a1)和(b1)为正手击球和正手拉球过程中相似动作的某一帧；(a2)和(b2)为正手击球和正手拉球过程中动作区别的某一帧；(c1)和(d1)为反手击球和反手拉球过程中的相似动作的某一帧
system: [SYSTEM]

user: 3. 数据集处理 3.1. 数据预处理 对所采集的乒乓球击球视频进行处理。由于在乒乓球运动中，击球是一个快速动作，直接给视频数据设置标签不仅比较困难，而且标签所在的时间段也存在其他动作的干扰。 通过将乒乓球击球视频的每一帧提出来，经过研究对比发现，每种击球动基本在16~24帧内完成击球，因此将完全包含一个击球动作的16~24帧的连续帧进行提取，形成一个击球动作的时空特征数据；非击球动作一般在48个连续帧左右之内，将提取非击球动作的48个连续帧，形成一个非击球动作的时空特征数据。经过手工提取数据后，数据集包括了824个动作，将近20，000帧图片，5类动作每类包含150左右个动作连续帧的时空特征数据。表1完整的显示了动作类别和动作数量。为了便于训练、Dense Pose处理数据和设置动作标签，设置了五个文件夹，其名字作为应五个动作类的标签，既Facade Attack (正手攻球)、Facade Pull (正手拉球)、Back Attack (反手攻球)、Facade Attack (反手拉球)和Other Action (非击球动作)五类运动标签。每个标签文件夹中的每一个子文件夹都代表一个动作，每个动作由连续帧组成。 Table 1 Data set of action category and number of action 击球动作 动作样本数量 正手击球 179 正手拉球 122 反手击球 206 反手拉球 158 其他动作 159 表1. 数据集动作类别和动作数量 3.2. Dense Pose处理数据集 2018年Facebook [ 12 ] 和Inria France [ 13 ] 的研究者分别在ECCV会议和CVPR会议发表了篇有关于Dense Pose的文章，介绍了他们提出的Dense Pose系统 [ 14 ]。在Dense Pose系统中的密集姿态估计(Dense Pose Estimation)功能 [ 11 ] 可以将2D人体映射到3D的人体表面，在图4中展示了2D到3D的转换。这种2D映射到3D转换的过程并不会改变图像的大小，所映射的3D人体表面在图像中分成了24份，每一份的中的颜色值存在偏差，并且此功能可去除图像中的背景干扰，如图4所示。 图4. Dense Pose系统密集姿态估计处理图像 通过Dense Pose系统中的密集姿态估计功能，对手工处理后的数据集中动作帧图像进行处理，把2D人体映射到3D模型，经过此处理图片中的人体只有形态和动作，模型的泛化效果不会被人体的肤色和着装所影响。经过Dense Pose处理过的图像，动作识别中环境干扰因素都会被去除，模型泛化效果就不会受环境等因素所影响。图5介绍了未处理的数据对比经过处理后的击球部分连续动作帧。 图5. 未处理的数据对比Dense Pose处理后的击球部分连续动作帧
system: [SYSTEM]

user: 4. 网络模型搭建 4.1. 3D卷积网络 3D卷积也是从2D卷积的基础上发展而来的，基于2D卷积核的卷积网络 [ 15 ] 可用于学习单通道或者三通道的图像的空间特征，图6中的图6(a)是2D卷积应用在三通道的图像卷积的结果，输入为w × h × c三个维度，表示图片的宽、高和通道数。2D卷积应用在学习单通道图像的特征时，除了输入维度少一个通道维度外，整个卷积过程与图6(a)三通道卷积过程相同。 相比于2D卷积核来说3D卷积核 [ 10 ] 是多了一个维度去学习数据中的时间特征，如图6(b)输入为t × w × h × c四个维度，其中t代表连续帧数目，t这一维度的特征就是数据时间维度上的特征。对于连续的单通道图像来说，输入的维度是t × w × h三个维度，整个卷积过程和图6(b)三通道图像卷积过程相同。 图6. 2D卷积过程与3D卷积过程的区别 4.2. C3D网络结构改进 C3D网络是Du Tan (杜兰特)等人 [ 10 ] 于2015年提出的一个用于学习和识别视频中信息的通用网络，其通过3D卷积网络去学习视频中的时空特征，学习所得到的模型可用于场景分类、动作识别等领域。C3D网络的训练所使用的数据集为UCF101数据集 [ 16 ]，数据集由101个人类动作类别的13，320个视频组成，视频图像未经过处理，由于数据集种类多，视频图像中的特征复杂，因此C3D网络整体网络层次设计比较深，包含为8个卷积层、5个池化层、2个全连接层，整个网络的参数为6000万左右。在项目组自建的数据集中，数据经过处理后没有了环境、衣服、肤色等特征的影响，图像中只有人体形态，图像中的特征相对简单，为了防止出现过拟合现象，因此将C3D网络的整体结构缩减为5个卷积层、5个池化层、2个全连接层，并对特征图个数和神经元个数进行了缩减，最终网络参数降为500万左右。整个网络结构如图7。 图7. 改进后的C3D网络结构图 输入层(Input)：输入的数据为16个连续的视频帧，每一帧的宽高为112 × 112，通道数为3，即输入维度为16 × 112 × 112 × 3； 卷积层(Convolution)：5个卷积核的每一个卷积核维度为3 × 3 × 3，步长为1，并在卷积过程让其自动填充padding，保证卷积过程中输入和输出尺寸相同，在每个卷积过程结束后，使用ReLU激活函数。卷积计算公式如式(1)，其中W为帧的宽度，H为帧的高度，T为连续帧的时间维度，p为边界填充值，s为步长，为卷积核维度。 { W o u t = W i n + 2 p − C W s + 1 H o u t = H i n + 2 p − C H s + 1 T o u t = T i n + 2 p − C T s + 1 (1) 池化层(Polling)：池化层使用的事最大值池化，为了在初始卷积池化阶段保留时间上的特征，保留了原网络的池化结构，在第一次池化时维度为1 × 2 × 2，步长为1 × 2 × 2，其他池化层的维度都为2 × 2 × 2，步长为2 [ 6 ]； 全连接层(FC)：全连接层的神经元个数根据最后一次池化后特征图的大小设置为512个。经过前面卷积提取特征后，全连接层最终会将这些特征映射到标签空间，起到一个分类器的作用。 输出层(output)：根据数据集中5个类别的动作，网络最后的输出是判断的这五个类别的概率值。
system: [SYSTEM]

user: 5. 正文实验结果与分析 基于自建数据集训练乒乓球击球动作识别模型实验硬件环境为：处理器Intel(R) Core(TM) i7-7800X CPU @ 3.50 GHz 3.50 GHz和NVIDIA GeForce RTX 2080Ti GPU；模型泛化性能测试实验环境：硬件环境Intel(R) Xeon(R) E-2224 CPU @ 3.40 GHz 3.41 GHz和NVIDIA GeForce GTX 1650 GPU，DensePose系统不能再Windows系统上安装，所以系统环境为Ubuntu操作系统。 5.1. 模型训练实验结果分析 用于训练模型的训练集和验证集均来自于自建数据集，训练集和测试接的划分别为数据集的80%和20%。通过30次迭代训练，通过图8(a)可以看出在第18次迭代后训练集精准度稳定在99.5%，验证集精准度稳定在99.3%。通过图8(b)可以看出在第18次迭代后训练集损失函数值趋近于0，验证集损失函数值稳定在0.09以内。 图8. 训练集和验证集训练结果的准确率和损失函数值曲线 5.2. 模型泛化效果预测 乒乓球击球动作识别模型泛化效果的好坏决定着这个模型是否具有实际应用价值，通过从网络上找到拍摄角度与课题组自建数据集中拍摄角度相似的乒乓球击球视频，整个视频经过Dense Pose系统处理后放入到模型中测试泛化效果。图9中的视频来源于视频网站与训练集中的数据不存在交集，并且图中为连续动作帧中提取出来图像。图9中，图9(a)预测结果为正手攻球，图9(b)预测结果为正手拉球，图9(c)预测为反手攻球，图9(d)预测为反手拉球，预测结果均与球员实际击球动作类型一致。通过泛化性能测试可以看出本文所提出的方法训练出来的动作识别模型泛化能力较强，有一定的实际应用价值。 图9. 乒乓球击球动作识别模型泛化性能测试
system: [SYSTEM]

user: 6. 结语 基于专业运动员在乒乓球发球机上的接发球视频，自建了包含五分类的乒乓球击球动作识别视频数据集，通过动作划分手工提取了连续击球动作视频帧，采用Dense Pose系统中的密集姿态估计功能对手工提取的视频帧进行了处理，最终通过改进C3D网络训练出了乒乓球击球动作识别模型。实验表明：模型训练时在第17次迭代之后训练精准度稳定在99.5%，验证集精准度稳定在99.3%，并且模型通过了泛化性能测试，证明文章提出的方法可以去除环境、衣服等因素的干扰，训练的乒乓球击球动作识别模型具有实际应用的价值。
system: [SYSTEM]

user: 摘要 为解决当今世界很多地区出现虫灾的问题，本研究以2021年1月大规模出现在美国华盛顿州亚洲大黄蜂(胡蜂)为例，通过胡蜂出现地理位置，使用灰色系统预测GM(1，1)结合ARIMA预测下一次胡蜂出现的位置来构建虫灾预测与防控系统。该系统具有在灾害区域中预测蜂群的动态、对目击者上传的图像等信息进行核实、实时进行系统更新、预测灾害结束时间的功能。研究对当地用户的评论与图像信息使用CNN结合SVM进行核实，对数据进行准确的筛选来确定虫灾严重的区域。同时，分析两次目击胡蜂的时间进行，对模型更新时间进行预测得到变动的区间。最终通过分析整个蜂群的动态，预测灾害的结束时间，从而提高病虫害防治工作情况的动态、信息化管理。
system: [SYSTEM]

user: 1. 引言 1.1. 研究背景 胡蜂是世界上最大的黄蜂种类，其蜂巢出现的速度很快。胡峰是欧洲蜜蜂的掠食者，入侵并破坏它们的巢穴。少量的胡峰能够在短时间内摧毁整个欧洲蜜蜂群落，从而被认为是农业中其他害虫的掠食者 [ 1 ]。胡峰的生命周期与其他许多黄蜂相似，受精后的蜂后在春天出现，并产生一个新的群体，秋天，新蜂后离开巢，在土里过冬，等待春天的到来 [ 2 ]。一只新蜂后的筑巢距离估计为30公里。由于胡蜂对当地蜂群存在严重的潜在影响，胡蜂的存在会引起很大的危害 [ 3 ]。华盛顿州已经建立了求助热线和一个网站，供人们报告这些胡峰的目击情况，然后根据这些来自公众的目击情况，决定如何优先分配有限的资源进行防治，以进行后续调查 [ 4 ] [ 5 ]。虽然一些报告已被确定为胡蜂，但许多其他目击者却被证明是其他类型的昆虫。 1.2. 研究目的 本文旨在通过绘制蜜蜂分布图，得到“簇”，计算每个“簇”的平均向量，进而计算“簇”中每个样本到中心的距离。根据距离进行时间序列分析，得到预测结果的置信区间和距离簇中心的距离。 通过情感分析和图像识别对数据进行量化，采用半监督支持向量机(TSVM)对数据进行分类 [ 6 ]，改进卷积神经网络(CNN)结合SVM对图像进行分析，通过设置阈值确定可信度高的目击信息，然后利用这些数据在地图上进行可视化。 利用通过CNN + SVM分类获得的正确样本用于计算时间序列。由于时间序列是季节性的，因此使用季节性ARIMA预测并得到结果。对于报告的可信度，可以使用我们的预测模型来获得可信度得分。因此，将该问题转化为时间序列的近似预测问题。
system: [SYSTEM]

user: 2. 模型 2.1. 模型假设 假设胡蜂在一个地区的运动是不规则的布朗运动。假设实验室状把阳性ID作为正例，阴性ID作为反例，且数据准确。人类不会通过预防和治疗措施来控制和消灭胡蜂，但是只有通过胡蜂迁徙才能实现消灭一个地区的胡蜂。文本分数的计算仅假设用户的情感因素。 2.2. 符号说明 文中所涉及到的符号在此做统一交代。主要是将有规律性的变量用同一字母不同下标标记，阐述文中经常出现的特殊符号或变量，如表1所示。 Table 1 System symbol descriptio 符号 含义 D i s t ( i ， j ) i 、 j 两点之间的距离 X i 第 i 次累加生成序列 Z i X i 与 X i 结果序列的均值生成序列 D i 标记的数据集 D u 无标记的数据集 ξ i 第i个样本点对应的松弛因子 C i 有标记数据集的平衡因子 C u 无标记数据集的平衡因子 u + 、 u − 正负例样本数 表1. 系统符号说明
system: [SYSTEM]

user: 4. 结论与讨论 用灰色预测去探究亚洲黄蜂的时空分布，对样本量要求不高，不需要典型分布型，计算量小，关联度定量结果与定性分析结果无差异。卷积神经网络模型可用于自动特征提取。优化后的算法能很好地适应样本分类不平衡的情况。亚洲黄蜂的生物学行为是季节性的。针对这一特点，我们在模型的时间序列和其他部分加入了季节的影响，较好地解决了生物季节性运动的问题。通过使用半监督支持向量机，在不知道没有标记的情况下分类是正确的，但可以惩罚它们，S3VM和熵正则化假设可以很好地分离样本类。 但是，在图像识别中，没有很好的算法从视频中提取出最合适的帧进行检测。一些图像可能使用亚洲黄蜂网地图，没有数据库来确定该图像是否是网络地图并且已经发布。同时，灰色预测精度较低，不可能得到非常具体的预测结果，基于指数率的预测没有考虑系统的随机性，中长期预测精度较差，并且CNN分类需要很大的样本量和良好的速度硬件支持。因此，对于胡蜂空间上变动的预测和模型的更新时间还有待深入讨论。
system: [SYSTEM]

user: 摘要 目前，攻击者进行私密信息传输、信息泄露、恶意信息传播等活动的主要手段之一是使用DNS协议作为隐蔽信道，特别是在僵尸网络和匿名通信网络中。为此，提出一种基于子域上下文关系的DNS隐蔽信道检测方法，该方法不仅提取了请求应答时间间隔、请求/应答报文大小、子域熵值以及资源记录类型频率等基础异常流量统计特征，同时对子域内容本身及其上下文关系进行了特征学习和提取。实验结果表明，该方法获得了99%以上的精度和召回率，具有很好的检测性能。
system: [SYSTEM]

user: 1. 引言 当前，恶意软件利用DNS协议作为隐蔽信道进行信息窃取、恶意信息传播等活动日益猖獗。因此，在构建完善的安全监测防御技术体系中，研究DNS隐蔽信道检测技术是一项重要的研究内容。隐蔽信道最初是作为计算机系统内部安全威胁被提出，随着计算机网络技术的快速发展，隐蔽信道的概念逐步迁移到网络环境，称之为网络隐蔽信道。网络提供了非常丰富的协议，这些协议通常具有一些弱点，使得攻击者可以利用其作为隐蔽信道的良好载体。由于DNS协议是互联网基础协议，被广泛采用，DNS协议几乎不会被安全设备策略阻拦，即使在一个企业内部网络中，也需要架设DNS服务器进行主机名解析。因此，基于DNS协议实现应用层隐蔽信道成为攻击者绕过网络安全策略进行数据传输的主要手段。现有的DNS隐蔽信道检测技术主要有基于负载分析的方法和基于异常流量分析的方法两种。基于负载分析方法的基本原理是对DNS数据报文中的有效负载进行分析以提取字符串特征或者统计特征 [ 1 ]，该方法健壮性较差，不能有效应对复杂多变的隐蔽信道实现手段 [ 2 ] [ 3 ] [ 4 ]。Kenton等 [ 5 ] 提出使用字符频率分析进行DNS隐蔽信道检测。Qi等 [ 6 ] 提出使用二元语法的词频分析对DNS报文中的域名进行分析，发现隐蔽信道流量的词频并不遵循zipf分布而是随机分布。基于异常流量分析的方法通常需要观察一定时间内一定数据量的流量，因此其数据依赖性较高。Ellens等 [ 7 ] 提出通过检测单位时间内DNS报文速率来检测是否存在DNS隧道。章思宇等 [ 4 ] 提出通过检测单位时间内的回答数据的总字节数与合法请求具有明显的差异。Singh等 [ 8 ] 采用15种流量行为统计特征进行受感染主机的单点检测。 综上，针对当前DNS隐蔽信道健壮性差和数据依赖度高的问题，本文提出一种基于数据流的DNS隐蔽信道检测方法，该方法的新颖性主要包括如下三个方面：1) 对DNS数据流中的子域序列进行了上下文关系特征建模和学习，进一步使用卷积操作对子域上下文特征进行了进一步高阶特征提取；2) 结合使用了请求应答报文时间间隔、请求应答报文大小、子域熵值、资源记录类型频率四种类别等26种启发式基础统计特征；3) 在检测模型上，在子域上下文特征和基础统计特征的基础上，使用全连接神经网络实现DNS隐蔽信道的分类器模型。
system: [SYSTEM]

user: 2. 相关工作 术语隐蔽信道(Covert channel)最早由Lampson [ 2 ] 于1973年提出，其给出的定义是“如果一种通信信道的设计目的不是用来传输信息，那么称信道为隐蔽信道。”之后，更多的研究人员在此定义的基础上不断丰富和完善。其中，Tsai等 [ 3 ] 于1990年将安全访问策略的概念引入隐蔽信道，对隐蔽信道的本质进行了深入的阐述，其给出的定义为“给定一个强制安全策略模型M以及其在一个操作系统中的解释I (M)，I(M)中两个主体I (Alice)和I(Bob)之间的潜在通信是隐蔽的，当且仅当模型M中主体Alice和Bob之间的通信是非法的。”从上述定义中，可以发现，隐蔽信道是与公开信道相对应的一个概念，公开信道传输合法信息，而隐蔽信道是在公开信道的掩护下，采用一定的技术手段实现私密或非法信息的传输，具有极强的隐蔽性。但是要注意到，上述这些研究工作给出的定义都是在研究操作系统安全的背景下提出的，因此所给出的隐蔽信道定义主要是针对单个系统内部的，而不是面向网络环境的。直到2004年，Serdar等 [ 3 ] 提出网络隐蔽信道的概念，其给出的定义为“网络隐蔽信道违反了系统的安全策略，它是通过网络传播将隐蔽信息泄露出去的技术手段，该方式具有很强的隐蔽性，可以逃脱安全设备的检测”。对比单个系统内部的隐蔽信道的定义和网络隐蔽信道的定义，可以看出网络隐蔽信道沿用了单个系统内部隐蔽信道的定义，其区别仅仅在于结合了网络环境特征研究隐蔽信道。根据隐蔽信道的位置，可以将隐蔽信道分为系统隐蔽信道和网络隐蔽信道。根据对信息采用的编码方式(或信息载体)，隐蔽信道可分为时间型信道和存储型信道 [ 9 ] [ 10 ] [ 11 ]。本文所研究的是网络存储隐蔽信道，具体来讲是基于DNS协议的存储型网络隐蔽信道，通常简称为DNS隐蔽信道/DNS隧道。 2.1. 网络隐蔽信道的基本构建原理 网络隐蔽信道主要利用TCP/IP模型中的协议来构建。TCP/IP模型提供了IP、TCP、UDP、ICMP等协议。这些协议一个显著的缺陷是报文格式中存在不常使用的字段可以作为载体用于构建隐蔽信道。图1给出了IP协议和TCP协议报文格式中可能用于隐蔽信道通信的字段。网络隐蔽信道构建的基本思路如下：1) 选取常见的公开协议构建隐蔽信道，所选取的协议应该满足两点要求：第一，该协议不是网络安全检测软件或设备(防火墙、入侵检测系统等)的关注对象；第二，该协议构造的隐蔽信道能够提供一定的带宽能力；2) 通信双方事先协商好封装和提取隐蔽信息的规则(包括选用的字段、隐蔽信息的编码/加密方式)，发送方执行隐蔽信息的封装，接收方执行隐蔽信息的解封装。早期网络隐蔽信道主要关注点在网络层和传输层的协议，例如IP协议、ICMP协议、TCP协议、UDP协议等。近年来，隐蔽信道的构建主要采用应用层协议，如HTTP、DNS、FTP、SSH、TELNET等。这是因为基于网络层和传输层协议所构建的隐蔽信道容易被安全产品检测出来 [ 12 ] [ 13 ] [ 14 ]。 图1. 网络隐蔽信道可能使用的协议字段 2.2. DNS隐蔽信道的构建 根据前述网络隐蔽信道的构建原理，可分为存储型隐蔽信道和时间型隐蔽信道。因此实现任何一种基于特定协议的网络隐蔽信道，也主要有两种构建手段。当前，主流的DNS隐蔽信道工具(OzymanDNS、DNS2TCP、Iodine等 [ 15 ] [ 16 ] [ 17 ] )主要采用存储型构建技术。为构建一个DNS隐蔽信道，用户首先需要设置一个隐蔽信道客户端，该客户端在端口53上工作，向DNS隐蔽信道服务器发送请求。DNS隐蔽信道服务器可以使用此创建的隧道通过DNS响应消息的TXT字段发出C2回调。这些数据包的有效负载可能会引入各种安全隐患。但是由于DNS流量的性质，这些安全隐患通常无法检测到。图2给出了DNS 隐蔽信道的工作原理。 图2. DNS隐蔽信道原理示意图 受感染的主机通过向攻击者伪装的DNS服务器发送DNS请求，击者伪装的DNS服务器向受感染的主机响应DNS请求来构建隐蔽通道。
system: [SYSTEM]

user: 4. 实验结果与分析 4.1. 实验数据集 为了训练和评估scHunter模型，需要采集两部分数据：正常的DNS流量(白样本流量)和DNS隐蔽信道流量(黑样本流量)。本文从一个ISP DNS服务器上收集了正常的DNS样本流量。为收集异常的DNS隐蔽信道流量，本文搭建了一个专用网，在该网的多个端系统中部署运行了四种流行的DNS隐蔽信道工具(包括DNSCAT2，DNS2TCP，Iodine和OzymanDNS)以产生流量，并在该专用网的路由关口处捕获。在收集好正负样本流量集后，将数据集分为两部分：训练集和测试集，训练集用于训练模型，包含20万req/res对正常DNS流量和10万req/res对隐蔽信道流量。测试集用于评估所学习好的模型，包含10万req/res对正常DNS流量和5万req/res对隐蔽信道流量。 4.2. 评估指标 为量化评估scHunter模型在未知DNS流量样本上的隐蔽信道检测能力。本文采用如下2个评估指标： 1) 精度(Precision)：在测试集数据中，scHunter判定为DNS隧道流量的样本中确实是隧道流量的比例。 2) 召回率(Recall)：在测试数据集所有的隧道流量域名样本中，scHunter能成功识别出其是隧道流量样本的比例。 4.3. 结果分析 1) 不同模型的对比分析 为评估本文所提出scHunter检测方法的有效性，本文将“基础统计特征 + 传统机器学习算法”的检测方法作为基线方法进行了实验对比分析，基线方法分别采用了决策树(Decision Tree)和支持向量机(SVM， Support Vector Machine)作为分类器模型。scHunter在进行子域卷积特征学习时，有一个关键参数N，表示滑动窗口的大小。表3给出了N取不同值的情况下的检测结果。从表中可以看出scHunter在精度和召回率均高于传统机器学习检测模型。另外，通过对漏报的隐蔽信道流量进行深入分析后，发现其中有一部分是隐蔽信道控制流量。隧道信道控制流量有两个目的：一是在不使用隐蔽信道的情况下防止服务器超时；二是在服务器有数据要发送给客户端时，确保DNS隐蔽信道服务器有可用于响应的来自客户端的请求报文。因此，DNS隐蔽信道客户端每隔几秒就会发送一次请求。但是，这些隐蔽信道控制流量与正常DNS流量具有相同的行为特征。 Table 3 Test results of different models under different N value 参数N scHunter 决策树 支持向量机 精度(%) 召回率(%) 精度(%) 召回率(%) 精度(%) 召回率(%) 1 100 99.7 100 95.4 100 97.5 3 100 99.5 99.7 95.7 100 98.1 5 100 99.6 100 96.3 100 98.6 10 100 99.3 99.5 96.9 100 98.7 15 100 99.5 100 97.1 100 98.5 表3. 不同N值下，不同模型的检测结果 2) 不同数据集的对比分析 为消除DNS隐蔽信道控制流量导致的召回率较低的问题。本实验构造了两个数据集：一个称为数据集1，其中的隐蔽信道流量是由传输文件生成的；另一个是数据集2，其是在数据集1的基础上用隐蔽信道控制流量替换了其中的一半的隐蔽信道流量。图6和图7分别给出了在数据集1和数据集2上精度和召回率的对比结果。可以发现，在加入隐蔽信道控制流量的数据集2上，召回率明显提升，召回率的提升意味着算法的适用性在提升。 图6. 数据集1和数据集2上的精度对比分析 图7. 数据集1和数据集2上的召回率对比分析
system: [SYSTEM]

user: 5. 结论 当前，DNS是互联网基础设施服务，对用户使用其它互连网应用服务至关重要。近年来，DNS隐蔽通道是恶意软件进行信息传输的重要手段之一。基于DNS协议的隐蔽信道技术一直是网络安全领域的重要研究课题。本文在深入分析DNS隐蔽信道构建技术的基础上，提出一种基于子域上下文关系的DNS隐蔽信道检测方法。实验评估结果表明，该方法获得了可观的检测精度和召回率，并能够在一定程度上有效缓解传统DNS隐蔽信道流量特征依赖人工分析的弊端。 下一步的工作中，隐蔽信道检测的研究方向可分为两个：一是提升检测算法的检测效果，二是提升检测算法的适用性。对隐蔽信道的检测算法研究是一项需要不断推进的工作，才能在复杂的网络环境下应对隐蔽信道带来的威胁。
system: [SYSTEM]

user: 摘要 本文设计了一种可运用于无人机感知与自动规划系统，该方案通过建立三维地图、红外传感感知、激光雷达避障、多姿态飞控处理等四个方面来实现无人机在无指示情况下面临不同场景时通过自身的感知与探测设备，结合飞控进行数据处理，从而能自主规划路径的初步设想。本文设计的方案为进一步研究人工智能与无人机技术相结合奠定了基础。
system: [SYSTEM]

user: 1. 引言 科技日新月异，无人机产业受到了世界各国的普遍重视，得到了广泛深入的研究和飞速发展。不同场景下对无人机的使用要求不同，具备自主的飞行空域的环境感知、碰撞威胁估计、规避路径规划与机动控制能力，即无人机的感知与避障功能 [ 1 ]。感知与避障技术是未来无人机空域集成应用的重要安全保障，同时也对无人机自主化、智能化技术提出了更高的要求。
system: [SYSTEM]

user: 2. 系统总体设计方案 无人机在复杂环境下能够以自主的方式完成各种动的多场景的无人机感知规划系统，其由一个由感知规划层和执行层组成的分层体系结构，感知与智能规划层一起进行自主操作，生成运动指令，本论文介绍感知规划层的设计方式。在该无人机系统上共建有4个核心系统即：三维地图建模系统、避障系统、感知系统、飞控系统。 本方案应满足以下要求： 1) 能满足无人机感知与自动规划的精度要求； 2) 对原无人机的重量和结构改造尽可能少； 3) 在原有飞控系统上加以改进，增强无人机的稳定性及作业时的安全性； 4) 在无人机改造上尽可能降低成本。