20189218 2018-2019-2 《密码与安全新技术专题》第5周作业

20189218 2018-2019-2 《密码与安全新技术专题》第5周作业

课程:基于深度学习的密码分析与设计初探

班级: 1892
姓名: 冯乾
学号: 20189218
上课教师:金鑫
上课日期:2019年3月16日
必修/选修: 选修

1.本次讲座的学习总结

本次讲座集中在以下四点内容:

  • 密码分析与机器学习
  • 深度学习简介与现状
  • 深度学习与密码分析
  • 深度学习与密码设计

工智能将是下一代安全解决方案的核心。随着数据量、数据传输速度以及监控和管理的数量以指数速率加速,人工智能安全将是未来网络安全的关键组成部分。

机器学习(machine learning)

机器学习的萌芽诞生与19世纪60年代,20年前开始逐渐兴起,他是一门跨学科的交融。这里面包含了概率论、统计学等等学科。随着计算机硬件的提升,计算机运算速度的不断提高,它真正开始计入我们的日常生活当中。而在不久的将来,它已经成为我们生活中必不可少的组成元素。目前所有机器学习算法大概有以下几种:
1.有监督学习
监督学习涉及一组标记数据。计算机可以使用特定的模式来识别每种标记类型的新样本。监督学习的两种主要类型是分类和回归。在分类中,机器被训练成将一个组划分为特定的类。比如说给计算机看猫和狗的图片,告诉计算机那些图片里是猫,那些是狗,然后在让它学习去分辨猫和狗。通过这种指引的方式,让计算机学习我们是如何把这些图片数据对应上图片所代表的物体。也就是让计算机学习这些标签可以代表哪些图片。我们所熟知的神经网络就是一种监督学习的方式。


2.无监督学习
在无监督学习中,数据是无标签的。由于大多数真实世界的数据都没有标签,这些算法特别有用。无监督学习分为聚类和降维。聚类用于根据属性和行为对象进行分组。这与分类不同,因为这些组不是你提供的。聚类的一个例子是将一个组划分成不同的子组(例如,基于年龄和婚姻状况),然后应用到有针对性的营销方案中。降维通过找到共同点来减少数据集的变量。大多数大数据可视化使用降维来识别趋势和规则。在上面的这种学习过程中,我们只给计算机提供猫和狗的图片,但是并没有告诉它那些是猫那些是狗。取而代之的是,我让它主机去判断和分类。让它自己总结出这两种类型的图片的不同之处。这就是一种“无监督学习”。

3.强化学习
强化学习研究学习器在与环境的交互过程中,如何学习到一种行为策略,以最大化得到的累积奖赏。与前面我们提到的其它学习问题的不同在于,强化学习处在一个对学习器的行为进行执行和评判的环境中:环境将执行学习器的输出,发生变化,并且反馈给学习器一个奖赏值;同时学习器的目标并不在于最大化立即获得的奖赏,而是最大化长期累积的奖赏。例如在俄罗斯方块游戏中,学习器所处的环境为游戏规则,学习器根据当前游戏的状态输出动作,以游戏得分作为每一次动作的奖赏,学习器需要最大化最终的奖赏总和。


机器学习的步骤

通常学习一个好的函数,分为以下三步:

  1. 选择一个合适的模型,这通常需要依据实际问题而定,针对不同的问题和任务需要选取恰当的模型,模型就是一组函数的集合。
  2. 判断一个函数的好坏,这需要确定一个衡量标准,也就是我们通常说的损失函数(Loss Function),损失函数的确定也需要依据具体问题而定,如回归问题一般采用欧式距离,分类问题一般采用交叉熵代价函数。
  3. 找出“最好”的函数,如何从众多函数中最快的找出“最好”的那一个,这一步是最大的难点,做到又快又准往往不是一件容易的事情。常用的方法有梯度下降算法,最小二乘法等和其他一些技巧(tricks)。
    学习得到“最好”的函数后,需要在新样本上进行测试,只有在新样本上表现很好,才算是一个“好”的函数。

深度学习

机器学习虽然发展了几十年,但还是存在很多没有良好解决的问题,例如图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐等等。目前我们通过机器学习去解决这些问题的思路都是这样的: 从开始的通过传感器(例如CMOS)来获得数据。然后经过预处理、特征提取、特征选择,再到推理、预测或者识别。最后一个部分,也就是机器学习的部分,绝大部分的工作是在这方面做的, 而中间的三部分,概括起来就是特征表达。良好的特征表达,对最终算法的准确性起了非常关键的作用,而且系统主要的计算和测试工作都耗在这一大部分。但,这块实际中一般都是人工完成的。靠人工提取特征。然而,手工地选取特征是一件非常费力、启发式(需要专业知识)的方法,能不能选取好很大程度上靠经验和运气,而且它的调节需要大量的时间。既然手工选取特征不太好,那么能不能自动地学习一些特征呢?答案是能!Deep Learning就是用来干这个事情的,看它的一个别名UnsupervisedFeature Learning,就可以顾名思义了,Unsupervised的意思就是不要人参与特征的选取过程。

深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的不同在于:1)强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点;2)明确突出了特征学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。

<deep learning采用了神经网络相似的分层结构,系统由包括输入层、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个logistic regression模型;这种分层结构,是比较接近人类大脑的结构的。


深度学习常用模型

  • AutoEncoder自动编码器
  • Sparse Coding稀疏编码
  • Restricted Boltzmann Machine(RBM)限制波尔兹曼机
  • Deep BeliefNetworks深信度网络
  • Convolutional Neural Networks卷积神经网络

近期,深度学习技术掀起了人工智能研究与应用的新一轮浪潮,
深度学习技术在多个方面取得了较大突破,其在人工智能系统中所占
的比例日趋增大,已经应用于多项实际场景业务系统中。深度学习技 术涌现出大量性能优秀的深度神经网络(DNN:DeepNeural Networks),例如卷积神经网络(CNN:ConvolutionalNeural Networks)、循环神经网络(RNN:RecurrentNeuralNetworks)、 生成对抗网络(GAN:GenerativeAdversarialNetworks)等,在大数 据分析、图像识别、机器翻译、视频监控中取得了较大进步。对现代深度学习做出突出贡献的四个人被称为深度学习四大天王:



对比机器学习,深度学习在学习曲线上已经体现出明显优势:

大数据时代模型学习的突破

传统视觉感知处理流程:




端到端模式识别:



卷积神经网络:


卷积局部示意:



基于深度学习的图像识别验证码破解:

深度学习与密码分析

1.基于卷积神经网络的侧信道攻击:

  • TemplateAttack
  • MachineLearning
  • DeepLearning

2.基于循环神经网络的明文破译:


3.基于生成对抗网络的口令破解:


4.基于深度神经网络的密码基元识别:


深度学习与密码设计

两大重点科学问题包括“组件化可变密码算法设计与安全性评估”和“密文可编程数据安全存储与计算”。因此未来对于新密码算法的设计需求将与日剧增,然而目前密码算法的设计还停留在人工设计阶段,较为耗时耗力,难以适应未来对密码算法设计的需求。

生成对抗网络GAN(Generative Adversarial Network):


机器生成密码算法的思路:


2.学习中遇到的问题及解决

  • 问题1:深度学习相比机器学习有什么弱点?
  • 问题1解决方案:通过查阅资料得知,深度学习相比机器学习主要有两个弱点,一是模型训练过程中对硬件设备要求更高,二是模型训练的结果在训练前具有较高的不可知性。
  • 问题2:伴随着仿人脑网络的设计等的深度学习的发展,人类自身是否面临某种威胁。
  • 问题2解决方案:各方说法不一,但个人认为任何事物都有两面,都是双刃剑,深度学习就可能是那种两边刀刃都特别锋利的那种,科技的发展一定要坚守安全和道德的底线。

3.本次讲座的学习感悟、思考

我们应该正确认识AI能够在当前取得的成就,才可以解决更加复杂的问题。我们不能忽略:对于自然语言理解,虽然经过了数十年的发展,依然没有人工智能系统可以做到完全正确地理解人类的语言(包括语音识别和机器翻译);在机器人领域,即使工业机器人发展迅速,我们依然没有看到具有常识和推理能力的智能家庭机器人;在计算机视觉领域,即使我们在人脸识别和图片分类上取得了不小的成就,但是对于关系理解和完整的场景认知,现在系统能做到的还很有限。

正如卡内基梅陇大学机器学习系Alex Smola教授认为:AI技术在未来确实有可能对流水线工人、卡车司机、保洁员等相对低技能要求的工种造成冲击,然而解决的办法只能是提高整个社会的教育水平。其次,我认为社会也在对人工智能技术的发展产生各种积极的约束:譬如,用户对于技术的安全性和稳定性的要求;用户对于数据隐私的要求;用户对于产品的道德约束。总而言之,当前是人工智能发展的一个令人兴奋的时期,机器学习技术对于整个人类的发展,也是具有不可估量的潜力。我们应该正视科学技术发展的进步,理性看待所取得的结果。

4.深度学习最新研究现状

目前从性能上考虑,深度学习已经大大优于传统的机器学习,深度学习今年发展到什么地步了呢?深度学习是否在某些方面遇到瓶颈?在深度学习领域有哪些前沿的做法?

On the Information Bottleneck Theory of Deep Learning

本文选自ICLR 2018 Conference Blind Submission。
作者信息:

  • Andrew M Saxe
    • Harvard University
  • Yamini Bansal
    • Harvard University
    • Computer vision; Deep learning; Computational neuroscience
  • Artemy Kolchinsky
    • Santa Fe Institute
    • Information theory

深度神经网络的理论研究不够充分,不能完全解释深度学习到目前的发展。 本文研究了深度学习的信息瓶颈(IB)理论,它提出了三个具体的主张:第一,深度网络经历两个不同的阶段,包括初始拟合阶段和后续压缩阶段; 第二,压缩阶段与深度网络的优秀泛化性能有因果关系; 第三,压缩阶段是由于随机梯度下降的类似扩散的行为而发生的。 本文通过分析结果和模拟的结合,证明信息平面轨迹主要是所采用的神经非线性的函数:双侧饱和非线性如tanh产生压缩阶段,因为神经激活进入饱和状态,但线性激活功能像广泛使用的ReLU那样的单侧饱和事实上并非如此。 此外,本文发现压缩和泛化之间没有明显的因果关系:不压缩的网络仍然能够泛化,反之亦然。 接下来,本文证明了压缩阶段并不是由训练中的随机性引起的,这表明我们可以使用完全批量梯度下降而不是随机梯度下降来复制IB发现。 最后,本文展示当输入域由任务相关和任务无关信息的子集组成时,隐藏层确实是压缩了任务无关的信息,并且这压缩与拟合过程是同时发生的,而不是有一个单独的压缩过程。

本文结果存在一些不确定性,因为其中有根据经验估计的信息。 即使是最先进的估算方法也可能导致误导性的实证结果。 但是,本文的结果至少具有一定启发性,有进一步研究和讨论的价值。

Don't Decay the Learning Rate, Increase the Batch Size

本文 Published as a conference paper at ICLR 2018。
作者信息:

  • Samuel L. Smith
  • Pieter-Jan Kindermans
  • Chris Ying
  • Quoc V. Le
  • 以上四位作者均来自Google Brain

为了较快获得比较好的学习结果,通常的做法是衰减学习率。 本文展示了在训练和测试集上获得相同的学习曲线,却不在训练期间增加批量大小的一种方法。 这个过程对于随机梯度下降(SGD),具有动量的SGD,Nesterov动量和Adam是成功的。 在相同数量的训练组之后,它达到相同的测试精度,但参数更新更少,从而获得更大的并行性和更短的训练时间。 本文证明可以通过增加学习率ε和缩放批量大小Bα来进一步减少参数更新的数量。 最后,可以增加动量系数m和标度Bα1/(1-m),尽管这会略微降低测试精度。 至关重要的是,通过本文的技术能够重新利用现有的大批量训练培训计划,而无需进行超参数调整。 本文的作者在30分钟内将ImageNet上的ResNet-50训练到76.1%的验证准确度。

Learning to Reweight Examples for Robust Deep Learning

本文收入 ICML 2018。
作者信息:

  • Mengye Ren
    • Cornell University
    • Computer Science
  • Wenyuan Zeng
    • Cornell University
    • Computer Science
  • Bin Yang
    • Cornell University
    • Computer Science
  • Raquel Urtasun
    • Cornell University
    • Computer Science

深度神经网络已经被证明是非常强大的建模工具,用于有关复杂输入模式的许多监督学习任务。 而且它们也可以轻易地适应训练集偏差和标签噪音。 除了各种正则化器之外,示例重新加权算法是这些问题常见的解决方案,但它们需要仔细调整其他超参数,例如示例挖掘计划和正则化超参数。 与过去的重新加权方法(通常由每个示例的成本值的函数组成)相反,在本文中提出了一种新颖的元学习算法,该算法学习基于其梯度方向为训练样本分配权重。 为了确定示例权重,本文对当前的小批量示例权重(从零初始化)执行元梯度下降过程,以最小化干净无偏验证集上的损失。 本文提出的方法可以在任何类型的深度网络上轻松实现,不需要任何额外的超参数调整,并且在类别不平衡和损坏的标签问题上实现了出众的性能。

Deep Gradient Compression: Reducing the Communication Bandwidth for Distributed Training

本文收入 ICLR 2018。
作者信息:

大规模分布式训练需要大量的通信带宽用于梯度交换,这限制了多节点训练的可扩展性,并且需要昂贵的高带宽网络基础设施。 随着移动设备(联合学习)的分布式训练发展,情况变得更糟,这种训练受到更高的延迟、更低的吞吐量和间歇性的不良连接的影响。 本文发现分布式SGD中99.9%的梯度交换是冗余的,并提出深度梯度压缩(DGC)以大大降低通信带宽。 为了在压缩过程中保持准确性,DGC采用了四种方法:动量校正,局部梯度限幅,动量因子屏蔽和预热训练。 本文已将Deep Gradient Compression应用于图像分类,语音识别和多个数据集的语言建模,包括Cifar10,ImageNet,Penn Treebank和Librispeech Corpus。 在这些情况下,Deep Gradient Compression实现了从270x到600x的梯度压缩比,而不会失去准确性,将ResNet-50的梯度大小从97MB减少到0.35MB,DeepSpeech的梯度大小从488MB减少到0.74MB。 深度梯度压缩可在1Gbps以太网上实现大规模分布式培训,并促进移动设备上的分布式培训。

Transferable Joint Attribute-Identity Deep Learning for Unsupervised Person Re-Identification

本文收入The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018, pp. 2275-2284.
作者信息:

  • Jingya Wang
    • Queen Mary University of London
    • Vision Semantics Ltd.
  • Xiatian Zhu
    • Queen Mary University of London
    • Vision Semantics Ltd.
  • Shaogang Gong
    • Queen Mary University of London
    • Vision Semantics Ltd.
  • Wei Li
    • Queen Mary University of London
    • Vision Semantics Ltd.

大多数现有的个人身份重新识别(重新识别)方法需要针对每个单个相机对从单独的大的成对标记的训练数据集中进行有监督的模型学习。 这显着限制了它们在实际大规模部署中的可扩展性和可用性,因为这需要在许多摄像机视图中执行重新标识。 为了解决这种可扩展性问题,本文开发了一种新颖的深度学习方法,用于将现有数据集的标记信息转移到新的未见(未标记)目标域,用于身份重新识别而无需在目标域中进行任何监督学习。 具体来说,本文引入了可转移联合属性 - 身份深度学习(TJ-AIDL),用于同时学习可转移到任何新的(看不见的)目标域的属性 - 语义和身份差异特征表示空间,用于重新识别任务,而无需收集新的标签训练来自目标域的数据(即目标域中的无监督学习)。 本文通过广泛的比较评估验证了这种新型TJ-AIDL模型在四种具有挑战性的基准测试(包括VIPeR,PRID,Market-1501和DukeMTMC-ReID)上对各种最先进方法的无人监督人员身份识别的优越性。

参考资料

猜你喜欢

转载自www.cnblogs.com/thechosenone95/p/10663269.html