[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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 PDF

Info

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
Application number
JP2024538768A
Other languages
Japanese (ja)
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.)
Neurocle Inc
Original Assignee
Neurocle Inc
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 Neurocle Inc filed Critical Neurocle Inc
Publication of JP2025502763A publication Critical patent/JP2025502763A/en
Pending legal-status Critical Current

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge 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

Figure 2025502763000001

ターゲット装置のための学習モデルの最適化方法及びシステムに関するものであり、学習モデル生成装置が、所定のフレームワークに基づくネットワーク関数を学習データを用いて学習させて学習モデルを生成するステップと、前記学習モデル生成装置が、前記学習モデルを異なる複数の駆動環境又はフレームワークに対応する複数の推論エンジンに適用可能なように汎用のエンコードモジュールを介してエンコードするステップと、前記学習モデル生成装置が、前記エンコードされた学習モデルを前記ターゲット装置に受け渡すステップと、前記ターゲット装置が、適用された工程と関連する現場データを取得するステップと、前記ターゲット装置が、前記現場データを用いて、前記推論エンジンのうちの前記ターゲット装置の駆動環境に適した推論エンジンを介して前記学習モデルに基づく推論を行うステップと、を含んでいてもよい。
【選択図】図3

Figure 2025502763000001

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.

この開示の実施形態によるターゲット装置のための学習モデルの最適化システムを簡略に示すブロック図である。FIG. 1 is a simplified block diagram of a system for optimizing a learning model for a target device according to an embodiment of the present disclosure. この開示の実施形態によるターゲット装置のための学習モデルの最適化方法を説明するためのフローチャートである。1 is a flowchart illustrating a method for optimizing a learning model for a target device according to an embodiment of the present disclosure. この開示の実施形態による学習モデル生成装置の学習モデル生成モジュールとターゲット装置の推論モジュールの構成を概念的に示すブロック図である。A block diagram conceptually showing the configuration of a learning model generation module of a learning model generation device and an inference module of a target device according to an embodiment of the present disclosure. この開示の実施形態によるターゲット装置のための学習モデルの最適化方法を説明するためのフローチャートである。1 is a flowchart illustrating a method for optimizing a learning model for a target device according to an embodiment of the present disclosure. この開示の実施形態による学習モデル生成装置の構成を簡略に示すブロック図である。1 is a block diagram showing a simplified configuration of a learning model generation device according to an embodiment of the present disclosure. この開示の実施形態によるターゲット装置の構成を簡略に示すブロック図である。FIG. 2 is a block diagram illustrating a simplified configuration of a target device according to an embodiment of the present 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 model generating device 110 and a target device 120.

実施形態において、学習モデル生成装置110は、クラウドサーバーであってもよい。 In an embodiment, the learning model generation device 110 may be a cloud server.

学習モデル生成装置110は、学習モデルを生成して、ターゲット装置120に受け渡してもよい。このために、学習モデル生成装置110は、学習モデル生成モジュールを備えていてもよい。学習モデル生成モジュールは、ソフトウェアモジュールであってもよい。 The learning model generating device 110 may generate a learning model and pass it to the target device 120. To this end, the learning model generating device 110 may include a learning model generation module. The learning model generation module may be a software module.

具体的には、学習モデル生成モジュールは、所定のフレームワーク(例えば、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 target device 120 in the form of an encoded file.

また、実施形態において、学習モデル生成装置110は、ターゲット装置120から受け渡される現場データ及びこれに基づいて学習モデルが出力した出力データを用いて学習モデルを再学習させてもよい。 In addition, in an embodiment, the learning model generation device 110 may retrain the learning model using the field data transferred from the target device 120 and the output data output by the learning model based on the field data.

ターゲット装置120は、学習モデルをデバイスの上に実現しようとする対象装置を指し示すものであって、サーバー、パソコン(PC)、スマートフォン(Smart phone)、スマートパッド(Smart Pad)、タブレットPCなどのあらゆる種類のコンピューティング装置を網羅する。なお、実施形態において、ターゲット装置120は、エンベデッド環境において駆動するIoT端末、エッジデバイス、エンベデッドボードなどをさらに備えていてもよい。 The target device 120 refers to a target device on which a learning model is to be realized, and includes all kinds of computing devices such as servers, personal computers (PCs), smart phones, smart pads, and tablet PCs. In an embodiment, the target device 120 may further include an IoT terminal, an edge device, an embedded board, and the like that operates in an embedded environment.

ターゲット装置120は、学習モデル生成装置110からエンコードされた学習モデルと推論モジュールを生成するための少なくとも1つの実行コード、プログラム、ライブラリーなどを受信し、生成された推論モジュールを介して学習モデルを駆動してもよい。このとき、推論モジュールは、ソフトウェアモジュールであってもよい。 The target device 120 may receive at least one execution code, program, library, etc. for generating an encoded learning model and an inference module from the learning model generation device 110, and drive the learning model via the generated inference module. In this case, the inference module may be a software module.

推論モジュールは、異なる駆動環境に対応する複数の推論エンジンと少なくとも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 target device 120, and perform inference using field data acquired by the target device 120.

このとき、学習モデルとして入力される現場データと学習モデルの出力データは、バッファーを介して所定の資料構造に変換されてもよい。 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 model generation device 110 may generate a learning model 312 by inputting learning data into the network function 311 of the learning model generation module 310 and performing learning.

このとき、ネットワーク関数311は、所定のフレームワークに基づいて生成されたものであってもよい。フレームワークは、検証済みの複数のライブラリーとモジュール、事前学習が完了したアルゴリズムなどを開発者が容易に使用できるように構成した一種のパッケージを指し示すものであって、例えば、テンサーフロー(Tensorflow)、ケラス(Keras)、パイトーチ(Pytorch)、カフェ(Cafe)、MXネット(Mxnet)などを含んでいてもよいが、これらに何ら限定されるものではなく、ネットワーク関数311の生成のために多種多様なフレームワークが利用可能である。 At this time, the network function 311 may be generated based on a predetermined framework. The framework refers to a type of package configured to allow a developer to easily use multiple verified libraries and modules, pre-trained algorithms, etc., and may include, for example, Tensorflow, Keras, Pytorch, Cafe, MXnet, etc., but is not limited to these, and a wide variety of frameworks can be used to generate the network function 311.

この実施形態において、学習モデル生成モジュール310は、テンサーフローに基づくネットワーク関数を用いて学習モデル312を生成してもよい。 In this embodiment, the learning model generation module 310 may generate the learning model 312 using a network function based on tensorflow.

実施形態において、学習データは、複数のイメージであってもよい。例えば、学習データは、製品の生産、製造、加工などのような任意の工程において取得(又は、撮影)された工程イメージであってもよく、検出又は読取しようとする正解(ラベル、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 model generation device 110 may encode the learning model 312 via a generic encoding module 313 of the learning model generation module 310. Through step S220, the learning model 312 can be converted into a format that can be run in multiple different operating environments and/or frameworks.

実施形態において、エンコードモジュール313は、学習モデル312をニューラルネットワーク交換フォーマット(NNEF:Neural Network Exchange Format)、オープンニューラルネットワーク交換(ONNX:Open Neural Network Exchange)などのニューラルネットワークデータフォーマットに変換してもよいが、これに何ら限定されるものではない。 In an embodiment, the encoding module 313 may convert the learning model 312 into a neural network data format such as Neural Network Exchange Format (NNEF) or Open Neural Network Exchange (ONNX), but is not limited thereto.

ステップS230において、学習モデル生成装置110は、エンコードされた学習モデル312をターゲット装置120に受け渡してもよい。 In step S230, the learning model generation device 110 may pass the encoded learning model 312 to the target device 120.

ここで、ターゲット装置120は、工程を制御したり、工程環境内において特定のデータを測定又は取得してこれを基づいて工程と関連する診断又は予測を行ったりするために備えられたものであって、学習モデルを駆動して推論を行うための推論モジュール320を備えていてもよい。 Here, the target device 120 is provided to control the process or to measure or acquire specific data within the process environment and perform diagnosis or prediction related to the process based on the data, and may be provided with an inference module 320 for driving a learning model to perform inference.

ステップS240において、ターゲット装置120は、工程と関連する現場データを取得してもよい。例えば、ターゲット装置120は、ある1つの構成要素として備えられてもよいし、あるいは、これと有無線通信を介して接続されたセンシング装置(少なくとも1つのセンサー、カメラなど)から現場データを取得してもよい。 In step S240, the target device 120 may acquire on-site data related to the process. For example, the target device 120 may be provided as a single component, or the on-site data may be acquired from a sensing device (at least one sensor, camera, etc.) connected to the target device 120 via wired or wireless communication.

実施形態において、現場データは、少なくとも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 target device 120 may perform inference using the on-site data via the inference module 320.

S250実施形態において、推論モジュール320は、それぞれ異なる駆動環境に適した複数の推論エンジン321を備え、搭載された複数の推論エンジン321のうちのターゲット装置120の駆動環境に適した推論エンジン321を介して学習モデル312を駆動することにより、現場データを基づく推論を行ってもよい。 In the S250 embodiment, the inference module 320 may be provided with multiple inference engines 321, each suitable for a different operating environment, and may perform inference based on field data by driving the learning model 312 through an inference engine 321 suitable for the operating environment of the target device 120 among the multiple inference engines 321 installed.

ここで、駆動環境は、ターゲット装置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 target device 120.

実施形態において、オペレーションシステムにより区別される駆動環境は、リヌックス(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 inference engine 321 may include a first inference engine suitable for a general-purpose GPU environment and/or embedded environment and a second inference engine suitable for a general-purpose CPU environment.

実施形態において、推論エンジン321を介して駆動される学習モデル312の入力データと出力データは、少なくとも1つのバッファー322を介して所定の資料構造に変換されてもよい。 In an embodiment, the input and output data of the learning model 312 driven via the inference engine 321 may be converted into a predetermined material structure via at least one buffer 322.

例えば、バッファー322は、入力バッファーと出力バッファーを備えていてもよく、ターゲット装置120は、現場データを入力バッファーに割り当てて、学習モデル312の駆動に適した資料構造に変換してもよく、学習モデル312の推論結果に基づいて生成された出力データを出力バッファーに割り当てて、指定された資料構造に変換してもよい。資料構造は、ターゲット装置120が解析可能なプログラム言語に対応する構造であってもよい。 For example, the buffer 322 may include an input buffer and an output buffer, and the target device 120 may assign the field data to the input buffer and convert it into a material structure suitable for driving the learning model 312, and may assign the output data generated based on the inference result of the learning model 312 to the output buffer and convert it into a specified material structure. The material structure may be a structure corresponding to a program language that the target device 120 can parse.

図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 method 400 are similar to steps S210 to S250 in method 200 described above with reference to FIG. 2, so duplicated explanations will be omitted.

方法400は、学習モデル313を再学習させるステップをさらに含んでいてもよい。 The method 400 may further include a step of retraining the learning model 313.

具体的には、ステップS460において、ターゲット装置120は、現場データと現場データを入力して推論エンジン321及び学習モデル313を介して取得された出力データを学習モデル生成装置110に受け渡してもよく、学習モデル生成装置110は、受信した現場データ及び出力データに基づいて学習モデル313を再学習させることにより、学習モデル313を更新してもよい。 Specifically, in step S460, the target device 120 may input the on-site data and the on-site data, and pass the output data obtained via the inference engine 321 and the learning model 313 to the learning model generation device 110, and the learning model generation device 110 may update the learning model 313 by re-learning the learning model 313 based on the received on-site data and output data.

更新された学習モデル313は、汎用のエンコードモジュール313を介してエンコードされてターゲット装置120に伝送されてもよい。 The updated learning model 313 may be encoded via a general-purpose encoding module 313 and transmitted to the target device 120.

実施形態において、ステップ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 processor 540.

入力部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 processor 540 and may temporarily or permanently store input/output data. The memory 530 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), a random access memory (RAM), a static random access memory (SRAM), a read only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), or a programmable read-only memory (PROM). The device may be equipped with at least one type of storage medium: read-only memory, magnetic memory, magnetic disk, or optical disk.

また、メモリ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 device 500.

プロセッサー540は、少なくとも1つのプログラム及び/又はインストラクションを起動して装置500の全般的な動作を制御してもよい。プロセッサー540は、メモリ530に記憶される1つ以上のプログラムを起動してもよい。プロセッサー540は、中央処理装置(Central Processing Unit;CPU)、グラフィックス処理装置(Graphics Processing Unit;GPU)又はこの開示の技術的思想による方法が行われる専用のプロセッサーを意味することがある。 The processor 540 may run at least one program and/or instruction to control the overall operation of the device 500. The processor 540 may run one or more programs stored in the memory 530. The processor 540 may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor in which the methods according to the technical ideas of this disclosure are performed.

実施形態において、プロセッサー540は、少なくとも1つのプログラム及び/又はインストラクションに基づいて学習モデル生成モジュール310を生成してもよい。学習モデル生成モジュール310は、ソフトウェアモジュールであってもよい。 In an embodiment, the processor 540 may generate the learning model generation module 310 based on at least one program and/or instruction. The learning model generation module 310 may be a software module.

実施形態において、プロセッサー540は、所定のフレームワークに基づくネットワーク関数を学習データを用いて学習させて学習モデルを生成し、前記学習モデル生成装置が、前記学習モデルを異なる複数の駆動環境又はフレームワークに対応する複数の推論エンジンに適用可能なように汎用のエンコードモジュールを介してエンコードし、前記エンコードされた学習モデルを前記ターゲット装置に受け渡してもよい。 In an embodiment, the processor 540 may generate a learning model by training a network function based on a predetermined framework using training data, and the learning model generation device may encode the learning model via a general-purpose encoding module so that the learning model can be applied to multiple inference engines corresponding to multiple different operating environments or frameworks, and pass the encoded learning model to the target device.

実施形態において、プロセッサー540は、ターゲット装置から受信した現場データと推論エンジン及び学習モデルの出力データを基づいて、前記学習モデルを再学習させてもよい。 In an embodiment, the processor 540 may retrain the learning model based on the field data received from the target device and the output data of the inference engine and the learning model.

図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 processor 640.

入力部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 processor 640 and may temporarily or permanently store input/output data. The memory 630 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (such as an SD or XD memory), a random access memory (RAM), a static random access memory (SRAM), a read only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), or a programmable read-only memory (PROM). The device may be equipped with at least one type of storage medium: read-only memory, magnetic memory, magnetic disk, or optical disk.

また、メモリ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 device 600.

プロセッサー640は、少なくとも1つのプログラム及び/又はインストラクションを起動して装置600の全般的な動作を制御してもよい。プロセッサー640は、メモリ630に記憶される1つ以上のプログラムを起動してもよい。プロセッサー640は、中央処理装置(Central Processing Unit;CPU)、グラフィックス処理装置(Graphics Processing Unit;GPU)又はこの開示の技術的思想による方法が行われる専用のプロセッサーを意味することがある。 The processor 640 may run at least one program and/or instruction to control the overall operation of the device 600. The processor 640 may run one or more programs stored in the memory 630. The processor 640 may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor in which the methods according to the technical ideas of this disclosure are performed.

この実施形態において、プロセッサー640は、学習モデル生成装置から受け渡された学習モデル、少なくとも1つのプログラム及び/又はインストラクションに基づいて推論モジュール320を生成してもよい。推論モジュール320は、ソフトウェアモジュールであってもよい。 In this embodiment, the processor 640 may generate the inference module 320 based on the learning model, at least one program and/or instructions received from the learning model generation device. The inference module 320 may be a software module.

実施形態において、プロセッサー540は、工程と関連する現場データを取得し、前記現場データを用いて、前記推論エンジンのうちの装置600の駆動環境に適した推論エンジンを介して前記学習モデルに基づく推論を行ってもよい。 In an embodiment, the processor 540 may acquire on-site data associated with the process and use 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 device 600.

実施形態において、プロセッサー540は、ターゲット装置から受信した現場データと推論エンジン及び学習モデルの出力データを基づいて、前記学習モデルを再学習させてもよい。 In an embodiment, the processor 540 may retrain the learning model based on the field data received from the target device and the output data of the inference engine and the learning model.

一方、図示はしないが、装置600は、現場データを取得するためのセンシング部及び/又は撮影部をさらに備えていてもよい。このとき、センシング部は、少なくとも1つのセンシングモジュールにより構成され、撮影部は、カメラモジュールにより構成されてもよい。 On the other hand, although not shown, the device 600 may further include a sensing unit and/or an image capturing unit for acquiring on-site data. In this case, the sensing unit may be configured with at least one sensing module, and the image capturing unit may be configured with a camera module.

この開示の実施形態による方法は、多種多様なコンピューター手段を介して行われ得るプログラムコマンドのタイプに実現されてコンピューターにて読み取り可能な媒体に記録されてもよい。前記コンピューターにて読み取り可能な媒体は、プログラムコマンド、データファイル、データ構造などを単独にて又は組み合わせて含んでいてもよい。前記媒体に記録されるプログラムコマンドは、この開示のために特別に設計され、かつ構成されたものであってもよいし、あるいは、コンピューターソフトウェアの当業者にとって公知となって使用可能なものであってもよい。コンピューターにて読み取り可能な記録媒体の例としては、ハードディスク、フロッピーディスク及び磁気テープなどの磁気媒体(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.
前記ハードウェアによって区別される前記駆動環境は、汎用の中央処理装置(CPU:Central Processing Unit)環境、汎用のグラフィックス処理装置(GPU:Graphics Processing Unit)環境及びエンベデッド環境のうちの少なくともいずれか1つを含む
請求項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つのバッファーを介して所定の資料構造に変換される
請求項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.
JP2024538768A 2021-12-31 2022-12-29 METHOD FOR OPTIMIZING LEARNING MODEL FOR TARGET DEVICE AND SYSTEM THEREFOR Pending JP2025502763A (en)

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)

* Cited by examiner, † Cited by third party
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

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