2022.10.30 第二十八次周报

目录

前言

文献阅读-区块链

背景

提出问题

提出思路

存在的困难

解决办法

CNN变型模型

LeNet5(1998)

AlexNet(2012)

VGGNets(2014)

GoogleNet(2014)

ResNEts(2015)

总结


前言

An article on blockchain and deep learning was learned this week.However, the content of the article is so much that it has not been thoroughly studied, and only part of the content has been understood.In addition, CNN's variant model will be explained this week.The background, advantages and disadvantages of LeNet5, Google Nets and other models are analyzed.

一篇关于区块链和深度学习的文章在这周被学习。然而文章的内容比较多以至于没有被学习透彻,只有部分内容被了解。除此之外,CNN的变型模型在本周中被讲解。LeNet5,Google Nets等模型的背景和优缺点被剖析。

文献阅读-区块链

A blockchain-orchestrated deep learning approach for secure data transmission in IoT-enabled healthcare system - ScienceDirect (guet.edu.cn)

题目

一种基于区块链编排的深度学习方法,用于物联网医疗系统中的安全数据传输

作者

PrabhatKumar,RandhirKumar,Govind P.Gupta,RakeshTripathicAlirezaJolfaei,A.K.M.Najmul Islam

背景

物联网 (IoT) 通过允许远程访问和持续监控患者数据,将传统的医疗保健系统彻底转变为智能系统。例如,可穿戴设备和各种基于物联网的医疗设备用于收集患者的实时生理数据,例如体温、血糖水平和其他相关数据。事实上,物联网可以在远程快速诊断和有效的临床治疗方面帮助医疗保健行业。

提出问题

然而,支持物联网的医疗保健系统(HS)中的物联网节点通过开放的不安全公共通道全天候连接,使整个网络容易受到窃听,数据操纵和其他安全相关问题的影响。更具体地说,由于通信协议中安全考虑的削弱,以及黑客技术的快速发展,攻击者试图破坏物联网数据和设备的可用性,完整性和可靠性,因此出现了安全问题。这些攻击不仅使用恶意软件或恶意软件对医疗保健网络组件进行,而且可以在实际的物联网设备上启动,旨在降低其功能。物联网网络中的隐私问题意味着通过执行被动和主动(例如,数据中毒攻击)攻击来损害敏感的私有数据。被动攻击包括嗅探大量公共数据内容,而主动攻击旨在获取访问、推断和/或更改私有数据。这可能导致网络中参与设备的资源利用率低下,并导致其正常通信流中断。

提出思路

为了应对上述挑战,可以集成区块链和深度学习(DL),以在支持物联网的HS中提供突出的解决方案。第一个区块链由块(一种数字信息)和链(一种开放数据库)组成。一旦数据被记录在不可变块链中,就不可能改变它(即防止数据中毒攻击)。由于区块链表现出的不变性和分散的系统,智能合约可以通过自我执行和自动执行协议条款来进一步培养参与数据传输的各方之间的信心。此外,区块链中记录的分布式数据的完整性得到了共识程序的支持。因此,在支持物联网的HS中传输过程中,患者的医疗信息可以被认为是安全和值得信赖的。另一方面,为了减轻HS的攻击,基于深度学习的入侵检测系统(IDS)最常用于通过机器学习方法检测异常网络行为。

存在的困难

然而,文献中设计的大多数IDS直接使用来自网络的数据,并且在检测率和误报率方面对特定攻击类型的性能较差。此外,可扩展性是支持物联网的HS中额外的重大挑战问题之一。其基本原理是,随着物联网设备的增加,将需要更多的存储空间来适应所创建数据的指数级增长。

解决办法

开发和实施BDSDT,它结合了区块链和深度学习方法,以解决上述问题。

1.结合区块链和深度学习方法,提出了一种新的安全数据传输机制BDSDT。

2.提出了一种支持区块链的安全架构。底层方案使用零知识证明注册、验证物联网设备。这种方法验证数据记录,提供了一种在HS网络中传输医疗保健数据的通用方法,并防止数据中毒攻击。

3.提出了一种支持深度学习的安全架构。这包括将初始数据编码为新格式(即特征提取)的深度稀疏自动编码器(DSAE)方法。此外,利用编码数据,设计了一种基于双向长短期记忆(BiLSTM)技术的入侵检测系统。

4.我们使用星际文件系统(IPFS)作为分布式文件系统来分发和存储整个物联网数据,因为每个区块链节点上可用的存储容量有限。因此,BDSDT可以处理大量的物联网数据,并朝着这个方向很好地扩展。

5.拟议的BDSDT框架的性能可以在两个网络数据集ToN-IoT和CICIDS-2017上访问。最后,将结果与区块链和非区块链环境中的几种最新方法进行了比较。

CNN变型模型

下面介绍一些CNN的经典模型以及背景和优缺点

LeNet5(1998)

定义:

LenNet-5共有7层(不包括输入层),每层都包含不同数量的训练参数,如下图所示。

LeNet-5中主要有2个卷积层、2个下抽样层(池化层)、3个全连接层3种连接方式。

2022.10.30 第二十八次周报_第1张图片

 优点:

卷积网络较一般神经网络在图像处理方面有 如下优点:

a)输入图像和网络的拓扑结构能很好的吻合;
b)特征提取和模式分类同时进行,并同时在训练中产生;
c)权重共享可以减少网络的训练参数,使神经网络结构变得更简单,适应性更强。

局限性:

 CNN能够得出原始图像的有效表征,这使得CNN能够直接从原始像素中,经过极少的预处理,识别视觉上面的规律。然而,由于当时缺乏大规模训练数据,计算机的计算能力也跟不上,LeNet-5 对于复杂问题的处理结果并不理想。

AlexNet(2012)

定义:

个网络呈一个金字塔结构,具体来说:

输入图片是224*224像素的三通道图片;
第一层使用11*11的卷积核,滑动步长为4个像素,输出为96个特征图并进行最大值池化;
第二层使用5*5卷积核,卷积产生256个特征图,并进行最大池化;
第三层,第四层均使用3*3卷积核,输出384个特征图;
第五层使用3*3卷积层,输出256个特征图,并进行池化;
第六层,第七层为全连接层,分别包含4096个隐层,也就是说,到全连接层时只剩4096个特征值;
最终,第八层为softmax层,得到最终的分类结果。

 整个AlexNet有8个需要训练参数的层(不包括池化层和LRN层),前5层为卷积层,后3层为全连接层,如图所示。AlexNet最后一层是有1000类输出的Softmax层用作分类。 LRN层出现在第1个及第2个卷积层后,而最大池化层出现在两个LRN层及最后一个卷积层后。ReLU激活函数则应用在这8层每一层的后面。

2022.10.30 第二十八次周报_第2张图片

 

使用到的新技术:

AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中。AlexNet主要使用到的新技术点如下:

(1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题。 
(2)训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合。
(3)在CNN中使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果。并且AlexNet中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。
(4)提出了LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。
(5)使用CUDA加速深度卷积网络的训练,利用GPU强大的并行计算能力,处理神经网络训练时大量的矩阵运算。
(6)数据增强,随机地从256´256的原始图像中截取224´224大小的区域(以及水平翻转的镜像),相当于增加了(256-224)2´2=2048倍的数据量。同时,AlexNet论文中提到了会对图像的RGB数据进行PCA处理,并对主成分做一个标准差为0.1的高斯扰动,增加一些噪声,这个Trick可以让错误率再下降1%。

VGGNets(2014)

定义:VggNet一共有六种不同的网络结构,但是每种结构都有含有5组卷积,每组卷积都使用3x3的卷积核,每组卷积后进行一个2x2最大池化,接下来是三个全连接层.在训练高级别的网络时,可以先训练低级别的网络,用前者获得的权重初始化高级别的网络,可以加速网络的收敛.

 

特点:

1.采用了小卷积核。将卷积核全部替换为3x3。

2.采用了小池化核。相比AlexNet的3x3的池化核,VGG全部为2x2的池化核。

3.层数更深,特征图更宽。基于前两点外,由于卷积核专注于扩大通道数、池化专注于缩小宽和高,使得模型架构上更深更宽的同时,计算量的增加放缓。

​ VGG的提出,使人们得到了这样一个结论:卷积神经网络的深度增加和小卷积核的使用对网络的最终分类识别效果有很大的作用。

GoogleNet(2014)

定义:Inception(也称GoogLeNet)是2014年Christian Szegedy提出的一种全新的深度学习结构,在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但层数的增加会带来很多负作用,比如overfit、梯度消失、梯度爆炸等。inception的提出则从另一种角度来提升训练结果:能更高效的利用计算资源,在相同的计算量下能提取到更多的特征,从而提升训练结果。

2022.10.30 第二十八次周报_第3张图片

 

 1x1卷积的作用:可以看到图1中有多个黄色的1x1卷积模块,这样的卷积有什么用处呢?

作用1:在相同尺寸的感受野中叠加更多的卷积,能提取到更丰富的特征。

作用2:使用1x1卷积进行降维,降低了计算复杂度。

要点

1、在整个架构中使用了9个Inception模块,总共超过100层!现在这很深......
2、没有使用完全连接的层!他们使用平均水池,从7x7x1024 volume到1x1x1024 volume。这节省了大量参数。
3、使用的参数比AlexNet少12倍。
4、在测试过程中,创建了相同图像的多个作物,并将其输入网络,并对softmax概率进行平均,以便为我们提供最终解决方案。
5、利用R-CNN的概念来检测它们的检测模型。
6、Inception模块有更新版本(版本6和7)。
7、接受“一周内几个高端GPU”的训练。

ResNEts(2015)

定义:CNN面临的一个问题就是,随着层数的增加,CNN的效果会遇到瓶颈,甚至会不增反降。这往往是梯度爆炸或者梯度消失引起的。ResNet就是为了解决这个问题而提出的,因而帮助我们训练更深的网络。 它引入了一个 residual block(残差块)

2022.10.30 第二十八次周报_第4张图片

 残差网络通过在一个浅层网络基础上叠加y=x层,可以让网络随深度增加而不退化。将浅层的输入值直接连接到端部位置,这样避免了层层映射过程中,由于权重小于1而导致的梯度消失。它一方面使得模型可以更深,这样网络表达的能力更好了,另一方面也使得训练速度加快。假设某段神经网络的输入是x,期望输出是H(x),如果直接把x传递到输出端,那么我们要学习的目标是F(x)=H(x)-x。此时目标相当于发生变更,称之为残差。

残差网络可以设计18、34、50、101、152层,用的都是1x1和3x3的小卷积核。

class BottleNeck(nn.Module):
    expansion = 4
    def __init__(self,in_channels,out_channels,stride=1):
        super().__init__()
        self.residual_function = nn.Sequential(
            nn.Conv2d(in_channels,out_channels,stride=1,bias=False),
            nn.BatchNorm2d(out_channels),
            nn.ReLU(inplace=True),
            nn.Conv2d(out_channels,out_channels,stride=stride,padding=1,bias=False),
            nn.BatchNorm2d(out_channels),
            nn.ReLU(inplace=True),
            nn.Conv2d(out_channels,out_channels*BottleNeck.expansion,\
                      kernel_size=1,bias=False),
            nn.BatchNorm2d(out_channels*expansion)
        )
        self.shortcut = nn.Sequential()
        if stride!=1 or in_channels!=out_channels*BottleNeck.expansion:
            self.shortcut = nn.Sequential(
                nn.Conv2d(in_channels,out_channels*BottleNeck.expansion,\
                          kernel_size=1,bias=False),
                nn.BatchNorm2d(out_channels*BottleNeck.expansion))
    def forward(self,x):
        return nn.ReLU(inplace=True)(self.residual_function(x)+self.shortcut(x))

总结

本周学习了CNN的经典变型模型,下周讨论后Image Net时代的CNN模型。文献方面从这周开始就偏向于区块链和深度学习的融合应用。

你可能感兴趣的:(人工智能,深度学习,机器学习)