(57)【要約】      （修正有）【課題】モバイルデバイスまたは高精度の小型ネットワークに適用可能なハードウェアを最適化する。【解決手段】量子化された値に含まれているＬＳＢのサイズに対応しＦＬ値のサイズに対応するＦＬパラメータ決定において、オリジナル値を含むオリジナルベクトルを取得し、ＢＷ値（量子化された値それぞれを示すために利用されたビット数に対応するＢＷパラメータ）及びＦＬ候補値それぞれを参照して、オリジナル値に量子化演算を適用し、量子化されたベクトル（ＦＬ候補値それぞれに対応し、量子化された値を含む）それぞれを生成し、量子化されたベクトルそれぞれに含まれている量子化された値と、オリジナルベクトルに含まれているオリジナル値との差異それぞれに対する情報に対して、重み量子化ロス演算を適用し、ＦＬ候補値それぞれに対応する重み量子化ロス値を生成し、重み量子化ロス値を参照として、ＦＬ候補値の中からＦＬ値を決定する。【選択図】なし【特許請求の範囲】
【請求項１】
量子化された値に含まれているＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）のサイズに対応するＦＬパラメータであるＦＬ（Ｆｒａｃｔｉｏｎａｌ  Ｌｅｎｇｔｈ）値を決定する方法において、
（ａ）コンピューティング装置が、オリジナル値（ｏｒｉｇｉｎａｌ  ｖａｌｕｅｓ）を含むオリジナルベクトル（ｏｒｉｇｉｎａｌ  ｖｅｃｔｏｒ）を取得すると、（ｉ）ＢＷ値（前記ＢＷ値は、前記量子化された値それぞれを示すために利用されたビット数に対応するＢＷパラメータである）及び（ｉｉ）ＦＬ候補値それぞれを参照にして、前記オリジナル値に量子化演算を適用することにより、量子化されたベクトル（前記量子化されたベクトルは、前記ＦＬ候補値それぞれに対応し、前記量子化された値を含む）それぞれを生成するようにする段階；
（ｂ）前記コンピューティング装置が、前記量子化されたベクトルそれぞれに含まれている前記量子化された値と、前記オリジナルベクトルに含まれている前記オリジナル値との差異それぞれに対する情報に対して、重み量子化ロス演算を適用することにより、前記ＦＬ候補値それぞれに対応する、重み量子化ロス値を生成するようにする段階；及び
（ｃ）前記コンピューティング装置が、前記重み量子化ロス値を参照にして、前記ＦＬ候補値の中から前記ＦＬ値を決定するようにする段階；
を含むことを特徴とする方法。
【請求項２】
前記（ａ）段階で、
【数１】
2020119528.tif 000033
前記数式に従って前記量子化演算を遂行し、
【数２】
2020119528.tif 000034
は第ｌ番目の量子化されたベクトルであり、ｘｋは、前記オリジナルベクトルに含まれる第ｋ番目のオリジナル値であり、εは、前記量子化演算の方式を決定する定数、［ ］は、ガウス演算を意味することを特徴とする請求項１に記載の方法。
【請求項３】
前記（ｂ）段階で、
前記重み量子化ロス演算は、重み付け値ベクトル（前記重み付け値ベクトルは、前記オリジナル値のサイズを参照して生成された重み付け値の少なくとも一部を含む）を参照にして、前記ＦＬ候補値それぞれに対応する前記重み量子化ロス値それぞれを生成することを特徴とする請求項１に記載の方法。
【請求項４】
前記（ｂ）段階で、
【数３】
2020119528.tif 000035
前記重み量子化ロス演算は前記数式に従い、
【数４】
2020119528.tif 000036
は、前記オリジナルベクトル、
【数２】
2020119528.tif 000037
は、第ｌ番目量子化されたベクトル、
【数５】
2020119528.tif 000038
は、重み付け値ベクトル（前記重み付け値ベクトルは、前記オリジナル値のサイズを参照にして生成された重み付け値の少なくとも一部を含む）、・は、前記重み付け値ベクトル
【数５】
2020119528.tif 000039
及びディファレンスベクトル
【数６】
2020119528.tif 000040
の積の結果として決定される成分を含む統合ベクトルを生成する演算、そして
【数７】
2020119528.tif 000041
は、Ｌ−Ｐノルム（ｎｏｒｍ）演算を意味することを特徴とする請求項１に記載の方法。
【請求項５】
前記オリジナル値は、（ｉ）ＣＮＮの任意の特定レイヤに含まれたＣＮＮパラメータ及び（ｉｉ）前記特定レイヤが前記特徴マップを処理する間、前記ＦＬ値を決定するために利用されるトレーニングイメージに対応する特徴マップの特徴値を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記ＦＬ値は、前記特徴マップの値が量子化される際、前記重み量子化ロス値が閾値より小さいように最適化された値であり、前記特徴マップの値の少なくとも一部は、互いに異なるチャネルに含まれることを特徴とする請求項５に記載の方法。
【請求項７】
（ｄ）前記コンピューティング装置が、前記ＦＬ値及び前記ＢＷ値を参照にして、ＣＮＮそれぞれのレイヤに含まれているパラメータに前記量子化演算を適用して、量子化されたパラメータを生成する段階；
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
（ｅ）テスト値が取得されると、前記コンピューティング装置が、前記ＣＮＮをもって、前記量子化されたパラメータを利用して前記テスト値にコンボリューション演算を適用して、テスト特徴値を生成するようにさせ、前記ＣＮＮをもって、前記テスト特徴値を累積するようにさせる段階；及び
（ｆ）前記コンピューティング装置が、前記ＦＬ値及び前記ＢＷ値を参照にして、累積されたテスト特徴値に前記量子化演算を適用して、量子化されたテスト特徴値を生成するようにし、前記量子化されたテスト特徴値をメモリに格納するようにする段階；
をさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記（ｅ）段階で、前記テスト値は、固定小数点（ｆｉｘｅｄ  ｐｏｉｎｔ）形式で取得され、前記テスト特徴値は、浮動小数点（ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ）形式で生成され、前記コンピューティング装置は、前記ＣＮＮをもって、前記テスト特徴値を前記浮動小数点形式で累積するようにさせ、
前記（ｆ）段階で、前記コンピューティング装置は、前記固定小数点形式に量子化された特徴値を生成し、前記メモリに前記固定小数点形式に量子化された特徴値を格納することを特徴とする請求項８に記載の方法。
【請求項１０】
量子化された値に含まれているＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）のサイズに対応するＦＬパラメータであるＦＬ（Ｆｒａｃｔｉｏｎａｌ  Ｌｅｎｇｔｈ）値のサイズに対応するＦＬパラメータである）を決定するコンピューティング装置において、
各インストラクションを格納する少なくとも一つのメモリ；及び
（Ｉ）オリジナル値（ｏｒｉｇｉｎａｌ  ｖａｌｕｅｓ）を含むオリジナルベクトル（ｏｒｉｇｉｎａｌ  ｖｅｃｔｏｒ）を取得すると、（ｉ）ＢＷ値（前記ＢＷ値は、前記量子化された値それぞれを示すために利用されたビット数に対応するＢＷパラメータである）及び（ｉｉ）ＦＬ候補値それぞれを参照にして、前記オリジナル値に量子化演算を適用することにより、量子化されたベクトル（前記量子化されたベクトルは、前記ＦＬ候補値それぞれに対応し、前記量子化された値を含む）それぞれを生成するようにするプロセス；（ＩＩ）前記量子化されたベクトルそれぞれに含まれている前記量子化された値と、前記オリジナルベクトルに含まれている前記オリジナル値との差異それぞれに対する情報に対して、重み量子化ロス演算を適用することにより、前記ＦＬ候補値それぞれに対応する、重み量子化ロス値を生成するようにするプロセス；及び（ＩＩＩ）前記重み量子化ロス値を参照にして、前記ＦＬ候補値の中で前記ＦＬ値を決定するようにするプロセス；を遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサ；
を含むことを特徴とするコンピューティング装置。
【請求項１１】
前記（Ｉ）プロセスは、
【数１】
2020119528.tif 000042
前記数式に従って前記量子化演算を遂行し、
【数２】
2020119528.tif 000043
は、第ｌ番目の量子化されたベクトルであり、ｘｋは、前記オリジナルベクトルに含まれる第ｋ番目のオリジナル値であり、εは、前記量子化演算の方式を決定する定数、［ ］は、ガウス演算を意味することを特徴とする請求項１０に記載のコンピューティング装置。
【請求項１２】
前記（ＩＩ）プロセスで、
前記重み量子化ロス演算は、重み付け値ベクトル（前記重み付け値ベクトルは、前記オリジナル値のサイズを参照して生成された重み付け値の少なくとも一部を含む）を参照にして、前記ＦＬ候補値それぞれに対応する前記重み量子化ロス値それぞれを生成することを特徴とする請求項１０に記載のコンピューティング装置。
【請求項１３】
前記（ＩＩ）プロセスで、
【数３】
2020119528.tif 000044
前記重み量子化ロス演算は前記数式に従い、
【数４】
2020119528.tif 000045
は、前記オリジナルベクトル、
【数２】
2020119528.tif 000046
は、第ｌ番目量子化されたベクトル、
【数５】
2020119528.tif 000047
は、重み付け値ベクトル（前記重み付け値ベクトルは、前記オリジナル値のサイズを参照にして生成された重み付け値の少なくとも一部を含む）、・は、前記重み付け値ベクトル
【数５】
2020119528.tif 000048
及びディファレンスベクトル
【数６】
2020119528.tif 000049
の積の結果として決定される成分を含む統合ベクトルを生成する演算、そして
【数７】
2020119528.tif 000050
は、Ｌ−Ｐノルム（ｎｏｒｍ）演算を意味することを特徴とする請求項１０に記載のコンピューティング装置。
【請求項１４】
前記オリジナル値は、（ｉ）ＣＮＮの任意の特定レイヤに含まれたＣＮＮパラメータ及び（ｉｉ）前記特定レイヤが前記特徴マップを処理する間、前記ＦＬ値を決定するために利用されるトレーニングイメージに対応する特徴マップの特徴値を含むことを特徴とする請求項１０に記載のコンピューティング装置。
【請求項１５】
前記ＦＬ値は、前記特徴マップの値が量子化される際、前記重み量子化ロス値が閾値より小さいように最適化された値であり、前記特徴マップの値の少なくとも一部は、互いに異なるチャネルに含まれることを特徴とする請求項１４に記載のコンピューティング装置。
【請求項１６】
（ＩＶ）前記ＦＬ値及び前記ＢＷ値を参照にして、ＣＮＮそれぞれのレイヤに含まれているパラメータに前記量子化演算を適用して、量子化されたパラメータを生成するプロセス；をさらに含むことを特徴とする請求項１０に記載のコンピューティング装置。
【請求項１７】
（Ｖ）テスト値が取得されると、前記ＣＮＮをもって、前記量子化されたパラメータを利用して前記テスト値にコンボリューション演算を適用して、テスト特徴値を生成するようにさせ、前記ＣＮＮをもって、前記テスト特徴値を累積するようにさせるプロセス；及び
（ＶＩ）前記ＦＬ値及び前記ＢＷ値を参照にして、累積されたテスト特徴値に前記量子化演算を適用して、量子化されたテスト特徴値を生成するようにし、前記量子化されたテスト特徴値をメモリに格納するプロセス；
をさらに遂行することを特徴とする請求項１６に記載のコンピューティング装置。
【請求項１８】
前記（Ｖ）プロセスで、前記テスト値は、固定小数点（ｆｉｘｅｄ  ｐｏｉｎｔ）形式で取得され、前記テスト特徴値は、浮動小数点（ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ）形式で生成され、前記ＣＮＮをもって、前記テスト特徴値を前記浮動小数点形式で累積するようにさせ、
前記（ＶＩ）プロセスで、前記固定小数点形式に量子化された特徴値を生成し、前記メモリに前記固定小数点形式に量子化された特徴値を格納することを特徴とする請求項１７に記載のコンピューティング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モバイルデバイスまたは高精度の小型ネットワークに適用可能なハードウェアを最適化するために利用されるＣＮＮパラメータ及び特徴値を量子化するために、重み量子化ロス値を利用してＦＬ（Ｆｒａｃｔｉｏｎａｌ  Ｌｅｎｇｔｈ）値を決定する方法及び装置に関する。より詳細には、 量子化された値に含まれているＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）のサイズに対応するＦＬパラメータであるＦＬ（Ｆｒａｃｔｉｏｎａｌ  Ｌｅｎｇｔｈ）値を決定する方法において、（ａ）コンピューティング装置が、オリジナル値（ｏｒｉｇｉｎａｌ  ｖａｌｕｅｓ）を含むオリジナルベクトル（ｏｒｉｇｉｎａｌ  ｖｅｃｔｏｒ）を取得すると、（ｉ）ＢＷ値（前記ＢＷ値は、前記量子化された値それぞれを示すために利用されたビット数に対応するＢＷパラメータである）及び（ｉｉ）ＦＬ候補値それぞれを参照にして、前記オリジナル値に量子化演算を適用することにより、量子化されたベクトル（前記量子化されたベクトルは、前記ＦＬ候補値それぞれに対応し、前記量子化された値を含む）それぞれを生成するようにする段階；（ｂ）前記コンピューティング装置が、前記量子化されたベクトルそれぞれに含まれている前記量子化された値と、前記オリジナルベクトルに含まれている前記オリジナル値との差異それぞれに対する情報に対して、重み量子化ロス演算を適用することにより、前記ＦＬ候補値それぞれに対応する、重み量子化ロス値を生成するようにする段階；及び（ｃ）前記コンピューティング装置が、前記重み量子化ロス値を参照として、前記ＦＬ候補値の中から前記ＦＬ値を決定するようにする段階；を含むことを特徴とする方法及び装置に関する。
【背景技術】
【０００２】
ディープ・コンボリューション・ニューラル・ネットワーク（Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ；ＤｅｅｐＣＮＮ）は、ディープラーニング分野で起きた驚くべき発展の核心である。ＣＮＮは文字の認識問題を解決するために９０年代にも利用されたが、近年になって機械学習（Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ）分野で広く利用されるようになった。例えば、ＣＮＮは２０１２年にイメージ認識コンテスト（ＩｍａｇｅＮｅｔ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｖｉｓｕａｌ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｃｈａｌｌｅｎｇｅ）で他の競争相手に勝って優勝を収めた。それから、ＣＮＮは、機械学習分野で非常に有用なツールとなった。
【０００３】
しかし、ディープラーニングアルゴリズムには、３２ビット浮動小数点演算が必要だという偏見があったため、モバイルデバイスは、ディープラーニングアルゴリズムを含むプログラムを遂行できないものとみなされていた。
【０００４】
ところが、３２ビット浮動小数点演算より低いコンピューティング性能が必要な１０ビット固定小数点演算がディープラーニングアルゴリズムに十分だということが実験で証明された。従って、リソースが制限された装置、つまりモバイルデバイスで、ディープラーニングアルゴリズムに１０ビット固定小数点演算を利用する方法を提供しようとする多くの試みがあった。このような試みの中で最も広く使われているのが、カフェ・リストレット（Ｃａｆｆｅ−Ｒｉｓｔｒｅｔｔｏ）の動的固定小数点（Ｄｙｎａｍｉｃ  Ｆｉｘｅｄ  Ｐｏｉｎｔ）という方法である。動的固定小数点方法は、それぞれのトランジショナル（ｔｒａｎｓｉｔｉｏｎａｌ）ＦＬ値がＣＮＮに含まれている各部分に適用され得るという点で他の方法と区別される。ここで、ＦＬ値は、量子化された値に含まれるＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）のサイズに対応するパラメータであり、ＬＳＢは最も小さい値、すなわち、単位値を有する二進数のビット位置である。トランジショナルＦＬ値により、量子化プロセスの間に相違するＦＬ値が、相違するチャンネルに適用され得、これは浮動小数点値を固定小数点値に近似して、量子化エラーが減少され得る。動的固定小数点方法では、オリジナル浮動小数点値の中で最も大きな値の量子化エラーを参照してＦＬ値を決定する。
【０００５】
しかし、従来の動的固定小数点方法により提案されたＦＬ値を決定するプロセスには、決定的な欠点がある。ニューラルネットワークにおいて、パラメータの値または特徴マップの値を含むオリジナル浮動小数点の値は特定の分布に従わない。むしろ、値が不規則に分布し、小さな値がほとんどで、大きな値は稀で、従来の方式どおりにオリジナル浮動小数点値の中で最も大きな値の量子化エラーを参照してＦＬ値が決定されると、最も大きな値より相対的に小さい値に対する量子化エラーが大きくなりすぎる。
【０００６】
図４は、このような問題点が見られる、従来の技術によって各チャネルに含まれた量子化された値のそれぞれの分散を示した例示図面である。
【０００７】
図４を参照すれば、第１チャネルの分散と、第２チャネルの分散との間の差が非常に大きいということがわかる。量子化のためのＦＬ値は、最も大きな値の量子化エラーを参照することで決定されるため、小さな値が適切に量子化されないからである。これはチャネル間の変動の差が大きい場合、出力値に歪みが生じるという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、前述した問題点を解決することを目的とする。
【０００９】
本発明は、同一のＦＬ値を利用して浮動小数点値を量子化しても、重み量子化ロス値を参照して、大きさが様々な浮動小数点値を、固定小数点値によってより正確に量子化することを他の目的とする。
【課題を解決するための手段】
【００１０】
前記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は次の通りである。
【００１１】
本発明の一態様によれば、量子化された値に含まれているＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）のサイズに対応するＦＬパラメータであるＦＬ（Ｆｒａｃｔｉｏｎａｌ  Ｌｅｎｇｔｈ）値を決定する方法において、（ａ）コンピューティング装置が、オリジナル値（ｏｒｉｇｉｎａｌ  ｖａｌｕｅｓ）を含むオリジナルベクトル（ｏｒｉｇｉｎａｌ  ｖｅｃｔｏｒ）を取得すると、（ｉ）ＢＷ値（前記ＢＷ値は、前記量子化された値それぞれを示すために利用されたビット数に対応するＢＷパラメータである）及び（ｉｉ）ＦＬ候補値それぞれを参照にして、前記オリジナル値に量子化演算を適用することにより、量子化されたベクトル（前記量子化されたベクトルは、前記ＦＬ候補値それぞれに対応し、前記量子化された値を含む）それぞれを生成するようにする段階；（ｂ）前記コンピューティング装置が、前記量子化されたベクトルそれぞれに含まれている前記量子化された値と、前記オリジナルベクトルに含まれている前記オリジナル値との差異それぞれに対する情報に対して、重み量子化ロス演算を適用することにより、前記ＦＬ候補値それぞれに対応する、重み量子化ロス値を生成するようにする段階；及び（ｃ）前記コンピューティング装置が、前記重み量子化ロス値を参照にして、前記ＦＬ候補値の中から前記ＦＬ値を決定するようにする段階；を含むことを特徴とする方法が提供される。
【００１２】
一例として、前記（ａ）段階で、
【数１】
2020119528.tif 000002
前記数式に従って前記量子化演算を遂行し、
【数２】
2020119528.tif 000003
は第ｌ番目の量子化されたベクトルであり、ｘｋは、前記オリジナルベクトルに含まれる第ｋ番目のオリジナル値であり、εは、前記量子化演算の方式を決定する定数、［ ］は、ガウス演算を意味することを特徴とする方法が提供される。
【００１３】
一例として、 前記（ｂ）段階で、前記重み量子化ロス演算は、重み付け値ベクトル（前記重み付け値ベクトルは、前記オリジナル値のサイズを参照して生成された重み付け値の少なくとも一部を含む）を参照にして、前記ＦＬ候補値それぞれに対応する前記重み量子化ロス値それぞれを生成することを特徴とする方法が提供される。
【００１４】
一例として、前記（ｂ）段階で、
【数３】
2020119528.tif 000004
前記重み量子化ロス演算は前記数式に従い、
【数４】
2020119528.tif 000005
は、前記オリジナルベクトル、
【数２】
2020119528.tif 000006
は、第ｌ番目量子化されたベクトル、
【数５】
2020119528.tif 000007
は、重み付け値ベクトル（前記重み付け値ベクトルは、前記オリジナル値のサイズを参照にして生成された重み付け値の少なくとも一部を含む）、・は、前記重み付け値ベクトル
【数５】
2020119528.tif 000008
及びディファレンスベクトル
【数６】
2020119528.tif 000009
の積の結果として決定される成分を含む統合ベクトルを生成する演算、そして
【数７】
2020119528.tif 000010
は、Ｌ−Ｐノルム（ｎｏｒｍ）演算を意味することを特徴とする方法が提供される。
【００１５】
一例として、前記オリジナル値は、（ｉ）ＣＮＮの任意の特定レイヤに含まれたＣＮＮパラメータ及び（ｉｉ）前記特定レイヤが前記特徴マップを処理する間、前記ＦＬ値を決定するために利用されるトレーニングイメージに対応する特徴マップの特徴値を含むことを特徴とする方法が提供される。
【００１６】
一例として、 前記ＦＬ値は、前記特徴マップの値が量子化される際、前記重み量子化ロス値が閾値より小さいように最適化された値であり、前記特徴マップの値の少なくとも一部は、互いに異なるチャネルに含まれることを特徴とする方法が提供される。
【００１７】
一例として、（ｄ）前記コンピューティング装置が、前記ＦＬ値及び前記ＢＷ値を参照にして、ＣＮＮそれぞれのレイヤに含まれているパラメータに前記量子化演算を適用して、量子化されたパラメータを生成する段階；をさらに含むことを特徴とする方法が提供される。
【００１８】
一例として、（ｅ）テスト値が取得されると、前記コンピューティング装置が、前記ＣＮＮをもって、前記量子化されたパラメータを利用して前記テスト値にコンボリューション演算を適用して、テスト特徴値を生成するようにし、前記ＣＮＮをもって、前記テスト特徴値を累積するようにさせる段階；及び（ｆ）前記コンピューティング装置が、前記ＦＬ値及び前記ＢＷ値を参照にして、累積されたテスト特徴値に前記量子化演算を適用して、量子化されたテスト特徴値を生成するようにし、前記量子化されたテスト特徴値をメモリに格納するようにする段階；をさらに含むことを特徴とする方法が提供される。
【００１９】
一例として、前記（ｅ）段階で、前記テスト値は、固定小数点（ｆｉｘｅｄ  ｐｏｉｎｔ）形式で取得され、前記テスト特徴値は、浮動小数点（ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ）形式で生成され、前記コンピューティング装置は、前記ＣＮＮをもって、前記テスト特徴値を前記浮動小数点形式で累積するようにさせ、前記（ｆ）段階で、前記コンピューティング装置は、前記固定小数点形式に量子化された特徴値を生成し、前記メモリに前記固定小数点形式に量子化された特徴値を格納することを特徴とする方法が提供される。
【００２０】
本発明の他の態様によれば、量子化された値に含まれているＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）のサイズに対応するＦＬパラメータであるＦＬ（Ｆｒａｃｔｉｏｎａｌ  Ｌｅｎｇｔｈ）値のサイズに対応するＦＬパラメータである）を決定するコンピューティング装置において、各インストラクションを格納する少なくとも一つのメモリ；及び（Ｉ）オリジナル値（ｏｒｉｇｉｎａｌ  ｖａｌｕｅｓ）を含むオリジナルベクトル（ｏｒｉｇｉｎａｌ  ｖｅｃｔｏｒ）を取得すると、（ｉ）ＢＷ値（前記ＢＷ値は、前記量子化された値それぞれを示すために利用されたビット数に対応するＢＷパラメータである）及び（ｉｉ）ＦＬ候補値それぞれを参照にして、前記オリジナル値に量子化演算を適用することにより、量子化されたベクトル（前記量子化されたベクトルは、前記ＦＬ候補値それぞれに対応し、前記量子化された値を含む）それぞれを生成するようにするプロセス；（ＩＩ）前記量子化されたベクトルそれぞれに含まれている前記量子化された値と、前記オリジナルベクトルに含まれている前記オリジナル値との差異それぞれに対する情報に対して、重み量子化ロス演算を適用することにより、前記ＦＬ候補値それぞれに対応する、重み量子化ロス値を生成するようにするプロセス；及び（ＩＩＩ）前記重み量子化ロス値を参照にして、前記ＦＬ候補値の中で前記ＦＬ値を決定するようにするプロセス；を遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサ；を含むことを特徴とするコンピューティング装置が提供される。
【００２１】
一例として、前記（Ｉ）プロセスは、
【数１】
2020119528.tif 000011
前記数式に従って前記量子化演算を遂行し、
【数２】
2020119528.tif 000012
は、第ｌ番目の量子化されたベクトルであり、ｘｋは、前記オリジナルベクトルに含まれる第ｋ番目のオリジナル値であり、εは、前記量子化演算の方式を決定する定数、［ ］は、ガウス演算を意味することを特徴とするコンピューティング装置が提供される。
【００２２】
一例として、 前記（ＩＩ）プロセスで、前記重み量子化ロス演算は、重み付け値ベクトル（前記重み付け値ベクトルは、前記オリジナル値のサイズを参照して生成された重み付け値の少なくとも一部を含む）を参照にして、前記ＦＬ候補値それぞれに対応する前記重み量子化ロス値それぞれを生成することを特徴とするコンピューティング装置が提供される。
【００２３】
一例として、前記（ＩＩ）プロセスで、
【数３】
2020119528.tif 000013
前記重み量子化ロス演算は前記数式に従い、
【数４】
2020119528.tif 000014
は、前記オリジナルベクトル、
【数２】
2020119528.tif 000015
は、第ｌ番目量子化されたベクトル、
【数５】
2020119528.tif 000016
は、重み付け値ベクトル（前記重み付け値ベクトルは、前記オリジナル値のサイズを参照にして生成された重み付け値の少なくとも一部を含む）、・は、前記重み付け値ベクトル
【数５】
2020119528.tif 000017
及びディファレンスベクトル
【数６】
2020119528.tif 000018
の積の結果として決定される成分を含む統合ベクトルを生成する演算、そして
【数７】
2020119528.tif 000019
は、Ｌ−Ｐノルム（ｎｏｒｍ）演算を意味することを特徴とするコンピューティング装置が提供される。
【００２４】
一例として、前記オリジナル値は、（ｉ）ＣＮＮの任意の特定レイヤに含まれたＣＮＮパラメータ及び（ｉｉ）前記特定レイヤが前記特徴マップを処理する間、前記ＦＬ値を決定するために利用されるトレーニングイメージに対応する特徴マップの特徴値を含むことを特徴とするコンピューティング装置が提供される。
【００２５】
一例として、前記ＦＬ値は、前記特徴マップの値が量子化される際、前記重み量子化ロス値が閾値より小さいように最適化された値であり、前記特徴マップの値の少なくとも一部は、互いに異なるチャネルに含まれることを特徴とするコンピューティング装置が提供される。
【００２６】
一例として、（ＩＶ）前記ＦＬ値及び前記ＢＷ値を参照にして、ＣＮＮそれぞれのレイヤに含まれているパラメータに前記量子化演算を適用して、量子化されたパラメータを生成するプロセス；をさらに含むことを特徴とするコンピューティング装置が提供される。
【００２７】
一例として、（Ｖ）テスト値が取得されると、前記ＣＮＮをもって、前記量子化されたパラメータを利用して前記テスト値にコンボリューション演算を適用して、テスト特徴値を生成するようにさせ、前記ＣＮＮをもって、前記テスト特徴値を累積するようにさせるプロセス；及び（ＶＩ）前記ＦＬ値及び前記ＢＷ値を参照にして、累積されたテスト特徴値に前記量子化演算を適用して、量子化されたテスト特徴値を生成するようにし、前記量子化されたテスト特徴値をメモリに格納するプロセス；をさらに遂行することを特徴とするコンピューティング装置が提供される。
【００２８】
一例として、前記（Ｖ）プロセスで、前記テスト値は、固定小数点（ｆｉｘｅｄ  ｐｏｉｎｔ）形式で取得され、前記テスト特徴値は、浮動小数点（ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ）形式で生成され、前記ＣＮＮをもって、前記テスト特徴値を前記浮動小数点形式で累積するようにさせ、前記（ＶＩ）プロセスで、前記固定小数点形式に量子化された特徴値を生成し、前記メモリに前記固定小数点形式に量子化された特徴値を格納することを特徴とするコンピューティング装置が提供される。
【発明の効果】
【００２９】
本発明は、相違するチャネルに含まれている値の分散の間の大きな違いによってもたらされる歪みを避け得り、モバイルデバイスまたは高精度の小型ネットワーク等に適用可能なハードウェアを最適化して利用され得る。
【図面の簡単な説明】
【００３０】
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうちの一部に過ぎず、本発明が属する技術分野でおいて、通常の知識を有する者（以下「通常の技術者」）は、発明的作業が行われることなくこの図面に基づいて他の図面が得られ得る。
【００３１】
【図１】本発明の一例によってＦＬ値を決定し得るコンピューティング装置の構成を示した図面である。
【図２】本発明の一例に係るコンピューティング装置の内部ユニットの構成を示した図面である。
【図３】本発明の一例に係る各チャネルに含まれた量子化された値のそれぞれの分散を示した例示図面である。
【図４】従来の技術によって各チャネルに含まれた量子化された値のそれぞれの分散を示した例示図面である。
【発明を実施するための形態】
【００３２】
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は当業者が本発明を実施することができるように充分詳細に説明される。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一例と関連して、本発明の精神及び範囲を逸脱せず、かつ他の実施例で実装され得る。また、各々の開示された実施例内の個別構成要素の位置または配置は本発明の精神及び範囲を逸脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されれば、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面で類似する参照符号はいくつかの側面にかけて同一か類似する機能を指称する。
【００３３】
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本説明書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
【００３４】
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得り、この場合、道路環境で登場し得る物体（例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物）を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ（例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ）でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体（例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物）を想定し得るが、必ずしもこれに限定されるものではない。
【００３５】
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面に基づいて詳細に説明する。
【００３６】
図１は、本発明の一例によってＦＬ値を決定し得るコンピューティング装置の構成を示した図面であり、図２は、本発明の一例に係るコンピューティング装置の内部ユニットの構成を示した図面である。     
【００３７】
図１及び図２を参照すれば、コンピューティング装置１００は、ＣＮＮ２００、量子化近似ユニット１３０、ロスユニット１４０、選択ユニット１５０を含み得る。ＣＮＮ２００、量子化近似ユニット１３０、ロスユニット１４０、選択ユニット１５０の各種データ及び各種データを動作させる機能は、それぞれ通信部１１０及びプロセッサ１２０によって遂行され得る。しかし、図１において、通信部１１０とプロセッサ１２０とが如何につながるかについての詳細な説明は省略する。また、コンピューティング装置は、次のプロセスを遂行するためのコンピュータで判読可読な命令語を格納できるメモリ１１５を追加で含み得る。一例として、プロセッサ、メモリ、ミディアム等は、統合プロセッサと統合され得る。
本発明によってＦＬ値を決定する方法を説明する前に、ＦＬ値及びＢＷ値等についてまず説明する。
【００３８】
コンピューティング装置１００で、値（ｖａｌｕｅ）は二進数で表される。ここで、ＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）、つまり最上位ビットは、数字がコンピューティング装置１００において二進数で表されるとき、最も高い桁を示すビットを意味する。反対に、ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）、すなわち最下位ビットは、最も低い桁を示すビットを意味する。さらに、ＢＷ（Ｂｉｔ  Ｗｉｄｔｈ）値は、すなわち、ビット幅は、値を二進数で表すのに用いられるビット数を示すＢＷパラメータである。
【００３９】
一方、ＦＬ値は、量子化された値に含まれているＬＳＢのサイズに対応するＦＬパラメータを示す。特に、ＦＬ値は、ＬＳＢ及びＢＷ値と連関する値である。ここで、ＬＳＢが表す数は２の指数乗を示すが、ＦＬ値は、前記ＬＳＢが示す数字の指数の絶対値を示している。たとえば、ＬＳＢが示す数字が０．１２５、すなわち２−３ならば、該当ＬＳＢに対応するＦＬ値は、３であろう。
【００４０】
ＦＬ値は、ＬＳＢのサイズを決定することにより浮動小数点値を固定小数点値に量子化するのに用いられる。もし、ＦＬ値が小さすぎれば、大きな値がきちんと量子化されないことがあり、逆にＦＬ値が大きすぎれば、小さい値がきちんと量子化されないことがある。
【００４１】
たとえば、浮動小数点値が０．０３１２５、０．０３２１６、０．０３２１４など１／３２に近い値である場合、この際、ＦＬ値が４に決定されれば、ＬＳＢが１／１６を示すので、量子化された固定小数点値はすべて０になる。このような小さな値が無視されれば、出力値に大きな歪みが生じかねない。
【００４２】
逆に、浮動小数点値が０．２５、０．２４、０．２６など１／４に近い値である場合、ＢＷ値及びＦＬ値それぞれが４と１０に決定されると、ＬＳＢは１／１０２４を示す。従って、最大値が１５／１０２４なので、大きな値があまりにも小さく近似するため、出力値に歪みが生じかねないのである。
【００４３】
そのため、ＦＬ値をうまく選択することで、ＬＳＢが適切な大きさに決定されるようにすることが非常に重要なのである。
【００４４】
以上、本発明を説明するための前提事項を十分に説明したところ、本発明でどのようにＦＬ値を決定するのかについて図２を参照にして説明する。
【００４５】
図２を参照すれば、コンピューティング装置１００は、量子化近似ユニット１３０、ロスユニット１４０及び選択ユニット１５０を含み得る。
【００４６】
まず、コンピューティング装置１００は、通信部１１０によって、固定小数点値で量子化される浮動小数点値であるオリジナル値を含むオリジナルベクトルを取得し得る。前記オリジナル値は、（ｉ）ＣＮＮ２００の任意の特定レイヤに含まれたＣＮＮパラメータ及び（ｉｉ）前記特定レイヤが前記特徴マップを処理する間、前記ＦＬ値を決定するために利用されるトレーニングイメージに対応する特徴マップの特徴値を含み得る。
【００４７】
オリジナルベクトルが取得されると、コンピューティング装置１００は、量子化近似ユニット１３０をもって、ＢＷ値及びＦＬ候補値それぞれを参照にして、前記オリジナル値に量子化演算を適用することにより、前記ＦＬ候補値それぞれに対応する量子化された値を含む量子化されたベクトルそれぞれを生成するようにさせる。その後、コンピューティング装置１００が、ロスユニット１４０をもって、前記量子化されたベクトルそれぞれに含まれている前記量子化された値と、前記オリジナルベクトルに含まれている前記オリジナル値との差異それぞれに対する情報に対して、重み量子化ロス演算を適用することにより、前記ＦＬ候補値それぞれに対応する、重み量子化ロス値を生成するようにさせる。そして、コンピューティング装置１００は、選択ユニット１５０をもって、前記重み量子化ロス値を参照にして、前記ＦＬ候補の値の中から前記ＦＬ値を決定するようにさせるのである。
【００４８】
前記量子化近似ユニット１３０と、ロスユニット１４０と、選択ユニット１５０とは、ソフトウェアで実装され得るが、これに限定されるわけではない。
【００４９】
以上、概括的な本発明の構成を調べたところで、量子化近似ユニット１３０と、ロスユニット１４０と、選択ユニット１５０とで行われる演算に対して詳しく説明することにする。
【００５０】
まず、コンピューティング装置１００が、量子化近似ユニット１３０をもって、ＦＬ候補値の範囲を決定するようにさせる方式について説明する。
【００５１】
ＦＬ候補値の範囲は、ＢＷ値と、オリジナルの値の中の最も大きな値及び最も小さな値とを参照にしてその範囲が決まる。すなわち、最も大きな値を所定ＭＳＢで表すことができるＦＬ候補値が最小ＦＬ値であり、最も小さい値を所定ＬＳＢで表すことができるＦＬ候補値が最大ＦＬ値となる範囲に決定されるのである。
【００５２】
例えば、オリジナル値の中で最も大きい値が０．２６であり、最も小さい値が０．０００１４２であり、ＢＷは４と仮定する。０．２６を二進数で適切に表すためには、ＭＳＢが最小でも２−２を示すべきである。この際、ＢＷが４なので、ＬＳＢは２−５を示し、従って与えられたオリジナルベクトルに対する最も小さいＦＬ候補の値は５になる。
【００５３】
また、０．０００１４２を二進数で適切に表すためには、ＭＳＢが最小でも２−１３を示すべきなので、ＬＳＢは、２−１６を示し、オリジナルベクトルのＦＬ候補値の最大値は、１６になる。結局、与えられたオリジナルベクトルに対するＦＬ候補値の最大値は、１６になる。前記例示によれば、ＦＬ候補値の範囲は、５以上１６以下になるのである。
【００５４】
前記のようにＦＬ候補値の範囲が決定されると、コンピューティング装置１００は、量子化近似ユニット１３０をもって、ＢＷ値及びそれぞれのＦＬ候補値を参照にしてオリジナル値に量子化演算を適用する。従って、量子化演算は、次の数式に従って行われ得る。
【数１】
2020119528.tif 000020
ここで、
【数２】
2020119528.tif 000021
は、第ｌ番目の量子化されたベクトルであり、ｘｋは、前記オリジナルベクトルに含まれた第ｋ番目のオリジナル値であり、［  ］はガウス演算、すなわち、ローフロア演算（ｌｏｗ  ｆｌｏｏｒ  ｏｐｅｒａｔｉｏｎ）であり得る。前記式において、ＦＬ及びＢＷは、これまでに説明したＦＬ値及びＢＷ値と同一であり得る。εは、前記量子化演算の方式を決定する定数であり得る。もし、εが０．５である場合、オリジナル値は、最も近い整数に四捨五入される。εが０である場合、オリジナル値は切り捨てられる。εが任意の値である場合、オリジナル値は、確率的に近似演算をすることになるのである。
【００５５】
次に、ロスユニット１４０で随行される重み量子化演算方式について説明する。
【００５６】
重み量子化ロス演算は、前記量子化されたベクトルそれぞれに含まれている前記量子化された値と、前記オリジナルベクトルに含まれている前記オリジナル値との差異それぞれに対する情報に対して重み付け値を付与して、それぞれの重み量子化ロス値を生成し得る。重み量子化ロス値を利用することにより、小さい値がほとんどであり、大きい値は稀なニューラルネットワーク上の値の分布に合わせて、小さい値に対するエラーが大きく反映されるように決定し得る。
【００５７】
重み量子化ロス演算は次の数式に従い得る。
【数３】
2020119528.tif 000022
ここで、
【数４】
2020119528.tif 000023
は、前記オリジナルベクトル、
【数２】
2020119528.tif 000024
は、第ｌ番目量子化されたベクトル、
【数５】
2020119528.tif 000025
は、重み付け値ベクトル（前記重み付け値ベクトルは、前記オリジナル値のサイズを参照にして生成された重み付け値の少なくとも一部を含む）、・は、前記重み付け値ベクトル
【数５】
2020119528.tif 000026
及びディファレンスベクトル
【数６】
2020119528.tif 000027
の積の結果として決定される成分を含む統合ベクトルを生成する演算、そして
【数７】
2020119528.tif 000028
は、Ｌ−Ｐノルム（ｎｏｒｍ）演算を意味し得る。
【００５８】
従って、オリジナル値と、量子化された値との間の各差異に対する情報がディファレンスベクトル
【数６】
2020119528.tif 000029
に対して生成されると、ロスユニット１４０は、重み付け値ベクトル
【数５】
2020119528.tif 000030
及びディファレンスベクトル
【数６】
2020119528.tif 000031
成分別積から統合ベクトルを生成し得る。そして、残りユニット１４０は、Ｌ−Ｐノルム（ｎｏｒｍ）演算を統合ベクトルに適用することにより、重み量子化ロス値を生成し得る。ここで、重み付け値ベクトルの成分は、小さい値に対応する量子化エラーが大きく反映されるようにするために、対応するオリジナル値の各成分の逆数で決定され得る。
【００５９】
例えば、オリジナルベクトルが（０．１２４、０．２４９、４．７４８）で、ＦＬ値が２である場合、量子化されたベクトルは（１／８、１／４、１９／４）で生成され、ディファレンスベクトルは（０．００１、０．００１、０．００２）で演算されるであろう。オリジナルベクトル（０．１２４、０．２４９、４．７４８）に対応する重み付け値ベクトルは、それぞれの成分がオリジナルの値の逆数で計算されるため、（８．０６、４．０２、０．２１）として生成され得る。一方、ＦＬ値を決定するための従来の方法において利用された重み付け値ベクトルは、オリジナル値の中で最も大きい値については１、残りの値については０の重み付け値を与えたものと同じである。従って、オリジナル値の中の最も大きな値に対応する量子化エラーのみが量子化ロス値に反映されるようにする。
【００６０】
前記例示の４．７４８は、他のオリジナル値よりもはるかに大きい。大きな値は、異なるチャネルに含まれている特徴マップの量子化された値の分散に大きな影響を及ぼすことになる。従来技術と本発明との最も大きな違いは、これらの大きな値に比重を大きく与えるか又は小さく与えるかであるが、これらの相違点が分散にどのような影響を及ぼすかについては後述する。
【００６１】
前述した本発明の実施例に係る方式で導出された重み付け値ベクトル及びディファレンスベクトルを成分ごとに掛けた上で、Ｌ−Ｐノルム演算が統合ベクトルに適用され、重み量子化ロス値を生成し得る。
【００６２】
例えば、オリジナルベクトル及び重み付け値ベクトルを成分ごとに掛けると、結果ベクトルは（０．００８０６、０．００４７４８、０．０００４２）で導出されるであろう。ここで、ｐを２と仮定すれば、重み量子化ロス値は、
【数８】
2020119528.tif 000032
つまり、０．００９３と計算されることになるであろう。
【００６３】
前述した方式によれば、オリジナル値の大半を占める小さい値に対する量子化エラーを反映し得、大きな値に対する量子化エラーも重み量子化ロス値とともに反映され得る。
【００６４】
他の例として、単純に重み付け値ベクトルの各成分値を全部１に決定することで、小さい値と大きい値とを区別することなく、すべて重み量子化ロス値に反映され得るように実装することもできるであろう。その演算過程は、前記と類似しているので省略する。
【００６５】
前記のように、重み量子化ロスが生成された条件で、ＦＬ候補値の中からＦＬ値が決定される。コンピューティング装置１００は、選択ユニット１５０をもって、最も小さい重み量子化ロス値を選択するようにさせ、ＦＬ候補値の中から最も小さい重み量子化ロス値に対応するＦＬを特定ＦＬ候補の値に決定するようにさせる。
【００６６】
以上、本発明の一例に係るＦＬ値の決定方式について説明した。このように決定されたＦＬ値がニューラルネットワークでどのように利用されるかを確認する。
【００６７】
コンピューティング装置１００は、まず、ＦＬ値及びＢＷ値を参照にして、浮動小数点形式であるＣＮＮのそれぞれのレイヤに含まれたＣＮＮパラメータに量子化演算を適用して、固定小数点形式の量子化されたパラメータを生成する。
【００６８】
その後、テスト値が取得されるとコンピューティング装置１００は、ＣＮＮ２００をもって、量子化されたパラメータを利用してテスト値にコンボリューション演算を適用して、テスト特徴値を生成するようにさせ、ＣＮＮ２００をもって、浮動小数点形式のテスト特徴値を累積するようにさせる。
【００６９】
最後に、コンピューティング装置１００は、ＣＮＮ２００の特定レイヤに対応するＦＬ値を参照して累積されたテスト特徴値に量子化演算を適用し、ＢＷ値に量子化されたテスト特徴値を生成し、固定小数点形式である量子化されたテスト特徴値をメモリに格納する。
【００７０】
前記方法によれば、ＦＬ値は、前記特徴マップの値が量子化される際、前記重み量子化ロス値が閾値より小さいように最適化された値であり、前記特徴マップの値の少なくとも一部は、互いに異なるチャネルに含まれ得る。このような点は、図３を参照すれば確認することができる。
図３は、本発明の一例に係る各チャネルに含まれた量子化された値のそれぞれの分散を示した例示図面である。
【００７１】
図３を参照すれば、特徴マップが第１レイヤ２１０によって処理される間、第１チャネルに含まれた値の第１分散と、第２チャネルに含まれた第２分散との差異は、従来の方法より相対的に少なく導出されたことが分かる。量子化近似後の値の分散が、チャネル間の差異が大きければ演算結果に歪みが生じる場合が多いが、本発明によれば、このような問題を解決し得るのである。
【００７２】
本発明技術分野の通常の技術者に理解され、前記で説明されたイメージ、例えば原本イメージ及び原本レーブル及び追加レーブルといったイメージデータの送受信が学習装置及びテスト装置の各通信部によって行われ得、特徴マップと演算を遂行するためのデータが学習装置及びテスト装置のプロセッサ（及び／またはメモリ）によって保有／維持され得、コンボリューション演算、デコンボリューション演算、ロス値の演算過程が主に学習装置及びテスト装置のプロセッサにより遂行され得るが、本発明はこれに限定されるものではない。
【００７３】
また、以上で説明された本発明に係る実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で実装されてコンピュータで判読可能な記録媒体に記録され得る。前記コンピュータで判読可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含まれ得る。前記コンピュータ判読可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピィディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌｍｅｄｉａ）、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどといったプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
【００７４】
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば係る記載から多様な修正及び変形が行われ得る。
【００７５】
従って、本発明の思想は前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。
【図１】
2020119528.tif 000051
【図２】
2020119528.tif 000052
【図３】
2020119528.tif 000053
【図４】
2020119528.tif 000054