CN108268936B - 用于存储卷积神经网络的方法和装置 - Google Patents

用于存储卷积神经网络的方法和装置 Download PDF

Info

Publication number
CN108268936B
CN108268936B CN201810044454.7A CN201810044454A CN108268936B CN 108268936 B CN108268936 B CN 108268936B CN 201810044454 A CN201810044454 A CN 201810044454A CN 108268936 B CN108268936 B CN 108268936B
Authority
CN
China
Prior art keywords
convolutional
converted
neural network
layer
convolutional neural
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810044454.7A
Other languages
English (en)
Other versions
CN108268936A (zh
Inventor
刘宇龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810044454.7A priority Critical patent/CN108268936B/zh
Publication of CN108268936A publication Critical patent/CN108268936A/zh
Application granted granted Critical
Publication of CN108268936B publication Critical patent/CN108268936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施例公开了用于存储卷积神经网络的方法和装置。该方法的一具体实施方式包括:从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层;执行如下转换步骤:将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络并存储;确定转换后的卷积神经网络的识别精度;响应于确定所确定的识别精度大于等于预设阈值,从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,继续执行转换步骤。该实施方式实现了对卷积神经网络占用的存储空间的有效降低。

Description

用于存储卷积神经网络的方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及人工智能技术领域,尤其涉及用于存储卷积神经网络的方法和装置。
背景技术
目前,随着人工智能不断的发展,卷积神经网络(Convolutional NeuralNetwork,CNN)的应用范围也在不断的扩展。卷积神经网络可以应用于服务端,以对图像、文字、音频等进行处理。当然,现在卷积神经网络还可以包含在客户端应用中。用户通过其终端设备所安装的客户端应用中的卷积神经网络可以实现对图像、文字、音频等的编辑。
现有的神经网络通常占用较多的存储空间,例如磁盘空间或内存空间等。而深度可分离卷积结构是现有的一种用于降低卷积神经网络所占用的存储空间的一种卷积神经网络结构。
发明内容
本申请实施例提出了用于存储卷积神经网络的方法和装置。
第一方面,本申请实施例提供了一种用于存储卷积神经网络的方法,该方法包括:从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层;执行如下转换步骤:将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络并存储;确定转换后的卷积神经网络的识别精度;响应于确定所确定的识别精度大于等于预设阈值,从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,继续执行转换步骤。
在一些实施例中,从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层,包括:从目标卷积神经网络包括的至少一个卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
在一些实施例中,从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,包括:从至少一个卷积层中的、未转换的卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
在一些实施例中,确定转换后的卷积神经网络的识别精度,包括:利用机器学习方法,基于预设的训练样本对转换后的卷积神经网络进行训练,以及确定训练后的卷积神经网络的识别精度。
在一些实施例中,基于转换后的卷积层,生成转换后的卷积神经网络,包括:确定转换后的卷积层的输入数据是否是目标卷积神经网络中的池化层的输出数据;响应于确定是,将池化层的输出数据转换为预设数目个通道,以及生成转换后的卷积神经网络。
在一些实施例中,该方法还包括:响应于确定所确定的识别精度小于预设阈值,输出与识别精度相关的信息。
第二方面,本申请实施例提供了一种用于存储卷积神经网络的装置,该装置包括:确定单元,配置用于从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层;转换单元,配置用于执行如下转换步骤:将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络并存储;确定转换后的卷积神经网络的识别精度;选择单元,配置用于响应于确定所确定的识别精度大于等于预设阈值,从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,继续执行转换步骤。
在一些实施例中,确定单元进一步配置用于:从目标卷积神经网络包括的至少一个卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
在一些实施例中,选择单元进一步配置用于:从至少一个卷积层中的、未转换的卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
在一些实施例中,转换单元进一步配置用于:利用机器学习方法,基于预设的训练样本对转换后的卷积神经网络进行训练,以及确定训练后的卷积神经网络的识别精度。
在一些实施例中,转换单元,包括:确定模块,配置用于确定转换后的卷积层的输入数据是否是目标卷积神经网络中的池化层的输出数据;转换模块,配置用于响应于确定是,将池化层的输出数据转换为预设数目个通道,以及生成转换后的卷积神经网络。
在一些实施例中,该装置还包括:输出单元,配置用于响应于确定所确定的识别精度小于预设阈值,输出与识别精度相关的信息。
第三方面,本申请实施例提供了一种服务器,该服务器包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的用于存储卷积神经网络的方法和装置,通过从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层;然后将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络;随后通过确定转换后的卷积神经网络的识别精度,得到既满足识别精度又尽可能地减小占用的存储空间的卷积神经网络,从而实现了对卷积神经网络占用的存储空间的有效降低。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于存储卷积神经网络的方法的一个实施例的流程图;
图3是根据本申请的用于存储卷积神经网络的方法的一个应用场景的示意图;
图4是根据本申请的用于存储卷积神经网络的装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于存储卷积神经网络的方法或用于存储卷积神经网络的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如图像处理类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持运行卷积神经网络的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如用于存储卷积神经网络的服务器。该服务器可以从终端设备或其他服务器获取待转换的经训练后的卷积神经网络,并对该卷积神经网络进行分析等处理,并对处理结果(例如经转换后的卷积神经网络)进行储存。
需要说明的是,本申请实施例所提供的用于存储卷积神经网络的方法可以由服务器105执行,也可以由终端设备101、102、103执行,相应地,用于存储卷积神经网络的装置可以设置于服务器105中,也可以设置于终端设备101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在需要转换的卷积神经网络不需要从远程获取的情况下,上述系统架构可以不包括网络,而只需终端设备或服务器。
继续参考图2,示出了根据本申请的用于存储卷积神经网络的方法的一个实施例的流程200。该用于存储卷积神经网络的方法,包括以下步骤:
步骤201,从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层。
在本实施例中,用于存储卷积神经网络的方法运行于其上的电子设备(例如图1所示的服务器或终端设备)可以从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层。其中,目标卷积神经网络可以是上述电子设备通过有线连接方式或者无线连接方式从远程通信连接的服务器或终端设备获取的卷积神经网络,也可以是从本地获取的卷积神经网络。目标卷积神经网络可以是待转换的经训练后得到的卷积神经网络。
需要说明的是,上述目标卷积神经网络可以是占用空间超出占用空间阈值的卷积神经网络。进一步地,上述目标卷积神经网络可以是占用空间超出占用空间阈值并且包含在客户端应用(例如适用于移动设备的客户端应用)中的卷积神经网络。当客户端应用中的卷积神经网络占用较大存储空间时,通过对该神经网络进行转换,可以节约安装该客户端应用的终端设备的磁盘空间或内存空间。而且,当用户下载该客户端应用时,可以减少用户的等待时间,以及减少对流量的耗费。
另外,上述电子设备所获取的目标卷积神经网络可以包括至少一个卷积层。上述电子设备可以按照各种方式从至少一个卷积层中确定待转换卷积层。例如,上述电子设备可以随机选择一个卷积层作为待转换卷积层。
在本实施例的一些可选的实现方式中,上述电子设备可以从目标卷积神经网络包括的至少一个卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
作为示例,假设目标卷积神经网络包括卷积层、池化层、全连接层等,各个层具有对应的层级数。例如卷积神经网络包括的各个层中,由输入至输出的方向依次为第一卷积层、第二卷积层、第三卷积层、池化层、全连接层,则第一卷积层的层级数可以是1,第二卷积层的层级数可以是2,第三卷积层的层级数可以是3,池化层的层级数可以是4,全连接层的层级数可以是5。假设预定数目设置为1,则上述电子设备在第一次选择卷积层时,将第三卷积层确定为待转换卷积层。
步骤202,执行如下转换步骤:将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络并存储;确定转换后的卷积神经网络的识别精度。
在本实施例中,基于步骤201中得到的待转换卷积层,上述电子设备可以执行如下转换步骤:首先上述电子设备将待转换卷积层转换成深度可分离卷积结构。然后上述电子设备基于转换后的卷积层,生成转换后的卷积神经网络并存储。最后,上述电子设备确定转换后的卷积神经网络的识别精度。
其中,采用深度可分离卷积(depthwise separable convolutions)结构的卷积神经网络可以降低卷积神经网络所占用的存储空间,以及能够降低卷积神经网络的计算量,采用深度可分离卷积结构的卷积神经网络是目前广泛研究和应用的公知技术,在此不再赘述。
在本实施例的一些可选的实现方式中,上述电子设备可以通过如下步骤生成转换后的卷积神经网络:
首先,上述电子设备确定转换后的卷积层的输入数据是否是目标卷积神经网络中的池化层的输出数据。
然后,上述电子设备响应于确定转换后的卷积层的输入数据是池化层的输出数据,将池化层的输出数据转换为预设数目个通道,以及生成转换后的卷积神经网络。通常在卷积神经网络中,池化层可以用于对输入的数据进行下采样(Down Sample),为了使池化层的输出数据的通道数目与转换后的卷积层的通道数目匹配,上述电子设备可以将池化层转换为预设数目个通道。例如,转换后的卷积层的通道数目为N,则可以将池化层的通道数目转换为N。其中,转换池化层的通道数目的方法可以是将池化层的输出数据与大小为1×1的卷积核进行卷积运算,该方法是目前广泛研究和应用的公知技术,在此不再赘述。上述通道是用于表征数据集(例如图像)的某个特征(例如图像的R(红)通道为图像的各个元素的R色值,G(绿)通道为图像的各个元素的G色值)的数据。
实践中,由于池化层的作用是对数据进行降采样,因此,池化层会导致卷积神经网络的识别精度降低,因此,上述电子设备不将池化层转换为深度可分离卷积结构。
在本实施例的一些可选的实现方式中,上述电子设备可以按照如下步骤确定转换后的卷积神经网络的识别精度:上述电子设备利用机器学习方法,基于预设的训练样本对转换后的卷积神经网络进行训练,以及确定训练后的卷积神经网络的识别精度。其中,识别精度可以用于表征卷积神经网络的输出结果的准确程度,例如,当卷积神经网络用于图像识别时,识别精度可以是识别结果的准确率。上述电子设备可以在转换后的卷积神经网络进行训练操作结束后,利用经训练后的卷积神经网络对预设的测试样本进行预测操作,以确定该转换后的卷积神经网络的识别精度。
步骤203,响应于确定所确定的识别精度大于等于预设阈值,从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,继续执行转换步骤。
在本实施例中,基于步骤202得到的识别精度,上述电子设备可以确定所确定出的识别精度是否大于等于预设阈值。上述电子设备响应于识别精度大于等于预设阈值,可以从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,继续执行步骤202中的转换步骤。
上述电子设备可以按照各种方式从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层。例如,上述电子设备可以随机选择一个卷积层作为待转换卷积层。
在本实施例的一些可选的实现方式中,上述电子设备可以按照如下步骤从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层:从至少一个卷积层中的、未转换的卷积层中,按照卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。作为示例,假设目标卷积神经网络包括三个卷积层:卷积层1、卷积层2、卷积层3,则上述电子设备首先将卷积层3转换为深度可分离卷积结构,然后,上述电子设备确定转换后的卷积神经网络的识别精度大于等于预设阈值,则继续将卷积层2转换为深度可分离卷积结构,再次确定转换后的卷积神经网络的识别精度,如果此时识别精度小于预设阈值,则停止将卷积层转换为深度可分离卷积结构的操作。
在本实施例的一些可选的实现方式中,上述电子设备还可以响应于确定所确定的识别精度小于预设阈值,输出与识别精度相关的信息。其中,与识别精度相关的信息可以是识别精度值(例如识别准确率、分类准确率等),还可以是其他形式(例如文字形式、图片形式、声音形式等)的用于提示的信息。
可选的,上述电子设备可以响应于确定所确定的识别精度小于预设阈值,输出与识别精度相关的信息,并将本次存储的转换后的卷积神经网络删除,只保留上一次生成的转换后的卷积神经网络。或者,上述电子设备可以在输出与识别精度相关的信息后,生成存储的转换后的卷积神经网络的列表,并且,该列表可以包括每个存储的转换后的卷积神经网络的识别精度,该列表可以在显示设备上显示,以供技术人员查看。
继续参见图3,图3是根据本实施例的用于存储卷积神经网络的方法的应用场景的一个示意图。在图3的应用场景中,在服务器301中设置识别精度的预设阈值为0.9。首先,服务器301可以本地获取目标卷积神经网络302,其中,目标卷积神经网络302可以是包含在待发布的、适用于移动设备的应用中的卷积神经网络,目标卷积神经网络302包含5个卷积层。而后,服务器301可以从目标卷积神经网络302中选取卷积层5(标号3025)作为待转换卷积层。然后,服务器301执行转换步骤:将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络并存储。随后,服务器301确定转换后的卷积神经网络的识别精度为0.95,确定出的识别精度大于预设阈值,则继续选择卷积层4(标号3024)作为待转换卷积层,继续执行转换步骤。经过执行3次转换步骤(即卷积层5、卷积层4、卷积层3分别转换为深度可分离卷积结构)后,转换后的卷积神经网络的识别精度小于预设阈值,则停止转换步骤。
本申请的上述实施例提供的方法通过从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层;然后将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络;随后通过确定转换后的卷积神经网络的识别精度,得到既满足识别精度又尽可能地压缩占用的存储空间的卷积神经网络,从而实现了对卷积神经网络的有效压缩。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种用于存储卷积神经网络的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的用于存储卷积神经网络的装置400包括:确定单元401,配置用于从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层;转换单元402,配置用于执行如下转换步骤:将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络并存储;确定转换后的卷积神经网络的识别精度;选择单元403,配置用于响应于确定所确定的识别精度大于等于预设阈值,从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,继续执行转换步骤。
在本实施例中,确定单元401可以通过有线连接方式或者无线连接方式从远程通信连接的服务器或终端设备获取目标卷积神经网络,也可以从本地获取目标卷积神经网络。其中,目标卷积神经网络可以是待转换的经训练后的卷积神经网络。上述确定单元401所获取的目标卷积神经网络可以包括至少一个卷积层。上述确定单元401可以按照各种方式从至少一个卷积层中确定待转换卷积层。
在本实施例中,基于确定单元401得到的待转换卷积层,上述转换单元402可以执行如下转换步骤:首先上述电子设备将待转换卷积层转换成深度可分离卷积结构。然后上述电子设备基于转换后的卷积层,生成转换后的卷积神经网络并存储。最后,上述电子设备确定转换后的卷积神经网络的识别精度。
在本实施例中,基于转换单元402得到的识别精度,上述选择单元403可以确定所确定出的识别精度是否大于等于预设阈值。上述选择单元403响应于识别精度大于等于预设阈值,可以从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,继续执行上述转换步骤。上述选择单元403可以按照各种方式从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层。
在本实施例的一些可选的实现方式中,确定单元401可以进一步配置用于:从目标卷积神经网络包括的至少一个卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
在本实施例的一些可选的实现方式中,选择单元403可以进一步配置用于:从至少一个卷积层中的、未转换的卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
在本实施例的一些可选的实现方式中,转换单元402可以进一步配置用于:利用机器学习方法,基于预设的训练样本对转换后的卷积神经网络进行训练,以及确定训练后的卷积神经网络的识别精度。
在本实施例的一些可选的实现方式中,转换单元402,可以包括:确定模块,配置用于确定转换后的卷积层的输入数据是否是目标卷积神经网络中的池化层的输出数据;转换模块,配置用于响应于确定是,将池化层的输出数据转换为预设数目个通道,以及生成转换后的卷积神经网络。
在本实施例的一些可选的实现方式中,用于存储卷积神经网络的装置400还可以包括:输出单元,配置用于响应于确定所确定的识别精度小于预设阈值,输出与识别精度相关的信息。
本申请的上述实施例提供的装置,通过从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层;然后将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络;随后通过确定转换后的卷积神经网络的识别精度,得到既满足识别精度又尽可能地压缩占用的存储空间的卷积神经网络,从而实现了对卷积神经网络的有效压缩。
下面参考图5,其示出了适于用来实现本申请实施例的电子设备的计算机系统500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的系统中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元、转换单元、选择单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,确定单元还可以被描述为“从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层;执行如下转换步骤:将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络并存储;确定转换后的卷积神经网络的识别精度;响应于确定所确定的识别精度大于等于预设阈值,从至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,继续执行转换步骤。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种用于存储卷积神经网络的方法,包括:
从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层;
执行如下转换步骤:将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络并存储;确定转换后的卷积神经网络的识别精度;
响应于确定所确定的识别精度大于等于预设阈值,从所述至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,继续执行所述转换步骤;
其中,所述基于转换后的卷积层,生成转换后的卷积神经网络并存储,包括:
确定转换后的卷积层的输入数据是否是所述目标卷积神经网络中的池化层的输出数据;
响应于确定是,将池化层的输出数据转换为预设数目个通道,以及生成转换后的卷积神经网络,并存储所述转换后的卷积神经网络。
2.根据权利要求1所述的方法,其中,所述从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层,包括:
从目标卷积神经网络包括的至少一个卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
3.根据权利要求2所述的方法,其中,所述从所述至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,包括:
从所述至少一个卷积层中的、未转换的卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
4.根据权利要求1所述的方法,其中,所述确定转换后的卷积神经网络的识别精度,包括:
利用机器学习方法,基于预设的训练样本对转换后的卷积神经网络进行训练,以及确定训练后的转换后的卷积神经网络的识别精度。
5.根据权利要求1-4之一所述的方法,其中,所述方法还包括:
响应于确定所确定的识别精度小于预设阈值,输出与识别精度相关的信息。
6.一种用于存储卷积神经网络的装置,包括:
确定单元,配置用于从目标卷积神经网络包括的至少一个卷积层中确定待转换卷积层;
转换单元,配置用于执行如下转换步骤:将待转换卷积层转换成深度可分离卷积结构,基于转换后的卷积层,生成转换后的卷积神经网络并存储;确定转换后的卷积神经网络的识别精度;
选择单元,配置用于响应于确定所确定的识别精度大于等于预设阈值,从所述至少一个卷积层中的、未转换的卷积层中选择卷积层作为待转换卷积层,继续执行所述转换步骤;
其中,所述转换单元,包括:
确定模块,配置用于确定转换后的卷积层的输入数据是否是所述目标卷积神经网络中的池化层的输出数据;
转换模块,配置用于响应于确定是,将池化层的输出数据转换为预设数目个通道,以及生成转换后的卷积神经网络,并存储所述转换后的卷积神经网络。
7.根据权利要求6所述的装置,其中,所述确定单元进一步配置用于:
从目标卷积神经网络包括的至少一个卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
8.根据权利要求7所述的装置,其中,所述选择单元进一步配置用于:
从所述至少一个卷积层中的、未转换的卷积层中,按照预设的卷积层的层级数由大到小的顺序选择预定数目个卷积层作为待转换卷积层。
9.根据权利要求6所述的装置,其中,所述转换单元进一步配置用于:
利用机器学习方法,基于预设的训练样本对转换后的卷积神经网络进行训练,以及确定训练后的转换后的卷积神经网络的识别精度。
10.根据权利要求6-9之一所述的装置,其中,所述装置还包括:
输出单元,配置用于响应于确定所确定的识别精度小于预设阈值,输出与识别精度相关的信息。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN201810044454.7A 2018-01-17 2018-01-17 用于存储卷积神经网络的方法和装置 Active CN108268936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810044454.7A CN108268936B (zh) 2018-01-17 2018-01-17 用于存储卷积神经网络的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810044454.7A CN108268936B (zh) 2018-01-17 2018-01-17 用于存储卷积神经网络的方法和装置

Publications (2)

Publication Number Publication Date
CN108268936A CN108268936A (zh) 2018-07-10
CN108268936B true CN108268936B (zh) 2022-10-28

Family

ID=62775825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810044454.7A Active CN108268936B (zh) 2018-01-17 2018-01-17 用于存储卷积神经网络的方法和装置

Country Status (1)

Country Link
CN (1) CN108268936B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109102070B (zh) * 2018-08-22 2020-11-24 地平线(上海)人工智能技术有限公司 卷积神经网络数据的预处理方法和装置
CN109657548A (zh) * 2018-11-13 2019-04-19 深圳神目信息技术有限公司 一种基于深度学习的人脸检测方法及系统
CN109472315B (zh) * 2018-11-15 2021-09-24 江苏木盟智能科技有限公司 一种基于深度可分离卷积的目标检测方法和系统
CN112712176A (zh) * 2020-12-30 2021-04-27 济南浪潮高新科技投资发展有限公司 深度神经网络的压缩方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104517103A (zh) * 2014-12-26 2015-04-15 广州中国科学院先进技术研究所 一种基于深度神经网络的交通标志分类方法
CN106326985A (zh) * 2016-08-18 2017-01-11 北京旷视科技有限公司 神经网络训练方法和装置及数据处理方法和装置
CN106709565A (zh) * 2016-11-16 2017-05-24 广州视源电子科技股份有限公司 一种神经网络的优化方法及装置
CN107480770A (zh) * 2017-07-27 2017-12-15 中国科学院自动化研究所 可调节量化位宽的神经网络量化与压缩的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104517103A (zh) * 2014-12-26 2015-04-15 广州中国科学院先进技术研究所 一种基于深度神经网络的交通标志分类方法
CN106326985A (zh) * 2016-08-18 2017-01-11 北京旷视科技有限公司 神经网络训练方法和装置及数据处理方法和装置
CN106709565A (zh) * 2016-11-16 2017-05-24 广州视源电子科技股份有限公司 一种神经网络的优化方法及装置
CN107480770A (zh) * 2017-07-27 2017-12-15 中国科学院自动化研究所 可调节量化位宽的神经网络量化与压缩的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Keynote: small neural nets are beautiful: enabling embedded systems with small deep-neural- network architectures;F. Iandola and K. Keutzer;《2017 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS)》;20171109;摘要、第5节 *
Xception: Deep Learning with Depthwise Separable Convolutions;Francois Chollet 等;《arXiv》;20170404;1-4节 *

Also Published As

Publication number Publication date
CN108268936A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN110288049B (zh) 用于生成图像识别模型的方法和装置
CN108830235B (zh) 用于生成信息的方法和装置
CN109740018B (zh) 用于生成视频标签模型的方法和装置
CN112699991A (zh) 用于加速神经网络训练的信息处理的方法、电子设备和计算机可读介质
CN108268936B (zh) 用于存储卷积神经网络的方法和装置
CN108197652B (zh) 用于生成信息的方法和装置
CN111428010B (zh) 人机智能问答的方法和装置
CN110021052B (zh) 用于生成眼底图像生成模型的方法和装置
CN109829432B (zh) 用于生成信息的方法和装置
CN114840327B (zh) 多模态多任务的处理方法、设备及系统
CN109981787B (zh) 用于展示信息的方法和装置
CN109829164B (zh) 用于生成文本的方法和装置
CN112149699B (zh) 用于生成模型的方法、装置和用于识别图像的方法、装置
CN112509562B (zh) 用于文本后处理的方法、装置、电子设备和介质
CN111368551B (zh) 一种确定事件主体的方法和装置
CN113449070A (zh) 多模态数据检索方法、装置、介质及电子设备
CN113395538B (zh) 音效渲染方法、装置、计算机可读介质和电子设备
CN110008926B (zh) 用于识别年龄的方法和装置
CN110009101B (zh) 用于生成量化神经网络的方法和装置
CN109816023B (zh) 用于生成图片标签模型的方法和装置
CN115801980A (zh) 视频生成方法和装置
CN110335237B (zh) 用于生成模型的方法、装置和用于识别图像的方法、装置
CN108664610B (zh) 用于处理数据的方法和装置
CN112651231B (zh) 口语信息处理方法、装置和电子设备
CN114004229A (zh) 文本识别方法、装置、可读介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant