JP2025502763A - METHOD FOR OPTIMIZING LEARNING MODEL FOR TARGET DEVICE AND SYSTEM THEREFOR - Google Patents
METHOD FOR OPTIMIZING LEARNING MODEL FOR TARGET DEVICE AND SYSTEM THEREFOR Download PDFInfo
- Publication number
- JP2025502763A JP2025502763A JP2024538768A JP2024538768A JP2025502763A JP 2025502763 A JP2025502763 A JP 2025502763A JP 2024538768 A JP2024538768 A JP 2024538768A JP 2024538768 A JP2024538768 A JP 2024538768A JP 2025502763 A JP2025502763 A JP 2025502763A
- Authority
- JP
- Japan
- Prior art keywords
- learning model
- target device
- inference
- data
- environment
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006870 function Effects 0.000 claims abstract description 23
- 238000012549 training Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 17
- 239000000463 material Substances 0.000 claims description 6
- 238000011065 in-situ storage Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 26
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000013136 deep learning model Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
ターゲット装置のための学習モデルの最適化方法及びシステムに関するものであり、学習モデル生成装置が、所定のフレームワークに基づくネットワーク関数を学習データを用いて学習させて学習モデルを生成するステップと、前記学習モデル生成装置が、前記学習モデルを異なる複数の駆動環境又はフレームワークに対応する複数の推論エンジンに適用可能なように汎用のエンコードモジュールを介してエンコードするステップと、前記学習モデル生成装置が、前記エンコードされた学習モデルを前記ターゲット装置に受け渡すステップと、前記ターゲット装置が、適用された工程と関連する現場データを取得するステップと、前記ターゲット装置が、前記現場データを用いて、前記推論エンジンのうちの前記ターゲット装置の駆動環境に適した推論エンジンを介して前記学習モデルに基づく推論を行うステップと、を含んでいてもよい。
【選択図】図3
The method and system for optimizing a learning model for a target device may include a step in which a learning model generation device generates a learning model by training a network function based on a predetermined framework using learning data, a step in which the learning model generation device encodes the learning model via a general-purpose encoding module so that it can be applied to a plurality of inference engines corresponding to a plurality of different operating environments or frameworks, a step in which the learning model generation device passes on the encoded learning model to the target device, a step in which the target device acquires site data related to the applied process, and a step in which the target device uses the site data to perform inference based on the learning model via an inference engine among the inference engines that is suitable for the operating environment of the target device.
[Selected figure] Figure 3
Description
この開示(disclosure)の技術的思想は、ターゲット装置のための学習モデルの最適化方法及びシステムに関する。 The technical idea of this disclosure relates to a method and system for optimizing a learning model for a target device.
近頃、セキュリティ、運送、製造、医療、自律走行、スマートホームなどの分野に適用されるコンピューティング装置、特に、組み込みデバイス(エンベデッドデバイス)に人工知能(AI)に基づく機能の追加が求められているが、このような組み込みデバイスなどに人工知能を用いて形成されたディープラーニングモデルを効率よく搭載するためのアプリケーションプログラムなどの開発ツールの開発への取り組みは未だに十分に行われていないのが現状である。 Recently, there has been a demand for adding artificial intelligence (AI)-based functions to computing devices, particularly embedded devices, that are used in fields such as security, transportation, manufacturing, medicine, autonomous driving, and smart homes. However, there has not yet been sufficient effort to develop development tools such as application programs for efficiently installing deep learning models formed using artificial intelligence in such embedded devices.
組み込みデバイスなどのためのAIに基づくプログラムの開発の効率性は依然として低く、関連分野の発展を阻害する最も大きなボトルネック現象であると評価されている。特に、既存に導入されているAI向けの開発ツールは、主としてサーバー又はクラウドプラットフォームの開発用に設計されており、物のインターネット(IoT)装置などの組み込みデバイスに合うAI開発ツールは不十分であるのが現状である。 The efficiency of developing AI-based programs for embedded devices remains low, and is considered to be the biggest bottleneck impeding the development of related fields. In particular, existing AI development tools are primarily designed for the development of servers or cloud platforms, and there are currently insufficient AI development tools suited to embedded devices such as Internet of Things (IoT) devices.
これに加えて、様々な駆動環境を有する組み込みデバイスにディープラーニングモデルを有効に搭載するためには、様々な最適化過程が必要となるものの、従来に導入されている技術だけでは、ディープラーニングモデルに対する最適な動作を保証することができないという限界を有していた。 In addition, to effectively install deep learning models on embedded devices with various operating environments, various optimization processes are required, but the technologies that have been used up until now have limitations in that they cannot guarantee optimal operation for deep learning models.
この開示の技術的思想によるターゲット装置のための学習モデルの最適化方法及びシステムが解決しようとする技術的課題は、ターゲット装置の様々な駆動環境に適するように学習モデルを最適化して搭載することのできる方法及びそのシステムを提供することにある。 The technical problem that the method and system for optimizing a learning model for a target device based on the technical concept of this disclosure aims to solve is to provide a method and system that can optimize and install a learning model to suit various operating environments of the target device.
この開示の技術的思想による方法及びシステムが解決しようとする技術的課題は、上述した技術的課題に何ら制限されるものではなく、言及されていない他の技術的課題は、次の記載から当業者にとって明らかに理解できる。 The technical problems that the method and system according to the technical ideas of this disclosure are intended to solve are in no way limited to the above-mentioned technical problems, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
この開示の技術的思想による一態様によれば、ターゲット装置のための学習モデルの最適化方法は、学習モデル生成装置が、所定のフレームワークに基づくネットワーク関数を学習データを用いて学習させて学習モデルを生成するステップと、前記学習モデル生成装置が、前記学習モデルを異なる複数の駆動環境又はフレームワークに対応する複数の推論エンジンに適用可能なように汎用のエンコードモジュールを介してエンコードするステップと、前記学習モデル生成装置が、前記エンコードされた学習モデルを前記ターゲット装置に受け渡すステップと、前記ターゲット装置が、適用された工程と関連する現場データを取得するステップと、前記ターゲット装置が、前記現場データを用いて、前記推論エンジンのうちの前記ターゲット装置の駆動環境に適した推論エンジンを介して前記学習モデルに基づく推論を行うステップと、を含んでいてもよい。 According to one aspect of the technical idea of this disclosure, a method for optimizing a learning model for a target device may include a step in which a learning model generation device generates a learning model by training a network function based on a predetermined framework using learning data, a step in which the learning model generation device encodes the learning model via a general-purpose encoding module so that the learning model can be applied to a plurality of inference engines corresponding to a plurality of different operating environments or frameworks, a step in which the learning model generation device transfers the encoded learning model to the target device, a step in which the target device acquires on-site data related to the applied process, and a step in which the target device uses the on-site data to perform inference based on the learning model via an inference engine among the inference engines that is suitable for the operating environment of the target device.
例示的な実施形態によれば、前記駆動環境は、前記ターゲット装置のオペレーションシステム及びハードウェアのうちの少なくともどちらか一方に基づいて区別されてもよい。 According to an exemplary embodiment, the operating environment may be differentiated based on at least one of the operating system and hardware of the target device.
例示的な実施形態によれば、前記ハードウェアによって区別される前記駆動環境は、汎用の中央処理装置(CPU:Central Processing Unit)環境、汎用のグラフィックス処理装置(GPU:Graphics Processing Unit)環境及びエンベデッド環境のうちの少なくともいずれか1つを含んでいてもよい。 According to an exemplary embodiment, the operating environment that is differentiated by the hardware may include at least one of a general-purpose central processing unit (CPU) environment, a general-purpose graphics processing unit (GPU) environment, and an embedded environment.
この例示的な実施形態によれば、前記学習モデルに入力される前記現場データと前記学習モデルの出力データは、少なくとも1つのバッファーを介して所定の資料構造に変更されてもよい。 According to this exemplary embodiment, the field data input to the learning model and the output data of the learning model may be converted into a predetermined material structure via at least one buffer.
例示的な実施形態によれば、前記ターゲット装置のための学習モデルの最適化方法は、前記学習モデル生成装置が、前記現場データ及び前記出力データを基づいて前記学習モデルを再学習させるステップをさらに含んでいてもよい。 According to an exemplary embodiment, the method for optimizing the learning model for the target device may further include a step in which the learning model generation device retrains the learning model based on the on-site data and the output data.
この開示の技術的思想による一態様によれば、ターゲット装置のための学習モデルの最適化システムは、所定のフレームワークに基づくネットワーク関数を学習データを用いて学習させて学習モデルを生成し、前記学習モデル生成装置が、前記学習モデルを異なる複数の駆動環境又はフレームワークに対応する複数の推論エンジンに適用可能なように汎用のエンコードモジュールを介してエンコードし、前記学習モデル生成装置が、前記エンコードされた学習モデルを前記ターゲット装置に受け渡す学習モデル生成装置と、工程と関連する現場データを取得し、前記現場データを用いて、前記推論エンジンのうちの駆動環境に適した推論エンジンを介して前記学習モデルに基づく推論を行う前記ターゲット装置と、を備えていてもよい。 According to one aspect of the technical idea of this disclosure, a learning model optimization system for a target device may include a learning model generation device that generates a learning model by training a network function based on a predetermined framework using learning data, the learning model generation device encodes the learning model via a general-purpose encoding module so that the learning model can be applied to a plurality of inference engines corresponding to a plurality of different operating environments or frameworks, and the learning model generation device passes the encoded learning model to the target device, and the target device that acquires on-site data related to a process and uses the on-site data to perform inference based on the learning model via an inference engine among the inference engines that is suitable for the operating environment.
この開示の技術的思想による実施形態によれば、学習モデル生成装置(サーバー)において生成された学習モデルをターゲット装置の様々な駆動環境に適するように変換及び駆動することができる。 According to an embodiment based on the technical idea of this disclosure, the learning model generated in the learning model generation device (server) can be converted and operated to suit various operating environments of the target device.
この開示の技術的思想による方法及びこのためのシステムが得られる効果は上述した効果に何ら制限されるものではなく、言及されていない他の効果は、次の記載からこの開示が属する技術分野において通常の知識を有する者にとって明確に理解できる。 The effects obtained by the method and system based on the technical ideas of this disclosure are in no way limited to the effects described above, and other effects not mentioned will be clearly understood by a person having ordinary skill in the technical field to which this disclosure pertains from the following description.
この開示において引用される図面をより一層十分に理解するために各図面の簡単な説明が提供される。 A brief description of each drawing is provided to provide a more complete understanding of the drawings referenced in this disclosure.
この開示の技術的思想は、様々な変更を加えることができ、種々の実施形態を有することができるので、特定の実施形態を図面に例示し、これについて詳しく説明する。しかしながら、これは、この開示の技術的思想を特定の実施形態に対して限定しようとするものではなく、この開示の技術的思想の範囲に含まれるあらゆる変更、均等物ないし代替物を含む。 The technical idea of this disclosure can be modified in various ways and can have various embodiments, so a specific embodiment is illustrated in the drawings and described in detail. However, this is not intended to limit the technical idea of this disclosure to a specific embodiment, and includes all modifications, equivalents, and alternatives that fall within the scope of the technical idea of this disclosure.
この開示の技術的思想を説明するに当たって、本発明と関連する公知の技術についての具体的な説明がこの開示の要旨をかえって曖昧にする恐れがあると認められる場合にはその詳細な説明を省略する。なお、この開示の説明過程において用いられる数字(例えば、「第1の」、「第2の」など)は、ある構成要素を他の構成要素から区別するための識別符号に過ぎない。 When explaining the technical ideas of this disclosure, detailed explanations of known technologies related to the present invention will be omitted if it is deemed that such explanations may obscure the gist of this disclosure. Note that numbers used in the explanation of this disclosure (e.g., "first", "second", etc.) are merely identification codes for distinguishing one component from another.
また、この開示において、ある構成要素が他の構成要素と「連結」されているとか、「接続」されているとか、と言及された場合には、前記ある構成要素が前記他の構成要素と直接的に連結されたり接続されたりすることもあるが、本明細書中で特に指摘したり、明らかに文脈と矛盾したりしない限り、これらの間に他の構成要素が存在して該他の構成要素を介して連結されたり接続されたりする可能性もある。 In addition, in this disclosure, when a certain component is referred to as being "coupled" or "connected" to another component, the certain component may be directly coupled or connected to the other component, but unless otherwise specified in this specification or clearly contradicted by the context, there may be another component between them and the components may be coupled or connected via the other component.
さらに、この開示に記載の「~部」、「~器」、「~子」、「~モジュール」などの言い回しは、少なくとも1つの機能や動作を処理する単位を意味し、これは、プロセッサー(Processer)、マイクロプロセッサー(Micro Processer)、マイクロコントローラー(Micro Controller)、中央処理装置(CPU:Central Processing Unit)、グラフィックス処理装置(GPU:Graphics Processing Unit)、アクセラレーテッド処理装置(APU:Accelerated Processing Unit)、デジタルシグナルプロセッサ(DSP:Digital signal Processors)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuits)、フィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Arrays)などといったハードウェアやソフトウェア又はハードウェア及びソフトウェアの組み合わせにより実現されてもよい。 Furthermore, the terms "part", "device", "child", "module" and the like used in this disclosure refer to a unit that processes at least one function or operation, and this includes a processor, a microprocessor, a microcontroller, a central processing unit (CPU: Central Processing Unit), a graphics processing unit (GPU: Graphics Processing Unit), an accelerated processing unit (APU: Accelerated Processing Unit), a digital signal processor (DSP: Digital signal Processors), an application specific integrated circuit (ASIC: Application Specific Integrated Circuits), a field programmable gate array (FPGA: Field Programmable Gate Array), and the like. It may be realized by hardware, software, or a combination of hardware and software, such as Programmable Gate Arrays.
そして、この開示における構成部に対する区別は、各構成部が担当する主機能ごとに区別したものに過ぎないことを明らかにしておきたい。すなわち、以下において説明する2つ以上の構成部が1つの構成部にまとめられるか、あるいは、1つの構成部がさらに細分化した機能ごとに2つ以上に分化されて備えられてもよい。そして、以下において説明する構成部のそれぞれは、自分が担当する主機能の他にも、他の構成部が担当する機能の一部又は全部の機能をさらに行ってもよいし、あるいは、構成部のそれぞれが担当する主機能の一部の機能が他の構成部によって専担されて行われてもよいことはいうまでもない。 And we would like to clarify that the distinctions made between components in this disclosure are merely distinctions made according to the main functions that each component is responsible for. That is, two or more components described below may be combined into one component, or one component may be divided into two or more components for further subdivided functions. And it goes without saying that each of the components described below may perform some or all of the functions that are the responsibility of the other components in addition to the main function that it is responsible for, or some of the functions of the main function that each component is responsible for may be exclusively performed by the other components.
この開示の実施形態による方法は、演算能を備えた個人向けコンピューター(Personal Computer)、ワークステーション(workstation)、サーバー用のコンピューター装置などにおいて行われてもよいし、あるいは、このための別途の装置において行われてもよい。 The method according to the embodiment of this disclosure may be performed in a personal computer, a workstation, a server computer device, or the like, that has computing power, or may be performed in a separate device for this purpose.
また、方法は、1台以上の演算装置において行われてもよい。例えば、この開示の実施形態による方法の少なくとも1つ以上のステップはクライアントデバイスにおいて、他のステップはサーバーデバイスにおいて行われてもよい。このような場合、クライアントデバイスとサーバーデバイスは、ネットワークにより結ばれて演算結果を送受信してもよい。あるいは、方法は、分散コンピューティング技術により行われてもよい。 The method may also be performed in one or more computing devices. For example, at least one or more steps of the method according to the embodiments of the present disclosure may be performed in a client device, and other steps may be performed in a server device. In such a case, the client device and the server device may be connected via a network to transmit and receive the computation results. Alternatively, the method may be performed using distributed computing techniques.
また、この明細書の全般にわたって、ネットワーク関数は、神経網及び/又はニューラルネットワーク(neural network)と同じ意味として用いられてもよい。ここで、ニューラルネットワーク(神経網)は、一般に、ノードと称され得る相互間に接続された計算単位の集合から構成されてもよく、このようなノードは、ニューロンと称されることもある。ニューラルネットワークは、一般に、複数のノードを備えて構成される。ニューラルネットワークを構成するノードは、1つ以上のリンクによって互いに接続されてもよい。 Also, throughout this specification, network function may be used synonymously with neural network. Here, a neural network may generally be composed of a collection of interconnected computational units that may be referred to as nodes, and such nodes may also be referred to as neurons. A neural network is generally composed of a plurality of nodes. The nodes that make up a neural network may be connected to each other by one or more links.
ニューラルネットワークを構成するノードの一部は、最初の入力ノードからの距離に基づいて1つのレイヤー(layer)を構成してもよい。例えば、最初の入力ノードから距離がnであるノードの集合は、nレイヤーを構成してもよい。 Some of the nodes that make up the neural network may form a layer based on their distance from the first input node. For example, a set of nodes that are a distance n from the first input node may form an n-th layer.
この明細書において説明するニューラルネットワークは、入力レイヤーと出力レイヤーの他に、複数の隠しレイヤーを含むディープニューラルネットワーク(Deep Neural Network;DNN)を備えていてもよい。 The neural networks described in this specification may include a deep neural network (DNN) that includes multiple hidden layers in addition to the input and output layers.
以下、この開示の実施形態について順番に詳しく説明する。 The following describes the embodiments of this disclosure in detail.
図1は、この開示の実施形態によるターゲット装置のための学習モデルの最適化システムを簡略に示すブロック図である。 Figure 1 is a simplified block diagram of a learning model optimization system for a target device according to an embodiment of the present disclosure.
システムは、学習モデル生成装置110とターゲット装置120を備えていてもよい。
The system may include a learning
実施形態において、学習モデル生成装置110は、クラウドサーバーであってもよい。
In an embodiment, the learning
学習モデル生成装置110は、学習モデルを生成して、ターゲット装置120に受け渡してもよい。このために、学習モデル生成装置110は、学習モデル生成モジュールを備えていてもよい。学習モデル生成モジュールは、ソフトウェアモジュールであってもよい。
The learning
具体的には、学習モデル生成モジュールは、所定のフレームワーク(例えば、TensorFlow(テンサーフロー)に基づいてネットワーク関数を生成し、外部から学習データが入力されれば、これに基づいてネットワーク関数に対する学習を行い、学習の結果として学習モデルを生成してもよい。また、学習モデル生成モジュールは、汎用のエンコードモジュールを介して生成された学習モデルを複数の駆動環境及び/又はフレームワークにおいて駆動可能なフォーマットにエンコードしてもよい。学習モデルは、エンコードされたファイルの形でターゲット装置120に受け渡されてもよい。
Specifically, the learning model generation module may generate a network function based on a predetermined framework (e.g., TensorFlow), and if learning data is input from the outside, may learn the network function based on the input data, and generate a learning model as a result of the learning. The learning model generation module may also encode the generated learning model via a general-purpose encoding module into a format that can be run in multiple operating environments and/or frameworks. The learning model may be passed to the
また、実施形態において、学習モデル生成装置110は、ターゲット装置120から受け渡される現場データ及びこれに基づいて学習モデルが出力した出力データを用いて学習モデルを再学習させてもよい。
In addition, in an embodiment, the learning
ターゲット装置120は、学習モデルをデバイスの上に実現しようとする対象装置を指し示すものであって、サーバー、パソコン(PC)、スマートフォン(Smart phone)、スマートパッド(Smart Pad)、タブレットPCなどのあらゆる種類のコンピューティング装置を網羅する。なお、実施形態において、ターゲット装置120は、エンベデッド環境において駆動するIoT端末、エッジデバイス、エンベデッドボードなどをさらに備えていてもよい。
The
ターゲット装置120は、学習モデル生成装置110からエンコードされた学習モデルと推論モジュールを生成するための少なくとも1つの実行コード、プログラム、ライブラリーなどを受信し、生成された推論モジュールを介して学習モデルを駆動してもよい。このとき、推論モジュールは、ソフトウェアモジュールであってもよい。
The
推論モジュールは、異なる駆動環境に対応する複数の推論エンジンと少なくとも1つのバッファー(入力/出力バッファー)を備えていてもよい。推論モジュールは、ターゲット装置120のオペレーションシステム及び/又はハードウェアなどの駆動環境に適した推論エンジンを介して学習モデルを駆動し、ターゲット装置120により取得される現場データを用いて推論を行ってもよい。
The inference module may include multiple inference engines and at least one buffer (input/output buffer) corresponding to different operating environments. The inference module may run the learning model through an inference engine suitable for the operating environment, such as the operating system and/or hardware of the
このとき、学習モデルとして入力される現場データと学習モデルの出力データは、バッファーを介して所定の資料構造に変換されてもよい。 At this time, the field data input as the learning model and the output data of the learning model may be converted into a specified data structure via a buffer.
図2は、この開示の実施形態によるターゲット装置のための学習モデルの最適化方法を説明するためのフローチャートであり、図3は、この開示の実施形態による学習モデル生成装置の学習モデル生成モジュールとターゲット装置の推論モジュールの構成を概念的に示すブロック図である。 Figure 2 is a flowchart for explaining a method for optimizing a learning model for a target device according to an embodiment of the present disclosure, and Figure 3 is a block diagram conceptually illustrating the configuration of a learning model generation module of a learning model generation device according to an embodiment of the present disclosure and an inference module of a target device.
ステップS210において、学習モデル生成装置110は、学習モデル生成モジュール310のネットワーク関数311に学習データを入力して学習を行うことにより、学習モデル312を生成してもよい。
In step S210, the learning
このとき、ネットワーク関数311は、所定のフレームワークに基づいて生成されたものであってもよい。フレームワークは、検証済みの複数のライブラリーとモジュール、事前学習が完了したアルゴリズムなどを開発者が容易に使用できるように構成した一種のパッケージを指し示すものであって、例えば、テンサーフロー(Tensorflow)、ケラス(Keras)、パイトーチ(Pytorch)、カフェ(Cafe)、MXネット(Mxnet)などを含んでいてもよいが、これらに何ら限定されるものではなく、ネットワーク関数311の生成のために多種多様なフレームワークが利用可能である。
At this time, the
この実施形態において、学習モデル生成モジュール310は、テンサーフローに基づくネットワーク関数を用いて学習モデル312を生成してもよい。
In this embodiment, the learning
実施形態において、学習データは、複数のイメージであってもよい。例えば、学習データは、製品の生産、製造、加工などのような任意の工程において取得(又は、撮影)された工程イメージであってもよく、検出又は読取しようとする正解(ラベル、label)に関する情報を含んでいてもよい。 In an embodiment, the training data may be a plurality of images. For example, the training data may be process images acquired (or photographed) during any process such as the production, manufacturing, or processing of a product, and may include information about the correct answer (label) to be detected or read.
ステップS220において、学習モデル生成装置110は、学習モデル生成モジュール310の汎用のエンコードモジュール313を介して学習モデル312をエンコードしてもよい。ステップS220を介して、学習モデル312は、複数の異なる駆動環境及び/又はフレームワークにおいて駆動可能なフォーマットに変換されることが可能になる。
In step S220, the learning
実施形態において、エンコードモジュール313は、学習モデル312をニューラルネットワーク交換フォーマット(NNEF:Neural Network Exchange Format)、オープンニューラルネットワーク交換(ONNX:Open Neural Network Exchange)などのニューラルネットワークデータフォーマットに変換してもよいが、これに何ら限定されるものではない。
In an embodiment, the
ステップS230において、学習モデル生成装置110は、エンコードされた学習モデル312をターゲット装置120に受け渡してもよい。
In step S230, the learning
ここで、ターゲット装置120は、工程を制御したり、工程環境内において特定のデータを測定又は取得してこれを基づいて工程と関連する診断又は予測を行ったりするために備えられたものであって、学習モデルを駆動して推論を行うための推論モジュール320を備えていてもよい。
Here, the
ステップS240において、ターゲット装置120は、工程と関連する現場データを取得してもよい。例えば、ターゲット装置120は、ある1つの構成要素として備えられてもよいし、あるいは、これと有無線通信を介して接続されたセンシング装置(少なくとも1つのセンサー、カメラなど)から現場データを取得してもよい。
In step S240, the
実施形態において、現場データは、少なくとも1枚のイメージ(例えば、工程イメージ)であってもよい。 In an embodiment, the on-site data may be at least one image (e.g., a process image).
ステップS250において、ターゲット装置120は、推論モジュール320を介して現場データを用いて推論を行ってもよい。
In step S250, the
S250実施形態において、推論モジュール320は、それぞれ異なる駆動環境に適した複数の推論エンジン321を備え、搭載された複数の推論エンジン321のうちのターゲット装置120の駆動環境に適した推論エンジン321を介して学習モデル312を駆動することにより、現場データを基づく推論を行ってもよい。
In the S250 embodiment, the
ここで、駆動環境は、ターゲット装置120のオペレーションシステム(Operation System)及びハードウェア(又は、ハードウェアアーキテクチャー)のうちの少なくともどちらか一方に基づいて区別されてもよい。
Here, the operating environment may be distinguished based on at least one of the operation system and hardware (or hardware architecture) of the
実施形態において、オペレーションシステムにより区別される駆動環境は、リヌックス(linux)環境及びウィンドウ(window)環境のうちの少なくともどちらか一方を備えていてもよい。但し、これは単なる例示的なものに過ぎず、IOS、Android、Mac OSなど多種多様なオペレーションシステムに応じて異なる駆動環境が定義されてもよい。 In an embodiment, the operating environment that is differentiated by the operating system may include at least one of a Linux environment and a window environment. However, this is merely an example, and different operating environments may be defined according to a wide variety of operating systems, such as IOS, Android, and Mac OS.
また、実施形態において、ハードウェアにより区別される駆動環境は、汎用の中央処理装置(CPU:Central Processing Unit)環境、汎用のグラフィックス処理装置(GPU:Graphics Processing Unit)環境及びエンベデッド環境のうちの少なくともいずれか1つを備えていてもよい。但し、これは単なる例示的なものに過ぎず、Nvidia、Jetson、Raspberry、ARM Cortex-A Family、Qcam Family、Hisilicon Family、X86-CPU、X86-GPUなど多種多様なハードウェアアーキテクチャーに応じて異なる駆動環境が定義されてもよい。 In addition, in an embodiment, the operating environment distinguished by hardware may include at least one of a general-purpose central processing unit (CPU) environment, a general-purpose graphics processing unit (GPU) environment, and an embedded environment. However, this is merely an example, and different operating environments may be defined according to a wide variety of hardware architectures, such as Nvidia, Jetson, Raspberry, ARM Cortex-A Family, Qcam Family, Hisilicon Family, X86-CPU, and X86-GPU.
実施形態において、推論エンジン321は、汎用のGPU環境及び/又はエンベデッド環境に適した第1の推論エンジンと汎用のCPU環境に適した第2の推論エンジンを備えていてもよい。
In an embodiment, the
実施形態において、推論エンジン321を介して駆動される学習モデル312の入力データと出力データは、少なくとも1つのバッファー322を介して所定の資料構造に変換されてもよい。
In an embodiment, the input and output data of the
例えば、バッファー322は、入力バッファーと出力バッファーを備えていてもよく、ターゲット装置120は、現場データを入力バッファーに割り当てて、学習モデル312の駆動に適した資料構造に変換してもよく、学習モデル312の推論結果に基づいて生成された出力データを出力バッファーに割り当てて、指定された資料構造に変換してもよい。資料構造は、ターゲット装置120が解析可能なプログラム言語に対応する構造であってもよい。
For example, the
図4は、この開示の実施形態によるターゲット装置のための学習モデルの最適化方法を説明するためのフローチャートである。 Figure 4 is a flowchart illustrating a method for optimizing a learning model for a target device according to an embodiment of the present disclosure.
方法400におけるステップS410~ステップS450は、図2を参照して上述した方法200におけるステップS210~ステップS250と同様であるため、重複する説明は省略する。
Steps S410 to S450 in
方法400は、学習モデル313を再学習させるステップをさらに含んでいてもよい。
The
具体的には、ステップS460において、ターゲット装置120は、現場データと現場データを入力して推論エンジン321及び学習モデル313を介して取得された出力データを学習モデル生成装置110に受け渡してもよく、学習モデル生成装置110は、受信した現場データ及び出力データに基づいて学習モデル313を再学習させることにより、学習モデル313を更新してもよい。
Specifically, in step S460, the
更新された学習モデル313は、汎用のエンコードモジュール313を介してエンコードされてターゲット装置120に伝送されてもよい。
The updated
実施形態において、ステップS460は、一定の時間間隔をおいて周期的に行われてもよい。 In an embodiment, step S460 may be performed periodically at regular time intervals.
図5は、この開示の実施形態による学習モデル生成装置の構成を簡略に示すブロック図である。 Figure 5 is a block diagram showing a simplified configuration of a learning model generation device according to an embodiment of this disclosure.
通信部510は、外部とデータを送受信してもよい。通信部510は、有無線通信部を備えていてもよい。通信部510が有線通信部を備える場合、通信部510は、近距離通信網(Local Area Network;LAN)、広域通信網(Wide Area Network;WAN)、付加価値通信網(Value Added Network;VAN)、移動通信網(mobile radio communication network)、衛星通信網及びこれらの相互間の組み合わせを介して通信を行わせる1つ以上の構成要素を備えていてもよい。また、通信部510が無線通信部を備える場合、通信部510は、セルラー通信、無線LAN(例えば、Wi-Fi)などを用いて無線にてデータ又は信号を送受信してもよい。実施形態において、通信部は、プロセッサー540の制御により外部装置又は外部サーバーとデータ又は信号を送受信してもよい。
The communication unit 510 may transmit and receive data to and from the outside. The communication unit 510 may include a wired or wireless communication unit. When the communication unit 510 includes a wired communication unit, the communication unit 510 may include one or more components that communicate via a local area network (LAN), a wide area network (WAN), a value-added network (VAN), a mobile radio communication network, a satellite communication network, and combinations thereof. When the communication unit 510 includes a wireless communication unit, the communication unit 510 may transmit and receive data or signals wirelessly using cellular communication, wireless LAN (e.g., Wi-Fi), etc. In an embodiment, the communication unit may send and receive data or signals to and from an external device or an external server under the control of the
入力部520は、外部の操作を通じて多種多様なユーザーコマンドを受信してもよい。このために、入力部520は、1台以上の入力装置を備えたりそこに接続したりしてもよい。例えば、入力部520は、キーパッド、マウスなど多種多様な入力のためのインターフェースと接続されてユーザーコマンドを受信してもよい。このために、入力部520は、USBポートのみならず、サンダーボルトなどのインターフェースを備えていてもよい。また、入力部520は、タッチスクリーン、ボタンなどの多種多様な入力装置を備えたり、これらと結合して外部のユーザーコマンドを受信したりしてもよい。 The input unit 520 may receive a wide variety of user commands through external operations. To this end, the input unit 520 may include one or more input devices or may be connected thereto. For example, the input unit 520 may be connected to an interface for a wide variety of inputs, such as a keypad or a mouse, to receive user commands. To this end, the input unit 520 may include not only a USB port but also an interface such as Thunderbolt. In addition, the input unit 520 may include a wide variety of input devices, such as a touch screen or a button, or may be coupled to these to receive external user commands.
メモリ530は、プロセッサー540の動作のためのプログラム及び/又はプログラムコマンドを記憶してもよく、入/出力されるデータを一時的に又は永久的に記憶してもよい。メモリ530は、フラッシュメモリ(flash memory)タイプ、ハードディスク(hard disk)タイプ、マルチメディアカードマイクロ(multimedia card micro)タイプ、カードタイプのメモリ(例えば、SD又はXDメモリなど)、ランダムアクセスメモリー(RAM:Random Access Memory)、スタティックランダムアクセスメモリ(SRAM:Static Random Access Memory)、読み出し専用メモリー(ROM:Read Only Memory)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM:Electrically Erasable Programmable Read-Only Memory)、プログラム可能な読み取り専用メモリ(PROM:Programmable Read-Only Memory)、磁気メモリ、磁気ディスク、光ディスクのうちの少なくともいずれか1種のタイプの記憶媒体を備えていてもよい。
Memory 530 may store programs and/or program commands for operation of
また、メモリ530は、様々なネットワーク関数、アルゴリズム、ライブラリーなどを記憶してもよく、装置500を駆動し、かつ制御するための多種多様なデータ、プログラム(1つ以上のインストラクション)、アプリケーション、ソフトウェア、指令、コードなどを記憶してもよい。
The memory 530 may also store various network functions, algorithms, libraries, etc., and may store a wide variety of data, programs (one or more instructions), applications, software, instructions, code, etc. for driving and controlling the
プロセッサー540は、少なくとも1つのプログラム及び/又はインストラクションを起動して装置500の全般的な動作を制御してもよい。プロセッサー540は、メモリ530に記憶される1つ以上のプログラムを起動してもよい。プロセッサー540は、中央処理装置(Central Processing Unit;CPU)、グラフィックス処理装置(Graphics Processing Unit;GPU)又はこの開示の技術的思想による方法が行われる専用のプロセッサーを意味することがある。
The
実施形態において、プロセッサー540は、少なくとも1つのプログラム及び/又はインストラクションに基づいて学習モデル生成モジュール310を生成してもよい。学習モデル生成モジュール310は、ソフトウェアモジュールであってもよい。
In an embodiment, the
実施形態において、プロセッサー540は、所定のフレームワークに基づくネットワーク関数を学習データを用いて学習させて学習モデルを生成し、前記学習モデル生成装置が、前記学習モデルを異なる複数の駆動環境又はフレームワークに対応する複数の推論エンジンに適用可能なように汎用のエンコードモジュールを介してエンコードし、前記エンコードされた学習モデルを前記ターゲット装置に受け渡してもよい。
In an embodiment, the
実施形態において、プロセッサー540は、ターゲット装置から受信した現場データと推論エンジン及び学習モデルの出力データを基づいて、前記学習モデルを再学習させてもよい。
In an embodiment, the
図6は、この開示の実施形態によるターゲット装置の構成を簡略に示すブロック図である。 Figure 6 is a block diagram showing a simplified configuration of a target device according to an embodiment of this disclosure.
通信部610は、外部からデータを受信してもよい。通信部610は、有無線通信部を備えていてもよい。通信部610が有線通信部を備える場合、通信部610は、近距離通信網(Local Area Network;LAN)、広域通信網(Wide Area Network;WAN)、付加価値通信網(Value Added Network;VAN)、移動通信網(mobile radio communication network)、衛星通信網及びこれらの相互間の組み合わせを介して通信を行わせる1つ以上の構成要素を備えていてもよい。また、通信部610が無線通信部を備える場合、通信部610は、セルラー通信、無線LAN(例えば、Wi-Fi)などを用いて無線にてデータ又は信号を送受信してもよい。実施形態において、通信部は、プロセッサー640の制御により外部装置又は外部サーバーとデータ又は信号を送受信してもよい。
The communication unit 610 may receive data from the outside. The communication unit 610 may include a wired or wireless communication unit. When the communication unit 610 includes a wired communication unit, the communication unit 610 may include one or more components that communicate via a local area network (LAN), a wide area network (WAN), a value-added network (VAN), a mobile radio communication network, a satellite communication network, or a combination thereof. When the communication unit 610 includes a wireless communication unit, the communication unit 610 may transmit and receive data or signals wirelessly using cellular communication, a wireless LAN (e.g., Wi-Fi), or the like. In an embodiment, the communication unit may send and receive data or signals to and from an external device or an external server under the control of the
入力部620は、外部の操作を通じて多種多様なユーザーコマンドを受信してもよい。このために、入力部620は、1台以上の入力装置を備えたりそこに接続したりしてもよい。例えば、入力部620は、キーパッド、マウスなど多種多様な入力のためのインターフェースと接続されてユーザーコマンドを受信してもよい。このために、入力部620は、USBポートのみならず、サンダーボルトなどのインターフェースを備えていてもよい。また、入力部620は、タッチスクリーン、ボタンなどの多種多様な入力装置を備えたり、これらと結合して外部のユーザーコマンドを受信したりしてもよい。 The input unit 620 may receive a wide variety of user commands through external operations. To this end, the input unit 620 may include or be connected to one or more input devices. For example, the input unit 620 may be connected to an interface for a wide variety of inputs, such as a keypad or a mouse, to receive user commands. To this end, the input unit 620 may include not only a USB port but also an interface such as Thunderbolt. In addition, the input unit 620 may include a wide variety of input devices, such as a touch screen or a button, or may be coupled to these to receive external user commands.
メモリ630は、プロセッサー640の動作のためのプログラム及び/又はプログラムコマンドを記憶してもよく、入/出力されるデータを一時的に又は永久的に記憶してもよい。メモリ630は、フラッシュメモリ(Flash Memory)タイプ、ハードディスク(hard disk)タイプ、マルチメディアカードマイクロ(multimedia card micro)タイプ、カードタイプのメモリ(例えば、SD又はXDメモリなど)、ランダムアクセスメモリー(RAM:Random Access Memory)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、読み出し専用メモリー(ROM:Read Only Memory)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM:Electrically Erasable Programmable Read-Only Memory)、プログラム可能な読み取り専用メモリ(PROM:Programmable Read-only Memory)、磁気メモリ、磁気ディスク、光ディスクのうちの少なくともいずれか1種のタイプの記憶媒体を備えていてもよい。
Memory 630 may store programs and/or program commands for operation of
また、メモリ630は、様々なネットワーク関数、アルゴリズム、ライブラリーなどを記憶してもよく、装置600を駆動し、かつ制御するための多種多様なデータ、プログラム(1つ以上のインストラクション)、アプリケーション、ソフトウェア、指令、コードなどを記憶してもよい。
Memory 630 may also store various network functions, algorithms, libraries, etc., and may store a wide variety of data, programs (one or more instructions), applications, software, instructions, code, etc. for driving and controlling
プロセッサー640は、少なくとも1つのプログラム及び/又はインストラクションを起動して装置600の全般的な動作を制御してもよい。プロセッサー640は、メモリ630に記憶される1つ以上のプログラムを起動してもよい。プロセッサー640は、中央処理装置(Central Processing Unit;CPU)、グラフィックス処理装置(Graphics Processing Unit;GPU)又はこの開示の技術的思想による方法が行われる専用のプロセッサーを意味することがある。
The
この実施形態において、プロセッサー640は、学習モデル生成装置から受け渡された学習モデル、少なくとも1つのプログラム及び/又はインストラクションに基づいて推論モジュール320を生成してもよい。推論モジュール320は、ソフトウェアモジュールであってもよい。
In this embodiment, the
実施形態において、プロセッサー540は、工程と関連する現場データを取得し、前記現場データを用いて、前記推論エンジンのうちの装置600の駆動環境に適した推論エンジンを介して前記学習モデルに基づく推論を行ってもよい。
In an embodiment, the
実施形態において、プロセッサー540は、ターゲット装置から受信した現場データと推論エンジン及び学習モデルの出力データを基づいて、前記学習モデルを再学習させてもよい。
In an embodiment, the
一方、図示はしないが、装置600は、現場データを取得するためのセンシング部及び/又は撮影部をさらに備えていてもよい。このとき、センシング部は、少なくとも1つのセンシングモジュールにより構成され、撮影部は、カメラモジュールにより構成されてもよい。
On the other hand, although not shown, the
この開示の実施形態による方法は、多種多様なコンピューター手段を介して行われ得るプログラムコマンドのタイプに実現されてコンピューターにて読み取り可能な媒体に記録されてもよい。前記コンピューターにて読み取り可能な媒体は、プログラムコマンド、データファイル、データ構造などを単独にて又は組み合わせて含んでいてもよい。前記媒体に記録されるプログラムコマンドは、この開示のために特別に設計され、かつ構成されたものであってもよいし、あるいは、コンピューターソフトウェアの当業者にとって公知となって使用可能なものであってもよい。コンピューターにて読み取り可能な記録媒体の例としては、ハードディスク、フロッピーディスク及び磁気テープなどの磁気媒体(magnetic media)、コンパクトディスク(CD)による読み出し専用メモリー(CD-ROM:Compact Disc Read Only Memory)、デジタル多用途ディスク(DVD:Digital Versatile Disc)などの光記録媒体(optical media)、フロプティカルディスク(floptical disk)などの磁気-光媒体(magneto-opticalmedia)、及び読み出し専用メモリー(ROM:Read Only Memory)、ランダムアクセスメモリー(RAM:Random Access Memory)、フラッシュメモリなどのプログラムコマンドを記憶し、かつ、実行するように特別に構成されたハードウェア装置が含まれる。プログラムコマンドの例には、コンパイラーにより作成されるような機械語コードのみならず、インタープリーターなどを用いてコンピューターにより起動可能な高級言語コードが含まれる。 Methods according to embodiments of this disclosure may be embodied in a variety of types of program commands that may be executed via a variety of computer means and recorded on a computer readable medium. The computer readable medium may include program commands, data files, data structures, and the like, alone or in combination. The program commands recorded on the medium may be those specifically designed and constructed for this disclosure, or may be those known and available to those skilled in the art of computer software. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as compact discs (CDs), digital versatile discs (DVDs), magneto-optical media such as floptical disks, and hardware devices specifically configured to store and execute program commands, such as read only memory (ROM), random access memory (RAM), flash memory, etc. Examples of program commands include not only machine code, such as that produced by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
また、開示された実施形態による方法は、コンピュータープログラム製品(computer program product)に含まれて提供されてもよい。コンピュータープログラム製品は、商品として販売者及び購買者の間において取引されてもよい。 In addition, the methods according to the disclosed embodiments may be provided in a computer program product. The computer program product may be traded as a commodity between a seller and a buyer.
コンピュータープログラム製品は、S/Wプログラム、S/Wプログラムが記憶されたコンピューターにて読み取り可能な記憶媒体を備えていてもよい。例えば、コンピュータープログラム製品は、電子装置の製造社又は電子マーケット(例えば、グッグルプレイストア、アプリケーションストア)を介して電子的に配信されるS/Wプログラム形態の商品(例えば、ダウンローダブルアプリケーション)を備えていてもよい。電子的な配信のために、S/Wプログラムの少なくとも一部は、記憶媒体に記憶されてもよいし、あるいは、一時的に生成されてもよい。この場合、記憶媒体は、製造社のサーバー、電子マーケットのサーバー、又はSWプログラムを一時的に記憶する中継サーバーの記憶媒体となり得る。 The computer program product may include a S/W program and a computer-readable storage medium on which the S/W program is stored. For example, the computer program product may include a product in the form of a S/W program (e.g., a downloadable application) that is electronically distributed by a manufacturer of electronic devices or via an online market (e.g., Google Play Store, Application Store). For electronic distribution, at least a portion of the S/W program may be stored in the storage medium or may be temporarily generated. In this case, the storage medium may be a storage medium of a manufacturer's server, an online market server, or a relay server that temporarily stores the S/W program.
コンピュータープログラム製品は、サーバー及びクライアント装置から構成されるシステムにおいて、サーバーの記憶媒体又はクライアント装置の記憶媒体を備えていてもよい。あるいは、サーバー又はクライアント装置と通信により接続される第3の装置(例えば、スマートフォン)が存在する場合、コンピュータープログラム製品は、第3の装置の記憶媒体を備えていてもよい。あるいは、コンピュータープログラム製品は、サーバーからクライアント装置又は第3の装置に伝送されたり、第3の装置からクライアント装置に伝送されたりするS/Wプログラムそれ自体を含んでいてもよい。 In a system consisting of a server and a client device, the computer program product may include a storage medium of the server or a storage medium of the client device. Alternatively, when there is a third device (e.g., a smartphone) connected to the server or the client device via communication, the computer program product may include a storage medium of the third device. Alternatively, the computer program product may include the S/W program itself that is transmitted from the server to the client device or the third device, or transmitted from the third device to the client device.
この場合、サーバー、クライアント装置及び第3の装置のうちの1つがコンピュータープログラム製品を起動して開示された実施形態による方法を行ってもよい。あるいは、サーバー、クライアント装置及び第3の装置のうちの2以上がコンピュータープログラム製品を起動して開示された実施形態による方法を分散させて実施してもよい。 In this case, one of the server, the client device, and the third device may run the computer program product to perform the method according to the disclosed embodiment. Alternatively, two or more of the server, the client device, and the third device may run the computer program product to perform the method according to the disclosed embodiment in a distributed manner.
例えば、サーバー(例えば、クラウドサーバー又は人工知能サーバーなど)がサーバーに記憶されたコンピュータープログラム製品を起動して、サーバーと通信により接続されたクライアント装置が開示された実施形態による方法を行うように制御してもよい。 For example, a server (e.g., a cloud server or an artificial intelligence server) may launch a computer program product stored on the server to control a client device communicatively connected to the server to perform a method according to the disclosed embodiments.
以上、実施形態について詳しく説明したが、この開示の権利範囲はこれに何ら限定されるものではなく、添付の特許請求の範囲において定義しているこの開示の基本概念を用いた当業者の色々な変形及び改良形態もまたこの開示の権利範囲に属する。
Although the embodiments have been described in detail above, the scope of the disclosure is in no way limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of this disclosure as defined in the appended claims also fall within the scope of the disclosure.
Claims (6)
学習モデル生成装置が、所定のフレームワークに基づくネットワーク関数を学習データを用いて学習させて学習モデルを生成するステップと、
前記学習モデル生成装置が、前記学習モデルを異なる複数の駆動環境又はフレームワークに対応する複数の推論エンジンに適用可能なように汎用のエンコードモジュールを介してエンコードするステップと、
前記学習モデル生成装置が、前記エンコードされた学習モデルを前記ターゲット装置に受け渡すステップと、
前記ターゲット装置が、適用された工程と関連する現場データを取得するステップと、
前記ターゲット装置が、前記現場データを用いて、前記推論エンジンのうちの前記ターゲット装置の駆動環境に適した推論エンジンを介して前記学習モデルに基づく推論を行うステップと、を含む
ことを特徴とする方法。 1. A method for optimizing a learning model for a target device, comprising:
A learning model generating device generates a learning model by training a network function based on a predetermined framework using training data;
The learning model generation device encodes the learning model via a general-purpose encoding module so that the learning model can be applied to a plurality of inference engines corresponding to a plurality of different operating environments or frameworks;
The learning model generation device transmits the encoded learning model to the target device;
the target device acquiring in situ data associated with the applied process;
The method includes a step in which the target device uses the on-site data to perform inference based on the learning model via an inference engine among the inference engines that is suitable for the operating environment of the target device.
請求項1に記載の方法。 The method of claim 1 , wherein the operating environments are differentiated based on at least one of an operation system and hardware of the target device.
請求項2に記載の方法。 3. The method of claim 2, wherein the operating environment differentiated by the hardware includes at least one of a general purpose central processing unit (CPU) environment, a general purpose graphics processing unit (GPU) environment, and an embedded environment.
請求項1に記載の方法。 The method of claim 1 , wherein the field data input to the learning model and the output data of the learning model are converted to a predetermined material structure via at least one buffer.
請求項4に記載の方法。 The method according to claim 4 , further comprising the step of: the learning model generation device retraining the learning model based on the field data and the output data.
所定のフレームワークに基づくネットワーク関数を学習データを用いて学習させて学習モデルを生成し、前記学習モデル生成装置が、前記学習モデルを異なる複数の駆動環境又はフレームワークに対応する複数の推論エンジンに適用可能なように汎用のエンコードモジュールを介してエンコードし、前記学習モデル生成装置が、前記エンコードされた学習モデルを前記ターゲット装置に受け渡す学習モデル生成装置と、
工程と関連する現場データを取得し、前記現場データを用いて、前記推論エンジンのうちの駆動環境に適した推論エンジンを介して前記学習モデルに基づく推論を行う前記ターゲット装置と、を備える
ことを特徴とするシステム。 In a system for optimizing a learning model for a target device,
a learning model generation device that generates a learning model by training a network function based on a predetermined framework using training data, encodes the learning model via a general-purpose encoding module so that the learning model can be applied to a plurality of inference engines corresponding to a plurality of different operating environments or frameworks, and passes the encoded learning model to the target device;
and the target device acquires on-site data related to the process, and uses the on-site data to perform inference based on the learning model via an inference engine among the inference engines that is suitable for the operating environment.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0193801 | 2021-12-31 | ||
KR1020210193801A KR20230104408A (en) | 2021-12-31 | 2021-12-31 | Method and system for optimizing training model for target device |
PCT/KR2022/021603 WO2023128654A1 (en) | 2021-12-31 | 2022-12-29 | Method for optimizing learning model for target apparatus and system therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2025502763A true JP2025502763A (en) | 2025-01-28 |
Family
ID=86999669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024538768A Pending JP2025502763A (en) | 2021-12-31 | 2022-12-29 | METHOD FOR OPTIMIZING LEARNING MODEL FOR TARGET DEVICE AND SYSTEM THEREFOR |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2025502763A (en) |
KR (1) | KR20230104408A (en) |
WO (1) | WO2023128654A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11443230B2 (en) * | 2018-01-26 | 2022-09-13 | Cisco Technology, Inc. | Intrusion detection model for an internet-of-things operations environment |
KR102530254B1 (en) * | 2019-11-21 | 2023-05-23 | 우상진 | Npu adaptable network platform for artificial intelligent contents service |
CN113849179A (en) * | 2020-06-28 | 2021-12-28 | 华为技术有限公司 | An artificial intelligence model publishing method and device |
CN112711423A (en) * | 2021-01-18 | 2021-04-27 | 深圳中兴网信科技有限公司 | Engine construction method, intrusion detection method, electronic device and readable storage medium |
KR102341827B1 (en) * | 2021-08-06 | 2021-12-21 | 주식회사 에너자이(ENERZAi) | Method for, device for, and system for generating an test bench |
-
2021
- 2021-12-31 KR KR1020210193801A patent/KR20230104408A/en unknown
-
2022
- 2022-12-29 JP JP2024538768A patent/JP2025502763A/en active Pending
- 2022-12-29 WO PCT/KR2022/021603 patent/WO2023128654A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023128654A1 (en) | 2023-07-06 |
KR20230104408A (en) | 2023-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Murshed et al. | Machine learning at the network edge: A survey | |
US10699195B2 (en) | Training of artificial neural networks using safe mutations based on output gradients | |
US9613310B2 (en) | Neural network learning and collaboration apparatus and methods | |
CN111797893A (en) | Neural network training method, image classification system and related equipment | |
US11657124B2 (en) | Integrating binary inference engines and model data for efficiency of inference tasks | |
US10599975B2 (en) | Scalable parameter encoding of artificial neural networks obtained via an evolutionary process | |
US11983609B2 (en) | Dual machine learning pipelines for transforming data and optimizing data transformation | |
JP7332238B2 (en) | Methods and Apparatus for Physics-Guided Deep Multimodal Embedding for Task-Specific Data Utilization | |
WO2024001806A1 (en) | Data valuation method based on federated learning and related device therefor | |
CN114222986A (en) | Random trajectory prediction using social graph networks | |
US12061961B2 (en) | Automated knowledge infusion for robust and transferable machine learning | |
KR20220138696A (en) | Method and apparatus for classifying image | |
CN110674919A (en) | Method and apparatus for constructing image model | |
US12001952B2 (en) | Electronic device and method for controlling electronic device | |
CN113761525A (en) | Intelligent intrusion detection method and system based on federal learning | |
Ray et al. | Contemporary developments and technologies in deep learning–based IoT | |
KR102561799B1 (en) | Method and system for predicting latency of deep learning model in device | |
Saha et al. | Federated learning–based global road damage detection | |
CN112819151A (en) | Method and apparatus for recognizing image and training method | |
Delgado et al. | Integration of ROS and RT tasks using message pipe mechanism on Xenomai for telepresence robot | |
KR20200022319A (en) | Neural network fusion apparatus, uint neural network fusioning method and matching interface generation method thereof | |
JP2025502763A (en) | METHOD FOR OPTIMIZING LEARNING MODEL FOR TARGET DEVICE AND SYSTEM THEREFOR | |
Sarwar Murshed et al. | Efficient deployment of deep learning models on autonomous robots in the ROS environment | |
WO2023185541A1 (en) | Model training method and related device | |
CN116070257A (en) | Systems and methods for training heterogeneous models using stacked ensembles on decentralized data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240625 |