一种基于局部连接通信的深度学习网络结构算法的制作方法

文档序号:12671867阅读:980来源:国知局
一种基于局部连接通信的深度学习网络结构算法的制作方法与工艺

本发明涉及深度学习网络结构算法的技术领域,具体涉及一种基于局部连接通信的深度学习网络结构算法。



背景技术:

深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本,其概念由Hinton等人于2006年提出。基于深度置信网络(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。深度神经网络是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。图1为深度神经网络各网络层之间的连接示意图,图中所示为一个全连接网络,意味着上一层中的每一个神经元都和下一层的任何神经元有连接关系。这是最早使用,也是普遍有效、应用最广的的一种连接方式。然而,这种连接方式的最大缺陷是:计算量与内存消耗量都十分巨大,效率低。为此,很多学者提出了一些稀疏连接算法,试图改善这个问题。表1为一个典型的卷积稀疏连接表:

表1

很显然,从表1可以看出,这种连接的局部性很强。

必须说明的是,上述工作的初衷其实更多的只是为了改善精度,减小计算开销只是一个副产品。因为对于很多具体问题,全连接关系虽然可以拿来直接使用,但是并非最好的一种。这和现实物理世界问题,关联往往具有局部性密切相关。现实世界的这种局部性对于我们对深度学习进行并行加速很有启发。

深度学习算法是一种计算十分密集的应用,这就决定了在现有的硬件条件下,必须通过并行处理的方式来加快计算速度,其中分为数据并行与模型并行。图2为深度学习算法中计算网络示意图,计算分为很多网络层,每层之间的计算相对独立,但是每层计算完以后,会有一次明显的通信,是模型的各个部分相互交换数据。图3为深度学习算法中模型并行示意图,显然,各层之间的连接表越稠密,通信量也越大,极端的情况比如全相连神经网络,则意味着all-to-all的通信,这种特性极大地限制了该算法的可扩展性。



技术实现要素:

针对相关技术中存在的不足,本发明所要解决的技术问题在于:提供一种计算速度较高、扩展性较高的基于局部连接通信的深度学习网络结构算法。

为解决上述技术问题,本发明采用的技术方案为:一种基于局部连接通信的深度学习网络结构算法,包括以下步骤:S101、根据计算问题确定各网络层之间的网络连接模型;S102、依照并行处理的方式,将各网络层分配于各个计算节点;S103、确定各个计算节点之间的通信关系;S104、保留相邻节点之间的通信,对于跨节点的通信,直接删除;S105、根据步骤S104中删除操作之后的连接关系生成新的模型;S106、利用新的模型进行并行计算。

优选地,步骤S102中,所述并行处理的方式为模型并行的方式。

优选地,所述步骤S102中,所述将各网络层分配于各个计算节点,具体为:将各网络层平均分配于各个计算节点,以保证计算均衡。

本发明的有益技术效果在于:使用本发明的算法时,先根据计算问题确定各网络层之间的网络连接模型,依照并行处理的方式,将各网络层分配于各个计算节点,然后确定各个计算节点之间的通信关系,再保留相邻节点之间的通信,对于跨节点的通信,直接删除,然后根据删除操作之后的连接关系生成新的模型,最后利用新的模型进行并行计算;本发明与传统的深度学习算法相比,在基本不降低精度的情况下,降低了计算量,提高了计算速度,由于通信量变小,通信关系变得简单,因此程序的可扩展性得到极大的提高,能够适应大规模并行计算。

附图说明

图1是深度神经网络各网络层之间的连接示意图;

图2是深度学习算法中计算网络示意图;

图3是深度学习算法中模型并行示意图;

图4是本发明实施例一提供的一种基于局部连接通信的深度学习网络结构算法的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

科学计算问题中,物理区域被划分为若干个相当大小的子区域,每个计算节点负责一个区域,两个节点之间的通信只局限于物理交界面处,因此通信量相对于计算量而言,永远都要低一维,这就意味着有很多方法可以去做通信优化,如计算与通信的重叠等,来保证并行计算的可扩展性,从而提高计算速度。

在神经网络计算中,同样存在着这样的现象。全连接神经网络中,各层之间的神经元都属于全连接关系,但是,卷积神经网络则不一样,通过卷积kernel的作用,减少了这种全局作用,一方面提高了收敛性,另一方面还减少了计算量。因此,我们得出一个结论,就是神经网络计算同样存在着作用的局部属性。

图4是本发明实施例一提供的一种基于局部连接通信的深度学习网络结构算法的流程示意图,如图4所示,一种基于局部连接通信的深度学习网络结构算法,包括以下步骤:

S101、根据计算问题确定各网络层之间的网络连接模型。

S102、依照并行处理的方式,将各网络层分配于各个计算节点。

S103、确定各个计算节点之间的通信关系。

S104、保留相邻节点之间的通信,对于跨节点的通信,直接删除。

S105、根据步骤S104中删除操作之后的连接关系生成新的模型。

S106、利用新的模型进行并行计算。

具体地,步骤S102中,所述并行处理的方式为模型并行的方式。

本实施例中,并行处理方式分为数据并行与模型并行,由于本案的问题与模型仅与模型并行相关,因此本实施例只讨论模型并行,并以常见的cnn(卷积神经网络)来作说明。

具体地,所述步骤S102中,所述将各网络层分配于各个计算节点,具体为:将各网络层平均分配于各个计算节点,以保证计算均衡。

如背景技术里面提到的模型并行的特性,限制了深度学习算法的可扩展性,而本案正是从此入手,通过改变各层之间的连接表,尽量保证局部性,以此来减小通信量,在基本不降低精度的情况下,降低了计算量,提高了计算速度,此外,也由于通信量变小,通信关系变得简单,因此程序的可扩展性得到极大的提高,能够适应大规模并行计算,具有突出的实质性特点和显著的进步。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1