(57)【要約】  本願は、ニューラルネットワークの分野に関し、畳み込みニューラルネットワークに基づくビデオメモリ処理方法、装置及び記録媒体を提供し、ビデオメモリ処理方法は、入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間である一時記憶空間を作成するステップと、処理対象データのタイプ及び方向に応じて、前記処理対象データに対応する一時記憶空間を呼び出し、かつ前記処理対象データを呼び出された一時記憶空間に読み込むステップと、前記呼び出された一時記憶空間内で前記処理対象データに対して所定の処理を行うステップと、処理後のデータのタイプ及び方向に応じて、前記呼び出された一時記憶空間内のデータを指定された外部記憶空間に書き込むステップと、を含む。本願はビデオメモリを大幅に節約し、ＧＰＵ計算の並列度を向上させることができる。【選択図】図５
2021532498.tif 000002
【特許請求の範囲】
【請求項１】
電子装置に適用される畳み込みニューラルネットワークに基づくビデオメモリ処理方法であって、
入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間である一時記憶空間を作成するステップと、
処理対象データのタイプ及び方向に応じて、前記処理対象データに対応する一時記憶空間を呼び出し、前記処理対象データを呼び出された一時記憶空間に読み込むステップと、
前記呼び出された一時記憶空間内で前記処理対象データに対して所定の処理を行うステップと、
処理後のデータのタイプ及び方向に応じて、前記呼び出された一時記憶空間内のデータを指定された外部記憶空間に書き込むステップと、を含むことを特徴とする畳み込みニューラルネットワークに基づく、ビデオメモリ処理方法。
【請求項２】
前記一時記憶空間は、入力データ一時記憶空間、出力データ一時記憶空間、入力誤差一時記憶空間及び出力誤差一時記憶空間を含むことを特徴とする、請求項１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法。
【請求項３】
前記一時記憶空間はビデオメモリ内に設定されることを特徴とする、請求項１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法。
【請求項４】
前記処理対象データに対して所定の処理を行うステップは、
前記処理対象データに対して畳み込み処理、重畳処理、乗算処理又は積分演算のうちの少なくとも１つを行うステップを含むことを特徴とする、請求項１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法。
【請求項５】
前記処理対象データに対して行う所定の処理は、２つの変数をある範囲内で乗算した後に加算した結果を取得する畳み込み処理であることを特徴とする、請求項１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法。
【請求項６】
畳み込みの変数が系列ｘ（ｎ）及びｈ（ｎ）であれば、畳み込み結果は下式に示すとおりであり、
【数７】
2021532498.tif 000013
式中、＊は畳み込みを示し、ｎはｈ（−ｉ）をシフトさせる量であり、異なるｎが異なる畳み込み結果に対応し、時系列ｎ＝０の場合、系列ｈ（−ｉ）がｈ（ｉ）の時系列ｉが反転された結果であり、時系列の反転によりｈ（ｉ）が縦軸を中心として１８０度反転することを特徴とする、請求項５に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法。
【請求項７】
畳み込みの変数がｘ（ｔ）とｈ（ｔ）の２つの関数であれば、畳み込み結果は下式に示すとおりであり、
【数８】
2021532498.tif 000014
＊は畳み込みを示し、ｔは関数ｈ（−ｐ）をシフトさせた量であり、ｐは積分変数であり、積分は加算であることを特徴とする、請求項５に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法。
【請求項８】
前記呼び出された一時記憶空間内のデータを指定された外部記憶空間内に書き込むステップは、
設定された書き込み方式で、前記一時記憶空間内の処理後のデータを指定された外部記憶空間内に書き込むステップを含み、前記書き込み方式は、Ａｄｄｉｔｉｏｎモード及びＣｏｎｃａｔモードを含むことを特徴とする、請求項１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法。
【請求項９】
Ａｄｄｉｔｉｏｎモードが設定されている場合、対応する一時記憶空間内のデータを前記外部記憶空間に累積的に書き込み、
Ｃｏｎｃａｔモードが設定されている場合、設定されたデータ長情報に基づいて、対応する一時記憶空間内のデータを前記外部記憶空間に間隔をあけて順次書き込むことを特徴とする、請求項８に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法。
【請求項１０】
前記データのタイプは、入力データ、出力データ、入力誤差及び出力誤差を含み、
前記データの方向は、入力及び出力を含むことを特徴とする、請求項１〜９のいずれか一項に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法。
【請求項１１】
入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間である一時記憶空間を作成する空間作成部と、
処理対象データのタイプ及び方向に応じて、前記処理対象データに対応する一時記憶空間を呼び出し、前記処理対象データを呼び出された一時記憶空間に読み込むデータ呼び出し部と、
前記呼び出された一時記憶空間内で前記処理対象データに対して所定の処理を行う前処理部と、
処理後のデータのタイプ及び方向に応じて、前記呼び出された一時記憶空間内のデータを指定された外部記憶空間に書き込むデータ書き込み部と、を含むことを特徴とする、畳み込みニューラルネットワークに基づくビデオメモリ処理システム。
【請求項１２】
前記空間作成部により作成された一時記憶空間は、入力データ一時記憶空間、出力データ一時記憶空間、入力誤差一時記憶空間及び出力誤差一時記憶空間を含むことを特徴とする、請求項１１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理システム。
【請求項１３】
前記空間作成部はビデオメモリ内で前記一時記憶空間を作成することを特徴とする、請求項１１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理システム。
【請求項１４】
前記前処理部が前記処理対象データに対して行う所定の処理は、前記処理対象データに対する畳み込み処理、重畳処理、乗算処理又は積分演算のうちの少なくとも１つの処理を含むことを特徴とする、請求項１１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理システム。
【請求項１５】
前記前処理部が前記処理対象データに対して行う所定の処理は、２つの変数をある範囲内で乗算した後に加算した結果を取得する畳み込み処理であり、
畳み込みの変数が系列ｘ（ｎ）及びｈ（ｎ）であれば、畳み込み結果は下式に示すとおりであり、
【数９】
2021532498.tif 000015
式中、＊は畳み込みを示し、ｎはｈ（−ｉ）をシフトさせる量であり、異なるｎが異なる畳み込み結果に対応し、時系列ｎ＝０の場合、系列ｈ（−ｉ）がｈ（ｉ）の時系列ｉが反転された結果であり、時系列の反転によりｈ（ｉ）が縦軸を中心として１８０度反転することを特徴とする、請求項１１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理システム。
【請求項１６】
前記前処理部が前記処理対象データに対して行う所定の処理は、２つの変数をある範囲内で乗算した後に加算した結果を取得する畳み込み処理であり、
畳み込みの変数がｘ（ｔ）とｈ（ｔ）の２つの関数であれば、畳み込み結果は下式に示すとおりであり、
【数１０】
2021532498.tif 000016
＊は畳み込みを示し、ｔは関数ｈ（−ｐ）をシフトさせた量であり、ｐは積分変数であり、積分は加算であることを特徴とする、請求項１１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理システム。
【請求項１７】
前記データ書き込み部は、設定された書き込み方式で、前記一時記憶空間内の処理後のデータを指定された外部記憶空間に書き込み、
前記書き込み方式は、Ａｄｄｉｔｉｏｎモード及びＣｏｎｃａｔモードを含むことを特徴とする、請求項１１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理システム。
【請求項１８】
Ａｄｄｉｔｉｏｎモードが設定されている場合、前記データ書き込み部は、対応する一時記憶空間内のデータを前記外部記憶空間に累積的に書き込み、
Ｃｏｎｃａｔモードが設定されている場合、前記データ書き込み部は、設定されたデータ長情報に基づいて、対応する一時記憶空間内のデータを前記外部記憶空間に間隔をあけて順次書き込むことを特徴とする、請求項１１に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理システム。
【請求項１９】
メモリ及びプロセッサを含み、
前記メモリは、前記プロセッサによって実行されると、請求項１〜１１のいずれか一項に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法のステップを実現する、畳み込みニューラルネットワークに基づくビデオメモリ処理プログラムを含むことを特徴とする、電子装置。
【請求項２０】
プロセッサによって実行されると、請求項１〜１１のいずれか一項に記載の畳み込みニューラルネットワークに基づくビデオメモリ処理方法のステップを実現する、畳み込みニューラルネットワークに基づくビデオメモリ処理プログラムを含むことを特徴とする、コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、中国特許出願番号第２０１９１０４９７３９６．８号（出願日２０１９年６月１０日、発明の名称「畳み込みニューラルネットワークに基づくビデオメモリ処理方法、装置及び記録媒体」）の特許出願の優先権を主張するものである。
【０００２】
本願は、畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）の技術分野に関し、特に畳み込みニューラルネットワークに基づくビデオメモリ処理方法、装置及び記録媒体に関する。
【背景技術】
【０００３】
ビデオメモリは、ＧＰＵ表示コアの一時メモリであり、処理すべきコアデータを一時的に記憶するものである。その役割は、ＣＰＵ及びメモリの役割と同じである。ビデオメモリの容量は、ビデオメモリがデータを一時的に記憶する能力を決定し、ビデオカードのコアが十分強い場合、大容量ビデオメモリは、データを読み取る回数を低減し、遅延を低減することができる。出願人は、現在の畳み込みニューラルネットワークモデルのトレーニングプロセスにおいて、モデルの入出力データが異なるビデオメモリ空間に繰り返して記憶され、不必要なビデオメモリオーバーヘッドを引き起こし、モデルのトレーニングのバッチ処理数を低減するため、モデルのトレーニングの精度に影響を与えることを着目した。
【０００４】
例えば、Ｃｏｎｃａｔ層及びＡｄｄｉｔｉｏｎ層は、現在の深層学習分類ネットワーク及びターゲット検出ネットワークにおいてよく使用されている層である。Ｃｏｎｃａｔ層は、特徴次元で複数の入力データに対してマージ処理を行うものであり、Ａｄｄｉｔｉｏｎ層は、複数の入力データに対して累積処理を行うものである。Ｃａｆｆｅ、ＴｅｎｓｏｒＦｌｏｗなどの従来の深層学習ネットワークトレーニングフレームワークは、いずれもＣｏｎｃａｔ及びＡｄｄｉｔｉｏｎ層に対してビデオメモリ最適化を行わないため、入出力データが異なるビデオメモリ空間に繰り返し記憶され、不必要なビデオメモリオーバーヘッドをもたらし、モデルのトレーニングのバッチ処理数の低減を引き起こすため、モデルのトレーニング精度に影響を与える。それと共に、ビデオメモリ空間はまた、自動化機械学習技術ａｕｔｏＭＬの最適化方式の探索空間などを制限する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願は、共有一時記憶空間を作成し、処理すべきデータのタイプ及び指示に応じてデータを対応する一時記憶空間内に読み込むか又は書き込むことを主な目的として、従来のフレームワークと比較して、ユーザが様々なモジュールと任意に組み合わせて新たなＣＮＮ構造を形成することができ、ビデオメモリを大幅に節約し、ＧＰＵ計算の並列度を向上させることができる、畳み込みニューラルネットワークに基づくビデオメモリ処理方法、装置及びコンピュータ読取り可能な記録媒体を提供する。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本願に係る、電子装置に適用される畳み込みニューラルネットワークに基づくビデオメモリ処理方法は、入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間である一時記憶空間を作成するステップと、処理対象データのタイプ及び方向に応じて、前記処理対象データに対応する一時記憶空間を呼び出し、前記処理対象データを呼び出された一時記憶空間に読み込むステップと、前記呼び出された一時記憶空間で前記処理対象データに対して所定の処理を行うステップと、処理後のデータのタイプ及び方向に応じて、前記呼び出された一時記憶空間内のデータを指定された外部記憶空間に書き込むステップと、を含む。
【０００７】
本願に係る畳み込みニューラルネットワークに基づくビデオメモリ処理システムは、入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間である一時記憶空間を作成する空間作成部と、処理対象データのタイプ及び方向に応じて、前記処理対象データに対応する一時記憶空間を呼び出し、前記処理対象データを呼び出された一時記憶空間に読み込むデータ呼び出し部と、前記呼び出された一時記憶空間で前記処理対象データに対して所定の処理を行う前処理部と、処理後のデータのタイプ及び方向に応じて、前記呼び出された一時記憶空間内のデータを指定された外部記憶空間に書き込むデータ書き込み部と、を含む。
【０００８】
また、上記目的を達成するために、本願に係る電子装置は、メモリ及びプロセッサを含み、前記メモリは、前記プロセッサによって実行されると、前述した畳み込みニューラルネットワークに基づくビデオメモリ処理方法のステップを実現する、畳み込みニューラルネットワークに基づくビデオメモリ処理プログラムを含む。
【０００９】
また、上記目的を達成するために、本願に係るコンピュータ読取り可能な記録媒体は、プロセッサによって実行されると、上記畳み込みニューラルネットワークに基づくビデオメモリ処理方法のステップを実現する、畳み込みニューラルネットワークに基づくビデオメモリ処理プログラムを含む。
【発明の効果】
【００１０】
本願に係る畳み込みニューラルネットワークに基づくビデオメモリ処理方法、システム、電子装置及びコンピュータ読取り可能な記録媒体は、共有一時記憶空間を設定し、処理すべきデータのタイプ及び指示に応じて、対応する一時記憶空間を呼び出し、かつデータを対応する一時記憶空間内に読み込むか又は書き込んで演算処理を行うことにより、ＣＮＮアルゴリズムに適用することができ、他のフレームワークと比較して、Ｄｅｎｓｅ、Ｒｅｓｉｄｕａｌ、Ｉｎｃｅｐｔｉｏｎモジュールと任意に組み合わせて新たなＣＮＮ構造を形成することができ、約半分のビデオメモリを節約すると共に、ＧＰＵ計算の並列度を向上させることができる。
【図面の簡単な説明】
【００１１】
本願の目的の達成、機能特徴及び利点について、実施例と組み合わせて、図面を参照しながらさらに説明する。
【図１】本願の実施例に係る畳み込みニューラルネットワークに基づくビデオメモリ処理方法の適用環境の概略図である。
【図２】図１における畳み込みニューラルネットワークに基づくビデオメモリ処理プログラムの具体的な実施例のモジュールの概略図である。
【図３】従来のＣＮＮ構造の部分構造の概略図である。
【図４】ビデオメモリ最適化処理後の図３の部分構造の概略図である。
【図５】本願の実施例に係る畳み込みニューラルネットワークに基づくビデオメモリ処理方法のフローチャートである。
【図６】本願の実施例に係る畳み込みニューラルネットワークに基づくビデオメモリ処理システムの論理構造の概略図である。
【発明を実施するための形態】
【００１２】
なお、ここで説明する具体的な実施例は、本願を解釈するためのものに過ぎず、本願を限定するものではない。
【００１３】
（実施例１）
本願は、電子装置１に適用される畳み込みニューラルネットワークに基づくビデオメモリ処理方法を提供する。図１に示すように、本願の畳み込みニューラルネットワークに基づくビデオメモリ処理方法の好ましい実施例の適用環境の概略図である。
【００１４】
本実施例で、電子装置１は、サーバ、スマートフォン、タブレットコンピュータ、ポータブルコンピュータ、デスクトップコンピュータなどの、演算機能を持つ端末装置であってよい。
【００１５】
該電子装置１は、プロセッサ１２、メモリ１１、ネットワークインタフェース１４及び通信バス１５を含む。
【００１６】
メモリ１１は、少なくとも１種の読取り可能な記録媒体を含み、フラッシュメモリ、ハードディスク、マルチメディアカード、カード型メモリ１１などの不揮発性記録媒体であってよい。いくつかの実施例では、読取り可能な記録媒体は、上記電子装置１の内部記憶部であってよく、例えば、該電子装置１のハードディスクである。別の実施例では、読取り可能な記録媒体は、上記電子装置１の外部メモリ１１であってよく、例えば、電子装置１に搭載されたプラグインハードディスク、スマートメディアカード（Ｓｍａｒｔ  Ｍｅｄｉａ  Ｃａｒｄ、ＳＭＣ）、セキュアデジタル（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ、ＳＤ）カード、フラッシュカード（Ｆｌａｓｈ  Ｃａｒｄ）である。
【００１７】
本実施例では、メモリ１１の読取り可能な記録媒体は、一般的に、電子装置１に搭載された畳み込みニューラルネットワークに基づくビデオメモリ処理プログラム１０などを記憶する。また、メモリ１１は、出力されたデータ又は出力しようとするデータを一時的に記憶することができる。
【００１８】
いくつかの実施例では、プロセッサ１２は、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）、マイクロプロセッサ又はその他のデータ処理チップであってよく、メモリ１１に記憶されたプログラムコード又は処理データを実行し、例えば、畳み込みニューラルネットワークに基づくビデオメモリ処理プログラム１０などを実行する。
【００１９】
ネットワークインタフェース１４は、好ましくは、標準的な有線インタフェース、無線インタフェース（例えば、ＷＩ−ＦＩインタフェース）を含んでよく、一般的に該電子装置１とその他の電子装置との間に通信接続を確立する。
【００２０】
通信バス１５は、これらのコンポーネントの間の接続通信を実現する。
【００２１】
図１でコンポーネント１１〜１５を有する電子装置１のみを示しているが、全ての示されたコンポーネントを実施することを要求せず、より多くの又はより少ないコンポーネントを代替的に実施できることを理解されたい。
【００２２】
該電子装置１は、ユーザインタフェース、ディスプレイ、タッチセンサを含んでよく、ユーザインタフェースは、キーボードなどの入力部と、マイクロホンなどの音声認識機能を持つ装置などの音声入力装置と、オーディオ、ヘッドフォンなどの音声出力装置とを含んでよい。ディスプレイは、ＬＥＤディスプレイ、液晶ディスプレイ、タッチ式液晶ディスプレイ及び有機発光ダイオード（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ−Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ、ＯＬＥＤ）タッチ装置などであってよい。タッチセンサは、抵抗式タッチセンサ、静電容量式タッチセンサなどであってよい。また、上記タッチセンサは、接触式タッチセンサを含むだけでなく、近接式タッチセンサなどを含んでもよい。また、上記タッチセンサは、単一のセンサであってもよいし、例えばアレイ状に配置された複数のセンサであってもよい。
【００２３】
好ましくは、該電子装置１は、無線周波数（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ、ＲＦ）回路、センサ、オーディオ回路などをさらに含んでよく、ここでは説明を省略する。
【００２４】
図１に示す装置の実施例では、コンピュータ記録媒体であるメモリ１１には、オペレーティングシステム、畳み込みニューラルネットワークに基づくビデオメモリ処理プログラム１０などが含まれてよく、プロセッサ１２は、メモリ１１に記憶された畳み込みニューラルネットワークに基づくビデオメモリ処理プログラム１０を実行すると、入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間である一時記憶空間を作成するステップ１と、処理対象データのタイプ及び方向に応じて、上記処理対象データに対応する一時記憶空間を呼び出し、上記処理対象データを呼び出された一時記憶空間に読み込むステップ２と、呼び出された一時記憶空間で上記処理対象データに対して所定の処理を行うステップ３と、処理後のデータのタイプ及び方向に応じて、上記呼び出された一時記憶空間内のデータを指定された外部記憶空間に書き込むステップ４とを実現する。
【００２５】
ステップ１では、一時記憶空間は、入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間であり、対応する一時記憶空間は、入力データ一時記憶空間、出力データ一時記憶空間、入力誤差一時記憶空間及び出力誤差一時記憶空間を含む。該一時記憶空間はビデオメモリ内に設定されてもよく、ビデオメモリはモデル又はデータを記憶するもので、ビデオメモリが大きいほど、動作可能なネットワークも大きくなり、一般的なビデオカードは、主に以下のいくつかの種類を有する。
【表１】
2021532498.tif 000003
【００２６】
ビデオメモリの記憶単位は、主に、
１Ｂｙｔｅ＝８ｂｉｔと、
１Ｋ＝１０２４Ｂｙｔｅと、
１ＫＢ＝１０００Ｂｙｔｅと、
１Ｍ＝１０２４Ｋと、
１ＭＢ＝１０００ＫＢと、
１Ｇ＝１０２４Ｍと、
１ＧＢ＝１０００ＧＢと、
１０Ｋ＝１０＊１０２４Ｂｙｔｅと、
１０ＫＢ＝１００００Ｂｙｔｅと、を含む。
【００２７】
一般的な数値のタイプ及びそのサイズは以下の表に示すとおりである。
【表２】
2021532498.tif 000004
【００２８】
上記表において、Ｉｎｔは整数型の数値であり、ｌｏｎｇは長整数型の数値であり、ｆｌｏａｔは浮動小数点型の数値である（ｓｉｎｇｌｅは単精度浮動小数点型の数値であり、ｄｏｕｂｌｅは倍精度浮動小数点型の数値である）。
【００２９】
ステップ２で、処理対象データのタイプが誤差であり方向が出力である場合、出力誤差データに応じて、対応する出力誤差一時記憶空間を呼び出し、該出力誤差を該出力誤差一時記憶空間内に読み込んで処理することができる。
【００３０】
上記処理対象データに対して所定の処理を行うステップは、上記処理対象データに対して畳み込み処理、重畳処理、乗算処理又は積分演算のうちの少なくとも１つを行うステップを含む。
【００３１】
例えば、データに対して畳み込み処理を行うときに、主に２つの変数をある範囲内で乗算した後に加算した結果を取得する。畳み込みの変数が系列ｘ（ｎ）及びｈ（ｎ）であれば、畳み込み結果は下式に示すとおりである。
【数１】
2021532498.tif 000005
【００３２】
式中、＊は畳み込みを示す。時系列ｎ＝０の場合、系列ｈ（−ｉ）はｈ（ｉ）の時系列ｉが反転された結果であり、時系列の反転によりｈ（ｉ）が縦軸を中心として１８０度反転するため、このような、乗算後に加算する計算法は、畳み込み和と呼ばれ、畳み込みと略称される。また、ｎはｈ（−ｉ）をシフトさせる量であり、異なるｎは異なる畳み込み結果に対応する。
【００３３】
畳み込みの変数がｘ（ｔ）とｈ（ｔ）の２つの関数であれば、畳み込みの計算は下式に従って行われる。
【数２】
2021532498.tif 000006
【００３４】
ｐは積分変数であり、積分も加算であり、ｔは関数ｈ（−ｐ）をシフトさせた量であり、＊は畳み込みを示す。
【００３５】
ビデオメモリを節約するという目的を達成するために、上記これらの演算は、いずれも一時記憶空間内で行うことができる。
【００３６】
ステップ４で、上記呼び出された一時記憶空間内のデータを指定された外部記憶空間に書き込むステップは、設定された書き込み方式で上記一時記憶空間内の処理後のデータを指定された外部記憶空間に書き込むステップを含み、上記書き込み方式はＡｄｄｉｔｉｏｎモード及びＣｏｎｃａｔモードを含む。
【００３７】
また、データのタイプは、入力データ、出力データ、入力誤差及び出力誤差を含み、上記データの方向は、入力及び出力を含む。
【００３８】
具体的には、ユーザにより設定された書き込み方式（Ａｄｄｉｔｉｏｎ、Ｃｏｎｃａｔ）に応じて異なる方式でデータを指定されたメモリ空間内に書き込むことができる。例えば、ユーザがＡｄｄｉｔｉｏｎモードを設定した場合、対応する一時記憶空間内のデータを指定された記憶空間内に累積的に書き込み、ユーザがＣｏｎｃａｔモードを設定した場合、ユーザにより設定されたデータ長情報に基づいて、対応する一時記憶空間内のデータを指定された記憶空間内に間隔をあけて順次書き込む。
【００３９】
以下、畳み込みニューラルネットワークを例として、本願の畳み込みニューラルネットワークに基づくビデオメモリ処理プログラムの実行について詳細に説明する。
【００４０】
ニューラルネットワークの各層の出力のビデオメモリ使用量状況を取得するには、各層のｆｅａｔｕｒｅ  ｍａｐの形状を計算し、かつバックプロパゲーションのために勾配を保存する必要があり、ビデオメモリ使用量はｂａｔｃｈ  ｓｉｚｅに正比例する。ニューラルネットワーク全体のビデオメモリ使用量は、モデルビデオメモリ＋ｂａｔｃｈ  ｓｉｚｅ＊各サンプルのビデオメモリ使用量であり、モデルが小さい場合に、ｂａｔｃｈ  ｓｉｚｅ＊各サンプルのビデオメモリ使用量とほぼ等しい。
【００４１】
畳み込みニューラルネットワークモデルによるトレーニングプロセスにおけるビデオメモリの使用量を節約するために、例えば、対応する一時記憶空間で複数の入力データにマージ処理を行い、対応する一時記憶空間で複数の入力データに累積処理を行うようにＣｏｎｃａｔ及びＡｄｄｉｔｉｏｎ層などに対してビデオメモリ最適化を行うことができる。
【００４２】
例えば、図３は、ビデオメモリ最適化処理が行われていない従来のＣＮＮネットワークの部分構造である。
【００４３】
図３に示すように、逆伝搬を一時的に考慮せず、順伝搬を例とすると、畳み込み層の入力データのサイズは３２＊３２＊３であり、ｂａｔｃｈ  ｓｉｚｅが５であれば、該層の入力データのサイズは３２＊３２＊３＊５であり、各入出力データのサイズの計算方式は以上と同じである。したがって、データがｆｌｏａｔで表されると、最適化処理が行われていない該ＣＮＮネットワーク部分が使用するビデオメモリは１９８０ｋｂである。
【００４４】
本願の畳み込みニューラルネットワークに基づくビデオメモリ処理方法を利用して上記部分に対してビデオメモリ最適化を行い、最適化後の構成図は図４に示すとおりである。
【００４５】
逆伝搬を一時的に考慮しないため、出力データ一時記憶空間を呼び出すことのみを考慮すればよく、該一時記憶空間の寸法又はサイズは、ＣＮＮネットワークにおける畳み込み層の出力データの最大サイズに設定され、該実施例では３２＊３２＊１６である。図４における破線枠内の畳み込み層の出力データに対して、いずれも実際のビデオメモリ空間を割り当てず、出力データ一時記憶空間を呼び出す。
【００４６】
以上より、ｂａｔｃｈ  ｓｉｚｅが５であり、かつデータがｆｌｏａｔで表される場合、ビデオメモリ最適化後、該ＣＮＮネットワーク部分が使用するビデオメモリは１３４０ｋｂであり、ビデオメモリを３２．３％節約することができる。
【００４７】
上記実施例に係る電子装置１は、共有一時記憶空間を設定し、処理すべきデータのタイプ及び指示に応じて対応する一時記憶空間を呼び出し、データを対応する一時記憶空間内に読み込むか又は書き込んで演算処理を行うことにより、ＣＮＮアルゴリズムに適用することができ、他のフレームワークと比較して、Ｄｅｎｓｅ、Ｒｅｓｉｄｕａｌ、Ｉｎｃｅｐｔｉｏｎモジュールと任意に組み合わせて新たなＣＮＮ構造を形成することができ、約半分のビデオメモリを節約すると共に、ＧＰＵ計算の並列度を向上させることができる。
【００４８】
他の実施例では、畳み込みニューラルネットワークに基づくビデオメモリ処理プログラム１０には、共有一時記憶空間マネージャがさらに設定されてもよく、該マネージャは、入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する一時記憶空間を含む。該マネージャは、対応する一時記憶空間を取得し操作するいくつかのサブモジュールを提供し、１つ以上のモジュールは、メモリ１１に記憶され、かつプロセッサ１２により実行されることで、本願を完成させる。本願でいうモジュールとは、特定の機能を実行できる一連のコンピュータプログラム命令セグメントを指す。図２は図１における畳み込みニューラルネットワークに基づくビデオメモリ処理プログラム１０の好ましい実施例のプログラムモジュールの図である。上記畳み込みニューラルネットワークに基づくビデオメモリ処理プログラム１０は、以下のサブモジュール２１０〜２３０に分割することができる。
【００４９】
一時空間取得サブモジュール２１０は、モジュールに入力されたデータのタイプ（データ又は誤差）及び方向（入力又は出力）に応じて、対応する一時記憶空間を呼び出して出力する。
例えば、該一時空間取得サブモジュールに「誤差及び出力」を入力すれば、該サブモジュールは対応する出力誤差一時記憶空間を呼び出して出力する。
【００５０】
データ読み込みサブモジュール２２０は、該データ読み込みサブモジュールに入力されたデータのタイプ（データ又は誤差）及び方向（入力又は出力）に応じて、指定された記憶空間内のデータを対応する一時記憶空間内に読み込み、かつ該一時記憶空間を出力する。
【００５１】
例えば、該データ読み込みサブモジュールに「誤差及び出力」を入力すれば、該モジュールは指定された記憶空間内のデータを出力誤差一時記憶空間内に読み込み、出力誤差一時記憶空間を出力する。
【００５２】
上記指定された空間とは、主に、処理対象データが現在存在する記憶空間を指し、処理対象データは該指定された空間から一時記憶空間内に読み込まれて処理される。以下は同じである。
【００５３】
データ書き込みサブモジュール２３０は、該データ書き込みサブモジュールに入力されたデータのタイプ（データ又は誤差）及び方向（入力又は出力）に応じて、対応する一時記憶空間内のデータを指定された一時記憶空間内に書き込む。
【００５４】
例えば、該データ書き込みサブモジュールに「誤差及び入力」を入力すれば、該データ書き込みモジュールは入力誤差一時記憶空間内のデータを指定された記憶空間内に書き込む。
【００５５】
なお、該データ書き込みサブモジュールはまたユーザにより設定された書き込み方式（Ａｄｄｉｔｉｏｎ￥Ｃｏｎｃａｔ）に応じて、異なる方式でデータを指定されたメモリ空間内に書き込む場合もある。例えば、ユーザがＡｄｄｉｔｉｏｎモードを設定した場合、該データ書き込みサブモジュールは、対応する一時記憶空間内のデータを指定された記憶空間に累積的に書き込み、ユーザがＣｏｎｃａｔモードを設定した場合、該データ書き込みサブモジュールは、ユーザにより設定されたデータ長情報に基づいて、対応する一時記憶空間内のデータを指定された記憶空間に間隔をあけて順次書き込む。
【００５６】
（実施例２）
本願は、畳み込みニューラルネットワークに基づくビデオメモリ処理方法をさらに提供する。図５は本願に係る畳み込みニューラルネットワークに基づくビデオメモリ処理方法の好ましい実施例のフローチャートである。該方法は、装置によって実行されてよく、該装置は、ソフトウェア及び／又はハードウェアによって実現されてよい。
【００５７】
本実施例では、畳み込みニューラルネットワークに基づくビデオメモリ処理方法は、以下のＳ１１０〜Ｓ１４０を含む。
【００５８】
Ｓ１１０では、入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間である一時記憶空間を作成する。
【００５９】
該ステップでは、一時記憶空間は、入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間であり、対応する一時記憶空間は、入力データ一時記憶空間、出力データ一時記憶空間、入力誤差一時記憶空間及び出力誤差一時記憶空間を含む。
【００６０】
該一時記憶空間はビデオメモリ内に設定されてもよく、ビデオメモリはモデル又はデータを記憶するもので、ビデオメモリが大きいほど、動作可能なネットワークも大きくなり、一般的なビデオカードは、主に以下のいくつかの種類を有する。
【表３】
2021532498.tif 000007
【００６１】
ビデオメモリの記憶単位は、主に、
１Ｂｙｔｅ＝８ｂｉｔと、
１Ｋ＝１０２４Ｂｙｔｅと、
１ＫＢ＝１０００Ｂｙｔｅと、
１Ｍ＝１０２４Ｋと、
１ＭＢ＝１０００ＫＢと、
１Ｇ＝１０２４Ｍと、
１ＧＢ＝１０００ＧＢと、
１０Ｋ＝１０＊１０２４Ｂｙｔｅと、
１０ＫＢ＝１００００Ｂｙｔｅと、を含む。
【００６２】
一般的な数値のタイプ及びそのサイズは以下の表に示すとおりである。
【表４】
2021532498.tif 000008
【００６３】
上記表において、Ｉｎｔは整数型の数値であり、ｌｏｎｇは長整数型の数値であり、ｆｌｏａｔは浮動小数点型の数値である（ｓｉｎｇｌｅは単精度浮動小数点型の数値であり、ｄｏｕｂｌｅは倍精度浮動小数点型の数値である）。
【００６４】
Ｓ１２０では、処理対象データのタイプ及び方向に応じて、上記処理対象データに対応する一時記憶空間を呼び出し、上記処理対象データを呼び出された一時記憶空間内に読み込む。
【００６５】
例えば、処理対象データのタイプが誤差であり、方向が出力である場合、出力誤差データに応じて、対応する出力誤差一時記憶空間を呼び出し、該出力誤差を該出力誤差一時記憶空間内に読み込んで処理することができる。
【００６６】
Ｓ１３０では、呼び出された一時記憶空間で上記処理対象データに対して所定の処理を行う。
【００６７】
上記処理対象データに対して所定の処理を行うステップは、上記処理対象データに対して畳み込み処理、重畳処理、乗算処理又は積分演算のうちの少なくとも１つを行うステップを含む。
【００６８】
例えば、データに対して畳み込み処理を行うとき、主に２つの変数をある範囲内で乗算した後に加算した結果を取得する。畳み込みの変数が系列ｘ（ｎ）及びｈ（ｎ）であれば、畳み込み結果は、下式に示すとおりである。
【数３】
2021532498.tif 000009
【００６９】
式中、＊は畳み込みを示す。時系列ｎ＝０の場合、系列ｈ（−ｉ）はｈ（ｉ）の時系列ｉが反転された結果であり、時系列の反転によりｈ（ｉ）が縦軸を中心として１８０度反転するため、このような、乗算後に加算する計算法は、畳み込み和と呼ばれ、畳み込みと略称される。また、ｎはｈ（−ｉ）をシフトさせる量であり、異なるｎは異なる畳み込み結果に対応する。
【００７０】
畳み込みの変数がｘ（ｔ）とｈ（ｔ）の２つの関数であれば、畳み込みの計算は、下式に従って行われる。
【数４】
2021532498.tif 000010
【００７１】
ｐは積分変数であり、積分も加算であり、ｔは関数ｈ（−ｐ）をシフトさせた量であり、＊は畳み込みを示す。
【００７２】
同様に、ビデオメモリを節約するという目的を達成するために、上記これらの演算はいずれも一時記憶空間内で行うことができる。
【００７３】
Ｓ１４０では、処理後のデータのタイプ及び方向に応じて、上記呼び出された一時記憶空間内のデータを指定された外部記憶空間内に書き込む。
【００７４】
該ステップでは、上記呼び出された一時記憶空間内のデータを指定された外部記憶空間内に書き込むステップは、設定された書き込み方式で、上記一時記憶空間内の処理後のデータを指定された外部記憶空間内に書き込むステップを含み、書き込み方式は、ａｄｄｉｔｉｏｎモード及びｃｏｎｃａｔモードを含む。
【００７５】
また、データのタイプは、入力データ、出力データ、入力誤差及び出力誤差を含み、上記データの方向は、入力及び出力を含む。
【００７６】
具体的には、ユーザにより設定された書き込み方式（Ａｄｄｉｔｉｏｎ、Ｃｏｎｃａｔ）に応じて、異なる方式でデータを指定されたメモリ空間内に書き込むことができる。例えば、ユーザがＡｄｄｉｔｉｏｎモードを設定した場合、対応する一時記憶空間内のデータを指定された記憶空間内に累積的に書き込み、ユーザがＣｏｎｃａｔモードを設定した場合、ユーザにより設定されたデータ長情報に基づいて、対応する一時記憶空間内のデータを指定された記憶空間内に間隔をあけて順次書き込む。
【００７７】
以下、畳み込みニューラルネットワークを例として、本願に係る畳み込みニューラルネットワークに基づくビデオメモリ処理方法について詳細に説明する。
【００７８】
ニューラルネットワークの各層の出力のビデオメモリ使用量状況を取得するには、各層のｆｅａｔｕｒｅ  ｍａｐの形状を計算し、かつバックプロパゲーションのために勾配を保存する必要があり、ビデオメモリ使用量はｂａｔｃｈ  ｓｉｚｅに正比例する。ニューラルネットワーク全体のビデオメモリ使用量は、モデルビデオメモリ＋ｂａｔｃｈ  ｓｉｚｅ＊各サンプルのビデオメモリ使用量であり、モデルが小さい場合に、ｂａｔｃｈ  ｓｉｚｅ＊各サンプルのビデオメモリ使用量とほぼ等しい。
【００７９】
畳み込みニューラルネットワークモデルによるトレーニングプロセスにおけるビデオメモリの使用量を節約するために、例えば対応する一時記憶空間内で複数の入力データにマージ処理を行い、対応する一時記憶空間内で複数の入力データに累積処理を行うようにｃｏｎｃａｔ及びａｄｄｉｔｉｏｎ層などに対してビデオメモリ最適化を行うことができる。
【００８０】
例えば、図３は、ビデオメモリ最適化処理が行われていない従来のＣＮＮネットワークの部分構造である。
【００８１】
図３に示すように、逆伝搬を一時的に考慮せず、順伝搬を例とすると、畳み込み層の入力データのサイズは３２＊３２＊３であり、ｂａｔｃｈ  ｓｉｚｅが５であれば、該層の入力データのサイズは３２＊３２＊３＊５であり、各入出力データのサイズの計算方式は以上と同じである。したがって、データがｆｌｏａｔで表されると、最適化処理が行われない該ＣＮＮネットワーク部分が使用するビデオメモリは１９８０ｋｂである。
【００８２】
本願に係る畳み込みニューラルネットワークに基づくビデオメモリ処理方法を利用して上記部分に対しビデオメモリ最適化を行い、最適化後の構成図は図４に示すとおりである。
【００８３】
逆伝搬を一時的に考慮しないため、出力データ一時記憶空間を呼び出すことのみを考慮すればよく、該一時記憶空間の寸法又はサイズは、ＣＮＮネットワークにおける畳み込み層の出力データの最大サイズに設定され、該実施例では３２＊３２＊１６である。図４における破線枠内の畳み込み層の出力データに対して、いずれも実際のビデオメモリ空間を割り当てず、出力データ一時記憶空間を呼び出す。
【００８４】
以上より、ｂａｔｃｈ  ｓｉｚｅが５であり、かつデータがｆｌｏａｔで表される場合、ビデオメモリ最適化後、該ＣＮＮネットワーク部分が使用するビデオメモリは１３４０ｋｂであり、ビデオメモリを３２．３％節約することができる。
【００８５】
上記実施例に係る畳み込みニューラルに基づくビデオメモリ処理方法は、共有一時記憶空間を設定し、処理すべきデータのタイプ及び指示に応じて、対応する一時記憶空間を呼び出し、かつデータを対応する一時記憶空間内に読み込むか又は書き込んで演算処理を行うことにより、ＣＮＮアルゴリズムに適用することができ、他のフレームワークと比較して、Ｄｅｎｓｅ、Ｒｅｓｉｄｕａｌ、Ｉｎｃｅｐｔｉｏｎモジュールと任意に組み合わせて新たなＣＮＮ構造を形成することができ、約半分のビデオメモリを節約すると共に、ＧＰＵ計算の並列度を向上させることができる。
【００８６】
（実施例３）
上記実施例２に係る畳み込みニューラルネットワークに基づくビデオメモリ処理方法に対応し、本願は畳み込みニューラルネットワークに基づくビデオメモリ処理システムをさらに提供する。図６は、本実施例に係る畳み込みニューラルネットワークに基づくビデオメモリ処理システムの論理構造を示す。
【００８７】
図６に示すように、本実施例に係る畳み込みニューラルネットワークに基づくビデオメモリ処理システム６００は、空間作成部６１０、データ呼び出し部６２０、前処理部６３０、及びデータ書き込み部６４０を含む。空間作成部６１０、データ呼び出し部６２０、前処理部６３０及びデータ書き込み部６４０により実現される機能は、上記実施例２における畳み込みニューラルネットワークに基づくビデオメモリ処理方法における対応するステップと一対一に対応する。
【００８８】
具体的には、空間作成部６１０は、入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間である一時記憶空間を作成し、空間作成部６１０は、ビデオメモリ内で一時記憶空間を作成することができ、ビデオメモリは、モデル又はデータを記憶するもので、ビデオメモリが大きいほど、動作可能なネットワークも大きくなる。作成された一時記憶空間は、入力データ一時記憶空間、出力データ一時記憶空間、入力誤差一時記憶空間及び出力誤差一時記憶空間を含んでよい。
【００８９】
データ呼び出し部６２０は、処理対象データのタイプ及び方向に応じて、該処理対象データに対応する一時記憶空間を呼び出し、該処理対象データを呼び出された一時記憶空間内に読み込む。例えば、処理対象データのタイプが誤差であり、方向が出力である場合、出力誤差データに応じて、対応する出力誤差一時記憶空間を呼び出し、該出力誤差を該出力誤差一時記憶空間内に読み込んで処理することができる。
【００９０】
前処理部６３０は、データ呼び出し部６２０により呼び出された一時記憶空間内で処理対象データに対して所定の処理を行う。該所定の処理は、上記処理対象データに対して行う畳み込み処理、重畳処理、乗算処理又は積分演算のうちの少なくとも１つを含んでよい。
【００９１】
例えば、前処理部６３０がデータに対して畳み込み処理を行うときに、主に２つの変数をある範囲内で乗算した後に加算した結果を取得する。畳み込みの変数が系列ｘ（ｎ）及びｈ（ｎ）であれば、畳み込み結果は下式に示すとおりである。
【数５】
2021532498.tif 000011
【００９２】
式中、＊は畳み込みを示す。時系列ｎ＝０の場合、系列ｈ（−ｉ）はｈ（ｉ）の時系列ｉが反転された結果であり、時系列の反転によりｈ（ｉ）が縦軸を中心として１８０度反転するため、このような乗算後に加算する計算法は畳み込み和と呼ばれ、畳み込みと略称される。また、ｎはｈ（−ｉ）をシフトさせる量であり、異なるｎは異なる畳み込み結果に対応する。
【００９３】
畳み込みの変数がｘ（ｔ）とｈ（ｔ）の２つの関数であれば、畳み込みの計算は、下式に従って行われる。
【数６】
2021532498.tif 000012
【００９４】
ｐは積分変数であり、積分も加算であり、ｔは関数ｈ（−ｐ）をシフトさせた量であり、＊は畳み込みを示す。
【００９５】
同様に、ビデオメモリを節約するという目的を達成するために、上記これらの演算はいずれも一時記憶空間内で行うことができる。
【００９６】
データ書き込み部６４０は、処理後のデータのタイプ及び方向に応じて、呼び出された一時記憶空間内のデータを指定された外部記憶空間内に書き込む。
【００９７】
データ書き込み部６４０は、設定された書き込み方式で、上記一時記憶空間内の処理後のデータを指定された外部記憶空間に書き込むことができ、該書き込み方式はＡｄｄｉｔｉｏｎモード及びＣｏｎｃａｔモードを含む。ユーザがＡｄｄｉｔｉｏｎモードを設定した場合、対応する一時記憶空間内のデータを指定された記憶空間に累積的に書き込み、ユーザがＣｏｎｃａｔモードを設定した場合、ユーザにより設定されたデータ長情報に基づき、対応する一時記憶空間内のデータを指定された記憶空間に間隔をあけて順次書き込む。
【００９８】
上記実施例に係る畳み込みニューラルに基づくビデオメモリ処理システムは、共有一時記憶空間を設定し、処理すべきデータのタイプ及び指示に応じて、対応する一時記憶空間を呼び出し、かつデータを対応する一時記憶空間に読み込むか又は書き込んで演算処理を行うことにより、ＣＮＮアルゴリズムに適用することができ、他のフレームワークと比較して、Ｄｅｎｓｅ、Ｒｅｓｉｄｕａｌ、Ｉｎｃｅｐｔｉｏｎモジュールと任意に組み合わせて新たなＣＮＮ構造を形成することができ、約半分のビデオメモリを節約すると共に、ＧＰＵ計算の並列度を向上させることができる。
【００９９】
（実施例４）
本願の実施例に係るコンピュータ読取り可能な記録媒体は、プロセッサによって実行されると、入力データ、出力データ、入力誤差及び出力誤差を一時的に記憶する記憶空間である一時記憶空間を作成する動作と、処理対象データのタイプ及び方向に応じて、処理対象データに対応する一時記憶空間を呼び出し、処理対象データを呼び出された一時記憶空間内に読み込む動作と、呼び出された一時記憶空間で処理対象データに対して所定の処理を行う動作と、処理後のデータのタイプ及び方向に応じて、呼び出された一時記憶空間内のデータを指定された外部記憶空間に書き込む動作と、を実現する、畳み込みニューラルに基づくビデオメモリ処理プログラムを含む。
【０１００】
好ましくは、一時記憶空間は、入力データ一時記憶空間、出力データ一時記憶空間、入力誤差一時記憶空間及び出力誤差一時記憶空間を含む。
【０１０１】
好ましくは、処理対象データに対して所定の処理を行うステップは、処理対象データに対して畳み込み処理、重畳処理、乗算処理又は積分演算のうちの少なくとも１つを行うステップを含む。
【０１０２】
好ましくは、上記呼び出された一時記憶空間内のデータを指定された外部記憶空間に書き込むステップは、設定された書き込み方式で、一時記憶空間内の処理後のデータを指定された外部記憶空間に書き込むステップを含み、書き込み方式は、Ａｄｄｉｔｉｏｎモード及びＣｏｎｃａｔモードを含む。
【０１０３】
好ましくは、データのタイプは、入力データ、出力データ、入力誤差及び出力誤差を含み、上記データの方向は、入力及び出力を含む。
【０１０４】
本願のコンピュータ読取り可能な記録媒体の具体的な実施形態は、上記畳み込みニューラルネットワークに基づくビデオメモリ処理方法、システム、電子装置の具体的な実施形態とほぼ同じであるため、ここでは説明を省略する。
【０１０５】
なお、本明細書において、用語「含む」、「備える」又はそれらの任意の他の変形は、非排他的な包含をカバーするものであることにより、一連の要素を含むプロセス、装置、物品又は方法は、それらの要素を含むだけでなく、明確に例示されていない他の要素をさらに含むか、又はこれらのプロセス、装置、物品又は方法固有の要素をさらに含む。更なる限定がない限り、語句「……を含む」により限定された要素は、該要素を含むプロセス、装置、物品又は方法に別の同一の要素がさらに存在する可能性がある。
【０１０６】
本願の上記実施例の番号は、説明のためのものに過ぎず、実施例の優劣を示すものではない。以上の実施形態の説明により、当業者が明確に理解できるように、上記実施例の方法は、ソフトウェアと必要な汎用ハードウェアプラットフォームを併用した方法で実現でき、当然のことながら、ハードウェアでも実現できるが、多くの場合に前者がより好ましい実施形態である。このような理解に基づいて、本願の技術手段は、本質的又は従来技術に寄与する部分が、ソフトウェア製品の形態で具現化されてよく、該コンピュータソフトウェア製品は、上記記録媒体（例えば、ＲＯＭ／ＲＡＭ、磁気ディスク、光ディスク）に記憶されており、１台の端末装置（携帯電話、コンピュータ、サーバ又はネットワーク装置などであってよい）に本願の各実施例に記載の方法を実行させるための複数の命令を含む。
【０１０７】
以上は、本願の好ましい実施例に過ぎず、本願の保護範囲を限定するものではなく、本願の明細書及び図面の内容を利用してなされた等価構造又は等価フロー変換、又は他の関連する技術分野における直接又は間接運用は、いずれも同様に本願の保護範囲に含まれる。
【図１】
2021532498.tif 000017
【図２】
2021532498.tif 000018
【図３】
2021532498.tif 000019
【図４】
2021532498.tif 000020
【図５】
2021532498.tif 000021
【図６】
2021532498.tif 000022
【国際調査報告】
2021532498.tif 000023
2021532498.tif 000024
2021532498.tif 000025
2021532498.tif 000026