首页 / 深度学习支持设备与深度学习支持方法

深度学习支持设备与深度学习支持方法实质审查 发明

技术领域

[0001] 本说明书中公开的多个实施例涉及深度学习支持设备与深度学习支持方法,具体是,可支持边缘设备中执行深度学习的设备与方法。
[0002] 本研究是根据贸易、工业与能源部和韩国工业技术评价管理院的工业用嵌入式系统技术开发事业的研究结果进行的(KEI T‑20006489)。

相关背景技术

[0003] 近年来,随着计算技术的发展,机器学习的应用正在日益增多,而且目前在机器学习中,深度学习技术正处于迅猛发展阶段。
[0004] 另一方面,在用户或数据的位置执行计算的边缘设备得到广泛普及。作为一例,作为边缘设备实现的摄像头被安装在工厂等工业生产现场,执行机器视觉,又另一例是,作为边缘设备实现的摄像头安装于交通十字街头或者胡同等道路上,用于控制交通或者管理是否遵守交通法规。
[0005] 这种边缘设备需处理数据众多,因此正在尝试应用深度学习模型,以提升其性能。
[0006] 但,边缘设备是安装在用户端使用,在有限的环境内运行,因此其大小或性能大部分都是轻量化的,而且每次安装边缘设备时所安装的环境不同的情况较多,因此若想在边缘设备上应用深度学习模型,需使储存在边缘设备中的深度学习模型另行学习,还需收集深度学习模型学习所需的学习数据,因此存在不便。
[0007] 因此在实现可执行深度学习的边缘设备上,还存在诸多困难。
[0008] 关于此,在先技术文献即韩国注册专利第10‑2016‑0096460号涉及基于深度学习的识别系统,所述系统包括对于输入影像按照第一分类标准执行学习,以输出第一分类结果的第一分类器;对于第一分类结果执行与第一分类标准不同的第二分类标准执行学习,以输出第二分类结果的第二分类器;第一分类标准记载的是与第二分类标准具有先决关系的标准。进一步,在先技术是仅仅达到了基于深度学习输出对输入值的结果的程度,并未提出执行深度学习的边缘设备的实现方法。
[0009] 随之,可以解决上述问题的技术需求应运而生。
[0010] 上述的背景技术是发明人为获得本发明而已拥有或者在本发明的研究过程中获取的技术信息,不一定是在本发明的申请之前就已向普通公众公开的公知技术。

具体实施方式

[0031] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,但所描述的实施例是本发明一部分实施例,而不是全部的实施例。为进一步清楚地说明多个实施例的特征,对于下面实施例所属的技术领域普通技术人员广泛熟知的内容不再详述。此外,与图中各实施例的说明无关的部分予以省略,对于整体说明书中相似的部分使用了相似的图面符号。
[0032] 说明书中描述某个组成要素“连接”于其它组成要素时,不仅包括“直接连接”的情况,还会包括“其中间隔着其它组成要素连接”的情况。而且说明书中描述某个组成要素“包括”某个组成要素时,在没有特别相反的描述的前提下,并不是排除其它组成要素,而是表示还可以包括其它组成要素。
[0033] 下面结合附图对多个实施例详细进行说明。
[0034] 图1是说明本说明书中公开的一实施例的深度学习系统的拓扑图。
[0035] 如图1中所图示,深度学习系统100包括边缘设备10和深度学习支持设备20,边缘设备10和深度学习支持设备20可以通过网络进行通信。
[0036] 边缘设备10与深度学习支持设备20相比实现了轻量化,因此如每秒浮点运算次数(FLOPS,FLoating point Operations Per Second)、随机存取储存器(RAM)大小、GPU(图形处理器)大小、图像清晰度以及处理速度(fps)中至少一个与深度学习支持设备20相比,性能会相对低。
[0037] 关于此,在商用化的深度学习装备(intel NCS2,NVIDIA Jetson NANO等)中可对以30fps(实时为准)以上运行的轻量级网络(移动网络类的网络)进行修改,在边缘设备10上使用。
[0038] 这种边缘设备10是对输入的数据执行深度学习,然后输出结果的设备,可以安装及驱动用于执行深度学习模型的程序,边缘设备10是随着被驱动的计算机程序的控制,执行对输入数据的深度学习,然后提供结果值。
[0039] 边缘设备10中可以储存作为深度学习模型的边缘专用深度学习模型,边缘专用深度学习模型是例如可以通过DNN(深度神经网络,Deep neural network)、CNN(卷积神经网络,Convolutional neural network)、RNN(循环神经网络,Recurrent Neural Network)实现。进一步,边缘设备10是获取作为处理对象的数据以后,基于学习的深度学习模型输出结果值。
[0040] 如此,深度学习系统100中包含的边缘设备10是对于获取的数据执行深度学习而输出结果值,因此不需要与深度学习支持设备20实时进行通信,进一步,通信所需的带宽也不需要宽。
[0041] 另外,图2是图示一实施例的深度学习支持设备的配置的示意图。
[0042] 根据一实施例,支持设备20中可以安装和驱动执行深度学习模型所需的程序,支持设备20是根据驱动的计算机程序的控制,执行本说明书中描述的实施例的支持方法。
[0043] 如上所述的支持设备20是可以用服务器实现或者服务器‑客户端系统实现,支持设备20以服务器‑客户端实现而包括电子终端机时,电子终端机可以包括用于输入从边缘设备10获取的数据的接口。
[0044] 该电子终端机是可以用可通过网络访问远程服务器,或者可与其它设备和服务器连接的计算机或者便携式终端、电视、可穿戴设备(Wearable Device)等实现。在此,计算机包括如安装有网页浏览器(WEB Browser)的笔记本电脑、台式电脑(desktop)、便携式电脑(laptop),便携式终端机可以包括便携性与移动性具有保障性的无线通信装置,如PCS(个人通信系统,Personal Communication System)、PDC(个人数字蜂窝电话,Personal Digital Cellular)、PHS(个人手持式电话系统,Personal Handyphone System)、PDA(掌上电脑,Personal Digital Assistant)、GSM(全球移动通信系统,Global System for Mobilecommunications)、IMT(国际移动通信,International  Mobile Telecommunication)‑2000、CDMA(码分多址访问,Code Division Multiple Access)‑
2000、W‑CDMA(宽频码分多址,W‑Code Division Multiple Access)、Wibro(无线宽带互联网,Wireless Broadband Internet)、智能手机(Smart Phone)、移动WiMAX(全球微波互联接入,Mobile Worldwide Interoperability for Microwave Access)等所有种类的基于手持式(Handheld)的无线通信装置。电视是可以包括IPTV(交互式网络电视,Internet Protocol Television)、Internet TV(网络电视,Internet Television)、无线电视、有线电视等。进一步,可穿戴设备是如表、眼镜、饰品、服装、鞋等人体可直接佩戴的信息处理装置,可以直接或者通过其它信息处理装置经过网络访问远程服务器或者连接到其它设备。
[0045] 服务器是,可以用通过网络进行通信的计算机或者云计算服务器实现。而且服务器可以包括储存数据的存储装置,或者可以通过第三服务器储存数据。
[0046] 如上所述,支持设备20是可以通过服务器或者服务器‑客户端系统中的某一个形态实现,组成支持设备20的组成部是可以在可从物理上分离的多个服务器中执行或者一个服务器中执行。
[0047] 实施例中的支持设备20包括通信部210、存储器220和控制部230。
[0048] 通信部210可以使支持设备20与边缘设备10或者网络进行有无线通信。假设通信部210可以与第三服务器通信收发执行支持方法所需的各种数据,为此,通信部210可以包括可支持各种有无线通信方法中至少一种的通信模块。例如,通信模块可以以芯片组(chipset)的形态实现。
[0049] 在此,通信部210支持的无线通信是,例如可以是Wi‑Fi(无线上网,Wireless Fidelity)、无线直连(Wi‑FiDirect)、蓝牙(Bluetooth)、UWB(超宽带,Ultra Wide Band)或者NFC(近场通信,Near Field Communication)等。而且通信部210支持的有线通信可以是如USB(通用串行总线)或者HDMI(高清晰度多媒体接口,High Definition Multimedia Interface)等。
[0050] 根据实施例,支持设备20由服务器组成时,通信部210可从边缘设备10接收存储在所述边缘设备中的有关边缘专用深度学习模型的模型信息或者性能信息,将执行支持方法的运算结果发送到边缘设备10。
[0051] 反之,存储器220中可以安装及储存文件、应用和程序等不同种类的数据。控制部230是可以访问存储器220中储存的数据加以应用,或者将新的数据保存到存储器220中。控制部230可以运行安装在存储器220中的程序。例如,存储器220中可以安装已实现深度学习模型的程序,如上所述也可以储存从边缘设备10获取的数据。
[0052] 反之,控制部230控制支持设备20的整体运行,可以包括CPU(中央处理器)、GPU(图形处理器)等处理器。控制部230可以控制包括在支持设备20中的其它配置,以执行深度学习所需的支持。例如,控制部230可以使储存在存储器220中的程序运行,或者读取储存在存储器220中的文件,或者将新的文件保存到存储器220中。
[0053] 根据实施例,控制部230可以使对从边缘设备10获取的数据进行标注所需的标签网络学习。
[0054] 在此,应用于标签网络的深度学习模型可以是例如DNN(深度神经网络,Deep neural network)、CNN(卷积神经网络,Convolutional neural network)、RNN(循环神经网络,Recurrent Neural Network)等,但不限于上述的例。
[0055] 根据又另一实施例,标签网络是作为通用标签网络,储存在控制部230中,对于从边缘设备10获取的学习数据首次进行标注时,也存在不需要学习的情况。
[0056] 控制部230利用标签网络可以标注从边缘设备10获取的数据。
[0057] 此外,控制部230从标注的数据中筛选可靠度高的数据,以筛选的数据作为输入值,使边缘支持深度学习模型学习,进而输出边缘专用深度学习模型的输出值。
[0058] 而且控制部230可从标注的数据中筛选可靠度高的数据,用筛选的数据使标签网络再学习。
[0059] 在此,可靠度是标签越合理越高,例如,推理对象图像的类别,并标注为对象图像所属的类别时,可以将该类别相关分数定为可靠度。
[0060] 控制部230可以将学习的边缘支持深度学习模型提供给边缘设备10。
[0061] 根据一实施例,控制部230将学习的边缘支持深度学习模型中的权重(weight)值提供给边缘设备10。随之接收权重值的边缘设备10根据从支持设备20接收的权重值更改边缘专用深度学习模型的权重值,从而优化边缘专用深度学习模型。
[0062] 另外,控制部230为了学习边缘支持深度学习模型,可以从边缘设备10获取有关边缘专用深度学习模型的模型信息。
[0063] 例如,控制部230是在多个深度学习模型中可以选择与边缘专用深度学习模型匹配的模型。例如,从边缘设备10获取表示边缘专用深度学习模型以CNN(卷积神经网络)实现的模型信息之后,可以选择与该模型信息匹配的CNN(卷积神经网络)。例如,控制部230获取到包含有关组成边缘专用深度学习模型的层的信息的模型信息之后,可以基于该模型信息组成同样的边缘支持深度学习模型层。
[0064] 控制部230为了边缘支持深度学习模型的学习,可从边缘设备10获取有关用边缘设备10实现的机器性能的性能信息。
[0065] 例如,控制部230可从边缘设备获取每秒浮点运算次数(FLOPS,FLoating point Operations Per Second)、随机存取储存器(RAM)大小、GPU(图形处理器)大小、图像清晰度以及处理速度(或者检验速度;FPS)中至少一个作为性能信息。
[0066] 此外,控制部230可以基于从边缘设备10获取的模型信息,组成边缘支持深度学习模型。
[0067] 例如,获取处理速度为既定值以后,当输入到对边缘支持深度学习模型的输入值时,控制部230可以组成边缘支持深度学习模型,以按照所述处理速度输出输出值。或者例如,获取到GPU(图形处理器)大小为既定的大小时,控制部230可以根据获取的性能信息调整为边缘支持深度学习模型分配的GPU(图形处理器)大小。
[0068] 上述的深度学习系统100是,例如,可以在机器视觉系统(无图示)中实现。
[0069] 在此,所谓机器视觉是表示检验或测定物体时,可以代替原先由人用肉眼判断的方式,利用摄像头(视觉识别)、CPU(中央处理器)、SW(软件)实现工业自动化。
[0070] 例如,深度学习系统100是包括在机器视觉系统(无图示)中,或者包括机器视觉系统(无图示),或者与机器视觉系统(无图示)通信,在智能工厂执行产品良与不良的判定。
[0071] 下面以深度学习系统100包括在机器视觉系统(无图示)中为一例进行说明。
[0072] 进一步,机器视觉系统(无图示)可以包括本说明书中公开的一实施例的深度学习系统100,进一步可以包括边缘设备10和支持设备20。
[0073] 因此可以通过边缘设备10拍摄产品,边缘设备10是对基于通过支持设备20中实现的边缘专用深度学习模型拍摄的图像进行分析,辨别产品正常还是不良,或者辨别不良的种类。然后通过管理员终端通知存在不良,或者通知管理员终端接收到未学习到的种类的不良或者正常图像。
[0074] 为此,机器视觉系统(无图示)将通过边缘设备10拍摄的产品图像提供给支持设备20进行标注,进而使深度学习模型学习。
[0075] 因此,不需要为了确保在工厂生产线上未能预测的学习数据而采取暂停生产线运行等不必要的措施,进而实现生产线可实时运转的智能工厂。
[0076] 图3是说明一实施例的深度学习支持设备支持执行深度学习的方法的顺序图,图4是说明一实施例的深度学习系统支持执行深度学习的方法的顺序图。
[0077] 图3和图4中图示的支持方法包括通过图1和图2说明的深度学习系统100以及支持设备20中分别按时间序列处理的多个步骤。因此即便是在下面省略的内容,但以上关于图1和图2中图示的深度学习系统10和支持设备20叙述的内容也可以应用于图3至图4中图示的实施例的支持方法。
[0078] 根据图3,支持设备20可以组成边缘支持深度学习模型(S310),获取学习数据以后,对于获取的学习数据基于标签网络进行标注(S320),以可靠度高的已标注的学习数据作为输入值,使边缘支持深度学习模型学习(S330)。
[0079] 为此,支持设备20可以从所述边缘设备10获取储存在边缘设备10中的有关边缘专用深度学习模型的模型信息,基于所述模型信息组成边缘支持深度学习模型。
[0080] 或者支持设备20可从边缘设备10获取每秒浮点运算次数(FLOPS,FLoating point Operations Per Second)、随机存取储存器(RAM)大小、GPU(图形处理器)大小、图像清晰度以及处理速度中至少一个作为性能信息,组成所述边缘支持深度学习模型。
[0081] 进一步,如图4中所图示,支持设备20可以从边缘设备10获取模型信息和性能信息中的至少一个(S410)。
[0082] 此外,支持设备20可以基于获取的信息实现边缘支持深度学习模型(S310)。
[0083] 然后边缘设备10可以接收学习数据,可以将接收的学习数据提供给支持设备20(S420)。
[0084] 此时,边缘设备10可以另行接收用于学习的学习数据的输入,而且获取在设有边缘设备10的环境中成为分析对象的多个图像,从而被输入学习数据。
[0085] 可以基于标签网络对从边缘设备10获取的学习数据进行标注。在此,以可靠度高的已标注的学习数据为输入值,使边缘支持深度学习模型学习(S330)。
[0086] 此外,支持设备20可以将学习的边缘支持深度学习模型提供给边缘设备(S430)。
[0087] 例如,支持设备20可以将学习的边缘支持深度学习模型的权重值提供给边缘设备10。
[0088] 如此,从支持设备20接收已学习的边缘支持深度模型的边缘设备10可以使边缘专用深度学习模型学习(S440)。
[0089] 例如,边缘设备10是,将学习的边缘支持深度学习模型的权重值应用到边缘专用深度学习模型,从而组成边缘专用深度学习模型。如此,边缘设备10是从支持设备20接收已学习的边缘支持深度学习模型,因此不需在边缘设备10内学习,仍可组成已学习的边缘专用深度学习模型。
[0090] 此外,边缘设备10可以基于已学习的边缘专用深度学习模型处理输入值后,输出结果值(S450)。
[0091] 例如,边缘设备10以机器视觉系统组成时,可以辨别在良与不良的判定上所拍摄的图像是否是有关不良产品的图像。
[0092] 另外,边缘设备10是每次获取输入值时,可以判断边缘专用深度学习模型更新与否(S460)。
[0093] 例如,规定每既定周期更新时,边缘设备10可以在每次临近周期时决定更新边缘专用深度学习模型。或者例如,边缘专用深度学习模型的更新以后累积的输入值的数量达到既定值以上时,可以决定为边缘专用深度学习模型需要更新。或者一次进入的输入值的大小达到既定值以上时,可以判断为边缘专用深度学习模型需要更新。
[0094] 边缘设备10可以执行步骤S450,直至边缘专用深度学习模型需要更新,当边缘专用深度学习模型需要更新时,可以移动至步骤S420,将输入值提供给支持设备20,以执行边缘专用深度学习模型的更新。在此,可以提供累积的输入值,例如,可以提供边缘专用深度学习模型最近的更新以后累积的输入值、既定期间累积的输入值等。
[0095] 根据以上说明的多个实施例,可以利用具有轻量化性能的边缘设备10实现深度学习。进而根据边缘设备10的安装环境的变更,即便面临需使深度学习模型另行学习的状况,但通过支持设备20,可以最小的资源且最快时间内进行学习。
[0096] 并且例如,如机器视觉系统,在良与不良的判定上,即使进入未学习到的其它种类的不良图像,但边缘设备10可以通过支持设备20感知该图像的存在。
[0097] 如上所述说明的深度学习支持方法是可以储存可通过计算机运行的命令、数据且可用计算机读取的介质形态实现。命令及数据可以程序代码的形态储存,通过处理器运行时,生成既定的程序模块执行既定的运行。计算机可读介质是计算机可以访问的任意可用介质,包括易失性和非易失性介质、分离型和非分离型介质。计算机可读介质可以是计算机记录介质,而计算机记录介质包括计算机可读命令、数据结构、程序模块或者其它以数据等信息储存所需的任意方法或技术实现的易失性和非易失性、分离型和非分离型介质。例如,计算机记录介质可以是如HDD和SSD等磁存储介质、CD、DVD以及蓝光光盘等光学记录介质,或者可通过网络访问的服务器中包括的存储器。
[0098] 如上所述说明的深度学习支持方法是可以通过包括可用计算机运行的命令的计算机程序(或者计算机程序产品)实现。计算机程序包括通过处理器处理的可编程的机械命令,可以用高级编程语言(High‑level Programming Language)、面向对象编程语言(Object‑oriented Programming Language)、汇编语言或机械语言等实现。计算机程序可以记录在计算机可读记录介质(例如,存储器、硬盘、磁/光介质或SSD(Solid‑State Drive)等)上。
[0099] 如上所述说明的深度学习支持方法是,因如上所述的计算机程序通过计算设备运行而得以实现。计算设备包括处理器、存储器、存储装置、与存储器和高速扩展端口连接的高速接口、与低速总线和存储装置连接的低速接口中的至少一部分。所述成分分别利用各种总线相互连接,可以安装在通用母板或者用其它适当方式装配。
[0100] 在此,处理器是可在计算设备内处理命令,所述命令例如是,如连接高速接口上的显示器,为了显示在外部输入输出设备上提供GUI(图形用户界面,Graphic  User Interface)所需的图形信息而储存于存储器或存储装置上的命令。另一实施例是,多个处理器及(或者)多个总线可以适当地与多个存储器和存储形态一起被使用。处理器是可以用由包括独立的多个模拟及(或)数字处理器的多个芯片组成的芯片组实现。
[0101] 存储器是在计算设备内存储信息。一例是,存储器可以由易失性存储单元或其集合组成。另一例是,存储器可以由非易失性存储单元或其集合组成。存储器也可以是如磁或光盘等其它形态的计算机可读介质。
[0102] 此外,存储装置可以给计算设备提供大容量储存空间。存储装置可以是计算机可读介质,或者包括这些介质的组成。例如,可以包括SAN(存储区域网络,Storage Area Network)内的多个装置或其它组成,可以是硬盘驱动器、硬盘装置、光盘装置或磁带装置、闪存、与其类似的其它半导体存储设备或设备阵列。
[0103] 以上实施例中使用的所谓“~部”的用语是表示软件或FPGA(现场可编程逻辑阵列,field programmable gate array)或者ASIC等硬件构件,“~部”执行某种角色。但“~部”的意义并不限于软件或硬件。“~部”可以在可处理的存储介质上组成,也可以使一个或其以上的多个处理器再生地配置。作为一例,“~部”包括软件组成要素、面向对象软件组成要素、类(Class)组成要素和任务(Task)组成成要素等多个组成要素、多个处理器、多个函数、多个属性、多个程序、多个子程序、程序专利代码的多个段、多个驱动器、固件、微代码、电路、数据、数据库、多个数据结构、多个表格(Table)、多个阵列及多个变量。
[0104] 多个组成要素和多个“~部”中提供的功能是,可与更少数的组成要素和多个“~部”结合,或者与补充的多个组成要素和“~部”分离。
[0105] 不仅如此,多个组成要素和多个“~部”是可以使设备或安全多媒体卡内的一个或其以上的多个CPU再生地实现。以上实施例仅用以说明本发明的技术方案,而非对其限制;本领域的普通技术人员应当理解:其依然可以对前述各实施例所述的技术方案进行修改;
而这些修改,并不使相应技术方案的本质脱离本发明各实施例所述技术方案的范围。例如,描述单一型的各个组成要素可以分散实施,同样描述为分散的组成要素也可以以结合形态实现。
[0106] 通过本说明书要保护的范围是,与上述的详细说明相比,更应该由后述的权利要求范围展示,并且应解释为包括权利要求范围的含义和范围以及从其等同概念得出的所有变更或修改的形形态。

当前第1页 第1页 第2页 第3页