(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-08
(54)【発明の名称】ニューラルネットワークの表現形式
(51)【国際特許分類】
H04N 19/463 20140101AFI20221201BHJP
G06N 3/02 20060101ALI20221201BHJP
【FI】
H04N19/463
G06N3/02
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022520429
(86)(22)【出願日】2020-09-30
(85)【翻訳文提出日】2022-05-31
(86)【国際出願番号】 EP2020077352
(87)【国際公開番号】W WO2021064013
(87)【国際公開日】2021-04-08
(32)【優先日】2019-10-01
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】100079577
【氏名又は名称】岡田 全啓
(74)【代理人】
【識別番号】100167966
【氏名又は名称】扇谷 一
(72)【発明者】
【氏名】マトラッジ シュテファン
(72)【発明者】
【氏名】ハーセ ポール
(72)【発明者】
【氏名】キルヒホッファー ハイナー
(72)【発明者】
【氏名】ミューラー カルステン
(72)【発明者】
【氏名】ザメク ボイチェヒ
(72)【発明者】
【氏名】ヴィーデマン ズィーモン
(72)【発明者】
【氏名】マルペ デトレフ
(72)【発明者】
【氏名】シーアル トーマス
(72)【発明者】
【氏名】サンチェス デ ラ フエンテ ヤーゴ
(72)【発明者】
【氏名】スクーピン ローベルト
(72)【発明者】
【氏名】ウィーガント トーマス
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MD02
5C159ME11
5C159PP03
5C159PP15
5C159RC12
5C159RC37
5C159UA02
5C159UA05
(57)【要約】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、ニューラルネットワーク(10)のニューロン相互接続(22、24)を定義するニューラルネットワークパラメータ(32)がデータストリーム(45)に符号化される符号化順序(104)を示す直列化パラメータ(102)を含むデータストリーム(45)。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記ニューラルネットワーク(10)のニューロン相互接続(22、24)を定義するニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化される符号化順序(104)を示す直列化パラメータ(102)を含む、データストリーム(45)。
【請求項2】
前記ニューラルネットワークパラメータ(32)は、文脈適応型算術符号化(600)を用いて前記データストリーム(45)に符号化される、請求項1に記載のデータストリーム(45)。
【請求項3】
前記データストリーム(45)は、1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分(200)は、前記ニューラルネットワーク(10)の対応するニューラルネットワーク層(210、30)を表現し、前記直列化パラメータ(102)は、所定のニューラルネットワーク層(210、30)内の前記ニューラルネットワークのニューロン相互接続(22、24)を定義する、ニューラルネットワークパラメータが前記データストリーム(45)に符号化される前記符号化順序(104)を示す、請求項1又は2に記載のデータストリーム(45)。
【請求項4】
前記直列化パラメータ(102)は、n個の符号化順序(104)のセット(108)のうち前記符号化順序(104)を示すn-aryパラメータである、請求項1乃至3のいずれかに記載のデータストリーム(45)。
【請求項5】
前記n個の符号化順序(104)のセット(108)は、
前記所定の符号化順序が、前記ニューラルネットワーク(10)の所定のニューラルネットワーク層(210、30)を記述するテンソル(30)の次元(34)を走査(トラバース)する順序が異なる第1の所定の符号化順序(106
1)、及び/又は、
前記ニューラルネットワークのスケーラブルな符号化のために、前記所定の符号化順序が前記ニューラルネットワークの所定のニューラルネットワーク層(210、30)を走査する回数(107)が異なる第2の所定の符号化順序(106
2)、及び/又は、
前記所定の符号化順序が前記ニューラルネットワークのニューラルネットワーク層(210、30)を走査する順序が異なる第3の所定の符号化順序(106
3)、及び/又は、
前記ニューラルネットワークのニューラルネットワーク層(210、30)のニューロン(14、18、20)が走査される順序が異なる第4の所定の符号化順序(106
4)を含む、請求項4に記載のデータストリーム(45)。
【請求項6】
前記直列化パラメータ(102)は、前記符号化順序(104)がニューラルネットワーク層(210、30)のニューロン(14、18、20)をデフォルト順序に対して順列化するのに用いる順列を示す、請求項1乃至5のいずれかに記載のデータストリーム(45)。
【請求項7】
前記順列は、前記ニューラルネットワークパラメータ(32)が前記符号化順序(104)に沿って単調に増加するか、または前記符号化順序(104)に沿って単調に減少するように、前記ニューラルネットワーク層(210、30)の前記ニューロン(14、18、20)を順序付ける、請求項6に記載のデータストリーム(45)。
【請求項8】
前記順列は、前記直列化パラメータ(102)によって信号化可能な所定の符号化順序のうち、前記直列化パラメータ(102)が示す前記順列について、前記ニューラルネットワークパラメータ(32)を前記データストリーム(45)に符号化するためのビットレートが最小となるように、前記ニューラルネットワーク層(210、30)の前記ニューロン(14、18、20)を順序付ける、請求項6に記載のデータストリーム(45)。
【請求項9】
前記ニューラルネットワークパラメータ(32)は、重みおよびバイアスを含む、請求項1乃至8のいずれかに記載のデータストリーム(45)。
【請求項10】
前記データストリーム(45)は、個別にアクセス可能なサブ部分(43、44、240)に構造化され、それぞれのサブ部分(43、44、240)は、前記ニューラルネットワーク(10)の対応するニューラルネットワーク部分を表現しており、それぞれのサブ部分(43、44、240)が、後続のサブ部分が前記符号化順序(104)によって走査される前に前記符号化順序(104)によって完全に走査される、請求項1乃至9のいずれかに記載のデータストリーム(45)。
【請求項11】
前記ニューラルネットワークパラメータ(32)は、任意の個別にアクセス可能な部分(200)またはサブ部分(43、44、240)の始点において、文脈適応型算術符号化(600)を用いて、及び、文脈初期化を用いて、前記データストリーム(45)に符号化される、請求項3乃至10のいずれかに記載のデータストリーム(45)。
【請求項12】
前記データストリーム(45)が、それぞれの個別にアクセス可能な部分(200)又はサブ部分(43、44、240)が始まる開始コード(242)、及び/又は、それぞれの個別にアクセス可能な部分またはサブ部分の始まりを指すポインタ(220、244)、及び/又は、前記データストリーム(45)を解析する際に前記それぞれの個別にアクセス可能な部分またはサブ部分をスキップするためにそれぞれの個別にアクセス可能な部分又はサブ部分のデータストリーム長(246)のポインタを含む、請求項3乃至11のいずれかに記載のデータストリーム(45)。
【請求項13】
前記ニューラルネットワーク(10)を推論に使用するときに、前記ニューラルネットワークパラメータ(32)を表現する数値表現およびビットサイズを示す数値計算表現パラメータ(120)をさらに含む、請求項1乃至12のいずれかに記載のデータストリーム(45)。
【請求項14】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は、前記ニューラルネットワーク(10)を推論に用いるときに、前記データストリームに符号化されている前記ニューラルネットワークのニューラルネットワークパラメータ(32)を表現する数値表現及びビットサイズを示す数値計算表現パラメータ(120)を含む、データストリーム(45)。
【請求項15】
データストリーム(45)は、個別にアクセス可能なサブ部分(43、44、240)に構造化され、後続の個別にアクセス可能なサブ部分が前記符号化順序(104)によって走査される前に、それぞれの個別にアクセス可能なサブ部分が前記符号化順序(104)によって完全に走査されるように、それぞれの個別にアクセス可能なサブ部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記データストリーム(45)は、所定の個別にアクセス可能なサブ部分について、前記所定の個別にアクセス可能なサブ部分に符号化された前記ニューラルネットワークパラメータ(32)のパラメータタイプを示すタイプパラメータを含む、請求項1乃至14のいずれかに記載のデータストリーム(45)。
【請求項16】
前記タイプパラメータは、少なくとも、ニューラルネットワークの重みとニューラルネットワークのバイアスとを区別する、請求項15に記載のデータストリーム(45)。
【請求項17】
前記データストリーム(45)は、1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現し、前記データストリーム(45)は、所定のニューラルネットワーク層について、前記ニューラルネットワークの前記所定のニューラルネットワーク層のニューラルネットワーク層タイプを示すニューラルネットワーク層タイプパラメータ(130)をさらに含む、請求項1乃至16のいずれかに記載のデータストリーム(45)。
【請求項18】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は、1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現しており、前記データストリーム(45)はさらに、所定のニューラルネットワーク層について、前記ニューラルネットワークの前記所定のニューラルネットワーク層のニューラルネットワーク層タイプを示すニューラルネットワーク層タイプパラメータ(130)を含む、データストリーム(45)。
【請求項19】
前記ニューラルネットワーク層タイプパラメータ(130)は、少なくとも、完全連結層タイプと畳み込み層タイプとを区別する、請求項17又は18に記載のデータストリーム(45)。
【請求項20】
前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、それぞれの個別にアクセス可能な部分の始まりを指すポインタ(220、244)を含む、請求項1乃至19のいずれかに記載のデータストリーム(45)。
【請求項21】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、前記それぞれの所定の個別にアクセス可能な部分の始まりを指すポインタ(220、244)を含む、データストリーム(45)。
【請求項22】
それぞれの個別にアクセス可能な部分は、
前記ニューラルネットワークの対応するニューラルネットワーク層(210)、又は、
前記ニューラルネットワークのニューラルネットワーク層(210)のニューラルネットワーク部分(43、44、240)を表現する、請求項20又は21に記載のデータストリーム(45)。
【請求項23】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現しており、前記データストリーム(45)は、所定の部分内で、個別にアクセス可能なサブ部分(43、44、240)にさらに構造化され、それぞれのサブ部分(43、44、240)は、前記ニューラルネットワークの前記それぞれのニューラルネットワーク層(210、30)の対応するニューラルネットワーク部分を表現し、前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能なサブ部分(43、44、240)のそれぞれについて、
前記それぞれの所定の個別にアクセス可能なサブ部分が始まる開始コード(242)、及び/又は、
前記それぞれの所定の個別にアクセス可能なサブ部分の始まりを指し示すポインタ(244)、及び/又は、
前記データストリーム(45)を解析する際に、前記それぞれの所定の個別にアクセス可能なサブ部分をスキップするための、前記それぞれの所定の個別にアクセス可能なサブ部分のデータストリーム長(246)を示すデータストリーム長パラメータを含む、請求項1乃至22のいずれかに記載のデータストリーム(45)。
【請求項24】
前記データストリーム(45)は、それぞれの個別にアクセス可能な部分およびそれぞれの個別にアクセス可能なサブ部分の始点において、文脈適応型算術符号化(600)を用いて、かつ、文脈初期化を用いて、前記ニューラルネットワークの前記表現が符号化されている、請求項23に記載のデータストリーム(45)。
【請求項25】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は、1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現しており、前記データストリーム(45)は、所定の部分内で、個別にアクセス可能なサブ部分(43、44、240)にさらに構造化され、それぞれのサブ部分(43、44、240)は、前記ニューラルネットワークの前記それぞれのニューラルネットワーク層(210、30)の対応するニューラルネットワーク部分を表現し、前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能なサブ部分(43、44、240)のそれぞれについて、
前記それぞれの所定の個別にアクセス可能なサブ部分が始まる開始コード(242)、及び/又は、
前記それぞれの所定の個別にアクセス可能なサブ部分の始まりを指し示すポインタ(244)、及び/又は、
前記データストリーム(45)を解析する際に、前記それぞれの所定の個別にアクセス可能なサブ部分をスキップするために、前記それぞれの所定の個別にアクセス可能なサブ部分のデータストリーム長(246)を示すデータストリーム長パラメータを含む、データストリーム(45)。
【請求項26】
前記データストリーム(45)は、それぞれの個別にアクセス可能な部分およびそれぞれの個別にアクセス可能なサブ部分の始点において、文脈適応型算術符号化(600)を用いて、かつ、文脈初期化を用いて、前記ニューラルネットワークの表現が符号化されている、請求項25記載のデータストリーム(45)。
【請求項27】
前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、前記ニューラルネットワーク(10)を推論に使用する際に使用しなければならない、または任意に使用できる1つ以上の処理オプション(252)を示す処理オプションパラメータ(250)を含む、請求項の1乃至26のいずれかに記載のデータストリーム(45)。
【請求項28】
前記処理オプションパラメータ(250)は、所定の処理オプション(252)のセットのうち、前記1つ以上の利用可能な処理オプション(252)を示し、
前記所定の処理オプション(252)は、
前記それぞれの所定の個別にアクセス可能な部分の並列処理能力、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のサンプル単位並列処理能力(252
2)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のチャネル単位並列処理能力(252
1)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分の分類カテゴリ単位並列処理能力、及び/又は、
同じ前記ニューラルネットワーク部分に関連するが、前記データストリーム(45)に層方式で符号化されている前記ニューラルネットワークのバージョン(330)の別のバージョンに属する前記データストリーム(45)の別の個別にアクセス可能な部分から得られる計算結果に対する、前記それぞれの所定の個別にアクセス可能な部分によって表現される前記ニューラルネットワーク部分の依存性を含む、請求項27に記載のデータストリーム(45)。
【請求項29】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、前記ニューラルネットワーク(10)を推論に使用する際に使用しなければならないか又は任意で使用できる1つ以上の処理オプション(252)を示す処理オプションパラメータ(250)を含む、データストリーム(45)。
【請求項30】
前記処理オプションパラメータ(250)は、所定の処理オプション(252)のセットのうち、前記1つ以上の利用可能な処理オプション(252)を示し、
前記所定の処理オプション(252)は、
前記それぞれの所定の個別にアクセス可能な部分の並列処理能力、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のサンプル単位並列処理能力(252
2)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のチャネル単位並列処理能力(252
1)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分の分類カテゴリ単位並列処理能力、及び/又は、
同じ前記ニューラルネットワーク部分に関連するが、前記データストリーム(45)に層方式で符号化されている前記ニューラルネットワークのバージョン(330)の別のバージョンに属する前記データストリーム(45)の別の個別にアクセス可能な部分から得られる計算結果に対する、前記それぞれの所定の個別にアクセス可能な部分によって表現される前記ニューラルネットワーク部分の依存性を含む、請求項29に記載のデータストリーム(45)。
【請求項31】
ニューラルネットワークを表現するニューラルネットワークパラメータ(32)が符号化され、
前記ニューラルネットワークパラメータ(32)は、量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化され、
前記ニューラルネットワークの異なるニューラルネットワーク部分内のニューラルネットワークパラメータ(32)が異なって量子化(260)されるように、前記ニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化され、前記データストリーム(45)は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化するための再構成ルール(270)を示す、
請求項1乃至30のいずれかに記載のデータストリーム(45)。
【請求項32】
ニューラルネットワークを表現するニューラルネットワークパラメータ(32)がその中に符号化されているデータストリーム(45)であって、
前記ニューラルネットワークパラメータ(32)は、量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化され、
前記ニューラルネットワークの異なるニューラルネットワーク部分におけるニューラルネットワークパラメータ(32)が異なってで量子化(260)されるように、前記ニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化され、前記データストリーム(45)は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化するための再構成ルール(270)を示す、データストリーム(45)。
【請求項33】
前記ニューラルネットワーク部分が、前記ニューラルネットワークのニューラルネットワーク層(210、30)及び/又は前記ニューラルネットワークの所定のニューラルネットワーク層(210、30)が細分化された層部分を含む、請求項31又は32に記載のデータストリーム(45)。
【請求項34】
前記データストリーム(45)が、第2のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化するための第2の再構成ルール(270
2、270a
2)に対してデルタ符号化されて符号化された第1のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化するための第1の再構成ルール(270
1、270a
1)を有する、請求項31乃至33のいずれかに記載のデータストリーム(45)。
【請求項35】
前記データストリーム(45)は、前記第1の再構成ルール(270
1、270a
1)を示すための第1の指数値と、前記第2の再構成ルール(270
2、270a
2)を示すための第2の指数値と、を含み、
前記第1の再構成ルール(270
1、270a
1)は、所定の基底の指数によって定義される第1の量子化ステップサイズと、前記第1の指数値によって定義される第1の指数とによって定義され、かつ、
第2の再構成ルール(270
2、270a
2)は、前記所定の基底の指数によって定義される第2の量子化ステップサイズと、前記第1および第2の指数値の和で定義される第2の指数とによって定義される、請求項34に記載のデータストリーム(45)。
【請求項36】
前記データストリーム(45)は、さらに前記所定の基底を示す、請求項35記載のデータストリーム(45)。
【請求項37】
前記データストリーム(45)は、第1のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化するための第1の再構成ルール(270
1、270a
1)を示すための第1の指数値と、第2のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化するための第2の再構成ルール(270
2、270a
2)を示すための第2の指数値とを含み、
前記第1の再構成ルール(270
1、270a
1)は、所定の基底の指数によって定義される第1の量子化ステップサイズと、前記第1の指数値と所定の指数値との和によって定義される第1の指数とによって定義され、かつ、
前記第2の再構成ルール(270
2、270a
2)は、前記所定の基底の指数によって定義される第2の量子化ステップサイズと、前記第2の指数値と前記所定の指数値との和によって定義される第2の指数とによって定義される、請求項31乃至34のいずれかに記載のデータストリーム(45)。
【請求項38】
前記データストリーム(45)は、さらに前記所定の基底を示す、請求項37に記載のデータストリーム(45)。
【請求項39】
前記データストリーム(45)は、ニューラルネットワーク範囲で前記所定の基底を示す、請求項38に記載のデータストリーム(45)。
【請求項40】
前記データストリーム(45)は、さらに前記所定の指数値を示す、請求項37乃至39のいずれかに記載のデータストリーム(45)。
【請求項41】
前記データストリーム(45)は、ニューラルネットワーク層(210、30)範囲で前記所定の指数値を示す、請求項40に記載のデータストリーム(45)。
【請求項42】
前記データストリーム(45)は、前記所定の基底をさらに示し、前記データストリーム(45)は、前記所定の基底が前記データストリーム(45)によって示される範囲よりも細かい範囲で前記所定の指数値を示す、請求項40又は41に記載のデータストリーム(45)。
【請求項43】
前記データストリーム(45)は、前記所定の基底が非整数形式で符号化され、前記第1及び第2の指数値が整数形式で符号化されている、請求項35乃至42のいずれかに記載のデータストリーム(45)。
【請求項44】
前記データストリーム(45)は、前記第1の再構成ルール(270
1、270a
1)を示すための第1の量子化インデックス-再構成レベルマッピング(265)を定義する第1のパラメータセット(264)と、前記第2の再構成ルール(270
2、270a
2)を示すための第2の量子化インデックス-再構成レベルマッピング(265)を定義する第2のパラメータセット(264)と、を含み、
前記第1の再構成ルール(270
1、270a
1)は、前記第1の量子化インデックス-再構成レベルマッピング(265)によって定義され、かつ、
前記第2の再構成ルール(270
2、270a
2)は、前記第1の量子化インデックス-再構成レベルマッピング(265)を前記第2の量子化インデックス-再構成レベルマッピング(265)により所定の方法で拡張することにより定義される、請求項34乃至43のいずれかに記載のデータストリーム(45)。
【請求項45】
前記データストリーム(45)は、前記第1の再構成ルール(270
1、270a
1)を示すために、第1の量子化インデックス-再構成レベルマッピング(265)を定義する第1のパラメータセット(264)を含み、前記第2の再構成ルール(270
2、270a
2)を示すために、第2の量子化インデックス-再構成レベルマッピング(265)を定義する第2のパラメータセット(264)を含み、
前記第1の再構成ルール(270
1、270a
1)は、所定の量子化インデックス-再構成レベルマッピング(265)を前記第1の量子化インデックス-再構成レベルマッピング(265)により所定の方法で拡張することにより定義され、
前記第2の再構成ルール(270
2、270a
2)は、前記所定の量子化インデックス-再構成レベルマッピング(265)を前記第2の量子化インデックス-再構成レベルマッピング(265)により前記所定の方法で拡張することにより定義される、請求項34乃至44のいずれかに記載のデータストリーム(45)。
【請求項46】
前記データストリーム(45)は、さらに前記所定の量子化インデックス-再構成レベルマッピング(265)を示す、請求項45に記載のデータストリーム(45)。
【請求項47】
前記データストリーム(45)は、ニューラルネットワーク範囲又はニューラルネットワーク層(210、30)範囲で、前記所定の量子化インデックス-再構成レベルマッピング(265)を示す、請求項46に記載のデータストリーム(45)。
【請求項48】
前記所定の方法によれば、
拡張される前記量子化インデックス-再構成レベルマッピングに従った、それぞれのインデックス値(32’’)の第1の再構成レベルへのマッピングは、拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従った、前記それぞれのインデックス値(32’’)の第2の再構成レベルへのマッピングが存在する場合はそれによって置換される、及び/又は、
拡張される前記量子化インデックス-再構成レベルマッピングに従うとそれぞれの前記インデックス値(32’’)をマッピングすべき再構成レベルが定義されず、また拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従うと対応する再構成レベルへマッピングされる前記任意のインデックス値(32’’)について、前記それぞれのインデックス値(32’’)から前記対応する再構成レベルへのマッピングが採用される、及び/又は、
拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従うとそれぞれの前記インデックス値(32’’)をマッピングすべき再構成レベルが定義されず、また拡張される前記量子化インデックス-再構成レベルマッピングに従うと対応する再構成レベルへマッピングされる任意のインデックス値(32’’)について、前記それぞれのインデックス値(32’’)から前記対応する再構成レベルへのマッピングが採用される、請求項44乃至47のいずれかに記載のデータストリーム(45)。
【請求項49】
前記データストリーム(45)は、所定のニューラルネットワーク部分の前記再構成ルール(270)を示すために、
量子化ステップサイズ(263)を示す量子化ステップサイズパラメータ(262)と、
量子化インデックス-再構成レベルマッピング(265)を定義するパラメータセット(264)と、を含み、
前記所定のニューラルネットワーク部分の前記再構成ルール(270)は、
所定のインデックス間隔(268)内の量子化インデックス(32’’)に対する量子化ステップサイズ(263)、及び
前記所定のインデックス間隔(268)外の量子化インデックス(32’’)に対する量子化インデックス-再構成レベルマッピング(265)によって定義される、請求項31乃至48のいずれかに記載のデータストリーム(45)。
【請求項50】
ニューラルネットワークを表現するニューラルネットワークパラメータ(32)が符号化されているデータストリーム(45)であって、
前記ニューラルネットワークパラメータ(32)が、量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化され、
前記データストリーム(45)は、前記ニューラルネットワークパラメータ(32)を逆量子化(280)するための再構成ルール(270)を示すために、
量子化ステップサイズ(263)を示す量子化ステップサイズパラメータ(262)と、
量子化インデックス-再構成レベルマッピング(265)を定義するパラメータセット(264)と、を含み、
前記所定のニューラルネットワーク部分の前記再構成ルール(270)は、
所定のインデックス間隔(268)内の量子化インデックス(32’’)に対する量子化ステップサイズ(263)、及び、
前記所定のインデックス間隔(268)外の量子化インデックス(32’’)に対する量子化インデックス-再構成レベルマッピング(265)によって定義される、データストリーム(45)。
【請求項51】
前記所定のインデックス間隔(268)はゼロを含む、請求項49又は50に記載のデータストリーム(45)。
【請求項52】
前記所定のインデックス間隔(268)は所定の大きさ閾値まで拡張し、前記所定の大きさ閾値を超える量子化インデックス(32’’)は、前記量子化インデックス-再構成レベルマッピング(265)が逆量子化(280)に用いられることを示すエスケープコードを表現する、請求項51に記載のデータストリーム(45)。
【請求項53】
前記パラメータセット(264)が、前記所定のインデックス間隔(268)の外の量子化インデックス(32’’)に関連する再構成レベルのリストによって、前記量子化インデックス-再構成レベルマッピング(265)を定義する、請求項49乃至52のいずれかに記載のデータストリーム(45)。
【請求項54】
前記ニューラルネットワーク部分が、前記ニューラルネットワークのニューラルネットワーク層(210、30)の1つ以上のサブ部分、及び/又は、前記ニューラルネットワークの1つ以上のニューラルネットワーク層を含む、請求項31乃至53のいずれかに記載のデータストリーム(45)。
【請求項55】
前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分は、その中に符号化される対応するニューラルネットワーク部分のための前記ニューラルネットワークパラメータ(32)を有する、請求項31乃至54のいずれかに記載のデータストリーム(45)。
【請求項56】
前記個別にアクセス可能な部分(200)は、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術符号化(600)を用いて、かつ、文脈初期化を用いて符号化される、請求項55に記載のデータストリーム(45)。
【請求項57】
前記データストリーム(45)は、個別にアクセス可能な部分それぞれについて、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを指す示すポインタ(220、244)、及び/又は、
前記データストリーム(45)を解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするために、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータと、含む、請求項55又は56に記載のデータストリーム(45)。
【請求項58】
前記データストリーム(45)は、前記ニューラルネットワーク部分のそれぞれについて、それぞれの前記ニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための前記再構成ルール(270)を、
前記ニューラルネットワーク全体に関連する前記データストリーム(45)のメインヘッダ部分(47)、
前記各ニューラルネットワーク部分が一部を成す前記ニューラルネットワーク層(210)に関連する前記データストリーム(45)のヘッダー部分(110)に関連するニューラルネットワーク層(210、30)、又は、
前記それぞれのニューラルネットワーク部分に関連する前記データストリーム(45)のニューラルネットワーク部分固有のヘッダ部分に示す、請求項55乃至57のいずれかに記載のデータストリーム(45)。
【請求項59】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化され、それぞれの部分は前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、前記それぞれの所定の個別にアクセス可能な部分を識別するための識別パラメータ(310)を含む、請求項1乃至58のいずれかに記載のデータストリーム(45)。
【請求項60】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化され、各部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能な部分(200)それぞれについて、前記それぞれの所定の個別にアクセス可能な部分を識別するための識別パラメータ(310)を含む、データストリーム(45)。
【請求項61】
前記識別パラメータ(310)が、ハッシュ関数又はエラー検出コード又はエラー訂正コードを介して、前記それぞれの所定の個別にアクセス可能な部分に関連する、請求項59又は60に記載のデータストリーム(45)。
【請求項62】
2つ以上の所定の個別にアクセス可能な部分の集合を識別するための上位の識別パラメータ(310)をさらに含む、請求項59乃至61のいずれかに記載のデータストリーム(45)。
【請求項63】
前記上位の識別パラメータ(310)は、ハッシュ関数又はエラー検出コード又はエラー訂正コードを介して、前記2つ以上の所定の個別にアクセス可能な部分の前記識別パラメータ(310)に関連している、請求項62に記載のデータストリーム(45)。
【請求項64】
前記個別にアクセス可能な部分(200)は、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術符号化(600)を用いて、文脈初期化を用いて符号化される、請求項59乃至63のいずれかに記載のデータストリーム(45)。
【請求項65】
前記データストリーム(45)が、それぞれの個別にアクセス可能な部分について、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを指すポインタ(220、244)、及び/又は、
前記データストリームを解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするために、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータを含む、請求項59乃至64のいずれかに記載のデータストリーム(45)。
【請求項66】
前記ニューラルネットワーク部分が、前記ニューラルネットワークのニューラルネットワーク層(210、30)の1つ以上のサブ部分、及び/又は、前記ニューラルネットワークの1つ以上のニューラルネットワーク層を含む、請求項59乃至65のいずれかに記載のデータストリーム(45)。
【請求項67】
前記データストリーム(45)は、ニューラルネット(10)の表現が層方式で符号化されて、前記ニューラルネットの異なるバージョン(330)がデータストリーム(45)に符号化され、前記データストリーム(45)は、1つ以上の個別にアクセス可能な部分(200)に構造化され、各部分は前記ニューラルネットワークの対応するバージョン(330)に関連しており、
前記データストリーム(45)は前記ニューラルネットワークの第1のバージョン(330
2)が、
第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(330
1)に対してデルタ符号化されて、及び/又は、
前記ニューラルネットワークの前記第1のバージョン(330
2)に基づく推論を実行するために、各々が、第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(330
1)の対応するニューラルネットワーク部分(334)の実行に追加して実行される1つ以上の補償ニューラルネットワーク部分(332)の形態であって、
前記それぞれの補償ニューラルネットワーク部分(332)及び前記対応するニューラルネットワーク部分(334)の出力が合計される、補償ニューラルネットワーク部分の形態で、
第1の部分に符号化される、請求項1乃至66のいずれかに記載のデータストリーム(45)。
【請求項68】
ニューラルネットワーク(10)の表現が層方式で符号化されたデータストリーム(45)であって、
前記ニューラルネットの異なるバージョン(330)がデータストリーム(45)に符号化され、前記データストリーム(45)は、1つ以上の個別にアクセス可能な部分(200)に構造化され、各部分は前記ニューラルネットワークの対応するバージョンに関連しており、
前記データストリーム(45)は前記ニューラルネットワークの第1のバージョン(330
2)が、
第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(330
1)に対してデルタ符号化されて、及び/又は、
前記ニューラルネットワークの前記第1のバージョン(330
2)に基づく推論を実行するために、各々が、第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(330
1)の対応するニューラルネットワーク部分(334)の実行に追加して実行される1つ以上の補償ニューラルネットワーク部分(332)の形態であって、
前記それぞれの補償ニューラルネットワーク部分(332)及び前記対応するニューラルネットワーク部分(334)の出力が合計される、補償ニューラルネットワーク部分(332)の形態で、
第1の部分に符号化される、データストリーム(45)。
【請求項69】
前記データストリーム(45)は、前記ニューラルネットワークの前記第1のバージョン(330
2)が、
重み及び/又はバイアスの差、及び/又は、
追加のニューロン(14、18、20)又はニューロン相互接続(22、24)
点で前記第2の部分に符号化された前記ニューラルネットワークの前記第2のバージョン(330
1)に対してデルタ符号化されて、第1の部分に符号化されている、請求項67又は68に記載のデータストリーム(45)。
【請求項70】
前記個別にアクセス可能な部分(200)は、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術符号化(600)を用いて、かつ、文脈初期化を用いて符号化される、請求項67乃至69のいずれかに記載のデータストリーム(45)。
【請求項71】
前記データストリーム(45)は、個別にアクセス可能な部分それぞれについて、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを指すポインタ(220、244)、及び/又は、
前記データストリーム(45)を解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするために、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータを含む、請求項67乃至70のいずれかに記載のデータストリーム(45)。
【請求項72】
前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、前記それぞれの所定の個別にアクセス可能な部分を識別するための識別パラメータ(310)を含む、請求項67乃至71のいずれかに記載のデータストリーム(45)。
【請求項73】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化され、各部分は前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、前記ニューラルネットワークの前記表現を補足するための補足データ(350)を含む、請求項1乃至72のいずれかに記載のデータストリーム(45)。
【請求項74】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
データストリーム(45)は、個別にアクセス可能な部分(200)に構造化され、各部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記データストリーム(45)は、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、前記ニューラルネットワークの前記表現を補足するための補足データ(350)を含む、データストリーム(45)。
【請求項75】
前記データストリーム(45)は、前記補足データ(350)が前記ニューラルネットワークに基づく推論には必須ではないと示す、請求項73又は74に記載のデータストリーム(45)。
【請求項76】
前記データストリーム(45)は、前記1つ以上の所定の個別にアクセス可能な部分(200)について前記ニューラルネットワークの前記表現を補足するための前記補足データ(350)が別の個別アクセス可能な部分(200)に符号化されて、前記データストリーム(45)が、前記1つ以上の所定の個別にアクセス可能な部分(200)について、前記それぞれの所定の個別アクセス可能な部分が対応する前記ニューラルネットワーク部分に関連する、対応する別の所定の個別にアクセス可能な部分を含むようになっている、請求項73乃至75のいずれかに記載のデータストリーム(45)。
【請求項77】
前記ニューラルネットワーク部分は、前記ニューラルネットワークのニューラルネットワーク層(210、30)及び/又は、前記ニューラルネットワークの所定のニューラルネットワーク層が細分化された層部分を含む、請求項73乃至76のいずれかに記載のデータストリーム(45)。
【請求項78】
前記個別にアクセス可能な部分(200)は、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術符号化(600)を用いて、かつ、文脈初期化を用いて符号化される、請求項73乃至77のいずれかに記載のデータストリーム(45)。
【請求項79】
前記データストリーム(45)は、それぞれの個別にアクセス可能な部分について、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを示すポインタ(220、244)、及び/又は、
前記データストリーム(45)を解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするために、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータ、を含む、請求項73乃至78のいずれかに記載のデータストリーム(45)。
【請求項80】
前記補足データ(350)は、
ニューラルネットワークパラメータ(32)の関連性スコア、及び/又は、
ニューラルネットワークパラメータ(32)の摂動ロバスト性に関連する、請求項73乃至79のいずれかに記載のデータストリーム(45)。
【請求項81】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は、制御データ部分(420)のシーケンス(410)に構造化された階層的制御データ(400)を含み、前記制御データ部分(420)は前記ニューラルネットワークに関する情報を前記制御データ部分(420)のシーケンスに沿って詳細度を増して提供する、請求項1乃至80のいずれかに記載のデータストリーム(45)。
【請求項82】
ニューラルネットワーク(10)の表現が符号化されたデータストリーム(45)であって、
前記データストリーム(45)は、制御データ部分(420)のシーケンス(410)に構造化された階層的制御データ(400)を含み、前記制御データ部分(420)は、前記ニューラルネットワークの情報を制御データ部分(420)の前記シーケンスに沿って詳細度を増して提供する、データストリーム(45)。
【請求項83】
前記制御データ部分(420)の少なくともいくつかは、前記ニューラルネットワークに関する部分的に冗長な情報を提供する、請求項81又は82に記載のデータストリーム(45)。
【請求項84】
第1の制御データ部分は、デフォルト設定を伴うデフォルトニューラルネットワークタイプを示すことによって前記ニューラルネットワークに関する前記情報を提供し、第2の制御データ部分は、前記デフォルト設定のそれぞれを示すパラメータを含む、請求項81乃至請求項83のいずれかに記載のデータストリーム(45)。
【請求項85】
ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化する装置であって、
前記装置は、前記ニューラルネットワークのニューロン相互接続(22、24)を定義するニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化される符号化順序(104)を示す直列化パラメータ(102)を前記データストリーム(45)に供給するように構成される、装置。
【請求項86】
前記装置は、前記データストリーム(45)に、文脈適応型算術符号化を用いて前記ニューラルネットワークパラメータ(32)を符号化するように構成されている、請求項85に記載の装置。
【請求項87】
前記装置は、
前記データストリーム(45)を1つ以上の個別にアクセス可能な部分(200)に構造化し、それぞれの個別にアクセス可能な部分は前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現し、かつ、
前記データストリーム(45)に、前記直列化パラメータ(102)によって示される前記符号化順序(104)に従って、所定のニューラルネットワーク層内の前記ニューラルネットワークのニューロン相互接続(22、24)を定義するニューラルネットワークパラメータを符号化するように構成されている、請求項85又は86に記載の装置。
【請求項88】
前記直列化パラメータ(102)が、n個の符号化順序(104)のセット(108)のうち前記符号化順序(104)を示すn-aryパラメータである、請求項85乃至87のいずれかに記載の装置。
【請求項89】
前記n個の符号化順序(104)のセット(108)は、
前記所定の符号化順序が、前記ニューラルネットワーク(10)の所定のニューラルネットワーク層(210、30)を記述するテンソル(30)の次元(34)を走査(トラバース)する順序が異なる第1の所定の符号化順序(106
1)、及び/又は、
前記ニューラルネットワークのスケーラブルな符号化のために、前記所定の符号化順序が前記ニューラルネットワークの所定のニューラルネットワーク層を走査する回数(107)が異なる第2の所定の符号化順序(106
2)、及び/又は、
前記所定の符号化順序が前記ニューラルネットワークのニューラルネットワーク層を走査する順序が異なる第3の所定の符号化順序(106
3)、及び/又は、
前記ニューラルネットワークのニューラルネットワーク層(210、30)のニューロン(14、18、20)が走査される順序が異なる第4の所定の符号化順序(106
4)を含む、請求項88に記載の装置。
【請求項90】
前記直列化パラメータ(102)は、前記符号化順序(104)がニューラルネットワーク層(210、30)のニューロン(14、18、20)をデフォルト順序に対して順列化するのに用いる順列を示す、請求項85乃至89のいずれかに記載の装置。
【請求項91】
前記順列は、前記ニューラルネットワークパラメータ(32)が前記符号化順序(104)に沿って単調に増加するか、または前記符号化順序(104)に沿って単調に減少するように、前記ニューラルネットワーク層(210、30)の前記ニューロン(14、18、20)を順序付ける、請求項90に記載の装置。
【請求項92】
前記順列は、前記直列化パラメータ(102)によって信号化可能な所定の符号化順序のうち、前記直列化パラメータ(102)が示す前記順列について、前記ニューラルネットワークパラメータ(32)の前記データストリーム(45)に符号化するためのビットレートが最小となるように、前記ニューラルネットワーク層(210、30)の前記ニューロン(14、18、20)を順序付ける、請求項90に記載の装置。
【請求項93】
前記ニューラルネットワークパラメータ(32)は、重みおよびバイアスを含む、請求項85乃至92のいずれかに記載の装置。
【請求項94】
前記装置は、前記データストリーム(45)が、個別にアクセス可能なサブ部分(43、44、240)に構造化され、それぞれのサブ部分(43、44、240)は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、それぞれのサブ部分(43、44、240)が、後続のサブ部分が前記符号化順序(104)によって走査される前に前記符号化順序(104)によって完全に走査されるように構成される、請求項85乃至93のいずれかに記載の装置。
【請求項95】
前記ニューラルネットワークパラメータ(32)は、任意の個別にアクセス可能な部分(200)またはサブ部分(43、44、240)の始点において、文脈適応型算術符号化を用いて、及び、文脈初期化を用いて、前記データストリームに符号化される、請求項87乃至94のいずれかに記載の装置。
【請求項96】
前記装置が、
前記データストリームに、それぞれの個別にアクセス可能な部分(200)又はサブ部分(43、44、240)が始まる開始コード(242)、及び/又は、それぞれの個別にアクセス可能な部分またはサブ部分の始まりを指すポインタ(220、244)、及び/又は、前記データストリームの解析する際に前記それぞれの個別にアクセス可能な部分またはサブ部分をスキップするためにそれぞれの個別にアクセス可能な部分又はサブ部分のデータストリーム長(246)のポインタを符号化するように構成される、請求項87乃至95のいずれかに記載の装置。
【請求項97】
前記装置が、前記データストリームに、前記ニューラルネットワーク(10)を推論に使用するときに、前記ニューラルネットワークパラメータ(32)を表現する数値表現およびビットサイズを示す数値計算表現パラメータ(120)を符号化するように構成される、請求項85乃至96のいずれかに記載の装置。
【請求項98】
ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化する装置であって、
前記装置は、前記データストリーム(45)に、前記ニューラルネットワーク(10)を推論に用いるときに、前記データストリームに符号化されている前記ニューラルネットワークのニューラルネットワークパラメータ(32)を表現する数値表現及びビットサイズを示す数値計算表現パラメータ(120)を提供するように構成される、装置。
【請求項99】
前記装置は、前記データストリーム(45)を個別にアクセス可能なサブ部分(43、44、240)に構造化するように構成され、後続の個別にアクセス可能なサブ部分が前記符号化順序(104)によって走査される前に、それぞれの個別にアクセス可能なサブ部分が前記符号化順序(104)によって完全に走査されるように、それぞれの個別にアクセス可能なサブ部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記装置は、前記データストリーム(45)に、所定の個別にアクセス可能なサブ部分について、前記ニューラルネットワークパラメータと、前記所定の個別にアクセス可能なサブ部分に符号化された前記ニューラルネットワークパラメータのパラメータタイプを示すタイプパラメータとを符号化するように構成されている、請求項85乃至98のいずれかに記載の装置。
【請求項100】
前記タイプパラメータは、少なくとも、ニューラルネットワークの重みとニューラルネットワークのバイアスとを区別する、請求項99に記載の装置。
【請求項101】
前記装置は、前記データストリーム(45)を1つ以上の個別にアクセス可能な部分(200)に構造化するように構成され、それぞれに個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現し、
前記データストリーム(45)に、所定のニューラルネットワーク層について、前記ニューラルネットワークの前記所定のニューラルネットワーク層タイプを示すニューラルネットワーク層タイプパラメータ(130)を符号化するように構成されている、請求項85乃至100のいずれかに記載の装置。
【請求項102】
ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化する装置であって、
前記データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分が前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現し、前記装置が、前記データストリーム(45)に、所定のニューラルネットワーク層について、前記ニューラルネットワークの前記所定のニューラルネットワーク層のニューラルネットワーク層タイプを示すニューラルネットワーク層タイプパラメータ(130)を提供するように構成される、装置。
【請求項103】
前記ニューラルネットワーク層タイプパラメータ(130)は、少なくとも、完全連結層タイプと畳み込み層タイプとを区別する、請求項101又は102に記載の装置。
【請求項104】
前記装置は、前記データストリーム(45)を個別にアクセス可能な部分(200)に構造化するように構成され、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、
前記データストリーム(45)に、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、それぞれの個別アクセス可能な部分の始まりを指すポインタ(220、244)を符号化するように構成される、前記請求項85乃至103のいずれかに記載の装置。
【請求項105】
ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化する装置であって、
前記データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの部分が前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現しており、前記装置が、前記データストリーム(45)に対して、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記それぞれの所定の個別にアクセス可能な部分の始まりを指すポインタ(220、244)を提供するよう構成される、装置。
【請求項106】
それぞれの個別にアクセス可能な部分は、
前記ニューラルネットワークの対応するニューラルネットワーク層(210)、又は、
前記ニューラルネットワークのニューラルネットワーク層(210)のニューラルネットワーク部分(43、44、240)を表現する、請求項104又は105に記載の装置。
【請求項107】
前記装置は、ニューラルネットワーク(10)の表現を前記データストリーム(45)に符号化するように構成されており、前記データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化されており、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現しており、前記データストリーム(45)が所定の部分内で、個別にアクセス可能なサブ部分(43、44、240)にさらに構造化されており、それぞれのサブ部分(43、44、240)は、前記ニューラルネットワークの前記それぞれのニューラルネットワーク層の対応するニューラルネットワーク部分を表現し、前記装置は、前記データストリーム(45)に、1つ以上の所定の個別にアクセス可能なサブ部分(43、44、240)のそれぞれについて、
前記それぞれの所定の個別にアクセス可能なサブ部分が始まる開始コード(242)、及び/又は、
前記それぞれの所定の個別にアクセス可能なサブ部分の始まりを指し示すポインタ(244)、及び/又は、
前記データストリームを解析する際に、前記それぞれの所定の個別にアクセス可能なサブ部分をスキップするための、前記それぞれの所定の個別にアクセス可能なサブ部分のデータストリーム長(246)を示すデータストリーム長パラメータを提供するように構成される、請求項85乃至106のいずれかに記載の装置。
【請求項108】
前記装置は、前記データストリーム(45)に、それぞれの個別にアクセス可能な部分およびそれぞれの個別にアクセス可能なサブ部分の始点において、文脈適応型算術符号化を用いて、かつ、文脈初期化を用いて、前記ニューラルネットワークの前記表現を符号化するように構成される、請求項107記載の装置。
【請求項109】
ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化する装置であって、
前記データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化されており、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現しており、前記データストリーム(45)は、所定の部分内で、個別にアクセス可能なサブ部分(43、44、240)にさらに構造化され、それぞれのサブ部分(43、44、240)は、前記ニューラルネットワークの前記それぞれのニューラルネットワーク層の対応するニューラルネットワーク部分を表現し、前記装置は、前記データストリーム(45)に、1つ以上の所定の個別にアクセス可能なサブ部分(43、44、240)のそれぞれに対して、
前記それぞれの所定の個別にアクセス可能なサブ部分が始まる開始コード(242)、及び/又は、
前記それぞれの所定の個別にアクセス可能なサブ部分の始まりを指し示すポインタ(244)、及び/又は、
前記データストリーム(45)を解析する際に、前記それぞれの所定の個別にアクセス可能なサブ部分をスキップするための、前記それぞれの所定の個別にアクセス可能なサブ部分のデータストリーム長(246)を示すデータストリーム長パラメータを提供するように構成される、装置。
【請求項110】
前記装置は、前記データストリーム(45)に、それぞれの個別にアクセス可能な部分およびそれぞれの個別にアクセス可能なサブ部分の始点において、文脈適応型算術符号化を用いて、かつ、文脈初期化を用いて、前記ニューラルネットワークの前記表現を符号化するように構成される、請求項109記載の装置。
【請求項111】
前記装置が、ニューラルネットワーク(10)の表現をデータストリームに符号化するように構成され、前記データストリーム(45)が個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分が、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記装置が、前記データストリーム(45)に、1つ以上の所定の個別アクセス可能な部分のそれぞれについて、前記ニューラルネットワーク(10)を推論に使用する際に使用しなければならない、または任意に使用できる1つ以上の処理オプション(252)を示す処理オプションパラメータ(250)を提供するように構成されている、請求項85乃至110のいずれかに記載の装置。
【請求項112】
前記処理オプションパラメータ(250)は、所定の処理オプション(252)のセットのうち、前記1つ以上の利用可能な処理オプション(252)を示し、
前記所定の処理オプション(252)は、
前記それぞれの所定の個別にアクセス可能な部分の並列処理能力、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のサンプル単位並列処理能力(252
2)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のチャネル単位並列処理能力(252
1)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分の分類カテゴリ単位並列処理能力、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分によって表される前記ニューラルネットワーク部分の、同じ前記ニューラルネットワーク部分に関連するが、前記データストリーム(45)に層方式で符号化されている前記ニューラルネットワークのバージョン(330)の別のバージョンに属する前記データストリーム(45)の別の個別にアクセス可能な部分から得られる計算結果に対する依存性を含む、請求項111に記載の装置。
【請求項113】
ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化する装置であって、
前記データストリーム(45)が個別にアクセス可能な部分(200)に構造化されており、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記装置が、前記データストリーム(45)に、1つ以上の所定の個別にアクセス可能な部分それぞれについて、前記ニューラルネットワーク(10)を推測に使用する際に使用しなければならないか又は任意に使用できる1つ以上の処理オプション(252)を示す処理オプションパラメータ(250)を提供するよう構成される、データストリーム符号化のための装置。
【請求項114】
前記処理オプションパラメータ(250)は、所定の処理オプション(252)のセットのうち、前記1つ以上の利用可能な処理オプション(252)を示し、
前記所定の処理オプション(252)は、
前記それぞれの所定の個別にアクセス可能な部分の並列処理能力、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のサンプル単位並列処理能力(252
2)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のチャネル単位並列処理能力(252
1)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分の分類カテゴリ単位並列処理能力、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分によって表される前記ニューラルネットワーク部分の、同じ前記ニューラルネットワーク部分に関連するが、前記データストリーム(45)に層方式で符号化されている前記ニューラルネットワークのバージョン(330)の別のバージョンに属する前記データストリーム(45)の別の個別にアクセス可能な部分から得られる計算結果に対する依存性を含む、請求項113に記載の装置。
【請求項115】
前記装置が、ニューラルネットワークを表現するニューラルネットワークパラメータ(32)をデータストリーム(45)に符号化するように構成されており、前記ニューラルネットワークパラメータ(32)が、量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化され、前記ニューラルネットワークの異なるニューラルネットワーク部分内のニューラルネットワークパラメータ(32)が異なって量子化(260)されるように、前記ニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化され、前記装置は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための再構成ルール(270)を示す前記データストリーム(45)を提供するように構成される、請求項85乃至114のいずれかに記載の装置。
【請求項116】
ニューラルネットワークを表現するニューラルネットワークパラメータ(32)をデータストリーム(45)に符号化する装置であって、
前記ニューラルネットワークパラメータ(32)が量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化され、前記ニューラルネットワークの異なるニューラルネットワーク部分におけるニューラルネットワークパラメータ(32)が異なって量子化(260)されるように、前記ニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化され、前記装置は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)のための再構成ルール(270)を示す前記データストリーム(45)を提供するように構成される、装置。
【請求項117】
前記ニューラルネットワーク部分が、前記ニューラルネットワークのニューラルネットワーク層(210、30)及び/又は前記ニューラルネットワークの所定のニューラルネットワーク層が細分化された層部分を含む、請求項115又は116に記載の装置。
【請求項118】
前記装置は、前記データストリーム(45)に、第1のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(280)を逆量子化するための第1の再構成ルール(270
1、270a
1)を、第2のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための第2の再構成ルール(270
2、270a
2)に対してデルタ符号化して符号化するよう構成されている、請求項115乃至117のいずれかに記載の装置。
【請求項119】
前記装置は、前記データストリーム(45)に、前記第1の再構成ルール(270
1、270a
1)を示すための第1の指数値と、前記第2の再構成ルール(270
2、270a
2)を示すための第2の指数値とを符号化するように構成され、
前記第1の再構成ルール(270
1、270a
1)は、所定の基底の指数によって定義される第1の量子化ステップサイズ(263)と、前記第1の指数値で定義される第1の指数とによって定義され、かつ、
前記第2の再構成ルール(270
2、270a
2)は、前記所定の基底の指数によって定義される第2の量子化ステップサイズ(263)と、前記第1および第2の指数値の和で定義される第2の指数とによって定義される、請求項118に記載の装置。
【請求項120】
前記データストリームは、さらに所定の基底を示す、請求項119に記載の装置。
【請求項121】
前記装置は、前記データストリームに、第1のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための第1の再構成ルール(270
1、270a
1)を示すための第1の指数値と、第2のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための第2の再構成ルール(270
2、270a
2)を示すための第2の指数値とを符号化するよう構成されており、
前記第1の再構成ルール(270
1、270a
1)は、所定の基底の指数によって定義される第1の量子化ステップサイズ(263)と、前記第1の指数値と所定の指数値との和によって定義される第1の指数とによって定義され、かつ、
前記第2の再構成ルール(270
2、270a
2)は、前記所定の基底の指数によって定義される第2の量子化ステップサイズ(263)と、前記第2の指数値と前記所定の指数値との和によって定義される第2の指数とによって定義される、請求項115乃至118のいずれかに記載の装置。
【請求項122】
前記データストリームは、さらに所定の基底を示す、請求項121に記載の装置。
【請求項123】
前記データストリームは、ニューラルネットワーク範囲で前記所定の基底を示す、請求項122に記載の装置。
【請求項124】
前記データストリームは、さらに前記所定の指数値を示す、請求項121乃至123のいずれかに記載の装置。
【請求項125】
前記データストリームは、ニューラルネットワーク層(210、30)範囲で前記所定の指数値を示す、請求項125に記載の装置。
【請求項126】
前記データストリームは、前記所定の基底をさらに示し、前記データストリームは、前記所定の基底が前記データストリームによって示される範囲よりも細かい範囲で前記所定の指数値を示す、請求項124又は125に記載の装置。
【請求項127】
前記装置は、前記データストリームに、前記所定の基底を非整数形式で、前記第1および第2の指数値を整数形式で符号化するように構成される、前記請求項119乃至126のいずれかに記載の装置。
【請求項128】
前記装置は、前記データストリームに、前記第1の再構成ルール(270
1、270a
1)を示すために、第1の量子化インデックス-再構成レベルマッピング(265)を定義する第1のパラメータセット(264)と、前記第2の再構成ルール(270
2、270a
2)を示すために、第2の量子化インデックス-再構成レベルマッピング(265)を定義する第2のパラメータセット(264)とを符号化するよう構成されており、
前記第1の再構成ルール(270
1、270a
1)は、前記第1の量子化インデックス-再構成レベルマッピング(265)によって定義され、かつ、
前記第2の再構成ルール(270
2、270a
2)は、前記第1の量子化インデックス-再構成レベルマッピング(265)を前記第2の量子化インデックス-再構成レベルマッピング(265)により所定の方法で拡張することにより定義される、請求項118乃至127のいずれかに記載の装置。
【請求項129】
前記装置は、前記データストリームに、前記第1の再構成ルール(270
1、270a
1)を示すために、第1の量子化インデックス-再構成レベルマッピング(265)を定義する第1のパラメータセット(264)と、前記第2の再構成ルール(270
2、270a
2)を示すために、第2の量子化インデックス-再構成レベルマッピング(265)を定義する第2のパラメータセット(264)とを符号化するよう構成されており、
前記第1の再構成ルール(270
1、270a
1)は、前記第1の量子化インデックス-再構成レベルマッピング(265)によって定義され、
前記第2の再構成ルール(270
2、270a
2)は、前記第1の量子化インデックス-再構成レベルマッピング(265)を前記第2の量子化インデックス-再構成レベルマッピング(265)で所定の方法で拡張することにより定義される、請求項118乃至128のいずれかに記載の装置。
【請求項130】
前記データストリームは、さらに、前記所定の量子化インデックス-再構成レベルマッピング(265)を示す、請求項129に記載の装置。
【請求項131】
前記データストリームは、ニューラルネットワーク範囲又はニューラルネットワーク層(210、30)範囲で、前記所定の量子化インデックス-再構成レベルマッピング(265)を示す、請求項130に記載の装置。
【請求項132】
前記所定の方法によれば、
拡張される前記量子化インデックス-再構成レベルマッピングに従った、それぞれのインデックス値(32’’)の第1の再構成レベルへのマッピングは、拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従った、前記それぞれのインデックス値(32’’)の第2の再構成レベルへのマッピングが存在する場合はそれによって置換される、及び/又は、
拡張される前記量子化インデックス-再構成レベルマッピングに従うとそれぞれのインデックス値(32’’)をマッピングすべき再構成レベルが定義されず、また拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従うと対応する再構成レベルへマッピングされる前記任意のインデックス値(32’’)について、前記それぞれのインデックス値(32’’)から前記対応する再構成レベルへのマッピングが採用される、及び/又は、
拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従うとそれぞれの前記インデックス値(32’’)をマッピングすべき再構成レベルが定義されず、また拡張される前記量子化インデックス-再構成レベルマッピングに従うと対応する再構成レベルへマッピングされる任意のインデックス値(32’’)について、前記それぞれのインデックス値(32’’)から前記対応する再構成レベルへのマッピングが採用される、請求項128乃至131のいずれかに記載の装置。
【請求項133】
前記装置は、前記データストリームに、所定のニューラルネットワーク部分の前記再構成ルール(270)を示すために、
量子化ステップサイズ(263)を示す量子化ステップサイズパラメータ(262)と、
量子化インデックス-再構成レベルマッピング(265)を定義するパラメータセット(264)と、を符号化するように構成されており、
前記所定のニューラルネットワーク部分の前記再構成ルール(270)は、
所定のインデックス間隔(268)内の量子化インデックス(32’’)に対する量子化ステップサイズ(263)、及び
前記所定のインデックス間隔(268)外の量子化インデックス(32’’)に対する量子化インデックス-再構成レベルマッピング(265)によって定義される、請求項115乃至132のいずれかに記載の装置。
【請求項134】
ニューラルネットワークを表現するニューラルネットワークパラメータ(32)をデータストリーム(45)に符号化する装置であって、
前記ニューラルネットワークパラメータ(32)が、量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化されており、
前記装置が、前記データストリーム(45)に、前記ニューラルネットワークパラメータ(32)を逆量子化(280)するための再構成ルール(270)示すために、
量子化ステップサイズ(263)を示す量子化ステップサイズパラメータ(262)と、
量子化インデックス-再構成レベルマッピング(265)を定義するパラメータセット(264)と、を提供するように構成されており、
前記所定のニューラルネットワーク部分の前記再構成ルール(270)は、
所定のインデックス間隔(268)内の量子化インデックス(32’’)に対する量子化ステップサイズ(263)、及び、
前記所定のインデックス間隔(268)外の量子化インデックス(32’’)に対する量子化インデックス-再構成レベルマッピング(265)によって定義される、装置。
【請求項135】
前記所定のインデックス間隔(268)はゼロを含む、請求項133又は134に記載の装置。
【請求項136】
前記所定のインデックス間隔(268)は所定の大きさ閾値まで拡張し、前記所定の大きさ閾値を超える量子化インデックス(32’’)は、量子化インデックス-再構成レベルマッピング(265)が逆量子化(280)に用いられることを示すエスケープコードを表現する、請求項135に記載の装置。
【請求項137】
前記パラメータセット(264)が、前記所定のインデックス間隔(268)の外の量子化インデックス(32’’)に関連する再構成レベルのリストによって、量子化インデックス-再構成レベルマッピング(265)を定義する、請求項133乃至136のいずれかに記載の装置。
【請求項138】
前記ニューラルネットワーク部分が、前記ニューラルネットワークのニューラルネットワーク層(210、30)の1つ以上のサブ部分、及び/又は、前記ニューラルネットワークの1つ以上のニューラルネットワーク層を含む、請求項115乃至137のいずれかに記載の装置。
【請求項139】
前記装置が、前記データストリーム(45)を個別にアクセス可能な部分(200)に構造化し、対応するニューラルネットワーク部分のための前記ニューラルネットワークパラメータ(32)をそれぞれの個別にアクセス可能な部分に符号化するように構成されている、請求項115乃至138のいずれかに記載の装置。
【請求項140】
前記装置は、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術符号化を使用して、文脈初期化を使用して、及び、データストリームに、前記個別にアクセス可能な部分(200)を符号化するように構成されている、請求項139に記載の装置。
【請求項141】
前記装置は、前記データストリームに、個別にアクセス可能な部分それぞれについて、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを指す示すポインタ(220、244)、及び/又は、
前記データストリームを解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするための、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータを、符号化するように構成される、請求項139又は140に記載の装置。
【請求項142】
前記装置は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための再構成ルール(270)の指示を、
前記ニューラルネットワーク全体に関連する前記データストリームのメインヘッダ部分(47)、
前記それぞれのニューラルネットワーク部分が属する前記ニューラルネットワーク層(210)に関連する前記データストリームのヘッダー部分(110)に関連するニューラルネットワーク層(210、30)、又は、
前記それぞれのニューラルネットワーク部分に関連する前記データストリームのニューラルネットワーク部分固有のヘッダ部分において、
前記データストリームに符号化するように構成されている、請求項139乃至141のいずれかに記載の装置。
【請求項143】
前記装置は、ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化するように構成され、前記データストリーム(45)が個別にアクセス可能な部分(200)に構造化され、それぞれの部分は前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記装置は、前記データストリーム(45)に、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記それぞれの所定の個別にアクセス可能な部分を識別するための識別パラメータ(310)を提供するように構成される、請求項85乃至142のいずれかに記載の装置。
【請求項144】
ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化するための装置であって、
前記データストリーム(45)が個別にアクセス可能な部分(200)に構造化されており、各部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記装置が、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記データストリーム(45)に、前記それぞれの所定の個別にアクセス可能な部分を識別するための識別パラメータ(310)を提供するように構成されている、装置。
【請求項145】
前記識別パラメータ(310)が、ハッシュ関数又はエラー検出コード又はエラー訂正コードを介して、前記それぞれの所定の個別にアクセス可能な部分に関連する、請求項143又は144に記載の装置。
【請求項146】
前記装置は、前記データストリーム(45)に、2つ以上の所定の個別にアクセス可能な部分の集合を識別するための上位の識別パラメータ(310)を符号化するように構成される、前記請求項143乃至145のいずれかに記載の装置。
【請求項147】
前記上位の識別パラメータ(310)は、ハッシュ関数又はエラー検出コード又はエラー訂正コードを介して、前記1つ以上の所定の個別にアクセス可能な部分の前記識別パラメータ(310)に関連している、請求項146に記載の装置。
【請求項148】
前記装置は、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術符号化を用いて、かつ、文脈初期化を用いて、前記データストリームに、前記個別にアクセス可能な部分(200)を符号化するように構成される、請求項143乃至147のいずれかに記載の装置。
【請求項149】
前記装置は、それぞれの個別にアクセス可能な部分について、前記データストリームに、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを指すポインタ(220、244)、及び/又は、
前記データストリームを解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするための、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータを、符号化するように構成される、請求項143乃至148のいずれかに記載の装置。
【請求項150】
前記ニューラルネットワーク部分が、前記ニューラルネットワークのニューラルネットワーク層(210、30)、及び/又は、前記ニューラルネットワークの1つ以上のニューラルネットワーク層(210、30)の1つ以上のサブ部分を含む、請求項143乃至149のいずれかに記載の装置。
【請求項151】
前記装置は、ニューラルネットワーク(10)の表現をデータストリーム(45)に層方式で符号化するように構成されており、前記ニューラルネットワークの異なるバージョン(330)が前記データストリーム(45)に符号化され、かつ、前記データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化され、各部分が前記ニューラルネットワークの対応するバージョンに関連しており、
前記装置は、
前記ニューラルネットワークの第1のバージョン(330
2)を、
第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(330
1)に対してデルタ符号化されて、及び/又は、
前記ニューラルネットワークの前記第1のバージョン(330
2)に基づく推論を実行するために、各々が第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(330
1)の対応するニューラルネットワーク部分(334)の実行に追加して実行される1つ以上の補償ニューラルネットワーク部分(332)の形態であって、かつ、
前記それぞれの補償ニューラルネットワーク部分(332)及び前記対応するニューラルネットワーク部分(334)の出力が合計される、、補償ニューラルネットワーク部分の形態で、
第1の部分に符号化するように構成されており、請求項85乃至150のいずれかに記載の装置。
【請求項152】
ニューラルネットワーク(10)の表現をデータストリーム(45)に層方式で符号化する装置であって、
前記ニューラルネットワークの異なるバージョン(330)が前記データストリーム(45)に符号化され、かつ、前記データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化され、各部分が前記ニューラルネットワークの対応するバージョンに関連しており、
前記装置は、
前記ニューラルネットワークの第1のバージョン(330
2)を、
第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(330
1)に対してデルタ符号化して、及び/又は、
前記ニューラルネットワークの前記第1のバージョン(330
2)に基づく推論を実行するために、各々が第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(330
1)の対応するニューラルネットワーク部分(334)の実行に追加して実行される1つ以上の補償ニューラルネットワーク部分(332)の形態であって、かつ、
前記それぞれの補償ニューラルネットワーク部分(332)及び前記対応するニューラルネットワーク部分(334)の出力が合計される、補償ニューラルネットワーク部分(332)の形態で、
第1の部分へ符号化するように構成されている、装置。
【請求項153】
前記装置は、前記データストリームの第2の部分に、前記ニューラルネットワークの前記第2のバージョン(330
1)を符号化するように構成され;及び、
前記装置は、
前記ニューラルネットワークの前記第1のバージョン(330
2)を、
重み及び/又はバイアスの差、及び/又は、
追加のニューロン(14、18、20)又はニューロン相互接続(22、24)
で前記第2の部分に符号化された前記ニューラルネットワークの前記第2のバージョン(330
1)に対してデルタ符号化し、前記データストリームの第1の部分に符号化するように構成される、請求項151または152に記載の装置。
【請求項154】
前記装置は、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術符号化(600)を用いて、かつ、文脈初期化を用いて、前記データストリームに、前記個別にアクセス可能な部分(200)を符号化するように構成される、請求項151乃至153のいずれかに記載の装置。
【請求項155】
前記装置は、個別にアクセス可能な部分それぞれについて、前記データストリームに、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを指すポインタ(220、244)、及び/又は、
前記データストリームを解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするための、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータを、符号化するように構成されている、請求項151乃至154のいずれかに記載の装置。
【請求項156】
前記装置は、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、データストリームに、前記それぞれの所定の個別のアクセス可能な部分を識別するための識別パラメータ(310)を符号化するように構成されている、請求項151乃至155のいずれかに記載の装置。
【請求項157】
前記装置は、ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化するように構成され、前記データストリーム(45)が個別にアクセス可能な部分(200)に構造化され、各部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記装置は、前記データストリーム(45)に、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、前記ニューラルネットワークの前記表現を補足するための補足データ(350)を提供するように構成されている、請求項85乃至156のいずれかに記載の装置。
【請求項158】
ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化する装置であって、
前記データストリーム(45)が個別にアクセス可能な部分(200)に構造化され、各部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記装置が、前記データストリーム(45)に、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、ニューラルネットワークの表現を補足するための補足データ(350)を提供するように構成されている、装置。
【請求項159】
前記データストリーム(45)は、前記補足データ(350)が前記ニューラルネットワークに基づく推論には必須ではないと示す、請求項157または158に記載の装置。
【請求項160】
前記装置は、前記1つ以上の所定の個別にアクセス可能な部分(200)について前記ニューラルネットワークの前記表現を補足するための前記補足データ(350)を別の個別にアクセス可能な部分(200)に符号化するように構成され、前記データストリームが、前記1つ以上の所定の個別にアクセス可能な部分(200)について、前記それぞれの所定の個別アクセス可能な部分が対応する前記ニューラルネットワーク部分に関連する、対応する別の所定の個別にアクセス可能な部分を含むようになっている、請求項157乃至159のいずれかに記載の装置。
【請求項161】
前記ニューラルネットワーク部分は、前記ニューラルネットワークのニューラルネットワーク層(210、30)及び/又は、前記ニューラルネットワークの所定のニューラルネットワーク層(210、30)が細分化された層部分を含む、請求項157乃至160のいずれかに記載の装置。
【請求項162】
前記装置は、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術符号化を用いて、かつ、文脈初期化を用いて、前記個別にアクセス可能な部分(200)を符号化するように構成される、請求項157乃至161のいずれかに記載の装置。
【請求項163】
前記装置が、それぞれの個別にアクセス可能な部分について、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを示すポインタ(220、244)、及び/又は、
前記データストリームを解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするための、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータを、前記データストリームに符号化するように構成される、請求項157乃至162のいずれかに記載の装置。
【請求項164】
前記補足データ(350)は、
ニューラルネットワークパラメータ(32)の関連性スコア、及び/又は、
ニューラルネットワークパラメータ(32)の摂動ロバスト性に関連する、請求項157乃至163のいずれかに記載の装置。
【請求項165】
ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化するための装置であって、
前記装置は、前記データストリーム(45)に、制御データ部分(420)のシーケンス(410)に構造化された階層的制御データ(400)を提供するように構成されており、前記制御データ部分は、前記ニューラルネットワークに関する情報を制御データ部分の詳細度を増して提供する、請求項85乃至164のいずれかに記載の装置。
【請求項166】
ニューラルネットワーク(10)の表現をデータストリーム(45)に符号化する装置であって、
前記装置は、制御データ部分(420)のシーケンス(410)に構造化された階層的制御データ(400)を前記データストリーム(45)に提供するように構成され、前記制御データ部分は、前記ニューラルネットワークの情報を制御データ部分の前記シーケンスに沿って詳細度を増して提供する、装置。
【請求項167】
前記制御データ部分(420)の少なくともいくつかは、前記ニューラルネットワークに関する部分的に冗長な情報を提供する、請求項165又は166に記載の装置。
【請求項168】
第1の制御データ部分は、デフォルト設定を伴うデフォルトニューラルネットワークタイプを示すことによって前記ニューラルネットワークに関する前記情報を提供し、第2の制御データ部分は、前記デフォルト設定のそれぞれを示すパラメータを含む、請求項165乃至167のいずれかに記載の装置。
【請求項169】
データストリーム(45)からニューラルネットワーク(10)の表現を復号するための装置であって、
前記装置は、前記ニューラルネットワークのニューロン相互接続(22、24)を定義するニューラルネットワークパラメータ(32)がデータストリーム(45)に符号化される符号化順序(104)を示す直列化パラメータ(102)をデータストリーム(45)から復号化するように構成される、装置。
【請求項170】
前記装置は、前記データストリーム(45)から、文脈適応型算術復号化を用いて前記ニューラルネットワークパラメータ(32)を復号化するように構成されている、請求項169に記載の装置。
【請求項171】
前記データストリームは、1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現し、
前記装置が、前記データストリーム(45)から、所定のニューラルネットワーク層内の前記ニューラルネットワークのニューロン相互接続(22、24)を定義するニューラルネットワークパラメータを連続的に復号化するように構成されており、
前記符号化順序(104)を使用して、前記データストリーム(45)から連続的に復号化されたニューラルネットワークパラメータを前記ニューロン相互接続(22、24)に割り当てる、請求項169又は170に記載の装置。
【請求項172】
前記直列化パラメータ(102)が、n個の符号化順序(104)のセット(108)のうち前記符号化順序(104)を示すn-aryパラメータである、請求項169乃至171のいずれかに記載の装置。
【請求項173】
前記n個の符号化順序(104)のセット(108)は、
前記所定の符号化順序が、前記ニューラルネットワーク(10)の所定のニューラルネットワーク層(210、30)を記述するテンソル(30)の次元(34)を走査(トラバース)する順序が異なる第1の所定の符号化順序(106
1)、及び/又は、
前記ニューラルネットワークのスケーラブルな符号化のために、前記所定の符号化順序が前記ニューラルネットワークの所定のニューラルネットワーク層(210、30)を走査する回数(107)が異なる第2の所定の符号化順序(106
2)、及び/又は、
前記所定の符号化順序が前記ニューラルネットワークのニューラルネットワーク層を走査する順序が異なる第3の所定の符号化順序(106
3)、及び/又は、
前記ニューラルネットワークのニューラルネットワーク層のニューロン(14、18、20)が走査される順序が異なる第4の所定の符号化順序(106
4)を含む、請求項172に記載の装置。
【請求項174】
前記直列化パラメータ(102)は、前記符号化順序(104)がニューラルネットワーク層(210、30)のニューロン(14、18、20)をデフォルト順序に対して順列化するのに用いる順列を示す、請求項169乃至173のいずれかに記載の装置。
【請求項175】
前記順列は、前記ニューラルネットワークパラメータ(32)が前記符号化順序(104)に沿って単調に増加するか、または前記符号化順序(104)に沿って単調に減少するように、前記ニューラルネットワーク層(210、30)の前記ニューロン(14、18、20)を順序付ける、請求項174に記載の装置。
【請求項176】
前記順列は、前記直列化パラメータ(102)によって信号化可能な所定の符号化順序のうち、前記直列化パラメータ(102)が示す前記順列について、前記ニューラルネットワークパラメータ(32)を前記データストリーム(45)に符号化するためのビットレートが最小となるように、前記ニューラルネットワーク層(210、30)の前記ニューロン(14、18、20)を順序付ける、請求項174に記載の装置。
【請求項177】
前記ニューラルネットワークパラメータ(32)は、重みおよびバイアスを含む、請求項169乃至176のいずれかに記載の装置。
【請求項178】
前記装置は、前記データストリームから、個別にアクセス可能な部分(200)に前記データストリームが構造化されている個別にアクセス可能なサブ部分(43、44、240)を復号化するように構成されており、それぞれのサブ部分(43、44、240)が後続のサブ部分が前記符号化順序(104)によって走査される前に前記符号化順序(104)によって完全に走査されるように、それぞれのサブ部分(43、44、240)は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現する、請求項169乃至177のいずれかに記載の装置。
【請求項179】
前記ニューラルネットワークパラメータ(32)は、任意の個別にアクセス可能な部分(200)またはサブ部分(43、44、240)の始点において、文脈適応型算術復号化を用いて、及び、文脈初期化を用いて、前記データストリームから復号化される、請求項171乃至178のいずれかに記載の装置。
【請求項180】
前記装置が、前記データストリームから、それぞれの個別にアクセス可能な部分(200)又はサブ部分(43、44、240)を始まる開始コード(242)、及び/又は、それぞれの個別にアクセス可能な部分またはサブ部分の始まりを指すポインタ(220、244)、及び/又は、前記データストリームを解析する際に前記それぞれの個別にアクセス可能な部分またはサブ部分をスキップするためにそれぞれの個別にアクセス可能な部分またはサブ部分のデータストリーム長(246)のポインタを復号化するように構成されている、請求項171乃至179のいずれかに記載の装置。
【請求項181】
前記装置が、前記データストリームから、前記ニューラルネットワーク(10)を推論に使用するときに、前記ニューラルネットワークパラメータ(32)を表現する数値表現およびビットサイズを示す数値計算表現パラメータ(120)を復号化するように構成される、請求項169乃至180のいずれかに記載の装置。
【請求項182】
データストリーム(45)からニューラルネットワーク(10)の表現を復号化するための装置であって、
前記装置は、前記データストリーム(45)から、前記ニューラルネットワーク(10)を推論に用いるときに、前記データストリームに符号化されている前記ニューラルネットワークのニューラルネットワークパラメータ(32)を表現する数値表現及びビットサイズを示す数値計算表現パラメータ(120)を復号化するように構成されており、前記データストリーム(45)から復号化された前記ニューラルネットワークパラメータ(32)を表現するための数値表現及びビットサイズを使用するように構成されている、装置。
【請求項183】
前記データストリーム(45)は個別にアクセス可能なサブ部分(43、44、240)に構造化され、後続の個別にアクセス可能なサブ部分が前記符号化順序(104)によって走査される前に、それぞれの個別にアクセス可能なサブ部分が前記符号化順序(104)によって完全に走査されるように、それぞれの個別にアクセス可能なサブ部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記装置は、前記データストリーム(45)から、所定の個別にアクセス可能なサブ部分について、前記ニューラルネットワークパラメータと、前記所定の個別にアクセス可能なサブ部分から復号化された前記ニューラルネットワークパラメータのパラメータタイプを示すタイプパラメータとを復号化するように構成されている、請求項169乃至182のいずれかに記載の装置。
【請求項184】
前記タイプパラメータは、少なくとも、ニューラルネットワークの重みとニューラルネットワークのバイアスとを区別する、請求項183に記載の装置。
【請求項185】
データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの1つ以上の個別にアクセス可能な部分が前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現し、
前記装置が、前記データストリーム(45)から、所定のニューラルネットワーク層について、前記ニューラルネットワークの前記所定のニューラルネットワーク層のニューラルネットワーク層タイプを示すニューラルネットワーク層タイプパラメータ(130)を復号化するように構成されている、請求項169乃至184のいずれかに記載の装置。
【請求項186】
データストリーム(45)からニューラルネットワーク(10)の表現を復号化する装置であって、
前記データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現し、前記装置が、前記データストリーム(45)から、所定のニューラルネットワーク層(210、30)について、前記ニューラルネットワークの前記所定のニューラルネットワーク層のニューラルネットワーク層タイプを示すニューラルネットワーク層タイプパラメータ(130)を復号化するよう構成される、装置。
【請求項187】
前記ニューラルネットワーク層タイプパラメータ(130)は、少なくとも、完全連結層タイプと畳み込み層タイプとを区別する、請求項185又は186に記載の装置。
【請求項188】
前記データストリーム(45)が個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、
前記装置が、前記データストリーム(45)から、1つ以上の所定の個別アクセス可能部分(200)のそれぞれについて、それぞれの個別にアクセス可能な部分の始まりを指すポインタ(220、244)を復号化するように構成されている、請求項169乃至187のいずれかに記載の装置。
【請求項189】
データストリーム(45)からニューラルネットワーク(10)の表現を復号化するための装置であって、
前記データストリーム(45)は1つ以上の個別にアクセス可能な部分(200)に構造化され、それぞれの部分が前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現しており、前記装置が、前記データストリーム(45)から、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記それぞれの所定の個別にアクセス可能な部分の始まりを指すポインタ(220、244)を復号化するよう構成されている、装置。
【請求項190】
それぞれの個別にアクセス可能な部分は、
前記ニューラルネットワークの対応するニューラルネットワーク層(210)、又は、
前記ニューラルネットワークのニューラルネットワーク層(210)のニューラルネットワーク部分(43、44、240)を表現する、請求項188又は189に記載の装置。
【請求項191】
前記装置は、前記データストリーム(45)からニューラルネットワーク(10)の表現を復号化するように構成されており、前記データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化されており、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現しており、前記データストリーム(45)が所定の部分内で、個別にアクセス可能なサブ部分(43、44、240)にさらに構造化されており、それぞれのサブ部分(43、44、240)は、前記ニューラルネットワークの前記それぞれのニューラルネットワーク層(210、30)の対応するニューラルネットワーク部分を表現し、前記装置は、前記データストリーム(45)から、1つ以上の所定の個別にアクセス可能なサブ部分(43、44、240)のそれぞれについて、
前記それぞれの所定の個別にアクセス可能なサブ部分が始まる開始コード(242)、及び/又は、
前記それぞれの所定の個別にアクセス可能なサブ部分の始まりを指し示すポインタ(244)、及び/又は、
前記データストリーム(45)を解析する際に、前記それぞれの所定の個別にアクセス可能なサブ部分をスキップするための、前記それぞれの所定の個別にアクセス可能なサブ部分のデータストリーム長(246)を示すデータストリーム長パラメータを復号化するように構成される、請求項169乃至190のいずれかに記載の装置。
【請求項192】
前記装置は、前記データストリーム(45)から、それぞれの個別にアクセス可能な部分およびそれぞれの個別にアクセス可能なサブ部分の始点において、文脈適応型算術復号化を用いて、かつ、文脈初期化を用いて、前記ニューラルネットワークの表現を復号化するように構成されている、請求項191に記載の装置。
【請求項193】
データストリーム(45)からニューラルネットワーク(10)の表現を復号化する装置であって、
前記データストリーム(45)は、1つ以上の個別にアクセス可能な部分(200)に構造化されており、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク層(210、30)を表現しており、前記データストリーム(45)は、所定の部分内で、個別にアクセス可能なサブ部分(43、44、240)にさらに構造化され、それぞれのサブ部分(43、44、240)は、前記ニューラルネットワークの前記それぞれのニューラルネットワーク層(210、30)の対応するニューラルネットワーク部分を表現し、前記装置は、前記データストリーム(45)から、1つ以上の所定の個別にアクセス可能なサブ部分(43、44、240)のそれぞれに対して、
前記それぞれの所定の個別にアクセス可能なサブ部分が始まる開始コード(242)、及び/又は、
前記それぞれの所定の個別にアクセス可能なサブ部分の始まりを指し示すポインタ(244)、及び/又は、
前記データストリーム(45)を解析する際に、前記それぞれの所定の個別にアクセス可能なサブ部分をスキップするための、前記それぞれの所定の個別にアクセス可能なサブ部分のデータストリーム長(246)を示すデータストリーム長パラメータを復号化するように構成される、装置。
【請求項194】
前記装置は、前記データストリーム(45)から、それぞれの個別にアクセス可能な部分およびそれぞれの個別にアクセス可能なサブ部分の始点において、文脈適応型算術復号化を用いて、かつ、文脈初期化を用いて、前記ニューラルネットワークの前記表現を復号化するよう構成される、請求項193に記載の装置。
【請求項195】
前記装置が、データストリーム(45)からニューラルネットワーク(10)の表現を復号化するように構成され、前記データストリーム(45)が個別にアクセス可能な部分(200)に構造化され、それぞれの個別にアクセス可能な部分が、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記装置が、前記データストリーム(45)から、1つ以上の所定の個別アクセス可能部分(200)のそれぞれについて、前記ニューラルネットワーク(10)を推論に使用する際に使用しなければならない、または任意に使用できる1つ以上の処理オプション(252)を示す処理オプションパラメータ(250)を復号化するように構成されている、請求項169乃至194のいずれかに記載の装置。
【請求項196】
前記処理オプションパラメータ(250)は、所定の処理オプション(252)のセットのうち、前記1つ以上の利用可能な処理オプション(252)を示し、
前記所定の処理オプション(252)は、
前記それぞれの所定の個別にアクセス可能な部分の並列処理能力、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のサンプル単位並列処理能力(252
2)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のチャネル単位並列処理能力(252
1)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分の分類カテゴリ単位並列処理能力、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分によって表される前記ニューラルネットワーク部分の、同じ前記ニューラルネットワーク部分に関連するが、前記データストリーム(45)に層方式で符号化されている前記ニューラルネットワークのバージョン(330)の別のバージョンに属する前記データストリーム(45)の別の個別にアクセス可能な部分から得られる計算結果に対する依存性を含む、請求項195に記載の装置。
【請求項197】
データストリーム(45)からニューラルネットワーク(10)の表現を復号化する装置であって、
前記データストリーム(45)が個別にアクセス可能な部分(200)に構造化されており、それぞれの個別にアクセス可能な部分は、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記装置が、1つ以上の所定の個別にアクセス可能な部分それぞれについて、前記データストリーム(45)から、前記ニューラルネットワーク(10)を推測に使用する際に使用しなければならないか又は任意に使用できる1つ以上の処理オプション(252)を示す処理オプションパラメータ(250)を復号化するよう構成される、装置。
【請求項198】
前記処理オプションパラメータ(250)は、所定の処理オプション(252)のセットのうち、前記1つ以上の利用可能な処理オプション(252)を示し、
前記所定の処理オプション(252)は、
前記それぞれの所定の個別にアクセス可能な部分の並列処理能力、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のサンプル単位並列処理能力(252
2)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分のチャネル単位並列処理能力(252
1)、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分の分類カテゴリ単位並列処理能力、及び/又は、
前記それぞれの所定の個別にアクセス可能な部分によって表される前記ニューラルネットワーク部分の、同じ前記ニューラルネットワーク部分に関連するが、前記データストリーム(45)に層方式で符号化されている前記ニューラルネットワークのバージョン(330)の別のバージョンに属する前記データストリーム(45)の別の個別にアクセス可能な部分から得られる計算結果に対する依存性を含む、請求項197に記載の装置。
【請求項199】
前記装置が、ニューラルネットワークを表現するニューラルネットワークパラメータ(32)をデータストリーム(45)から復号化するように構成されており、前記ニューラルネットワークパラメータ(32)が、量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化され、前記ニューラルネットワークの異なるニューラルネットワーク部分内のニューラルネットワークパラメータ(32)が異なって量子化(260)されるように、前記ニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化され、前記装置は、前記ニューラルネットワーク部分のそれぞれについて、前記データストリーム(45)から、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための再構成ルール(270)を復号化するように構成される、請求項169乃至198のいずれかに記載の装置。
【請求項200】
ニューラルネットワークを表現するニューラルネットワークパラメータ(32)をデータストリーム(45)から復号化する装置であって、
前記ニューラルネットワークパラメータ(32)が量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化され、前記ニューラルネットワークの異なるニューラルネットワーク部分におけるニューラルネットワークパラメータ(32)が異なって量子化(260)されるように、前記ニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化され、前記装置は、前記ニューラルネットワーク部分のそれぞれについて、前記データストリーム(45)から、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための再構成ルール(270)を復号化するよう構成される、装置。
【請求項201】
前記ニューラルネットワーク部分が、前記ニューラルネットワークのニューラルネットワーク層(210、30)及び/又は前記ニューラルネットワークの所定のニューラルネットワーク層が細分化された層部分を含む、請求項199又は200に記載の装置。
【請求項202】
前記装置は、前記データストリーム(45)から、第1のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(280)を逆量子化するための第1の再構成ルール(270
1、270a
1)を、第2のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(280)を逆量子化するための第2の再構成ルール(270
2、270a
2)に対してデルタ復号化して復号化するように構成される、請求項199乃至201のいずれかに記載の装置。
【請求項203】
前記装置は、前記データストリーム(45)から、前記第1の再構成ルール(270
1、270a
1)を示すための第1の指数値と、前記第2の再構成ルール(270
2、270a
2)を示すための第2の指数値とを復号化するように構成され、
前記第1の再構成ルール(270
1、270a
1)は、所定の基底の指数で定義される第1の量子化ステップサイズ(263)と、前記第1の指数値で定義される第1の指数とによって定義され、かつ、
前記第2の再構成ルール(270
2、270a
2)は、前記所定の基底の指数によって定義される第2の量子化ステップサイズ(263)と、前記第1および第2の指数値の和で定義される第2の指数とによって定義される、請求項202に記載の装置。
【請求項204】
データストリーム(45)が、さらに所定の基底を示す、請求項203に記載の装置。
【請求項205】
前記装置は、前記データストリーム(45)から、第1のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための第1の再構成ルール(270
1、270a
1)を示すための第1の指数値と、第2のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための第2の再構成ルール(270
2、270a
2)を示すための第2の指数値を復号化するように構成されており、
前記第1の再構成ルール(270
1、270a
1)は、所定の基底の指数によって定義される第1の量子化ステップサイズ(263)と、前記第1の指数値と所定の指数値との和によって定義される第1の指数とによって定義され、かつ、
前記第2の再構成ルール(270
2、270a
2)は、前記所定の基底の指数によって定義される第2の量子化ステップサイズ(263)と、前記第2の指数値と前記所定の指数値との和によって定義される第2の指数とによって定義される、請求項199乃至202のいずれかに記載の装置。
【請求項206】
前記データストリームは、さらに所定の基底を示す、請求項205に記載の装置。
【請求項207】
前記データストリームは、ニューラルネットワーク範囲で前記所定の基底を示す、請求項206に記載の装置。
【請求項208】
前記データストリームは、さらに前記所定の指数値を示す、請求項205から207のいずれかに記載の装置。
【請求項209】
前記データストリーム(45)は、ニューラルネットワーク層(210、30)範囲で前記所定の指数値を示す、請求項208に記載の装置。
【請求項210】
前記データストリームは、前記所定の基底をさらに示し、前記データストリームは、前記所定の基底が前記データストリームによって示される範囲よりも細かい範囲で前記所定の指数値を示す、請求項208又は209に記載の装置。
【請求項211】
前記装置は、前記データストリームから、前記所定の基底を非整数形式で、前記第1および第2の指数値を整数形式で復号化するように構成される、請求項203乃至210のいずれかに記載の装置。
【請求項212】
前記装置は、前記データストリームから、前記第1の再構成ルール(270
1、270a
1)を示すために、第1の量子化インデックス-再構成レベルマッピング(265)を定義する第1のパラメータセット(264)と、前記第2の再構成ルール(270
2、270a
2)を示すために、第2の量子化インデックス-再構成レベルマッピング(265)を定義する第2のパラメータセット(264)とを復号化するよう構成されており、
前記第1の再構成ルール(270
1、270a
1)は、前記第1の量子化インデックス-再構成レベルマッピング(265)によって定義され、
前記第2の再構成ルール(270
2、270a
2)は、前記第1の量子化インデックス-再構成レベルマッピング(265)を前記第2の量子化インデックス-再構成レベルマッピング(265)で所定の方法で拡張することにより定義される、請求項202乃至211のいずれかに記載の装置。
【請求項213】
前記装置は、前記データストリームから、前記第1の再構成ルール(270
1、270a
1)を示すために、第1の量子化インデックス-再構成レベルマッピング(265)を定義する第1のパラメータセット(264)と、前記第2の再構成ルール(270
2、270a
2)を示すために、第2の量子化インデックス-再構成レベルマッピング(265)を定義する第2のパラメータセット(264)とを復号化するよう構成されており、
前記第1の再構成ルール(270
1、270a
1)は、前記第1の量子化インデックス-再構成レベルマッピング(265)によって定義され、
前記第2の再構成ルール(270
2、270a
2)は、前記第1の量子化インデックス-再構成レベルマッピング(265)を前記第2の量子化インデックス-再構成レベルマッピング(265)で所定の方法で拡張することにより定義される、請求項202乃至212のいずれかに記載の装置。
【請求項214】
前記データストリームは、さらに、前記所定の量子化インデックス-再構成レベルマッピング(265)を示す、請求項213に記載の装置。
【請求項215】
前記データストリームは、ニューラルネットワーク範囲又はニューラルネットワーク層(210、30)範囲で、前記所定の量子化インデックス-再構成レベルマッピング(265)を示す、請求項214に記載の装置。
【請求項216】
前記所定の方法によれば、
拡張される前記量子化インデックス-再構成レベルマッピングに従った、それぞれのインデックス値(32’’)の第1の再構成レベルへのマッピングは、拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従った、前記それぞれのインデックス値(32’’)の第2の再構成レベルへのマッピング存在する場合はそれによって置換される、及び/又は、
拡張される前記量子化インデックス-再構成レベルマッピングに従うとそれぞれの前記インデックス値(32’’)をマッピングすべき再構成レベルが定義されず、また拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従うと対応する再構成レベルへマッピングされる前記任意のインデックス値(32’’)について、前記それぞれのインデックス値(32’’)から前記対応する再構成レベルへのマッピングが採用される、及び/又は、
拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従うとそれぞれの前記インデックス値(32’’)をマッピングすべき再構成レベルが定義されず、また拡張される前記量子化インデックス-再構成レベルマッピングに従うと対応する再構成レベルへマッピングされる任意のインデックス値(32’’)について、前記それぞれのインデックス値(32’’)から前記対応する再構成レベルへのマッピングが採用される、請求項212から215のいずれかに記載の装置。
【請求項217】
前記装置は、前記データストリームから、所定のニューラルネットワーク部分の再構成ルール(270)を示すための復号化を行うように構成されており、
量子化ステップサイズ(263)を示す量子化ステップサイズパラメータ(262)と、
量子化インデックス-再構成レベルマッピング(265)を定義するパラメータセット(264)と、を含み、
前記所定のニューラルネットワーク部分の前記再構成ルール(270)は、
所定のインデックス間隔(268)内の量子化インデックス(32’’)に対する量子化ステップサイズ(263)、及び
前記所定のインデックス間隔(268)外の量子化インデックス(32’’)に対する量子化インデックス-再構成レベルマッピング(265)によって定義される、請求項199乃至216のいずれかに記載の装置。
【請求項218】
ニューラルネットワークを表現するニューラルネットワークパラメータ(32)をデータストリーム(45)から復号化する装置であって、
前記ニューラルネットワークパラメータ(32)が、量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化されており、
前記装置が、
量子化ステップサイズ(263)を示す量子化ステップサイズパラメータ(262)と、
量子化インデックス-再構成レベルマッピング(265)を定義するパラメータセット(264)と、
を前記データストリーム(45)から復号化することによって、前記ニューラルネットワークパラメータ(32)を逆量子化(280)するための再構成ルール(270)を前記データストリーム(45)から導出可能に構成されており、
前記所定のニューラルネットワーク部分の前記再構成ルール(270)は、
所定のインデックス間隔(268)内の量子化インデックス(32’’)に対する量子化ステップサイズ(263)、及び、
前記所定のインデックス間隔(268)外の量子化インデックス(32’’)に対する量子化インデックス-再構成レベルマッピング(265)によって定義される、装置。
【請求項219】
前記所定のインデックス間隔(268)はゼロを含む、請求項217又は218に記載の装置。
【請求項220】
前記所定のインデックス間隔(268)は所定の大きさ閾値まで拡張し、前記所定の大きさ閾値を超える量子化インデックス(32’’)は、量子化インデックス-再構成レベルマッピング(265)が逆量子化(280)に用いられることを示すエスケープコードを表現する、請求項219に記載の装置。
【請求項221】
前記パラメータセット(264)が、前記所定のインデックス間隔(268)の外の量子化インデックス(32’’)に関連する再構成レベルのリストによって、量子化インデックス-再構成レベルマッピング(265)を定義する、請求項217乃至220のいずれかに記載の装置。
【請求項222】
前記ニューラルネットワーク部分が、前記ニューラルネットワークのニューラルネットワーク層(210、30)の1つ以上のサブ部分、及び/又は、前記ニューラルネットワークの1つ以上のニューラルネットワーク層を含む、請求項199乃至221のいずれかに記載の装置。
【請求項223】
前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化されており、前記装置は、対応するニューラルネットワーク部分のための前記ニューラルネットワークパラメータ(32)をそれぞれの個別にアクセス可能な部分から復号化するように構成されている、請求項199乃至222のいずれかに記載の装置。
【請求項224】
前記装置は、前記データストリーム(45)から、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術復号化を使用して、及び、文脈初期化を使用して、前記個別にアクセス可能な部分(200)を復号化するように構成されている、223に記載の装置。
【請求項225】
前記装置は、前記データストリーム(45)から、個別にアクセス可能な部分それぞれについて、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを指すポインタ(220、244)、及び/又は、
前記データストリーム(45)を解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするための、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータを、読み取るように構成されている、請求項223又は224に記載の装置。
【請求項226】
前記装置は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための再構成ルール(270)の指示を、
前記ニューラルネットワーク全体に関する前記データストリーム(45)のメインヘッダ部分(47)、
前記それぞれのニューラルネットワーク部分が属する前記ニューラルネットワーク層に関連する前記データストリーム(45)のヘッダー部分(110)に関連するニューラルネットワーク層(210、30)、又は、
前記それぞれのニューラルネットワーク部分に関連する前記データストリームのニューラルネットワーク部分固有のヘッダ部分において、前記データストリーム(45)から読み取るように構成されている、請求項223乃至225のいずれかに記載の装置。
【請求項227】
前記装置は、データストリーム(45)からニューラルネットワーク(10)の表現を復号化するように構成され、前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化され、それぞれの部分は前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記装置は、前記データストリーム(45)から、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記それぞれの所定の個別アクセス可能な部分を識別するための識別パラメータ(310)を復号化するように構成される、請求項169乃至226のいずれかに記載の装置。
【請求項228】
データストリーム(45)からニューラルネットワーク(10)の表現を復号化するための装置であって、
前記データストリーム(45)は、個別にアクセス可能な部分(200)に構造化されており、各部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記装置は、前記データストリーム(45)から、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記それぞれの所定の個別にアクセス可能な部分を識別するための識別パラメータ(310)を復号化するように構成されることを特徴とする装置。
【請求項229】
前記識別パラメータ(310)が、ハッシュ関数又はエラー検出コード又はエラー訂正コードを介して、前記それぞれの所定の個別にアクセス可能な部分に関連する、請求項227又は228に記載の装置。
【請求項230】
前記装置が、前記データストリーム(45)から、2つ以上の所定の個別にアクセス可能な部分の集合を識別するための上位の識別パラメータ(310)を復号化するように構成される、請求項227乃至229のいずれかに記載の装置。
【請求項231】
前記上位の識別パラメータ(310)は、ハッシュ関数又はエラー検出コード又はエラー訂正コードを介して、前記1つ以上の所定の個別にアクセス可能な部分の前記識別パラメータ(310)に関連している、請求項230に記載の装置。
【請求項232】
前記装置は、前記データストリーム(45)から、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術復号化を用いて、かつ、文脈初期化を用いて、前記個別にアクセス可能な部分(200)を復号化するように構成される、請求項227乃至231のいずれかに記載の装置。
【請求項233】
前記装置は、前記データストリームから、それぞれの個別にアクセス可能な部分について、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを指すポインタ(220、244)、及び/又は、
前記データストリームを解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするための、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータを、読み取るように構成される、請求項227乃至232のいずれかに記載の装置。
【請求項234】
前記ニューラルネットワーク部分が、前記ニューラルネットワークのニューラルネットワーク層(210、30)、及び/又は、前記ニューラルネットワークの1つ以上のニューラルネットワーク層の1つ以上のサブ部分を含む、請求項227乃至233のいずれかに記載の装置。
【請求項235】
前記装置は、層方式で符号化されたデータストリーム(45)から、ニューラルネット(10)の表現を復号化するように構成されており、前記ニューラルネットワークの異なるバージョン(330)が前記データストリーム(45)に符号化され、かつ、前記データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化され、各部分が前記ニューラルネットワークの対応するバージョンに関連しており、
前記装置は、
第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(3301)に対してデルタ復号化を使用することによって、及び/又は、
前記データストリーム(45)から、それぞれが前記ニューラルネットワークの前記第1のバージョン(330
2)に基づく推論を実行するために、1つ以上の補償ニューラルネットワーク部分(332)を復号化することにより、
第1の部分から符号化された前記ニューラルネットワークの第1のバージョン(330
2)を復号化するように構成されており、
第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(3301)の対応するニューラルネットワーク部分(334)の実行に追加して実行され、
前記それぞれの補償ニューラルネットワーク部分(332)及び前記対応するニューラルネットワーク部分(334)の出力が合計される、請求項の169乃至234のいずれかに記載の装置。
【請求項236】
前記装置は、層方式で符号化されたデータストリーム(45)から、ニューラルネット(10)の表現を復号化するように構成されており、前記ニューラルネットワークの異なるバージョン(330)が前記データストリーム(45)に符号化され、かつ、前記データストリーム(45)が1つ以上の個別にアクセス可能な部分(200)に構造化され、各部分が前記ニューラルネットワークの対応するバージョンに関連しており、
前記装置は、
第2の部分に符号化された前記ニューラルネットワークの第2のバージョン(3301)に対してデルタ復号化を使用することによって、及び/又は、
前記データストリーム(45)から、前記ニューラルネットワークの前記第1のバージョン(330
2)に基づく推論を実行するための、それぞれがそうである1つ以上の補償ニューラルネットワーク部分(332)を復号化することにより、
第1の部分から前記ニューラルネットワークの第1のバージョン(330
2)を復号化するように構成されており、
第2の部分に符号化されたニューラルネットワークの第2のバージョン(3301)の対応するニューラルネットワーク部分(334)の実行に追加して実行され、
前記それぞれの補償ニューラルネットワーク部分(332)及び前記対応するニューラルネットワーク部分(334)の出力が合計される、装置。
【請求項237】
前記装置が、前記データストリーム(45)の第2の部分から、前記ニューラルネットワークの前記第2のバージョン(330
1)を復号化するように構成され;及び、
前記装置は、
前記ニューラルネットワークの前記第1のバージョン(330
2)を、 重み及び/又はバイアスの差、及び/又は、
追加のニューロン(14、18、20)又はニューロン相互接続(22、24)
で前記第2の部分に符号化された前記ニューラルネットワークの前記第2のバージョン(330
1)に対してデルタ復号化し、前記データストリーム(45)の第1の部分から復号化するように構成される、請求項235又は236に記載の装置。
【請求項238】
前記装置は、前記それぞれの個別にアクセス可能な部分の始点において、前記データストリーム(45)から、文脈適応型算術復号化(600)を用いて、文脈初期化を用いて、前記個別にアクセス可能な部分(200)を復号化するように構成される、任意の先の請求項235から237のいずれかに記載の装置。
【請求項239】
前記装置は、前記データストリーム(45)から、個別にアクセス可能な部分それぞれについて、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを指すポインタ(220、244)、及び/又は、
前記データストリームを解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするための、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータを、復号化するように構成される、請求項235乃至238のいずれかに記載の装置。
【請求項240】
前記装置は、前記データストリームから、1つ以上の所定の個別にアクセス可能な部分(200)のそれぞれについて、前記それぞれの所定の個別にアクセス可能な部分を識別するための識別パラメータ(310)を復号化するように構成される、請求項235乃至239のいずれかに記載の装置。
【請求項241】
前記装置は、データストリーム(45)からニューラルネットワーク(10)の表現を復号化するように構成され、前記データストリーム(45)は、個別にアクセス可能な部分(200)に構成され、各部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記装置は、前記データストリーム(45)から、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記ニューラルネットワークの前記表現を補足するための補足データ(350)を復号化するように構成される、請求項169乃至240のいずれかに記載の装置。
【請求項242】
データストリーム(45)からニューラルネットワーク(10)の表現を復号化する装置であって、
前記データストリーム(45)は個別にアクセス可能な部分(200)に構造化され、各部分が、前記ニューラルネットワークの対応するニューラルネットワーク部分を表現し、前記装置は、前記データストリーム(45)から、1つ以上の所定の個別にアクセス可能な部分(200)それぞれについて、ニューラルネットワークの表現を補足するための補足データ(350)を復号化するよう構成されている、装置。
【請求項243】
前記データストリーム(45)は、前記補足データ(350)が前記ニューラルネットワークに基づく推論には必須ではないと示す、請求項241又は242に記載の装置。
【請求項244】
前記装置は、前記1つ以上の所定の個別アクセス可能部分(200)について前記ニューラルネットワークの前記表現を補足するための補足データ(350)を、別の個別にアクセス可能な部分から復号化するように構成され、前記データストリーム(45)が、前記1つ以上の所定の個別アクセス可能部分のそれぞれについて、前記それぞれの所定の個別アクセス可能部分が対応する前記ニューラルネットワーク部分に関連する、対応する別の所定の個別にアクセス可能な部分を含むようになっている、請求項241乃至243のいずれかに記載の装置。
【請求項245】
前記ニューラルネットワーク部分は、前記ニューラルネットワークのニューラルネットワーク層(210、30)及び/又は、前記ニューラルネットワークの所定のニューラルネットワーク層が細分化された層部分を含む、請求項241乃至244のいずれかに記載の装置。
【請求項246】
前記装置は、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術復号化を用いて、かつ、文脈初期化を用いて、前記個別にアクセス可能な部分(200)を復号化するように構成される、請求項241乃至245のいずれかに記載の装置。
【請求項247】
前記装置は、前記データストリームから、それぞれの個別にアクセス可能な部分について、
前記それぞれの個別にアクセス可能な部分が始まる開始コード(242)、及び/又は、
前記それぞれの個別にアクセス可能な部分の始まりを示すポインタ(220、244)、及び/又は、
前記データストリーム(45)を解析する際に、前記それぞれの個別にアクセス可能な部分をスキップするための、前記それぞれの個別にアクセス可能な部分のデータストリーム長(246)を示すデータストリーム長パラメータを、読み取るように構成されている、請求項241乃至246のいずれかに記載の装置。
【請求項248】
前記補足データ(350)は、
ニューラルネットワークパラメータ(32)の関連性スコア、及び/又は、
ニューラルネットワークパラメータ(32)の摂動ロバスト性に関連する、請求項241乃至247のいずれかに記載の装置。
【請求項249】
データストリーム(45)からニューラルネットワーク(10)の表現を復号化するための装置であって、
前記装置は、前記データストリーム(45)から、制御データ部分(420)のシーケンス(410)に構造化された階層的制御データ(400)を復号化するように構成されており、前記制御データ部分は、前記ニューラルネットワークに関する情報を制御データ部分のシーケンスに沿って詳細度を増して提供する、請求項169乃至248のいずれかに記載の装置。
【請求項250】
データストリーム(45)からニューラルネットワーク(10)の表現を復号化する装置であって、
前記装置は、前記データストリーム(45)から、制御データ部分(420)のシーケンス(410)に構造化された階層的制御データ(400)を復号化するように構成され、前記制御データ部分は、前記ニューラルネットワークに関する情報を制御データ部分の前記シーケンスに沿って詳細度を増して提供する、装置。
【請求項251】
前記制御データ部分(420)の少なくともいくつかは、前記ニューラルネットワークに関する部分的に冗長な情報を提供する、請求項249または250に記載の装置。
【請求項252】
第1の制御データ部分は、デフォルト設定を伴うデフォルトニューラルネットワークタイプを示すことによって前記ニューラルネットワークに関する前記情報を提供し、第2の制御データ部分は、前記デフォルト設定のそれぞれを示すパラメータを含む、請求項249乃至251のいずれかに記載の装置。
【請求項253】
ニューラルネットワークを用いた推論を行うための装置であって、
請求項169乃至252のいずれかに記載のデータストリーム(45)を復号化して前記データストリーム(45)から前記ニューラルネットワークを導出するための装置と、
前記ニューラルネットワークに基づいて前記推論を実行するように構成されたプロセッサと、を含む、装置。
【請求項254】
ニューラルネットワークの表現をデータストリーム(45)に符号化するための方法であって、
前記ニューラルネットワークのニューロン相互接続を定義するニューラルネットワークパラメータが前記データストリームに符号化される符号化順序を示す直列化パラメータを前記データストリームに提供するステップを含む、方法。
【請求項255】
ニューラルネットワークの表現をデータストリームに符号化するための方法であって、
前記ニューラルネットワークを推論に使用する際に、前記データストリームに符号化される前記ニューラルネットワークのニューラルネットワークパラメータが表現される数値表現とビットサイズを示す数値計算表現パラメータを前記データストリームに提供するステップを含む、方法。
【請求項256】
ニューラルネットワークの表現をデータストリームに符号化する方法であって、
前記データストリームが1つ以上の個別にアクセス可能な部分に構造化され、それぞれの個別にアクセス可能な部分が前記ニューラルネットワークの対応するニューラルネットワーク層を表現しており、前記方法が、所定のニューラルネットワーク層について、前記ニューラルネットワークの前記所定のニューラルネットワーク層のニューラルネットワーク層タイプを示すニューラルネットワーク層タイプパラメータを前記データストリームに提供するステップを含む、方法。
【請求項257】
ニューラルネットワークの表現をデータストリームに符号化する方法であって、
前記データストリームが1つ以上の個別にアクセス可能な部分に構造化され、各部分が前記ニューラルネットワークの対応するニューラルネットワーク層を表現しており、前記方法が、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記データストリームに、前記それぞれの所定の個別にアクセス可能な部分の始まりを指すポインタを提供するステップを含む、方法。
【請求項258】
ニューラルネットワークの表現をデータストリームに符号化する方法であって、
前記データストリームが1つ以上の個別にアクセス可能な部分に構造化され、それぞれの個別にアクセス可能な部分が前記ニューラルネットワークの対応するニューラルネットワーク層を表現しており、前記データストリームが所定の部分内で、個別にアクセス可能なサブ部分にさらに構造化され、それぞれのサブ部分が前記ニューラルネットワークの前記それぞれのニューラルネットワーク層の対応するニューラルネットワーク部分を表現しており、前記方法が、前記データストリームに、1つ以上の所定の個別にアクセス可能なサブ部分のそれぞれについて、
前記それぞれの所定の個別にアクセス可能なサブ部分が始まる開始コード、及び/又は、
前記それぞれの所定の個別にアクセス可能なサブ部分の始まりを指すポインタ、及び/又は、
前記データストリームを解析する際に、前記所定の個別アクセス可能なサブ部分をスキップするための、前記所定の個別アクセス可能なサブ部分のデータストリーム長を示すデータストリーム長パラメータと、を提供するステップを含む、方法。
【請求項259】
ニューラルネットワークの表現をデータストリームに符号化する方法であって、
前記データストリームが個別にアクセス可能な部分に構造化され、それぞれの個別にアクセス可能な部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記方法は、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記ニューラルネットワークを推論に使用する際に、使用しなければならない、または任意に使用できる1つ以上の処理オプションを示す処理オプションパラメータを前記データストリームに提供するステップを含む、方法。
【請求項260】
ニューラルネットワークを表現するニューラルネットワークパラメータをデータストリームに符号化する方法であって、
前記ニューラルネットワークパラメータは量子化インデックスに量子化されて前記データストリームに符号化され、前記ニューラルネットワークの異なるニューラルネットワーク部分のニューラルネットワークパラメータが異なって量子化されるように前記データストリームに符号化され、前記方法は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータを逆量子化するための再構成ルールを示す前記データストリームを提供するステップを含む、方法。
【請求項261】
ニューラルネットワークを表現するニューラルネットワークパラメータをデータストリームに符号化する方法であって、
前記ニューラルネットワークパラメータが量子化インデックスに量子化されて前記データストリームに符号化され、前記方法は、前記ニューラルネットワークパラメータを逆量子化するための再構成ルールを示すために、
量子化ステップサイズを示す量子化ステップサイズパラメータと、
量子化インデックス-再構成レベルマッピングを定義するパラメータセットと、を前記データストリームに提供するステップを含み、
前記所定のニューラルネットワーク部分の前記再構成ルールが、
所定のインデックス間隔内の量子化インデックスについての前記量子化ステップサイズと、
前記所定のインデックス間隔外の量子化インデックスについての前記量子化インデックス-再構成レベルマッピングと、により定義される、方法。
【請求項262】
ニューラルネットワークの表現をデータストリームに符号化する方法であって、
前記データストリームが個別にアクセス可能な部分に構造化され、各部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記方法は、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記データストリームに、前記それぞれの所定の個別にアクセス可能な部分を識別するための識別パラメータを提供するステップを含む、方法。
【請求項263】
ニューラルネットワークの表現を層方式でデータストリームに符号化する方法であって、
前記ニューラルネットワークの異なるバージョンが前記データストリームに符号化され、かつ、前記データストリームが1つ以上の個別にアクセス可能な部分に構造化され、各部分は前記ニューラルネットワークの対応するバージョンに関連しており、前記方法は、前記ニューラルネットワークの第1のバージョンを、
第2の部分に符号化された前記ニューラルネットワークの第2のバージョンに対してデルタ符号化して、及び/又は、
前記ニューラルネットワークの前記第1のバージョンに基づく推論を実行するために、各々が、第2の部分に符号化された前記ニューラルネットワークの第2のバージョンの対応するニューラルネットワーク部分の実行に追加して実行される1つ以上の補償ニューラルネットワーク部分の形態であって、
それぞれの前記補償ニューラルネットワーク部分及び前記対応するニューラルネットワーク部分の出力が合計される、補償ニューラルネットワーク部分の形態で、
前記第1の部分に符号化するステップを含む、方法。
【請求項264】
ニューラルネットワークの表現をデータストリームに符号化する方法であって、
前記データストリームが個別にアクセス可能な部分に構造化され、各部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記方法は、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記データストリームに、前記ニューラルネットワークの前記表現を補足するための補足データを提供するステップを含む、方法。
【請求項265】
ニューラルネットワークの表現をデータストリームに符号化する方法であって、
前記方法は、制御データ部分のシーケンスに構造化された階層的制御データを前記データストリームに提供するステップを含み、前記制御データ部分は、制御データ部分の前記シーケンスに沿って詳細度を増して前記ニューラルネットワークに関する情報を提供する、方法。
【請求項266】
データストリームからニューラルネットワークの表現を復号化する方法であって、
前記ニューラルネットワークのニューロン相互接続を定義するニューラルネットワークパラメータが前記データストリームに符号化される符号化順序を示す直列化パラメータを前記データストリームから復号化するステップを含む、方法。
【請求項267】
データストリームからニューラルネットワークの表現を復号化する方法であって、
前記方法は、前記ニューラルネットワークを推論に使用する際に前記データストリームに符号化されている前記ニューラルネットワークのニューラルネットワークパラメータが表現されるべき数値表現とビットサイズを示す数値計算表現パラメータを前記データストリームから復号化するステップと、前記データストリームから復号化された、前記ニューラルネットワークパラメータを表現するための前記数値表現及びビットサイズを使用するステップと、を含む、方法。
【請求項268】
データストリームからニューラルネットワークの表現を復号化する方法であって、
前記データストリームが1つ以上の個別にアクセス可能な部分に構造化され、各部分が前記ニューラルネットワークの対応するニューラルネットワーク層を表現し、前記方法が、前記データストリームから、所定のニューラルネットワーク層について、前記ニューラルネットワークの前記所定のニューラルネットワーク層のニューラルネットワーク層タイプを示すニューラルネットワーク層タイプパラメータを復号化するステップを含む、方法。
【請求項269】
データストリームからニューラルネットワークの表現を復号化する方法であって、
前記データストリームが1つ以上の個別にアクセス可能な部分に構造化され、各部分が前記ニューラルネットワークの対応するニューラルネットワーク層を表現し、前記方法が、前記データストリームから、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記それぞれの所定の個別にアクセス可能な部分の始まりを指すポインタを復号化するステップを含む、方法。
【請求項270】
データストリームからニューラルネットワークの表現を復号化する方法であって、
前記データストリームが1つ以上の個別にアクセス可能な部分に構造化され、それぞれの個別にアクセス可能な部分が前記ニューラルネットワークの対応するニューラルネットワーク層を表現しており、前記データストリームが、所定の部分内で、個別にアクセス可能なサブ部分にさらに構造化され、それぞれのサブ部分が前記ニューラルネットワークの前記それぞれのニューラルネットワーク層の対応するニューラルネットワーク部分を表現しており、前記方法が、前記データストリームから、1つ以上の所定の個別にアクセス可能なサブ部分のそれぞれについて、
前記それぞれの所定の個別にアクセス可能なサブ部分が始まる開始コード、及び/又は、
前記それぞれの所定の個別にアクセス可能なサブ部分の始まりを指す示すポインタ、及び/又は、
前記データストリームを解析する際に、前記所定の個別アクセス可能なサブ部分をスキップするための、前記それぞれの所定の個別アクセス可能なサブ部分のデータストリーム長を示すデータストリーム長パラメータと、を復号化するステップを含む、方法。
【請求項271】
データストリームからニューラルネットワークの表現を復号化する方法であって、
前記データストリームが個別にアクセス可能な部分に構造化され、それぞれの個別にアクセス可能な部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記方法は、前記データストリームから、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記ニューラルネットワークを推論のために使用しなければならない、または任意に使用できる1つ以上の処理オプションを示す処理オプションパラメータを復号化するステップを含む、方法。
【請求項272】
ニューラルネットワークを表現するニューラルネットワークパラメータをデータストリームから復号化する方法であって、
前記ニューラルネットワークパラメータは量子化インデックスに量子化されて前記データストリームに符号化され、前記ニューラルネットワークの異なるニューラルネットワーク部分のニューラルネットワークパラメータが異なるように前記データストリームに符号化され、前記方法は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータを逆量子化するための再構成ルールを前記データストリームから復号化するステップを含む、装置。
【請求項273】
ニューラルネットワークを表現するニューラルネットワークパラメータをデータストリームから復号化する方法であって、
前記ニューラルネットワークパラメータが量子化インデックスに量子化されて前記データストリームに符号化され、前記方法は、
量子化ステップサイズを示す量子化ステップサイズパラメータと、
量子化インデックス-再構成レベルマッピングを定義するパラメータセットと、
を前記データストリームから復号化することによって、前記ニューラルネットワークパラメータを逆量子化するための再構成ルールを前記データストリームから導出するステップを含み、
前記所定のニューラルネットワーク部分の前記再構成ルールが、
所定のインデックス間隔内の量子化インデックスに対する前記量子化ステップサイズと、
前記所定のインデックス間隔外の量子化インデックスに対する前記量子化インデックス-再構成レベルマッピングと、により定義される、方法。
【請求項274】
データストリームからニューラルネットワークの表現を復号化する方法であって、
前記データストリームが個別にアクセス可能な部分に構造化され、各部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記方法は、前記データストリームから、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記それぞれの所定の個別にアクセス可能な部分を識別するための識別パラメータを復号化するステップを含む、方法。
【請求項275】
層方式でデータストリームに符号化されたニューラルネットワークの表現をデータストリームから復号化する方法であって、
前記ニューラルネットワークの異なるバージョンが前記データストリームに符号化され、かつ、前記データストリームが1つ以上の個別にアクセス可能な部分に構造化され、各部分は前記ニューラルネットワークの対応するバージョンに関連しており、前記方法は、前記ニューラルネットワークの第1のバージョンを、
第2の部分に符号化された前記ニューラルネットワークの第2のバージョンに対してデルタ復号化を用いることによって、及び/又は、
前記ニューラルネットワークの前記第1のバージョンに基づく推論を実行するために、各々が、第2の部分に符号化された前記ニューラルネットワークの第2のバージョンの対応するニューラルネットワーク部分の実行に追加して実行される1つ以上の補償ニューラルネットワーク部分を前記データストリームから復号化することによって、
第1の部分から復号化するステップを含み、
前記それぞれの補償ニューラルネットワーク部分及び前記対応するニューラルネットワーク部分の出力が合計される、方法。
【請求項276】
データストリームからニューラルネットワークの表現を復号化する方法であって、
前記データストリームが個別にアクセス可能な部分に構造化され、各部分が前記ニューラルネットワークの対応するニューラルネットワーク部分を表現しており、前記方法は、前記データストリームから、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、前記ニューラルネットワークの前記表現を補足するための補足データを復号化するステップを含む、方法。
【請求項277】
データストリームからニューラルネットワークの表現を復号化する方法であって、
前記方法は、制御データ部分のシーケンスに構造化された階層的制御データを前記データストリームから復号化するステップを含み、前記制御データ部分は、制御データ部分の前記シーケンスに沿って詳細度を増して前記ニューラルネットワークに関する情報を提供する、方法。
【請求項278】
コンピュータによって実行されるとき、コンピュータに請求項254乃至277のいずれかに記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願発明は、ニューラルネットワークの表現形式に関する概念に関するものである。
【背景技術】
【0002】
ニューラルネットワーク(NN)は、現在、多くのアプリケーションでブレークスルーを起こしている。
-画像/ビデオデータにおけるオブジェクトの検出や分類
-音声の音声認識・キーワード認識
-音声合成
-光学式文字認識
-言語翻訳
-など
【0003】
しかし、NNの表現に必要なデータ量が膨大であるため、利用シーンによっては適用が困難な場合がある。多くの場合、このデータは、ニューロン間の接続を表現する「重み」と「バイアス」という2種類のパラメータで構成されている。重みは通常、入力値に対して何らかの線形変換(例えば、内積や畳み込み)を行うパラメータ、言い換えれば、ニューロンの入力に重みを付けるパラメータであり、バイアスは線形計算後に追加されるオフセット、言い換えれば、ニューロンが受信した重み付きメッセージの集計を相殺するものである。より具体的には、これらの重み、バイアス、およびNNの各層(最大数百)の潜在的に非常に多数のニューロン(最大数千万)の2つの間の各接続を特徴付けるさらなるパラメータが、特定のNNに関連するデータの主要部分を占有する。また、これらのパラメータは、典型的には、サイズの大きい浮動小数点の日付型から構成されている。これらのパラメータは通常、各層(レイヤー)の全パラメータを含む大きなテンソルとして表現される。アプリケーションで、関連するNNの頻繁な送信や更新が必要な場合、必要なデータレートが深刻なボトルネックとなる。したがって、NN表現の符号化サイズを縮小するために、これらのマトリックス(行列)の非可逆圧縮を行うことが有望なアプローチである。
【0004】
通常、パラメータテンソルは、NNを完全に再構成して実行するために必要なすべてのデータ(上記のパラメータマトリックスなど)とさらなる特性(パラメータテンソルの次元、層(レイヤー)のタイプ、演算など)を運ぶコンテナ形式(ONNX(Open Neural Network Exchange)、Pytorch、TensorFlowなど)で格納される。
【0005】
機械学習予測因子、あるいは、代替的に言えば、ニューラルネットワークなどの機械学習モデルの送信/更新を、NN表現のコード化されたサイズ、計算上の推論の複雑さ、NN表現の記述または保存の複雑さを同時に低減しながら推論品質の保存の点でより効率的にする、あるいは現在よりも頻繁にNNの送信/更新を可能にする、あるいは目下の特定のタスク及び/又は特定のローカル入力データ統計の推論品質を改善するように、より効率的にする概念を手元に持つことは有利であろう。さらに、ニューラルネットワークの使用法が現在よりも効果的になるように、ニューラルネットワークに基づく予測を行う際のニューラルネットワーク表現、そのようなニューラルネットワーク表現の導出、およびそのようなニューラルネットワーク表現の使用法を提供することが有利であろう。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従って、本発明の目的は、ニューラルネットワークの効率的な利用、及び/又は、ニューラルネットワークの効率的な送信及び/又は更新のための概念を提供することである。この目的は、本願の独立請求項の主題によって達成される。
【課題を解決するための手段】
【0007】
本発明による更なる実施形態は、本願の従属請求項の主題によって定義される。
【0008】
本願発明の第1の側面の基礎となる考え方は、NNの表現が符号化されたデータストリームに直列化パラメータを符号化/復号化すれば、ニューラルネットワーク(NN)の使用効率が高くなる、というものである。直列化パラメータは、NNのニューロン相互接続を定義するNNパラメータがデータストリームに符号化される符号化順序を示す。ニューロン相互接続は、NNの異なるNN層のニューロン間の接続を表現する場合がある。言い換えれば、NNパラメータは、NNの第1層に関連する第1ニューロンと、NNの第2層に関連する第2ニューロンとの間の接続を定義する場合がある。復号化は、符号化順序を使用して、データストリームから連続的に復号化されたNNパラメータをニューロン相互接続に割り当てることができる。
【0009】
特に、直列化パラメータを用いることで、ビット列を意味のある連続したNNパラメータのサブセットに効率的に分割できることがわかった。直列化パラメータは、NNの効率的な実行を可能にするNNパラメータのグループ化を示しているのかもしれない。これは、NNのアプリケーションシナリオに依存して行われるかもしれない。異なるアプリケーションシナリオの場合、符号化は、異なる符号化順序を使用してNNパラメータを走査するかもしれない。したがって、NNパラメータは、NNのアプリケーションシナリオに依存する個々の符号化順序を使用して符号化することができ、復号化は、直列化パラメータによって提供される情報によって、復号化中にそれに応じてNNパラメータを再構成することができる。NNパラメータは、1つ以上のパラメータマトリックス(行列)またはテンソルのエントリを表現する場合があり、パラメータマトリックスまたはテンソルは推論手続きに使用される場合がある。NNの1つ以上のパラメータマトリックスまたはテンソルは、復号化されたNNパラメータと直列化パラメータに基づいて、復号化器によって効率的に再構成されることが判明している。
【0010】
このように、直列化パラメータは、異なるアプリケーション固有の符号化順序を使用することができ、効率を改善した柔軟な符号化および復号化を可能にする。例えば、異なる次元に沿ってパラメータを符号化すると、エントロピー符号化器がそれらの間の依存関係をよりよく捕らえることができるため、結果として圧縮性能に利益をもたらすことがある。別の例では、あるアプリケーション固有の基準、すなわち、入力データのどの部分に関連するか、あるいは、共同実行可能かどうかに従ってパラメータをグループ化し、並行して復号/入力できるようにすることが望ましい場合がある。さらなる例は、ドット積演算を実行する際に復号化されたパラメータの効率的なメモリ割り当てをサポートするGEMM(General Matrix Matrix)積スキャン順序に従ってパラメータを符号化することである(Andrew Kerr、2017)。
【0011】
さらなる実施形態は、例えば、符号化されるNNパラメータのエネルギー圧縮を達成し、その後、結果の順序に従って結果の並べ替えデータを処理/直列化/符号化するために、データの符号化器側の選択並べ替えに向けられている。従って、並べ替えは、符号化順序に沿って着実に同じ増加または同じ減少をするように、パラメータを並べ替えることができる。
【0012】
本願の第2の側面によれば、本願の発明者は、NNの表現が符号化されたデータストリームに/から数値計算表現パラメータを符号化/復号化すると、ニューラルネットワーク(NN)の使用効率が高くなることに気付いた。数値計算表現パラメータは、データストリームに符号化されたNNのNNパラメータがNNを推論に用いる際に表現されるべき数値表現、例えば浮動小数点または固定小数点表現、およびビットサイズを示す。符号化器は、NNパラメータを符号化するように構成される。復号化器は、NNパラメータを復号化するように構成され、データストリーム、DSから復号化されたNNパラメータを表現するために数値表現とビットサイズを使用するように構成されるかもしれない。
【0013】
本実施形態は、NNパラメータと、NNを用いた推論においてNNパラメータを使用した結果得られる活性化値とを、同じ数値表現とビットサイズで表現することが有利であるという考えに基づいている。数値計算表現パラメータに基づき、NNパラメータの示された数値表現およびビットサイズと、活性化値の数値表現およびビットサイズの可能性を効率的に比較することが可能である。これは、数値計算表現パラメータが数値表現として固定小数点表現を示している場合に特に有利であると考えられる。なぜなら、NNパラメータと活性化値の両方を固定小数点表現で表現することができれば、固定小数点演算により効率的に推論を行うことができるためである。
【0014】
本願の第3の態様によれば、本願の発明者は、NNの表現が符号化されたデータストリームに/からNN層タイプパラメータを符号化/復号化すると、ニューラルネットワークの使用効率が高くなることを実現した。NN層タイプパラメータは、NNの所定のNN層のNN層タイプ(例えば、畳み込み層タイプまたは完全連結層タイプ)を示す。データストリームは、1つ以上の個別にアクセス可能な部分に構造化され、それぞれの個別にアクセス可能な部分は、NNの対応するNN層を表現している。所定のNN層は、ニューラルネットワークのNN層のうちの1つを表現する。任意選択で、NNの2つ以上の所定のNN層のそれぞれについて、NN層タイプパラメータがデータストリームに/から符号化/復号化され、NN層タイプパラメータは少なくともいくつかの所定のNN層間で異なることが可能である。
【0015】
この実施形態は、例えば、パラメータテンソル/マトリックスの次元の意味を理解するために、データストリームがNN層のNN層タイプパラメータを含んでいることが有用であるかもしれないという考えに基づいている。さらに、データの依存性をよりよく捕捉し、より高い符号化効率につながるように、例えば、文脈(コンテキスト)モデルの異なるセットまたはモードを使用することによって、復号化が復号化前に知っておくべき重要な情報を符号化する際に、異なる層(レイヤー)が異なるように扱われることがある。
【0016】
同様に、NNパラメータのパラメータタイプを示すタイプパラメータをデータストリームに符号化/復号化することが有利な場合がある。タイプパラメータは、NNパラメータが重みを表現するかバイアスを表現するかを示すことができる。データストリームは、1つ以上の個別にアクセス可能な部分に構造化されており、それぞれの個別にアクセス可能な部分は、NNの対応するNN層を表現している。対応する所定のNN層を表現する個別にアクセス可能な部分は、個別にアクセス可能なサブ部分にさらに構造化されるかもしれない。それぞれの個別にアクセス可能なサブ部分は、後続の個別にアクセス可能なサブ部分が符号化順序によって走査される前に、符号化順序によって完全に走査される。各個別にアクセス可能なサブ部分には、例えば、NNパラメータとタイプパラメータが符号化され、復号化されることが可能である。最初の個別にアクセス可能なサブ部分のNNパラメータは、第2の個別にアクセス可能なサブ部分のNNパラメータと異なるパラメータタイプであっても、同じパラメータタイプであってもよい。同じNN層に関連する異なるタイプのNNパラメータは、同じ個別にアクセス可能な部分に関連する異なる個別にアクセス可能なサブ部分へ符号化/から復号化されるかもしれない。パラメータタイプの区別は、例えば、パラメータのタイプごとに異なるタイプの依存性を使用できる場合、または並列復号化が望まれる場合などに、符号化/復号化にとって有益であり得る。例えば、同じNN層に並列に関連付けられた異なるタイプのNNパラメータを符号化/復号化することが可能である。これにより、NNパラメータの符号化/復号化の効率が向上し、また、エントロピー符号化器がNNパラメータ間の依存関係をよりよく捉えることができるため、結果として圧縮性能に有利となる場合がある。
【0017】
本願の第4の態様によれば、本願の発明者は、NNの表現が符号化されたデータストリームにポインタを符号化/データストリームからポインタを復号化すると、ニューラルネットワークの送信/更新が非常に効率的になることを発見した。これは、データストリームが個別にアクセス可能な部分に構成され、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、ポインタがそれぞれの所定の個別にアクセス可能な部分の始まりを指し示しているためである。すべての個別にアクセス可能な部分が所定の個別にアクセス可能な部分である必要はないが、すべての個別にアクセス可能な部分が所定の個別にアクセス可能な部分を表現する可能性がある。1つ以上の所定の個別アクセス可能部分は、デフォルトで設定されるかもしれないし、データストリームに符号化されたNNのアプリケーションに依存して設定されるかもしれない。ポインタは、例えば、バイト単位のデータストリーム位置として、またはオフセット、例えばデータストリームの始まりに対して、またはそれぞれの所定の個別にアクセス可能な部分が属するNN層に対応する部分の始まりに対するオフセットとして、それぞれの所定の個別にアクセス可能な部分の始まりを示す。このポインタは、データストリームのヘッダ部分に符号化/ヘッダ部分から復号化される場合がある。実施形態によれば、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、ポインタは、それぞれの所定の個別アクセス可能な部分がニューラルネットワークの対応するNN層を表現する場合には、データストリームのヘッダ部分に符号化/復号化され、それぞれの所定の個別アクセス可能な部分がNNのNN層を表現する場合には、ポインタがNN層の対応する部分のパラメータセット部分に符号化/復号化されている。NNのNN層のNN部分は、それぞれのNN層のベースライン部分を表現するかもしれないし、あるいは、それぞれの層(レイヤー)のアドバンスド部分(advanced section)を表現するかもしれない。ポインタを用いることで、データストリームの所定の個別にアクセス可能な部分に効率的にアクセスすることができ、例えば、層(レイヤー)処理の並列化や、データストリームをそれぞれのコンテナ形式にパッケージ化することが可能となる。ポインタを利用することで、所定の個別にアクセス可能な部分へより簡単に、より速く、より適切にアクセスできるため、NNの並列または部分的な復号化と実行を必要とするアプリケーションを容易にする。
【0018】
本願の第5の態様によれば、本願の発明者は、開始コード、ポインタ、及び/又はデータストリーム長パラメータが、NNの表現が符号化されたデータストリームの個別にアクセス可能なサブ部分へ符号化/データストリームからサブ部分が復号化される場合、ニューラルネットワークの送信/更新が非常に効率化することを実現した。データストリームは、1つ以上の個別にアクセス可能な部分に構造化され、それぞれの個別にアクセス可能な部分は、ニューラルネットワークの対応するNN層を表現している。さらに、データストリームは、1つ以上の所定の個別にアクセス可能な部分内で、個別にアクセス可能なサブ部分にさらに構造化され、それぞれの個別にアクセス可能なサブ部分は、ニューラルネットワークのそれぞれのNN層の対応するNN部分を表現している。装置は、1つ以上の所定の個別にアクセス可能なサブ部分のそれぞれについて、それぞれの所定の個別にアクセス可能なサブ部分が始まる開始コード、及び/又はそれぞれの所定の個別にアクセス可能なサブ部分の始まりを指すポインタ、及び/又はDSを解析する際にそれぞれの所定の個別にアクセス可能なサブ部分をスキップするためにそれぞれの所定の個別にアクセス可能なサブ部分のデータストリーム長を示すデータストリーム長パラメータを、データストリームに符号化して/データストリームから復号化するよう構成されている。開始コード、ポインタ、及び/又は、データストリーム長パラメータは、所定の個別にアクセス可能なサブ部分への効率的なアクセスを可能にする。これは、NNパラメータを部分的にまたは並行して復号/処理/入力させることが有益であるため、特定の構成可能な方法でNN層内のNNパラメータのグループ化に依存し得るアプリケーションに特に有益である。したがって、個別にアクセス可能な部分への個別にアクセス可能なサブ部分ごとのアクセスは、必要なデータに並行してアクセスしたり、不要なデータ部分を除外したりするのに役立つ。また、それは、開始コードを用いて示すことで十分であることが判明した。これは、NN層ごとのデータ量、すなわち個別にアクセス可能な部分は、通常、NN層がデータストリーム全体の中で開始コードによって検出される場合よりも少ないという知見に基づくものである。それでも、個別にアクセス可能な部分へのアクセスを改善するために、ポインタ及び/又はデータストリーム長パラメータを使用することも有利である。実施形態によれば、データストリームの個別にアクセス可能な部分内の1つ以上の個別にアクセス可能なサブ部分は、個別にアクセス可能な部分のパラメータセット部分内のデータストリーム位置をバイトで示すポインタによって示される。データストリーム長パラメータは、個別にアクセス可能なサブ部分のラン長を示す場合がある。データストリーム長パラメータは、データストリームのヘッダ部分へ符号化/から復号化、または個別にアクセス可能な部分のパラメータセット部分へ符号化/から復号化されるかもしれない。データストリーム長パラメータは、1つ以上の個別にアクセス可能なサブ部分を適切なコンテナにパッケージする目的で、それぞれの個別にアクセス可能なサブ部分の切り出しを容易にするために使用されるかもしれない。実施形態によれば、データストリームを復号化する装置は、1つ以上の所定の個別にアクセス可能なサブ部分について、データストリームにアクセスするために、開始コード及び/又はポインタ及び/又はデータストリーム長パラメータを使用するように構成される。
【0019】
本願の第6の態様によれば、本願の発明者は、NNの表現が符号化されているデータストリームに処理オプションパラメータが符号化/データストリームから処理オプションパラメータが復号化されると、ニューラルネットワークの使用効率が高くなることに気付いた。データストリームは、個別にアクセス可能な部分に構造化され、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、処理オプションパラメータは、ニューラルネットワークを推論に使用する際に使用しなければならない、または任意に使用することができる1つ以上の処理オプションを示す。処理オプションパラメータは、クライアントが個別にアクセス可能な部分(P)及び/又は個別にアクセス可能なサブ部分(SP)にアクセスするかどうか、およびどのようにアクセスするかを決定するさまざまな処理オプションのうちの1つの処理オプションを示す場合がある。例えば、P及び/又はSPのそれぞれについて、それぞれのPまたはSPの並列処理能力及び/又はそれぞれのPまたはSPのサンプル単位並列処理能力及び/又はそれぞれのPまたはSPのチャネル単位並列処理能力及び/又はそれぞれのPまたはSPの分類カテゴリ単位並列処理能力及び/又は他の処理オプションのようにである。処理オプションパラメータは、クライアントの適切な意思決定を可能にし、その結果、NNの高効率な使用を可能にする。
【0020】
本願の第7の側面によれば、本願の発明者は、NNパラメータを逆量子化するための再構成ルールが、NNパラメータが属するNN部分に依存する場合、ニューラルネットワークの送信/更新が高効率化することを発見した。ニューラルネットワークを表現するNNパラメータは、量子化インデックスに量子化されてデータストリームに符号化される。復号化するための装置は、例えば、再構成ルールを使用して、NNパラメータを再構成するために量子化インデックスを逆量子化するように構成される。NNパラメータは、NNの異なるNN部分のNNパラメータが異なるようにデータストリームに符号化され、データストリームは、NN部分のそれぞれについて、それぞれのNN部分に関連するNNパラメータを逆量子化するための再構成ルールを示している。復号化するための装置は、NN部分のそれぞれについて、それぞれのNN部分に関するデータストリームによって示される再構成ルールを使用して、それぞれのNN部分におけるNNパラメータを逆量子化するように構成される。NN部分は、例えば、NNの1つ以上のNN層及び/又はNNの所定のNN層が細分化されたNN層の部分を含む。
【0021】
実施形態によれば、第1のNN部分に関連するNNパラメータを逆量子化するための第1の再構成ルールは、第2のNN部分に関連するNNパラメータを逆量子化するための第2の再構成ルールに対してデルタ符号化されてデータストリームに符号化される。第1のNN部分は第1のNN層からなり、第2のNN部分は第2の層からなる可能性があり、第1のNN層は第2のNN層と異なる。あるいは、第1のNN部分は第1のNN層からなり、第2のNN部分は第1のNN層のうちの1つの部分からなる可能性がある。この代替例では、所定のNN層の一部におけるNNパラメータに関連する再構成ルール、例えば第2の再構成ルールが、所定のNN層に関連する再構成ルール、例えば第1の再構成ルールに対してデルタ符号化される。この再構成ルールの特別なデルタ符号化は、再構成ルールをシグナリングするために少数のビットしか使用しないことを可能にし、ニューラルネットワークの効率的な送信/更新をもたらすことができるかもしれない。
【0022】
本願の第8の態様によれば、本願の発明者は、NNパラメータを逆量子化するための再構成ルールが、NNパラメータに関連する量子化インデックスの大きさに依存する場合、ニューラルネットワークの送信/更新が非常に効率化されることに気付いた。ニューラルネットワークを表現するNNパラメータは、量子化インデックスに量子化されてデータストリームに符号化される。復号化するための装置は、例えば、再構成ルールを使用して、NNパラメータを再構成するために量子化インデックスを逆量子化するように構成される。データストリームは、NNパラメータを逆量子化するための再構成ルールを示すために、量子化ステップサイズを示す量子化ステップサイズパラメータと、量子化インデックス-再構成レベルマッピングを定義するパラメータセットと、を備える。所定のNN部分におけるNNパラメータの再構成ルールは、所定のインデックス間隔(interval、区間)内の量子化インデックスに対しては量子化ステップサイズにより定義され、所定のインデックス間隔外の量子化インデックスに対しては量子化インデックス-再構成レベルマッピングにより定義される。各NNパラメータについて、例えば所定のインデックス間隔内の量子化インデックスに対応するそれぞれのNNパラメータは、それぞれの量子化インデックスに量子化ステップサイズを乗算することによって再構成され、例えば所定のインデックス間隔外の量子化インデックスに対応するそれぞれのNNパラメータは、それぞれの量子化インデックスを量子化インデックス-再構成レベルマッピングを用いて再構成レベル上にマッピングすることによって再構成される。復号化器は、データストリーム内のパラメータセットに基づいて量子化インデックス-再構成レベルマッピングを決定するように構成されるかもしれない。実施形態によれば、パラメータセットは、量子化インデックス-再構成レベルマッピングのセットのうちの1つの量子化インデックス-再構成レベルマッピングを指すことによって量子化インデックス-再構成レベルマッピングを定義し、量子化インデックス-再構成レベルマッピングのセットはデータストリームの一部でない可能性があり、例えば、符号化器側および復号化器側で保存される可能性がある。量子化インデックスの大きさに基づいて再構成ルールを定義すると、少ないビット数で再構成ルールのシグナリング(signalling、信号化)が可能となる。
【0023】
本願の第9の態様によれば、本願の発明者は、NNの表現が符号化されたデータストリームの個別にアクセス可能な部分に識別パラメータを符号化/から識別パラメータを復号化すれば、ニューラルネットワークの送信/更新が非常に効率的になることに気付いた。データストリームは、個別にアクセス可能な部分に構造化され、1つ以上の所定の個別にアクセス可能な部分のそれぞれについて、それぞれの所定の個別にアクセス可能な部分を識別するための識別パラメータが、データストリームに符号化/データストリームから復号化されている。識別パラメータは、所定の個別にアクセス可能な部分のバージョンを示すかもしれない。これは、多くのクライアントが個別にNNをさらに学習し、相対的なNNの更新を中央のエンティティに送り返す分散学習のようなシナリオにおいて特に有利である。識別パラメータは、バージョニング(バージョン管理)スキームによって個々のクライアントのNNを識別するために使用され得る。それによって、中央のエンティティは、NN更新が構築されているNNを識別することができる。追加的に、または代替的に、識別パラメータは、所定の個別にアクセス可能な部分が、NNのベースライン部分と関連しているかどうか、またはNNのアドバンスドの/強化された/完全な部分と関連しているかどうかを示すかもしれない。これは、例えば、スケーラブルNNのようなユースケース(use cases)において有利であり、完全な結果を受け取るために完全なまたは強化されたNNが実行される前に、例えば、予備結果を生成するために、NNのベースライン部分が実行され得る。さらに、NNを表現するNNパラメータに基づいて再構成可能なパラメータテンソルの送信エラーまたは不随意の変化は、識別パラメータを使用して容易に認識可能である。識別パラメータにより、事前に決定された個別にアクセス可能な各部分が整合性をチェックし、NN特性に基づいて検証できる場合に操作をよりエラーロバストにすることができる。
【0024】
本願の第10の態様によれば、本願の発明者は、デルタ符号化を用いて、または補償スキームを用いて、異なるバージョンのNNをデータストリームに符号化/データストリームから復号化すれば、ニューラルネットワークの送信/更新が非常に効率化されることに気付いた。データストリームは、NNの異なるバージョンがデータストリームに符号化されるように、NNの表現が層(レイヤー)方式で符号化されている。データストリームは、1つ以上の個別にアクセス可能な部分に構造化されており、それぞれの個別にアクセス可能な部分は、NNの対応するバージョンに関連している。データストリームは、例えば、第1の部分に符号化されたNNの第1のバージョンは、第2の部分に符号化されたNNの第2のバージョンに対してデルタ符号化されている。追加的に、または代替的に、データストリームは、例えば、1つまたは複数の補償NN部分の形で第1の部分に符号化されたNNの第1のバージョンを有し、その各々は、NNの第1のバージョンに基づいて推論を行うために、第2の部分に符号化されたNNの第2のバージョンの対応するNN部分の実行に加えて実行され、それぞれの補償NN部分および対応するNN部分の出力が合計される。データストリーム中のNNのこれらの符号化されたバージョンにより、クライアント、例えば、復号化器は、その処理能力を合わせることができ、または、第2のバージョン、例えば、より複雑な前進した(advanced)NNを処理する前に、第1のバージョン、例えば、ベースラインで最初に推論を行うことができるかもしれない。さらに、デルタ符号化及び/又は補償スキームを適用/使用することにより、NNの異なるバージョンは、少ないビット数でDSに符号化されることができる。
【0025】
本願の第11の態様によれば、本願の発明者は、NNの表現が符号化されているデータストリームの個別にアクセス可能な部分に補足データを符号化/から補足データを復号化すると、ニューラルネットワークの使用効率が高くなることに気付いた。データストリームは、個別にアクセス可能な部分に構造化され、データストリームは、1つ以上の所定の個別にアクセス可能な部分の各々について、NNの表現を補足するための補足データを含んでいる。この補足データは、通常、NNの復号化/再構成/推論には必要ないが、アプリケーションの観点からは不可欠となり得る。したがって、この補足データを、唯一の推論を目的とするNNの復号化に無関係であるとマークして、補足データを必要としないクライアント、例えば復号化器が、データのこの部分をスキップできるようにすることが有利である。
【0026】
本願の第12の態様によれば、本願の発明者は、NNの表現が符号化されたデータストリームに、階層的制御データを符号化/復号化すれば、ニューラルネットワークの利用が非常に効率的になることに気がついた。データストリームは、制御データ部分のシーケンスに構造化された階層的制御データからなり、制御データ部分は、NNに関する情報を制御データ部分のシーケンスに沿って詳細度を増して提供する。制御データを階層的に構造化することは、復号化器があるレベルの態様までの制御データしか必要としない場合があり、したがって、さらなる態様を提供する制御データをスキップすることができるので有利である。このように、ユースケースと環境に関する知識に応じて、異なるレベルの制御データが必要となる場合があり、このような制御データを提示する前述の方式により、異なるユースケースに対して必要な制御データへの効率的なアクセスが可能となる。
【0027】
いくつかの態様を装置の文脈で説明してきたが、これらの態様は、ブロックまたは装置が方法ステップまたは方法ステップの特徴に対応する方法の説明も表していることは明らかである。実施形態は、コンピュータ上で実行されるとき、そのような方法を実行するためのプログラムコードを有するコンピュータプログラムに関する。
【0028】
本発明の実施形態は、従属請求項の主題である。本願発明の好ましい実施形態は、図に関して以下に説明される。図面は必ずしも縮尺通りではなく、代わりに一般に本発明の原理を説明することに重点が置かれている。以下の説明において、本発明の様々な実施形態が、以下の図面を参照して説明される。
【図面の簡単な説明】
【0029】
【
図1】
図1は、ニューラルネットワークを符号化/復号化するための符号化/復号化パイプラインの一例を示す図である。
【
図2】
図2は、実施形態の1つに従って符号化/復号化され得るニューラルネットワークを示す図である。
【
図3】
図3は、実施形態による、ニューラルネットワークの層のパラメータテンソルの直列化(シリアライゼーション)を示す図である。
【
図4】
図4は、実施形態による、ニューラルネットワークのパラメータがどのように直列化されるかを示すための直列化パラメータの使用法を示す図である。
【
図5】
図5は、単一出力チャネル畳み込み層の例を示す図である。
【
図7a】
図7aは、実施形態による、ニューラルネットワークパラメータが符号化され得るn個の符号化順序のセットを示す図である。
【
図7b】
図7bは、実施形態による、ニューラルネットワークパラメータが符号化され得るn個の符号化順序のセットを示す図である。
【
図7c】
図7cは、実施形態による、ニューラルネットワークパラメータが符号化され得るn個の符号化順序のセットを示す図である。
【
図7d】
図7dは、実施形態による、ニューラルネットワークパラメータが符号化され得るn個の符号化順序のセットを示す図である。
【
図8】
図8は、実施形態による、個別にアクセス可能な部分またはサブ部分の文脈適応型算術符号化を示す図である。
【
図9】
図9は、実施形態による、数値計算表現パラメータの使用法を示す図である。
【
図10】
図10は、実施形態による、ニューラルネットワークのニューラルネットワーク層のニューラルネットワーク層タイプを示すニューラルネットワーク層タイプパラメータの使用法を示す図である。
【
図11】
図11は、実施形態による、個別にアクセス可能な部分の始まりを指すポインタを有するデータストリームの一般的な実施形態を示す図である。
【
図12】
図12は、実施形態による、個別にアクセス可能な部分の始まりを指すポインタを有するデータストリームの詳細な実施形態を示す図である。
【
図13】
図13は、実施形態による、個別にアクセス可能なサブ部分へのアクセスを可能にするための、開始コード、及び/又はポインタ、及び/又はデータストリーム長パラメータの使用法を示す図である。
【
図14a】
図14aは、実施形態による、ポインタを用いたサブ層アクセスを示す図である。
【
図14b】
図14bは、実施形態による、開始コードを使用したサブ層アクセスを示す図である。
【
図15】
図15は、実施形態による、個別にアクセス可能な部分に対する可能な処理オプションとしてのランダムアクセスの例示的なタイプを示す図である。
【
図16】
図16は、実施形態による、処理オプションパラメータの使用法を示す図である。
【
図17】
図17は、実施形態による、ニューラルネットワーク部分依存再構成ルールの使用法を示す図である。
【
図18】
図18は、実施形態による、量子化されたニューラルネットワークパラメータを表現する量子化インデックスに基づく再構成ルールの決定を示す図である。
【
図19】
図19は、実施形態による、識別パラメータの使用法を示す図である。
【
図20】
図20は、実施形態による、異なるバージョンのニューラルネットワークの符号化/復号化を示す図である。
【
図21】
図21は、実施形態による、2つのバージョンのニューラルネットワークのデルタ符号化であり、2つのバージョンは、その重み及び/又はバイアスが異なることを示す図である。
【
図22】
図22は、実施形態による、2つのバージョンのニューラルネットワークの代替デルタ符号化を示し、2つのバージョンは、ニューロンまたはニューロンの相互接続の数が異なっている。
【
図23】
図23は、実施形態による、補償ニューラルネットワーク部分を使用するニューラルネットワークの異なるバージョンの符号化を示す図である。
【
図24a】
図24aは、実施形態による、補足データを有するデータストリームの一実施形態を示す。
【
図24b】
図24bは、実施形態による、補足データを有するデータストリームの代替的な実施形態を示す。
【
図25】
図25は、制御データ部分のシーケンスを有するデータストリームの一実施形態を示す図である。
【発明を実施するための形態】
【0030】
また、以下の説明では、異なる図に記載されている場合でも、同等または同等の機能を持つ要素には、同等または同等の参照数字を付している。
【0031】
以下の説明では、本発明の実施形態のより全体的な説明を提供するために、複数の詳細が記載されている。しかし、本発明の実施形態は、これらの特定の詳細なしに実施され得ることは、当業者には明らかであろう。他の例では、本発明の実施形態を不明瞭にしないために、周知の構造およびデバイスは、詳細ではなくブロック図の形態で示される。さらに、本明細書で後述する異なる実施形態の特徴は、特に断りのない限り、互いに組み合わせてもよい。
【0032】
以下の本願の実施形態の説明は、その利点と、同じものがこれらの利点をどのように達成するかを説明するために、本願の実施形態の簡単な紹介と概要から始まる。
【0033】
現在進行中のNN圧縮に関するMPEG活動で開発されたようなNNの符号化表現の現在の活動では、複数の層(レイヤー)方式のパラメータテンソルを表現するモデルビットストリームを、個々の層のパラメータテンソルの符号化表現を含むより小さなサブビットストリーム、すなわち層(レイヤー)ビットストリームに分けることが有益であることが見出された。これは、そのようなモデルビットストリームがコンテナ形式の文脈で保存/ロードされる必要がある場合、またはNN層の並列復号化/実行を特徴とするアプリケーションシナリオで一般に役立つことができる。
【0034】
以下では、ニューラルネットワーク、NNの効果的な圧縮を達成すること、及び/又はNNを表現するデータへのアクセスを改善し、したがってNNの効果的な送信/更新をもたらすことを支援し得る様々な例を説明する。
【0035】
本願の以下の実施例の理解を容易にするために、説明は、本願の後続の概略的な実施例が組み込まれ得る、それに適合する可能な符号化器及び復号化器の提示から始まる。
【0036】
図1は、DeepCABACによる符号化/復号化パイプラインの簡単なスケッチ例を示し、このような圧縮スキームの内部動作を説明するものである。まず、ニューロン14、20及び/又は18間、例えば先行ニューロン14
1~14
3と中間ニューロン20
1、20
2との間の接続22、例えば接続22
1~22
6の重み32、例えば重み32
1~32
6が、本例ではマトリックス30として示されているテンソルに形成される(
図1のステップ1)。
図1のステップ1では、例えば、ニューラルネットワーク10、NNの第1層に関連する重み32が、マトリックス30に形成される。
図1に示す実施形態によれば、マトリックス30の列は先行ニューロン14
1~14
3に関連付けられ、マトリックス30の行は中間ニューロン20
1、20
2に関連付けられるが、形成されたマトリックスは代替的に図示のマトリックス30の反転を表現することができることは明らかである。
【0037】
次に、各NNパラメータ、例えば重み32は、ステップ2及び3に示すように、文脈(context)適応型算術符号化600を用いて、特定の走査順序、例えば行優先順(左から右、上から下)に従って符号化、例えば量子化及びエントロピ符号化される。以下により詳細に概説するように、異なる走査順序、すなわち符号化順序を使用することも可能である。ステップ2および3は、符号化器40、すなわち符号化するための装置によって実行される。復号化器50、すなわち復号化のための装置は、逆の処理順序のステップで同じプロセスに従う。すなわち、まず、ステップ4に示すように、符号化された値の整数表現のリストを復号化し、次に、ステップ5に示すように、そのリストをそのテンソル表現30’に再形成する。最後に、ステップ6に示すように、テンソル30’をネットワークアーキテクチャ10’、すなわち再構築されたNNにロードする。再構成されたテンソル30’は、再構成されたNNパラメータ、すなわち復号化されたNNパラメータ32’を構成している。
【0038】
図1に示すNN10は、少数のニューロン14、20、18を有する単純なNNに過ぎない。ニューロンは、以下において、ノード、要素、モデル要素、または次元としても理解される。さらに、参照符号10は、機械学習(ML)予測器、言い換えれば、ニューラルネットワークのような機械学習モデルを示す。
【0039】
図2を参照しながら、ニューラルネットワークをより詳細に説明する。特に、
図2は、入力ノード又は要素14を有する入力インターフェース12と、出力ノード又は要素18を有する出力インターフェース16とを備えるML予測器10を示す。入力ノード/要素14は、入力データを受信する。言い換えれば、入力データはそこに適用される。例えば、それらは、例えば、各要素14がピクチャのピクセルと関連付けられているピクチャを受け取ることができる。あるいは、要素14上に適用される入力データは、オーディオ信号、センサ信号などの一次元信号のような信号であってもよい。さらに代替的に、入力データは、医療ファイルデータなどの特定のデータセットを表現するものであってもよい。入力要素14の数は、任意の数であってよく、例えば、入力データのタイプに依存する。出力ノード18の数は、
図1に示すように1つであってもよいし、
図2に示すように1つよりも多くてもよい。各出力ノードまたは要素18は、特定の推論または予測タスクと関連付けられてもよい。特に、ML予測器10がML予測器10の入力インターフェース12上に適用されたある入力上に適用されると、ML予測器10は、各出力ノード18で生じる活性化、すなわち活性化値が、例えば、入力された画像が車、人、相などのあるオブジェクトを含むか否かなどのある特徴を有するか否か、またはどの程度ありそうかなどの入力データに関するある質問に対する答えを示すことができる推論または予測結果を出力インターフェース16において出力する。
【0040】
この点で、入力インターフェースに適用される入力は、活性化、すなわち各入力ノードまたは要素14に適用される活性化として解釈されることもある。
【0041】
入力ノード14と出力ノード(複数可)18との間で、ML予測器10は、さらなる要素またはノード20を含み、これらは、これらの先行ノードから活性化を受け取るように先行ノードに接続22を介して、また、ノード20の活性化、すなわち活性化値を後継ノードに転送するために後継ノードに一つ以上のさらなる接続24を介して接続される。
【0042】
先行ノードは、ML予測器10の他の内部ノード20であってもよく、それを介して、
図2に例示的に示される中間ノード20が間接的に入力ノード14に接続されてもよく、又は
図1に示されるように、直接的に入力ノード14に接続されてもよく、後継ノードは、ML予測器10の他の中間ノードであってもよく、それを介して、例示的に示される中間ノード20が出力インターフェース又は出力ノードに接続されるか、又は
図1に示されるように、直接的に出力ノード28に接続されてもよい。
【0043】
ML予測器10の入力ノード14、出力ノード18及び内部ノード20は、ML予測器10の特定の層(レイヤー)に関連付けられ又は帰属することができるが、ML予測器10の層構造化は任意であり、本願の実施形態が適用されるML予測器は、このような層状(レイヤー状)ネットワークに制限されない。ML予測器10の例示的に示された中間ノード20に関する限り、同じものは、入力インターフェース12から接続22を介して受け取った先行ノードから接続24を介して出力インターフェース16に向かって後継ノードに活性化、すなわち活性化値を転送することによってML予測器10の推論又は予測タスクに貢献する。その際、ノードまたは要素20は、入力ノード22における活性化、すなわち活性化値に基づいて、接続24を介して後継ノードに向けて転送されるその活性化、すなわち活性化値を計算し、その計算は、それぞれの先行ノードから受け取った入力、すなわちその活性化と、それぞれの先行ノードおよび中間ノード20を接続する接続22に関連する重みとの積であるそれぞれの接続22に対する加重和すなわち加算を有する和を計算することを含む。代替的にまたはより一般的に、活性化xは、ノードまたは要素i、20から接続24を介して、マッピング関数mij(x)によって後継ノードjの方へ転送されることに留意されたい。したがって、接続24と同様に各接続22も、それに関連するある種の重み、または代替的に、マッピング関数mijの結果を有することができる。ノード20が特定の後継ノードに向かって出力する活性化における計算には、任意に、さらなるパラメータが関与していてもよい。ML予測器10の部分に対する関連性スコアを決定するために、入力インターフェース12におけるある入力に対するある予測または推論タスクを終了したときに出力ノード18において生じる活性化、または関心のある予め定義されたまたは興味深い出力活性化が使用されてもよい。各出力ノード18におけるこの活性化は、関連性スコア決定のための出発点として使用され、関連性は、入力インターフェース12に向かって誤差逆伝播(back propagated)される。特に、ノード20のようなML予測器10の各ノードにおいて、関連性スコアは、ノード20の場合には接続22を介してのような先行ノードに向かって分配され、各先行ノードに関連する前述の積に比例する方法で分配され、加重和を介して、ノード20などの誤差逆伝播される活性化である現在のノードの活性化に対して寄与している。すなわち、ノード20などのあるノードからそのある先行ノードに誤差逆伝播される関連性率は、そのノードの関連性に、その先行ノードから受信した活性化とその活性化が前述のそれぞれのノードの合計に寄与した重みとの比率に応じた係数を乗じ、先行ノードの活性化とこれらの活性化がその誤差逆伝播されるべき現在のノードの加重合計に寄与した重みとのすべての積の合計に応じた値で割ることによって計算されうる。
【0044】
上記の方法において、ML予測器10の部分に対する関連性スコアは、例えば、ML予測器によって実行される1つ以上の推論においてそれ自体が現れるようなこれらの部分の活性化に基づいて決定される。このような関連性スコアが決定される「部分」は、上述したように、予測器10のノードまたは要素であってよく、ここで、再び、例えば、要素20は、例えば、予測器10によって行われる推論または予測中に計算されるような中間値の任意の計算であってよいように、ML予測器10は任意の層状(レイヤー状)MLネットワークに制限されないことに留意されたい。例えば、上で議論された方法で、要素またはノード20の関連性スコアは、このノードまたは要素20がその後継ノード/要素から受け取るインバウンド関連性メッセージを集約または合計することによって計算され、その後継ノード/要素は、順に、ノード20に関して代表的に上で概説した方法でその関連性スコアを分配する。
【0045】
図2に関して説明したML予測器10、すなわちNNは、
図1に関して説明した符号化器40を用いてデータストリーム45に符号化され、
図1に関して説明した復号化器50を用いてデータストリーム45から再構成/復号化される。
【0046】
以下に説明する特徴及び/又は機能は、
図1に関して説明した圧縮スキームで実装することができ、
図1および
図2に関して説明したNNに関連する。
【0047】
1 パラメータテンソルの直列化
ビットストリームのサブ層(レイヤー)単位処理が有効なアプリケーションが存在する。例えば、層(レイヤー)が独立したサブセット、例えば別々に学習(trained、訓練)されたベースライン部分とアドバンスド部分(advanced portion)とに構成され、クライアントがベースライン層のサブセットのみまたはアドバンスド層のサブセット(advanced layer subset)を追加で実行することを決定できる方法で、利用可能なクライアントの計算能力に適応するNNが存在する(Tao、2018年)。別の例としては、データチャンネル固有の操作を特徴とするNN、例えば、操作を例えばカラーチャンネルごとに別々に並列に実行できる画像処理NNの層がある(Chollet, 2016)。
【0048】
上記の目的のために、
図3を参照すると、層のパラメータテンソル30の直列化100
1または100
2は、例えば、エントロピー符号化の前に、アプリケーションの観点から意味のある連続したサブセット43
1から43
3、または44
1と44
2に容易に分割できるビットストリング42
1または42
2を要求している。これは、チャネル100
1ごとまたはサンプル100
2ごとのすべてのNNパラメータ、例えば重み32のグループ化、またはベースライン対アドバンスド部分のニューロンのグループ化を含むことができる。そのようなビットストリングは、その後、機能的関係を有するサブ層ビットストリームを形成するためにエントロピー符号化することができる。
【0049】
図4に示すように、直列化パラメータ102は、データストリーム45に符号化/データストリーム45から復号化することができる。直列化パラメータは、NNパラメータ32がNNパラメータ32の符号化の前または符号化時にどのようにグループ化されるかを示すことができる。直列化パラメータ102は、NNパラメータのデータストリーム45への符号化を可能にするために、パラメータテンソル30のNNパラメータ32がビットストリームに直列化される方法を示す。
【0050】
一実施形態では、直列化情報、すなわち直列化パラメータ102は、ビットストリーム、すなわちデータストリーム45のパラメータセット部分110に、層の範囲で示され、例えば
図12、14a、14bまたは24bを参照されたい。
【0051】
別の実施形態は、パラメータテンソル30(
図1及び
図7の符号化順序106
1を参照)の次元34
1及び34
2を直列化パラメータ102として信号化する。この情報は、例えば、パラメータマトリックス、すなわちパラメータテンソル30のエントリ、すなわち重み32と、サンプル100
2及び色チャンネル100
1との間の明確な関連性を有する例示的な画像処理NNについて、
図3に示されるように、効率的な実行を可能にするために、パラメータの復号化リストがそれぞれの方法で、例えばメモリ内でグループ化/編成されるべき場合において有用であり得る。
図3は、2つの異なる直列化モード100
1及び100
2と、結果として生じるサブ層43及び44の例示的な説明図である。
【0052】
さらなる実施形態では、
図4に示すように、ビットストリーム、すなわちデータストリーム45は、符号化器40がNNパラメータ32、例えば層(レイヤー)、ニューロン、テンソルを走査した順序104を、復号化器50が復号化中にそれに応じてNNパラメータ32を再構成できるように指定する。符号化器40および復号化器50の説明については
図1を参照されたい。すなわち、NNパラメータ32の異なる走査順序30
1、30
2は、異なるアプリケーションシナリオにおいて適用され得る。
【0053】
例えば、異なる次元に沿ってパラメータを符号化することは、エントロピー符号化器がそれらの間の依存関係をよりよく捕らえることができるかもしれないので、結果として生じる圧縮性能に利益をもたらすかもしれない。別の例では、あるアプリケーション特有の基準、すなわち、それらが入力データのどの部分に関連するか、またはそれらが共同で実行できるかどうかに従ってパラメータをグループ化し、それらが並行して復号化/入力されるようにすることが望ましい場合がある。さらなる例は、ドット積演算を実行する際に復号化されたパラメータの効率的なメモリ割り当てをサポートするGEMM(General Matrix Matrix)積スキャン順序に従ってパラメータを符号化することである(Andrew Kerr、2017)。
【0054】
さらなる例は、例えば、符号化されるべきNNパラメータ32のエネルギー圧縮を達成し、その後、結果として生じる順序104に従って結果として並び替えられたデータを処理/直列化/符号化するために、例えば、
図7の符号化順序106
4によって示されるデータの符号化器側の選択並べ替えに関連するものである。並び替えは、したがって、符号化順序104に沿って着実に同じ増加または同じ減少をするように、NNパラメータ32を並べ替えるものでもよい。
【0055】
図5は、例えば、画像及び/又はビデオ分析アプリケーションのための、単一出力チャンネル畳み込み層についての例を示す。カラー画像は複数のチャネルを有し、典型的には、赤、緑、青などの各色チャネルに対して1つである。データの観点からは、モデルへの入力として提供される1つの画像は、実際には3つの画像であることを意味する。
【0056】
テンソル30aは、入力データ12に適用され、一定のステップサイズでウィンドウのように入力上を走査することができる。テンソル30aは、フィルタとして理解される。テンソル30aは入力データ12を左から右へ移動し、それぞれ通過後に次の下位行へジャンプする。オプションのいわゆるパディング(padding)は、テンソル30aが入力マトリックスのエッジにぶつかったときにどのように振る舞うべきかを決定する。テンソル30aは、その視野内の各点に対して、NNパラメータ32、例えば固定重み(fixed weights)を有し、例えば、現在の視野内の画素値とこれらの重みから結果マトリックス(result matrix)を計算する。この結果マトリックスの大きさは、テンソル30aの大きさ(カーネルサイズ)、パディング、特にステップサイズに依存する。入力画像は3チャンネル(例えば深度3)を有し、次にその画像に適用されるテンソル30aも、例えば3チャンネル(例えば深度3)を有する。入力12の深さとテンソル30aの深さにかかわらず、テンソル30aは、単一の値をもたらすドット積演算を用いて、入力12に適用される。
【0057】
デフォルトで、DeepCABACは、任意の与えられたテンソル30aをそのそれぞれのマトリックス30bの形式に変換し、
図5に示すように、行長順104
1で、すなわち、左から右、上から下へとNNパラメータ32をデータストリーム45に符号化3する。しかし、
図7に関して説明するように、他の符号化順序104/106は、高い圧縮を達成するために有利であるかもしれない。
【0058】
図6は、完全連結層の場合の例である。完全連結層又は密な層は、通常のニューラルネットワーク構造であり、全てのニューロンは、全ての入力12、すなわち先行ノード、及び全ての出力16’、すなわち後継ノードに接続される。テンソル30は、対応するNN層を表現し、テンソル30は、NNパラメータ32を含む。NNパラメータ32は、符号化順序104に従ってデータストリームに符号化される。
図7に関して説明するように、特定の符号化順序104/106は、高い圧縮を達成するために有利であろう。
【0059】
ここで、説明は
図4に戻り、NNパラメータ32の直列化の一般的な説明を可能にする。
図4に関して説明した概念は、
図5を参照する単一出力チャネル畳み込み層と、
図6を参照する完全連結層の両方に適用可能である。
【0060】
図4に示すように、本願の実施形態A1は、ニューラルネットワーク(NN)の表現が符号化されたデータストリーム45(DS)に関するものである。データストリームは、ニューラルネットワークのニューロン相互接続を定義するNNパラメータ32がデータストリーム45に符号化される符号化順序104を示す直列化パラメータ102を含んでいる。
【0061】
実施形態ZA1によれば、ニューラルネットワークの表現をDS45に符号化するための装置は、ニューラルネットワークのニューロン相互接続を定義するNNパラメータ32がデータストリーム45に符号化される符号化順序104を示す直列化パラメータ102をデータストリーム45に提供するように構成される。
【0062】
実施形態XA1によれば、DS45からニューラルネットワークの表現を復号化するための装置は、例えば、ニューラルネットワークのニューロン相互接続を定義するNNパラメータ32がデータストリーム45に符号化される符号化順序104を示す直列化パラメータ102をデータストリーム45から復号化し、符号化順序104を使用してDS45から直列に復号化したNNパラメータ32をニューロン相互接続に割当てるように構成される。
【0063】
図4は、NN層に関連付けられたNNパラメータ32を有するNN層の異なる表現を示している。実施形態によれば、2次元テンソル30
1、すなわちマトリックス、または3次元テンソル30
2が、対応するNN層を表現することができる。
【0064】
以下では、異なる特徴及び/又は機能性をデータストリーム45の文脈で説明するが、特徴及び/又は機能性は、同じようにまたは同様に、実施形態ZA1による装置の、または実施形態XA1による装置の、特徴及び/又は機能性であることも可能である。
【0065】
実施形態A2によれば、先の実施形態A1のDS45のうち、NNパラメータ32は、例えば
図1及び
図8を参照すると、文脈適応型算術符号化600を用いてDS45に符号化される。したがって、実施形態ZA1による装置は、文脈適応型算術符号化600を用いてNNパラメータ32を符号化するように構成することができ、実施形態XA1による装置は、文脈適応型算術復号化を用いてNNパラメータ32を復号化するように構成することができる。
【0066】
実施形態A3によれば、実施形態A1またはA2のDS45のうち、データストリーム45は、
図8または以下の図の1つに示すように、1つ以上の個別にアクセス可能な部分200に構造化され、それぞれの個別にアクセス可能な部分200は、ニューラルネットワークの対応するNN層210を表現しており、直列化パラメータ102は、所定のNN層210内のニューラルネットワークのニューロン相互接続を定義するNNパラメータ32がデータストリーム45に符号化される符号化順序104を示す。
【0067】
実施形態A4によれば、先の任意の実施形態A1~A3のDS45のうち、直列化パラメータ102は、例えば
図7に示すように、n個の符号化順序のセット108のうち符号化順序104を示すn-aryパラメータである。
【0068】
実施形態A4aによれば、実施形態A4のDS45のうち、n個の符号化順序のセット108は、以下を含む。
所定の符号化命令104がNNの所定のNN層を記述するテンソル30の次元、例えば、x次元、y次元及び/又はz次元を走査する(トラバースする、traverse)順序において異なる第1の所定の符号化順序1061;及び/又は、
NNのスケーラブルな符号化のために、所定の符号化順序104がNNの所定のNN層を走査する回数107が異なる第2の所定の符号化順序1062;及び/又は、
所定の符号化順序104がNNのNN層210を走査する順序が異なる第3の所定の符号化順序1063;及び/又は、
NNのNN層のニューロン20を走査する順序が異なる第4の所定の符号化順序1064。
【0069】
第の所定の符号化順序1061は、例えば、NNパラメータ32の符号化時にテンソル30の個々の次元がどのように走査されるかが互いに異なる。例えば、符号化順序1041は、符号化順序1042と異なっている。つまり、符号化順序1041は、行長順、すなわち、行が左から右へ、上から下へ行順にテンソル30が走査され、所定の符号化順序1042は、列長順、すなわち、列が上から下へ、左から右へ列順にテンソル30が走査される。同様に、第1の所定の符号化順序1061は、所定の符号化順序104が3次元テンソル30の次元を走査する順序において異なることができる。
【0070】
第2の所定の符号化順序1062は、例えばテンソル/マトリックス30によって表現されるNN層が走査される頻度において異なる。NN層は、例えば、所定の符号化順序104を2回走査されることができ、それによって、NN層のベースライン部分とアドバンスド部分が、データストリーム45に符号化/データストリーム45から復号化されることができる。NN層が所定の符号化順序によって走査される回数107は、データストリームに符号化されるNN層のバージョンの数を定義する。したがって、NN層を少なくとも2回走査する符号化順序を示す直列化パラメータ102の場合、復号化器は、NN層のどのバージョンを復号化することができるかをその処理能力に基づいて決定し、選択したNN層バージョンに対応するNNパラメータ32を復号化するように構成される。
【0071】
第3の所定の符号化順序1063は、NN10の異なるNN層2101及び2102に関連するNNパラメータが、NN10の1つ以上の他のNN層210と異なる所定の符号化順序又は同じ符号化順序を用いて、データストリーム45に符号化されるかどうかを定義している。
【0072】
第4の所定の符号化順序1064は、対応するNN層を表現するテンソル/マトリクス30を左上のNNパラメータ321から右下のNNパラメータ3212まで斜めに千鳥に走査する所定の符号化順序1043を含む。
【0073】
実施形態A4aによれば、任意の先の実施形態A1~A4aのDS45のうち、直列化パラメータ102は、符号化順序104がデフォルト順序に対してNN層のニューロンを順列化するのに用いる順列を示す。言い換えれば、直列化パラメータ102は、順列を示し、順列の使用時に、符号化順序104は、デフォルト順序に対してNN層のニューロンを順列化する。第4の所定の符号化順序106
4について
図7に示されるように、データストリーム45
0について図示されるような行長順序は、デフォルト順序を表現する。他のデータストリーム45は、デフォルト順序に対する順列を使用してその中に符号化されたNNパラメータを含んでいる。
【0074】
実施形態A4bによれば、実施形態A4aのDS45のうち、順列は、NNパラメータ32が符号化順序104に沿って単調に増加するように、または符号化順序104に沿って単調に減少するように、NN層210のニューロンを順序付ける。
【0075】
実施形態A4cによれば、実施形態A4aのDS45のうち、順列は、直列化パラメータ102によって信号化可能な所定の符号化順序104のうち、NNパラメータ32をデータストリーム45に符号化するためのビットレートが直列化パラメータ102によって示される順列に対して最低であるように、NN層210のニューロンを順列化させる。
【0076】
実施形態A5によれば、任意の先の実施形態A1~A4cのDS45のうち、NNパラメータ32は、重みとバイアスを含む。
【0077】
実施形態A6によれば、任意の先の実施形態A1~A5のDS45のうち、データストリーム45は、個別にアクセス可能なサブ部分43/44に構造化され、それぞれのサブ部分43/44は、ニューラルネットワーク10の対応するNN部分、例えばNN層210の一部を表現するので、後続のサブ部分43/44が符号化順序104によって走査される前に各サブ部分43/44は、符号化順序104によって完全に走査される。NN層を表現するテンソル30の行、列、またはチャネルは、個別にアクセス可能なサブ部分43/44に符号化されるかもしれない。同じNN層に関連する異なる個別にアクセス可能なサブ部分43/44は、異なるニューロン14/18/20又は同じNN層に関連するニューロン相互接続22/24を含む。個別にアクセス可能なサブ部分43/44は、テンソル30の行、列又はチャネルを表現する。個別にアクセス可能なサブ部分43/44は、例えば、
図3に示されている。あるいは、
図21から
図23に示すように、個別にアクセス可能なサブ部分43/44は、NN層のベースライン部分およびNN層のアドバンスド部分のように、NN層の異なるバージョンを表現する。
【0078】
実施形態A7によれば、実施形態A3およびA6のいずれかのDS45のうち、NNパラメータ32は、任意の個別にアクセス可能な部分200またはサブ部分43/44の始まり202において、文脈適応型算術符号化600を用いて、かつ、文脈初期化を用いてDS45にコーディングされる。例えば、
図8を参照されたい。
【0079】
実施形態A8によれば、実施形態A3およびA6のいずれかのDS45のうち、データストリーム45は、それぞれの個別にアクセス可能な部分200またはサブ部分240が始まる開始コード242、及び/又は、それぞれの個別にアクセス可能な部分200またはサブ部分240の始まりを指すポインタ220/244、及び/又は、ポインタデータストリーム長、すなわち、
図11から
図14に示すように、DS45を解析する際にそれぞれの個別にアクセス可能な部分200またはサブ部分240をスキップするための、それぞれの個別にアクセス可能な部分200またはサブ部分240のデータストリーム長246を示すパラメータである。
【0080】
別の実施形態は、ビットストリーム、すなわちデータストリーム45における復号化されたパラメータ32’のビットサイズおよび数値表現を特定する。例えば、実施形態は、復号化されたパラメータ32’が8ビット符号付き固定小数点フォーマットで表現され得ることを特定し得る。この指定は、例えば、活性化値も例えば8ビット固定小数点表現で表現することが可能なアプリケーションにおいて、その後、固定小数点演算により推論をより効率的に実行することができるので、非常に有用である。
【0081】
実施形態A9によれば、先の実施形態A1~A8のいずれかのDS45の、NNを推論に用いる際にNNパラメータ32を表現する数値表現およびビットサイズを示す数値計算表現パラメータ120をさらに含む。例えば、
図9を参照されたい。
【0082】
図9は、ニューラルネットワークの表現が符号化されたデータストリーム45の実施形態B1を示し、データストリーム45は、DS45に符号化されているNNのNNパラメータ32が、推論のためにNNを使用するときに表現されるべき数値表現、例えば浮動小数点、固定小数点表現、およびビットサイズを示す数値計算表現パラメータ120を含んでいる。
【0083】
対応する実施形態ZB1は、ニューラルネットワークの表現をDS45に符号化するための装置に関するものであり、装置は、DS45に符号化されるNNのNNパラメータ32が、推論のためにNNを用いるときに、表現される数値表現、例えば浮動小数点、固定小数点表現およびビットサイズを示す数値計算表現パラメータ120をデータストリーム45に与えるように構成される。
【0084】
対応する実施形態XB1は、DS45からニューラルネットワークの表現を復号化するための装置に関するものである。装置は、データストリーム45から、数値表現、例えば、DS45に符号化されたNNのNNパラメータ32が、NNを推論に使用する際に、表現される浮動小数点、固定小数点表現、およびビットサイズを示す数値計算表現パラメータ120を復号化するように構成されており、DS45から復号化されたNNパラメータ32を表現するために数値表現およびビットサイズを任意選択的に使用するように構成されている。
【0085】
以下では、異なる特徴及び/又は機能性をデータストリーム45の文脈で説明するが、特徴及び/又は機能性はまた、同じようにまたは同様に、実施形態ZB1による装置の特徴及び/又は機能性、あるいは実施形態XB1による装置の特徴及び/又は機能性でありうる。
【0086】
さらなる実施形態は、層(レイヤー)内のパラメータタイプを信号化する。ほとんどの場合、層は、重みとバイアスの2種類のパラメータ32によって構成される。これら2種類のパラメータの区別は、例えば、符号化中にそれぞれ異なる種類の依存関係が使用された場合、または並列復号化が望まれる場合などに、復号化の前に有益であり得る。
【0087】
実施形態A10によれば、先の実施形態A1~B1のいずれかのDS45のうち、データストリーム45は、個別にアクセス可能なサブ部分43/44に構造化される。それぞれのサブ部分43/44は、ニューラルネットワークの対応するNN部分、例えばNN層の一部を表現し、それぞれのサブ部分43/44は、後続のサブ部分43/44が符号化順序104によって走査される前に符号化順序104によって完全に走査され、データストリーム45は、所定のサブ部分について、所定のサブ部分に符号化されるNNパラメータ32のパラメータタイプを示すタイプパラメータを含む。
【0088】
実施形態A10aによれば、実施形態A10のDSのうち、タイプパラメータは、少なくとも、NN重みとNNバイアスとを識別する。
【0089】
最後に、さらなる実施形態は、NNパラメータ32が含まれる層210のタイプ、例えば、畳み込みまたは完全連結を信号化する。この情報は、例えば、パラメータテンソル30の次元の意味を理解するために有用であり得る。例えば、2d畳み込み層の重みパラメータは、4dテンソル30として表現されてもよく、ここで、第1の次元はフィルタの数、第2の次元はチャネルの数、残りはフィルタの2d空間次元を指定する。さらに、異なる層210は、データ内の依存性をよりよく捕捉し、より高い符号化効率を導くために(例えば、文脈モデルの異なるセットまたはモードを使用することによって)、符号化中に異なって扱われてもよく、その情報は、復号化前に復号化器が知ることが重要である場合がある。
【0090】
実施形態A11によれば、先の実施形態A1からA10aのいずれかのDS45のうち、データストリーム45は、1つ以上の個別にアクセス可能な部分200に構造化され、それぞれの部分200は、ニューラルネットワーク10の対応するNN層210を表現し、データストリーム45は、所定のNN層に対して、NNの所定のNN層のNN層タイプを示すNN層タイプパラメータ130をさらに含む。例えば、
図10を参照する。
【0091】
図10は、ニューラルネットワークの表現が符号化されたデータストリーム45の実施形態C1を示す。データストリーム45は、1つ以上の個別にアクセス可能な部分200に構造化され、それぞれの部分はニューラルネットワークの対応するNN層210を表現し、データストリーム45は、所定のNN層に対して、NNの所定のNN層のNN層タイプを示すNN層タイプパラメータ130を更に含む。
【0092】
対応する実施形態ZC1は、データストリーム45が1つ以上の個別にアクセス可能な部分200に構造化されるように、ニューラルネットワークの表現をDS45に符号化する装置に関する。それぞれの部分200は、ニューラルネットワークの対応するNN層210を表現し、装置は、所定のNN層210について、データストリーム45にNNの所定のNN層210のNN層タイプを示すNN層タイプパラメータ130を提供するよう構成される。
【0093】
対応する実施形態XC1は、DS45からニューラルネットワークの表現を復号化する装置に関する。データストリーム45は、1つ以上の個別にアクセス可能な部分200に構造化され、それぞれの部分200は、ニューラルネットワークの対応するNN層210を表現する。装置は、データストリーム45から、所定のNN層210に対して、NNの所定のNN層210のNN層タイプを示すNN層タイプパラメータを復号化するように構成される。
【0094】
実施形態A12によれば、実施形態A11およびC1のいずれかのDS45のうち、NN層タイプパラメータ130は、少なくとも、完全連結型、NN層2101参照、および畳み込み層タイプ、NN層210N参照、を識別する。したがって、実施形態ZC1に従う装置は、2つの層タイプを識別するためにNN層タイプパラメータ130を符号化することができ、実施形態XB1に従う装置は、2つの層タイプを識別するためにNN層タイプパラメータ130を復号化することができる。
【0095】
2 ビットストリームランダムアクセス
2.1 層ビットストリームランダムアクセス
レイヤー処理を並列化したり、ビットストリームを各コンテナ形式でパッケージするなど、多くの用途でビットストリームの部分集合にアクセスすることは重要である。そのようなアクセスを可能にするための最先端における1つの方法は、例えば、各層210のパラメータテンソル30の後の符号化依存性を破壊し、各層ビットストリーム、例えば個別にアクセス可能な部分200の前に、モデルビットストリーム、すなわちデータストリーム45に開始コードを挿入することである。特に、モデルビットストリーム内の開始コードは、開始コードの検出が、潜在的に非常に多数の開始コードにわたって最初からモデルビットストリーム全体を通して解析することを必要とするので、層ビットストリームを分離する適切な方法でない。
【0096】
本発明のこの側面は、パラメータテンソル30の符号化モデルビットストリームを最先端より優れた方法で構造化することに関するものであり、NNの並列または部分的な復号化および実行を必要とするアプリケーションを容易にするために、ビットストリーム部分、例えば層ビットストリームへのより容易、より高速かつより適切なアクセスを可能にするさらなる技術に関するものである。
【0097】
本発明の一実施形態では、モデルビットストリーム、すなわちデータストリーム45内の個々の層ビットストリーム、例えば、個別にアクセス可能な部分200は、モデルの範囲を有するビットストリームのパラメータセット/ヘッダー部分47内のバイトまたはオフセット(例えば、符号化ユニットの始まりに対するバイトオフセット)におけるビットストリーム位置を通じて示される。
図11及び
図12は、本実施の形態を説明するための図である。
図12は、ポインタ220によって示されるビットストリームの位置またはオフセットを介した層(レイヤー)アクセスを示す。さらに、それぞれの個別にアクセス可能な部分200は、任意に層パラメータセット110を構成し、その層パラメータセット110に、1つ以上の前述のパラメータを符号化および復号化することができる。
【0098】
実施形態A13によれば、先の実施形態A1~A12のいずれかのDS45のうちの、データストリーム45は、個別にアクセス可能な部分200に構造化される。それぞれの部分200は、対応するNN部分、例えば、ニューラルネットワークの1つ以上のNN層またはNN層の一部を表現する。データストリーム45は、1つ以上の所定の個別アクセス可能部分200のそれぞれについて、例えばそれぞれの個別アクセス可能な部分200の始まりを指すポインタ220を含み、個別アクセス可能部分が対応するNN層を表現する場合には
図11または
図12を参照されたい。個別アクセス可能部分が所定のNN層の一部、例えば個別にアクセス可能なサブ部分240を表現する場合には
図13~
図15を参照されたい。以下では、ポインタ220は、参照符号244で示されることもある。
【0099】
各NN層について、それぞれのNN層に関連する個別にアクセス可能な部分200は、それぞれのNN層の対応するNN部分を表現する。この場合、ここおよび以下の説明では、そのような個別にアクセス可能な部分200は、個別にアクセス可能なサブ部分240として理解される。
【0100】
図11は、より一般的な実施形態D1であって、ニューラルネットワークの表現が符号化されたデータストリーム45を示し、データストリーム45は、個別にアクセス可能な部分200に構造化されている。それぞれの個別にアクセス可能な部分200は、ニューラルネットワークの対応するNN部分、例えば1つ以上のNN層またはNN層の部分を示している。データストリーム45は、1つ以上の所定の個別にアクセス可能な部分200ごとに、それぞれの所定の個別にアクセス可能な部分200の始まりを指すポインタ220を含む。
【0101】
実施形態によれば、ポインタ220は、第1の個別にアクセス可能な部分2001の始まりに対するオフセットを示す。第1の個別にアクセス可能な部分2001を指す第1のポインタ2201は、オフセットなしを示す。したがって、第1のポインタ2201を省略することが可能である。あるいは、ポインタ220は、例えば、ポインタ220が符号化されるパラメータセットの終端を基準としたオフセットを示す。
【0102】
対応する実施形態ZD1、は、データストリーム45が1つ以上の個別にアクセス可能な部分200に構造化されるように、ニューラルネットワークの表現をDS45に符号化する装置に関する。各部分200はニューラルネットワークの対応するNN部分、例えば1つ以上のNN層またはNN層の一部を表現する。装置は、データストリーム45に、1つ以上の所定の個別にアクセス可能な部分200ごとに、それぞれの所定の個別にアクセス可能な部分200の始まりを指すポインタ220を提供するよう構成される。
【0103】
対応する実施形態XD1は、DS45からニューラルネットワークの表現を復号化するための装置に関するものである。データストリーム45は、1つ以上の個別にアクセス可能な部分200に構造化されており、それぞれの部分200は、ニューラルネットワークの対応するNN部分、例えば1つ以上のNN層またはNN層の一部を表現する。装置は、1つ以上の所定の個別アクセス可能部分200のそれぞれについて、データストリーム45から、それぞれの所定の個別アクセス可能部分200の始まりを指すポインタ220を復号化し、例えば、DS45にアクセスするためにポインタ220のうちの1つ以上を使用するように構成される。
【0104】
実施形態A14によれば、先の実施形態A13及びD1のいずれかに記載のDS45のうち、それぞれの個別にアクセス可能な部分200が以下を表現する。
ニューラルネットワークの対応するNN層210、又は、
NNのNN層210のNN部分。例えば、
図3または
図21~
図23のいずれかを参照されたい。
【0105】
2.2 サブ層ビットストリームランダムアクセス
セクション1で述べたように、部分的にまたは並行して復号化/処理/推論させることが有益であるため、特定の構成可能な方法で層210内のパラメータテンソル30をグループ化することに依存するアプリケーションが存在する。したがって、層ビットストリーム、例えば個別にアクセス可能な部分200へのサブ層単位アクセスは、所望のデータに並行してアクセスすること、または不要なデータ部分を省くことに役立ち得る。
【0106】
一実施形態では、層ビットストリーム内の符号化依存性は、サブ層(レイヤー)の精度でリセットされ、すなわち、DeepCABAC確率状態をリセットする。
【0107】
本発明の別の実施形態では、層ビットストリーム、すなわち個別にアクセス可能な部分200内の個々のサブ層ビットストリーム、すなわち個別にアクセス可能なサブ部分240は、ビットストリーム、すなわちデータストリーム45のパラメータセット部分110内のバイト単位のビットストリーム位置、例えばポインタ244、またはオフセット、例えばポインタ244を通じて、層またはモデルの範囲と一緒に示される。
図13、
図14a及び
図15は、実施形態を示す。
図14aは、相対的なビットストリーム位置またはオフセットによるサブ層アクセス、すなわち、個別にアクセス可能なサブ部分240へのアクセスを示す。さらに、例えば、個別にアクセス可能な部分200は、層レベルのポインタ220によってもアクセスすることができる。層レベルのポインタ220は、例えば、DS45のモデルパラメータセット47、すなわち、ヘッダに符号化される。ポインタ220は、NNのNN層を含む対応するNN部分を表現する個別にアクセス可能な部分200を指し示す。サブ層レベルのポインタ244は、例えば、NNのNN層を含む対応するNN部分を表現する個別にアクセス可能な部分200の層パラメータセット110に符号化される。ポインタ244は、NNのNN層の一部を含む対応するNN部分を表現する個別にアクセス可能なサブ部分240の始まりを指し示す。
【0108】
実施形態によれば、層レベルのポインタ220は、第1の個別にアクセス可能な部分2001の始まりを基準とするオフセットを示す。サブ層レベルのポインタ244は、ある個別にアクセス可能な部分200の第1の個別にアクセス可能なサブ部分240の始まりを基準としたオフセットを示している。
【0109】
実施形態によれば、ポインタ220/244は、多数のユニットを含む集合単位に対するバイトオフセットを示す。ポインタ220/244は、集合体ユニットの始まりから集合体ユニットのペイロード内のユニットの始まりまでのバイトオフセットを示す。
【0110】
本発明の別の実施形態では、層ビットストリーム、すなわち個別にアクセス可能な部分200内の個々のサブ層ビットストリーム、すなわち個別にアクセス可能なサブ部分240は、ビットストリーム、すなわちデータストリーム45内の検出可能な開始コード242を介して示され、これは層ごとのデータ量が、層がモデルビットストリームすなわちデータストリーム45全体の中の開始コード242によって検出される場合よりも通常少ないので十分であるだろう。
図13及び
図14bは、本実施形態を説明する。
図14bは、サブ層レベルでの、すなわちそれぞれの個別にアクセス可能なサブ部分240についての開始コード242と、層レベルでの、すなわちそれぞれの個別にアクセス可能な部分200についてのビットストリーム位置、すなわちポインタ220の使用法を説明するものである。
【0111】
別の実施形態では、(サブ)層ビットストリーム部分、個別にアクセス可能なサブ部分240のラン長、すなわちデータストリーム長246は、適切なコンテナに包装する目的で前記部分、すなわち個別にアクセス可能なサブ部分240の切り出しを容易にするために、ビットストリーム45のパラメータセット/ヘッダー部分47または個別にアクセス可能な部分200のパラメータセット部分110で示されている。
図13に示されるように、個別にアクセス可能なサブ部分240のデータストリーム長246は、データストリーム長パラメータによって示される。
【0112】
図13は、そニューラルネットワークの表現が符号化されたデータストリーム45の実施形態E1を示す。データストリーム45は、1つ以上の個別にアクセス可能な部分200に構造化され、それぞれの個別にアクセス可能な部分200は、ニューラルネットワークの対応するNN層を表現する。データストリーム45は、所定の部分内、例えば個別にアクセス可能な部分200内において、個別にアクセス可能なサブ部分240にさらに構造化され、それぞれのサブ部分240は、ニューラルネットワークのそれぞれのNN層の対応するNN部分を表現する。データストリーム45は、1つ以上の所定の個別にアクセス可能なサブ部分240のそれぞれについて、以下を含む。
それぞれの所定の個別にアクセス可能なサブ部分240が始まる開始コード242、及び/又は、
それぞれの所定の個別にアクセス可能なサブ部分240の始まりを指し示すポインタ244、及び/又は、
DS45を解析する際にそれぞれの所定の個別にアクセス可能なサブ部分240をスキップするための、それぞれの所定の個別にアクセス可能なサブ部分240のデータストリーム長246を示すデータストリーム長パラメータ。
【0113】
本明細書に記載された個別にアクセス可能なサブ部分240は、個別にアクセス可能なサブ部分43/44に関して記載されたのと同じまたは類似の特徴及び/又は機能性を有する可能性がある。
【0114】
同じ所定部分内の個別にアクセス可能なサブ部分240は、すべて同じデータストリーム長246を有し、それによって、データストリーム長パラメータが1つのデータストリーム長246を示し、そのデータストリーム長246が同じ所定部分内のそれぞれの個別にアクセス可能なサブ部分240に対して適用可能である。データストリーム長パラメータは、データストリーム45全体のすべての個別にアクセス可能なサブ部分240のデータストリーム長246を示し、またはデータストリーム長パラメータは、それぞれの個別にアクセス可能な部分200について、それぞれの個別にアクセス可能な部分200のすべての個別にアクセス可能なサブ部分240のデータストリーム長246を示す。1つ以上のデータストリーム長パラメータは、データストリーム45のヘッダ部分47、またはそれぞれの個別にアクセス可能な部分200のパラメータセット部分110に符号化される。
【0115】
対応する実施形態ZE1は、ニューラルネットワークの表現をDS45に符号化する装置に関する。データストリーム45は、1つ以上の個別にアクセス可能な部分200に構造化される。それぞれの個別にアクセス可能な部分200はニューラルネットワークの対応するNN層を表現する。データストリーム45は、所定の部分、例えば、個別にアクセス可能な部分200内において、個別にアクセス可能なサブ部分240にさらに構造化され、それぞれのサブ部分240は、ニューラルネットワークのそれぞれのNN層の対応するNN部分を表現する。装置は、データストリーム45に、1つ以上の所定の個別にアクセス可能なサブ部分240それぞれについて、以下を供給するように構成される。
それぞれの所定の個別にアクセス可能なサブ部分240が始まる開始コード242、及び/又は、
それぞれの所定の個別にアクセス可能なサブ部分240の始まりを指し示すポインタ244、及び/又は、
DS45の解析する際に、それぞれの所定の個別にアクセス可能なサブ部分240をスキップするための、それぞれの所定の個別にアクセス可能なサブ部分240のデータストリーム長246を示すデータストリーム長パラメータ。
【0116】
別の対応する実施形態XE1は、DS45からニューラルネットワークの表現を復号化するための装置に関する。データストリーム45は、1つ以上の個別にアクセス可能な部分200に構造化される。それぞれの個別にアクセス可能な部分200はニューラルネットワークの対応するNN層を表現する。データストリーム45は、所定の部分、例えば、個別にアクセス可能な部分200内において、個別にアクセス可能なサブ部分240にさらに構造化され、それぞれのサブ部分240は、ニューラルネットワークのそれぞれのNN層の対応するNN部分を表現する。装置は、データストリーム45から、1つ以上の所定の個別にアクセス可能なサブ部分240それぞれについて、以下を復号化するように構成される。
それぞれの所定の個別にアクセス可能なサブ部分240が始まる開始コード242、及び/又は、
それぞれの所定の個別にアクセス可能なサブ部分240の始まりを指し示すポインタ244、及び/又は、
DS45を解析する際に、それぞれの所定の個別にアクセス可能なサブ部分240をスキップするための、それぞれの所定の個別にアクセス可能なサブ部分240のデータストリーム長246を示すデータストリーム長パラメータ。
そして、例えば1つ以上の所定の個別にアクセス可能なサブ部分240に対して、DS45にアクセスするためのこの情報、例えば開始コード242、ポインタ244及び/又はデータストリーム長パラメータを使用するように構成される。
【0117】
実施形態E2によれば、実施形態E1のDS45のうち、データストリーム45は、それぞれの個別にアクセス可能な部分200およびそれぞれの個別にアクセス可能なサブ部分240の始点において、文脈適応型算術符号化を用いて、及びコンテキスト初期化を用いて、ニューラルネットワークの表現が符号化されている。例えば、
図8を参照とする。
【0118】
実施形態E3によれば、実施形態E1または実施形態E2のデータストリーム45は、本明細書における任意の他の実施形態によるものである。そして、実施形態ZE1及びXE1の装置も、本明細書に記載された任意の他の特徴及び/又は機能によって完成され得ることは明らかである。
【0119】
2.3 ビットストリームランダムアクセスの種類
選択された直列化タイプ、例えば
図3に示す直列化タイプ100
1及び100
2から生じる(サブ)層240のタイプに応じて、クライアントが(サブ)層ビットストリーム240にアクセスするであろうか、及び方法を決定する様々な処理オプションも利用可能である。例えば、選択された直列化100
1が、サブ層240が画像色チャネル固有であり、これにより復号/推論のデータチャネル単位の並列化が可能となる場合、これは、クライアントに対するビットストリーム45において示されるべきである。別の例は、
図20から
図23に関して説明したように、特定の層/モデルのアドバンスドNNサブセットとは独立して復号/推論され得るベースラインNNサブセットからの予備的結果の導出である。
【0120】
一実施形態では、モデル全体、1つまたは複数の層の範囲を有するビットストリーム45内のパラメータセット/ヘッダ47は、クライアントが適切に意思決定できるようにするために、(サブ)層ランダムアクセスのタイプを示している。
図15は、直列化によって決定されるランダムアクセスの2つの例示的なタイプ252
1および252
2を示す。例示されたランダムアクセスのタイプ252
1および252
2は、対応するNN層を表現する個別にアクセス可能な部分200に対する可能な処理オプションを表現する。第1の処理オプション252
1は、個別にアクセス可能な部分200
1内のNNパラメータへのデータチャネル単位アクセスを示し、第2の処理オプション252
2は、個別にアクセス可能な部分200
2内のNNパラメータへのサンプル単位アクセスを示す。
【0121】
図16は、ニューラルネットワークの表現が符号化されたデータストリーム45の一般的な実施形態F1を示す。データストリーム45は、個別にアクセス可能な部分200に構造化されており、それぞれの個別にアクセス可能な部分200は、例えば、1つ以上のNN層を含むか、又は、ニューラルネットワークのNN層の部分を含む、対応するNN部分を表現する。データストリーム45は、1つ以上の所定の個別アクセス可能な部分200のそれぞれについて、推論のためにNNを用いるときに使用しなければならない、または任意に使用できる1つ以上の処理オプション252を示す処理オプションパラメータ250を含む。
【0122】
対応する実施形態ZF1は、ニューラルネットワークの表現をDS45に符号化するための装置に関する。データストリーム45は、個別にアクセス可能な部分200に構造化される。それぞれの個別にアクセス可能な部分200は、例えば1つ以上のNN層を含むか、又は、ニューラルネットワークのNN層の部分を含む、対応するNN部分を表現する。装置は、1つ以上の所定の個別にアクセス可能な部分200のそれぞれについて、推論にNNを使用するときに使用しなければならない、または任意に使用できる1つ以上の処理オプション252を示す処理オプションパラメータ250をデータストリーム45に供給するように構成される。
【0123】
別の対応する実施形態XF1は、DS45からニューラルネットワークの表現を復号化するための装置に関する。データストリーム45は、個別にアクセス可能な部分200に構造化されている。それぞれの個別にアクセス可能な部分200は、例えばニューラルネットワークの1つ以上のNN層を含む、またはNN層の部分を含む、対応するNN部分を表現している。装置は、1つ以上の所定の個別にアクセス可能な部分200のそれぞれについて、推論にNNを使用する際に使用しなければならない、または任意に使用できる1つ以上の処理オプション252を示す処理オプションパラメータ250を、データストリーム45から復号化するように構成される。例えば、装置は、後者に基づいて、1つ以上の所定の個別にアクセス可能な部分のうち、どの部分にアクセス、スキップ及び/又は復号化するかを復号化するように構成される。1つ以上の処理オプション252に基づいて、装置は、どのように及び/又はどの個別にアクセス可能な部分または個別にアクセス可能なサブ部分をアクセス、スキップ及び/又は復号化することができるかを決定するように構成される。
【0124】
実施形態F1のDS45の実施形態F2によれば、処理オプションパラメータ250は、以下を含む所定の処理オプションの集合のうち、1つ以上の利用可能な処理オプション252を示す。
それぞれの所定の個別にアクセス可能な部分200の並列処理能力、及び/又は、
それぞれの所定の個別アクセス可能な部分200のサンプル単位並列処理能力252
1、及び/又は、
それぞれの所定の個別アクセス可能な部分200のチャンネル単位並列処理能力252
2、及び/又は、
それぞれの所定の個別アクセス可能な部分200の分類カテゴリ単位並列処理能力、及び/又は、
図20から
図23に示すように、同じニューラルネットワーク部分に関連するが、DSに層方式で符号化されているNNのバージョンの別のバージョンに属するDSの別の個別にアクセス可能な部分から得られる計算結果に対する、それぞれの所定の個別にアクセス可能な部分によって表現される、例えばNN層であるNN部分の依存性。
【0125】
実施形態ZF1による装置は、処理オプションパラメータ250が、所定の処理オプションのセットのうちの1つ以上の処理オプションを示すように、処理オプションパラメータ250を符号化するように構成されている。実施形態XF1による装置は、所定の処理オプションのセットのうちの1つ以上の処理オプションを示す処理オプションパラメータ250を復号化するように構成される。
【0126】
3 量子化パラメータのシグナリング
層ペイロード、例えば個々のアクセス可能な部分200に符号化されたNNパラメータ32、またはサブ層ペイロード、例えば個々のアクセス可能なサブ部分240に符号化されたNNパラメータ32は、例えば重み、バイアスなどのように有理数を表現する異なる種類のパラメータ32を含んでいてもよい。
【0127】
図18に示す好ましい実施形態では、そのようなタイプのパラメータの1つは、再構成された値、すなわち再構成されたNNパラメータ32’が、再構成パラメータを含むこれらの値、すなわち量子化インデックス32’’に再構成ルール270を適用して導出されるように、ビットストリームにおいて整数値としてシグナリングされる。例えば、このような再構成ルール270は、各整数値、すなわち量子化インデックス32’’に、関連する量子化ステップサイズ263を乗算することからなる場合がある。量子化ステップサイズ263は、この場合における再構成パラメータである。
【0128】
好ましい実施形態では、再構成パラメータは、モデルパラメータセット47の中か、層パラメータセット110の中か、サブ層ヘッダ300の中のいずれかで信号化される。
【0129】
別の好ましい実施形態では、第1の再構成パラメータのセットがモデルパラメータセット内で信号化され、任意に、第2の再構成パラメータのセットが層パラメータセット内で信号化され、任意に、第3の再構成パラメータのセットがサブ層ヘッダ内で信号化される。存在する場合、第2の再構成パラメータのセットは、第1の再構成パラメータのセットに依存する。存在する場合、第3の再構成パラメータのセットは、第1及び/又は第2の再構成パラメータのセットに依存し得る。この実施形態は、
図17に関してより詳細に説明される。
【0130】
【0131】
好ましい実施形態では、s=2-0.5である。
【0132】
有理数sは、例えば、浮動小数点値として符号化されてもよい。第1及び第2の整数値x1及びx2は、全体の信号コストを最小にするために、固定又は可変のビット数を用いて信号化されてもよい。例えば、層のサブ層の量子化ステップサイズが類似している場合、関連する値x2はむしろ小さな整数であり、それらを信号化するためにわずかなビットしか許可しないことが効率的である場合がある。
【0133】
好ましい実施形態では、
図18に示すように、再構成パラメータは、コードブック、すなわち、整数と有理数とのマッピングのリストである量子化インデックス-再構成レベルマッピングで構成される。ビットストリーム45に整数値W
nとして符号化された、層またはサブ層ペイロードの関連するパラメータは、以下の再構成ルール270を用いて再構成される。各整数値W
nは、コードブックで検索される。関連する整数がW
nに一致する1つのマッピングが選択され、関連する有理数が再構成された値、すなわち再構成されたNNパラメータ32’となる。
【0134】
別の好ましい実施形態では、第1及び/又は第2及び/又は第3の再構成パラメータのセットはそれぞれ、先の好ましい実施形態によるコードブックから構成されている。しかし、再構成ルールを適用するために、第1及び/又は第2及び/又は第3の再構成パラメータのセットのコードブックのマッピングの集合和を作成することによって、1つのジョイントコードブックが導出される。同じ整数を持つマッピングが存在する場合、第3のセットの再構成パラメータのコードブックのマッピングは第2のセットの再構成パラメータのコードブックのマッピングより優先され、第2のセットの再構成パラメータのコードブックのマッピングは第1のセットの再構成パラメータのコードブックのマッピングより優先される。
【0135】
図17は、ニューラルネットワーク10を表現する、その中に符号化されたNNパラメータ32を有するデータストリーム45の実施形態G1を示す。NNパラメータ32は、量子化インデックスに量子化される方法260でDS45に符号化される。NN10の異なるNN部分のNNパラメータ32が異なって量子化260されるようにDS45に符号化される。DS45はNN部分のそれぞれについて、それぞれのNN部分に関連するNNパラメータを逆量子化するための再構成ルール270を示す。
【0136】
例えば、NNの各NN部分はNNのノード間の相互接続を含み、異なるNN部分はNNのノード間の異なる相互接続を含む。
【0137】
実施形態によれば、NN部分は、NN10のNN層210及び/又はNNの所定のNN層が細分化された層サブ部分43を含む。
図17に示すように、NNの1つの層210内のすべてのNNパラメータ32は、NN10の第1の層210
1内のNNパラメータ32がNN10の第2の層210
2内のNNパラメータ32と異なるように量子化260されているNNのNN部分を表現する。また、NN層210
1内のNNパラメータ32が、異なる層サブ部分43、すなわち個別にアクセス可能なサブ部分にグループ化されることも可能であり、各グループがNN部分を表現する可能性がある。したがって、NN層210
1の異なる層サブ部分43は、異なるように量子化260される。
【0138】
対応する実施形態ZG1は、ニューラルネットワーク10を表現するNNパラメータ32をDS45に符号化する装置に関する。NNパラメータ32は量子化インデックスに量子化された方法260でDS45に符号化される。NN10の異なるNN部分のNNパラメータ32が異なって量子化260されるように、NNパラメータ32がDS45に符号化される。装置は、NN部分のそれぞれについて、それぞれのNN部分に関連するNNパラメータ32を逆量子化するための再構成ルールを示すDS45を提供するように構成される。任意選択的に、装置は、量子化260を実行することもできる。
【0139】
別の対応する実施形態XG1は、ニューラルネットワーク10を表現するNNパラメータ32をDS45から復号化する装置に関する。NNパラメータ32は、量子化インデックスに量子化された方法260でDS45に符号化されている。NN10の異なるNN部分のNNパラメータ32が異なって量子化260されるように、NNパラメータ32はDS45に符号化される。装置は、NN部分のそれぞれについて、それぞれのNN部分に関連するNNパラメータ32を逆量子化するための再構成ルール270をデータストリーム45から復号化するように構成される。任意選択で、装置は、再構成ルール270、すなわち、現在逆量子化されたNNパラメータ32が属するNN部分に関連するものを用いて逆量子化を実行することもできる。装置は、NN部分のそれぞれについて、それぞれのNN部分に関連する復号化された再構成ルール270を用いて、それぞれのNN部分のNNパラメータを逆量子化するように構成されることもできる。
【0140】
以下では、データストリーム45の文脈で異なる特徴及び/又は機能性を説明するが、特徴及び/又は機能性はまた、同じようにまたは同様に、実施形態ZG1による装置又は実施形態XG1による装置の特徴及び/又は機能性であることができる。
【0141】
既に上述したように、実施形態G1のDS45のうち、実施形態G2によれば、NN部分は、NN10のNN層210及び/又はNN10の所定のNN層210が細分化された層(レイヤー)部分を含む。
【0142】
実施形態G3によれば、実施形態G1又はG2のDS45のうち、DS45は、第2のNN部分に関連するNNパラメータ32を逆量子化260するための第2の再構成ルール270
2に対してデルタ符号化されて、第1のNN部分に関連するNNパラメータ32を逆量子化するための第1の再構成ルール270
1をそこに符号化したものを有する。あるいは、
図17に示すように、第1のNN部分、すなわち層サブ部分43
1に関連するNNパラメータ32を逆量子化するための第1の再構成ルール270a
1は、第2のNN部分、すなわち層サブ部分43
2に関連する第2の再構成ルール270a
2に対してデルタ符号化されてDS45に符号化されている。また、第1のNN部分、すなわち層サブ部分431に関連するNNパラメータ32を逆量子化するための第1の再構成ルール270a
1が、第2のNN部分、すなわちNN層210
2に関連する第2の再構成ルール270
2に対してデルタ符号化されてDS45に符号化されるということも可能である。
【0143】
以下の実施形態では、実施形態の不明瞭さを避けるために、第1の再構成ルールを2701と表記し、第2の再構成ルールを2702と表記する。しかし、以下の実施形態でも、第1の再構成ルール及び/又は第2の再構成ルールは、上述のように、NN層210の層サブ部分43を表現するNN部分に対応し得ることは明らかである。
【0144】
実施形態G4によれば、実施形態G3のDS45のうち、DS45は、第1の再構成ルール2701を示すための第1の指数値と、第2の再構成ルール2702を示すための第2の指数値とを含む。
第1の再構成ルール2701は、所定の基底の指数と、第1の指数値によって定義される第1の指数とによって定義される第1の量子化ステップサイズによって定義され、かつ、
第2の再構成ルール2702は、所定の基底の指数と、第1および第2の指数値の和で定義される第2の指数とによって定義される第2の量子化ステップサイズによって定義される。
【0145】
実施形態G4aによれば、実施形態G4のDSのうち、DS45は、さらに所定の基底を示す。
【0146】
実施形態G4’によれば、先のいずれかの実施形態G1~G3のDSのうち、DS45は、第1のNN部分に関連するNNパラメータ32を逆量子化するための第1の再構成ルール2701を示すための第1の指数値と、第2のNN部分に関連するNNパラメータ32を逆量子化するための第2の再構成ルール2702を示すための第2の指数値とを含む。
第1の再構成ルール2701は、所定の基底の指数と、第1の指数値と所定の指数値との和で定義される第1の指数とによって定義される第1の量子化ステップサイズによって定義され、
第2の再構成ルールは、所定の基底の指数と、第2の指数値と所定の指数値との和によって定義される第2の量子化ステップサイズによって定義される。
【0147】
実施形態G4’のDSの実施形態G4’aによれば、DSは、さらに所定の基底を示す。
【0148】
実施形態G4’bによれば、実施形態G4’aのDSのうち、DSは、NNの範囲すなわちNN全体に関連する所定の基底を示す。
【0149】
実施形態G4’cによれば、実施形態G4’からG4’bのいずれかの前の実施形態のDSのうち、DS45はさらに所定の指数値を示している。
【0150】
実施形態G4’dによれば、実施形態G4’cのDS45のうち、DS45は、NN層範囲、すなわち、第1NN部分431および第2NN部分432が属する所定のNN層210について、所定の指数値を示す。
【0151】
実施形態G4’eによれば、任意の先の実施形態G4’cおよびG4’dのDSのうち、DS45は、所定の基数をさらに示し、DS45は、所定の基数がDS45によって示される範囲よりも細かい範囲で所定の指数値を示す。
【0152】
実施形態G4fによれば、先の実施形態G4からG4a又はG4’からG4’eのいずれかのDS45のうち、DS45は、非整数フォーマット、例えば浮動小数点又は有理数又は固定小数点数でその中に符号化された所定の基底と、整数フォーマット、例えば符号付き整数での第1および第2指数値とを有する。オプションとして、所定の指数値も整数形式でDS45に符号化される場合がある。
【0153】
実施形態G5によれば、実施形態G3からG4fのいずれかのDSのうち、DS45は、第1の再構成ルール2701を示すために、第1の量子化インデックス-再構成レベルマッピングを定義する第1のパラメータセットと、第2の再構成ルール2702を示すために、第2の量子化インデックス-再構成レベルマッピングを定義する第2のパラメータセットとを含む。
第1の再構成ルール2701は、第1の量子化インデックス-再構成レベルマッピングによって定義される。
第2の再構成ルール2702は、第1の量子化インデックス-再構成レベルマッピングを第2の量子化インデックス-再構成レベルマッピングで所定の方法で拡張することによって定義される。
【0154】
実施形態G5’によれば、実施形態G3からG5のいずれかに記載のDS45の、DS45は、第1の再構成ルール2701を示すために第1の量子化インデックス-再構成レベルマッピングを定義する第1のパラメータセットと、第2の再構成ルール2702を指示すための第2の量子化インデックス-再構成レベルマッピングを定義する第2のパラメータセットとを含む。
第1の再構成ルール2701は、所定の量子化インデックス-再構成レベルマッピングを、第1の量子化インデックス-再構成レベルマッピングによって所定の方法で拡張することによって定義され、かつ、
第2の再構成ルール2702は、所定の量子化インデックス-再構成レベルマッピングを第2の量子化インデックス-再構成レベルマッピングによって所定の方法で拡張することによって定義される。
【0155】
実施形態G5’aによれば、実施形態G5’のDS45のうち、DS45は、さらに、所定の量子化インデックス-再構成レベルマッピングを示す。
【0156】
実施形態G5’bによれば、実施形態G5’aのDS45のうち、DS45は、NN範囲で、すなわちNN全体に関する、またはNN層範囲で、すなわち第1NN部分431および第2NN部分432が属する所定のNN層210に関する所定の量子化インデックス-再構成レベルマッピングを示している。所定の量子化インデックス-再構成レベルマッピングは、NN層を表現するNN部分の場合、NNスコープで示されるかもしれない。例えば、NN部分のそれぞれについて、それぞれのNN部分は対応するNN層を表現し、例えば、第1のNN部分は第2のNN部分と異なるNN層を表現する。しかし、NN部分の少なくともいくつかが層サブ部分43を表現する場合に、NN範囲で所定の量子化インデックス-再構成レベルマッピングを示すことも可能である。さらに、または代替的に、層サブ部分43を表現するNN部分の場合には、NN層範囲において、所定の量子化インデックス-再構成レベルマッピングが示されることもあり得る。
【0157】
実施形態G5cによれば、先の実施形態G5又はG5’~G5’bのいずれかのDS45のうち所定の態様に従って、
拡張される量子化インデックス-再構成レベルマッピングに従った、それぞれのインデックス値、すなわち量子化インデックス32’’の、第1の再構成レベルへのマッピングは、拡張される量子化インデックス-再構成レベルマッピングを拡張する量子化インデックス-再構成レベルマッピングに従った、それぞれのインデックス値の、第2の再構成レベルへのマッピングが存在する場合はそれによって優先され、及び/又は、
、拡張される量子化インデックス-再構成レベルマッピングに従うと、それぞれのインデックス値がマッピングされるべき再構成レベルが定義されず、拡張される量子化インデックス-再構成レベルマッピングを拡張する量子化インデックス-再構成レベルマッピングに従うと、対応する再構成レベルへマッピングされる任意のインデックス値に対して、それぞれのインデックス値から対応する再構成レベルへのマッピングが採用され、及び/又は、
拡張される量子化インデックス-再構成レベルマッピングを拡張する量子化インデックス-再構成レベルマッピングに従うと、それぞれのインデックス値がマッピングされるべき再構成レベルが定義されず、拡張される量子化インデックス-再構成レベルマッピングに従うと、対応する再構成レベル上にマッピングされる任意のインデックス値に対して、それぞれのインデックス値から対応する再構成レベルへのマッピングが採用される。
【0158】
図18に示す実施形態G6によれば、先の任意の実施形態G1~G5cのDS45のうち、DS45は、所定のNN部分の再構成ルール270を示すために、例えばNN層を表現する、またはNN層の層サブ部分示すために以下を含む。
量子化ステップサイズ263を示す量子化ステップサイズパラメータ262、及び、
量子化インデックス-再構成レベルマッピング265を定義するパラメータセット264。
ここで、所定のNN部分の再構成ルール270は、
所定のインデックス間隔268内の量子化インデックス32’’に対する量子化ステップサイズ263、及び、
所定のインデックス区間268外の量子化インデックス32’’に対する量子化インデックス-再構成レベルマッピング265、
により定義される。
【0159】
図18は、ニューラルネットワークを表現するNNパラメータ32をその中に符号化したデータストリーム45の実施形態H1を示す図である。
ここで、NNパラメータ32は、量子化インデックス32’’上に量子化260された形でDS45に符号化される。
ここで、DS45は、NNパラメータ280、すなわち量子化インデックス32’’を逆量子化するための再構成ルール270を示すために、以下を含む。
量子化ステップサイズ263を示す量子化ステップサイズパラメータ262及び、
量子化インデックス-再構成レベルマッピング265を定義するパラメータセット264。
ここで、所定のNN部分の再構成ルール270は、
所定のインデックス間隔268内の量子化インデックス32’’に対する量子化ステップサイズ263と、
所定のインデックス区間268外の量子化インデックス32’’に対する量子化インデックス-再構成レベルマッピング265と、によって定義される。
【0160】
対応する実施形態ZH1は、ニューラルネットワークを表現するNNパラメータ32をDS45に符号化するための装置に関する。NNパラメータ32は量子化インデックス32’’に量子化260されてDS45に符号化される。装置は、NNパラメータ32を逆量子化するための再構成ルール270を指示するために、DS45に以下を提供するよう構成される。
量子化ステップサイズ263を示す量子化ステップサイズパラメータ262及び、
量子化インデックス-再構成レベルマッピング265を定義するパラメータセット264。
ここで、所定のNN部分の再構成ルール270は、
所定のインデックス間隔268内の量子化インデックス32’’に対する量子化ステップサイズ263と、
所定のインデックス区間268外の量子化インデックス32’’に対する量子化インデックス-再構成レベルマッピング265と、により定義される。
【0161】
別の対応する実施形態XH1は、ニューラルネットワークを表現するNNパラメータ32をDS45から復号化する装置に関する。NNパラメータ32は、量子化インデックス32’’に量子化されてDS45に符号化される。装置は、
量子化ステップサイズ263を示す量子化ステップサイズパラメータ262及び、
量子化インデックス-再構成レベルマッピング265を定義するパラメータセット264をDS45から復号化することによって、NNパラメータすなわち量子化インデックス32’’を逆量子化するための再構成ルール270を導出可能に構成されている。
ここで、所定のNN部分の再構成ルール270は、
所定のインデックス間隔268内の量子化インデックス32’’に対する量子化ステップサイズ263と、
所定のインデックス区間268外の量子化インデックス32’’に対する量子化インデックス-再構成レベルマッピング265と、により定義される。
【0162】
以下では、データストリーム45の文脈で異なる特徴及び/又は機能性を説明するが、特徴及び/又は機能性は、同じようにまたは同様に、実施形態ZH1による装置、または実施形態XH1による装置の特徴及び/又は機能性であってもよい。
【0163】
実施形態G7によれば、先の実施形態G6またはH1のいずれかのDS45の、所定の指標間隔268はゼロを含む。
【0164】
実施形態G8によれば、実施形態G7のDS45のうち、所定のインデックス間隔268は所定の大きさ閾値yまで延び、所定の大きさ閾値yを超える量子化インデックス32’’は、量子化インデックス-再構成レベルマッピング265が逆量子化280に用いられることを信号化するエスケープコードを表現している。
【0165】
実施形態G9によれば、先の実施形態G6からG8のいずれかのDS45の、パラメータセット264は、所定のインデックス間隔268外の量子化インデックス32’’に関連する再構成レベルのリストによって、量子化インデックス-再構成レベルマッピング265を定義している。
【0166】
実施形態G10によれば、先の実施形態G1からG9のいずれかのDS45のうち、NN部分は、NNのNN層の1つ以上のサブ部分及び/又はNNの1つ以上のNN層を含む。
図18は、NNの1つのNN層を含むNN部分についての例である。NNパラメータ32を含むNNパラメータテンソル30は、対応するNN層を表現する。
【0167】
実施形態G11によれば、先の実施形態G1~G10のいずれかのDS45のうち、データストリーム45は、個別にアクセス可能な部分に構造化され、それぞれの個別にアクセス可能な部分は、対応するNN部分について、そこに符号化されているNNパラメータ32を有する。例えば
図8または
図10~
図17のうちの1つを参照されたい。
【0168】
実施形態G12によれば、G11のDS45のうち、個別にアクセス可能な部分は、例えば
図8に示すように、個別にアクセス可能な部分それぞれの始点において、文脈適応型算術符号化を用いて、かつ、文脈初期化を用いて符号化される。
【0169】
実施形態G13によれば、任意の前の実施形態G11又はG12のDS45のうち、データストリーム45は、例えば
図11から
図15のうちの1つに示されるように、それぞれの個別にアクセス可能な部分について、
それぞれの個別にアクセス可能な部分が始まる開始コード242、及び/又は、
それぞれの個別にアクセス可能な部分の始まりを指すポインタ220/244、及び/又は、
DS45を解析する際にそれぞれの個別にアクセス可能な部分をスキップするための、それぞれの個別にアクセス可能な部分のデータストリーム長を示すデータストリーム長パラメータ246と、を含む。
【0170】
実施形態G14によれば、先のいずれかの実施形態G11からG13のDS45のうち、データストリーム45は、NN部分のそれぞれについて、それぞれのNN部分に関連するNNパラメータ32を逆量子化280するための再構成ルール270を、
NN全体に関するDS45のメインヘッダ部分47、
それぞれのNN部分が属するNN層210に関連するDS45のNN層関連ヘッダー部分110、又は、
それぞれのNN部分に関連するDS45のNN部分特定ヘッダー部分300、例えば、NN部分がNN層210の層サブ部分、すなわち、個別にアクセス可能なサブ部分43/44/240を表現する場合、その一部である、
内において示す。
【0171】
実施形態G15によれば、任意の先の実施形態G11~G14のDS45のうち、DS45は任意の先の実施形態A1~F2によるものである。
【0172】
4 パラメータハッシュに依存する識別子
分散学習のように、多くのクライアントが個別にネットワークをさらに学習し、相対的なNNの更新を中央のエンティティに送り返すシナリオでは、バージョン管理スキームによってネットワークを識別することが重要である。これにより、中央のエンティティは、NN更新が構築されているNNを識別することができる。
【0173】
スケーラブルなNNのような他のユースケースでは、完全なまたは強化されたNNを実行して完全な結果を得る前に、例えば予備的な結果を生成するために、NNのベースライン部分を実行することができる。強化されたNNは、ベースラインNNの若干異なるバージョン、例えば更新されたパラメータテンソールを使用する場合がある。そのような更新されたパラメータテンソルが差動的に符号化される場合、すなわち、以前に符号化されたパラメータテンソルの更新として、差動的に符号化された更新が構築されているパラメータテンソルを、例えば、
図19に示すように、識別パラメータ310を用いて識別することが必要である。
【0174】
さらに、NNの完全性が最も重要であるユースケース、すなわち、送信エラーまたはパラメータテンソルの不本意な変化が容易に認識できるようにする必要があるユースケースが存在する。識別子、すなわち識別パラメータ310は、それがNNの特性に基づいて検証され得る場合、操作をよりエラーロバストにする。
【0175】
しかし、最先端のバージョン管理は、コンテナ全体のデータ形式のチェックサムまたはハッシュを介して行われ、異なるコンテナ内の等価なNNを照合することは容易ではない。しかし、関係するクライアントが異なるフレームワーク/コンテナを使用している場合もある。また、NNの完全な再構成を行わない限り、NNのサブセット(層、サブ層)だけを識別/検証することは不可能である。
【0176】
したがって、本発明の一部として、一実施形態では、識別子、すなわち識別パラメータ310は、各エンティティ、すなわちモデル、層、サブ層とともに運ばれ、各エンティティが以下を行うことを可能にする。
-アイデンティティの確認、及び/又は、
-参照する、または参照される、及び/又は、
-整合性を確認する。
【0177】
別の実施形態では、識別子は、MD5又はSHA5などのハッシュアルゴリズム、あるいは、CRC又はチェックサムなどのエラー検出コードを使用して、パラメータテンソルから導出される。
【0178】
別の実施形態では、あるエンティティのそのような識別子は、下位エンティティの識別子を使用して導出されるる。例えば、層(レイヤー)識別子は構成するサブ層の識別子から、モデル識別子は構成する層の識別子から導出されるであろう。
【0179】
図19は、ニューラルネットワークの表現が符号化されたデータストリーム45の実施形態I1を示す。データストリーム45は、個別にアクセス可能な部分200に構造化されている。それぞれの部分200は、例えば、1つ以上のNN層を含むか、又はNN層の部分を含む、ニューラルネットワークの対応するNN部分を表現する。データストリーム45は、1つ以上の所定の個別にアクセス可能な部分200ごとに、それぞれの所定の個別にアクセス可能な部分200を識別するための識別パラメータ310を含む。
【0180】
対応する実施形態ZI1は、ニューラルネットワークの表現をDS45に符号化する装置に関する。データストリーム45は、個別にアクセス可能な部分200に構造化される。各部分200は、例えば1つ以上のNN層を含むか又はNN層の部分を含み、ニューラルネットワークの対応するNN部分を表現する。装置は、データストリーム45に、1つ以上の所定の個別のアクセス可能な部分200のそれぞれに対して、それぞれ所定の個別にアクセス可能な部分200を特定するための識別パラメータ310を提供するように構成される。
【0181】
別の対応する実施形態XI1は、DS45からニューラルネットワークの表現を復号化する装置に関する。データストリーム45は、個別にアクセス可能な部分200に構造化されている。各部分200は、例えば、1つ以上のNN層を含むか又はNN層の部分を含む、ニューラルネットワークの対応するNN部分を表現する。装置は、データストリーム45から、1つ以上の所定の個別にアクセス可能な部分200それぞれについて、それぞれの所定の個別にアクセス可能な部分200を識別するための識別パラメータ310を復号化するよう構成されている。
【0182】
以下では、データストリーム45の文脈で異なる特徴及び/又は機能性を説明するが、特徴及び/又は機能性はまた、同じようにまたは同様に、実施形態ZI1による装置の特徴及び/又は機能性、または実施形態XI1による装置の特徴及び/又は機能性であることができる。
【0183】
実施形態I2によれば、実施形態I1のDS45のうち、識別パラメータ310は、ハッシュ関数またはエラー検出コードまたはエラー訂正コードを介して、それぞれの所定の個別にアクセス可能な部分200に関連付けられる。
【0184】
実施形態I3によれば、先の実施形態I1及びI2のいずれかのDS45のうち、1つ以上の所定の個別にアクセス可能な部分200の集合体を識別するための上位の識別パラメータをさらに含む。
【0185】
実施形態I4によれば、実施形態I3のDS45のうち、上位の識別パラメータは、ハッシュ関数または誤り検出コードまたは誤り訂正コードを介して、1つ以上の所定の個別にアクセス可能な部分200の識別パラメータ310に関連づけられる。
【0186】
実施形態I5によれば、先の実施形態I1からI4のいずれかのDS45のうち、個別アクセス可能部分200は、例えば
図8に示すように、それぞれの個別にアクセス可能な部分の始点において、文脈適応型算術符号化を用いて、及び文脈初期化を使って符号化される。
【0187】
実施形態I6によれば、先の実施形態I1からI5のいずれかのDS45のうち、データストリーム45は、例えば
図11から
図15のいずれかに示すように、個別にアクセス可能な部分200それぞれについて、
それぞれの個別にアクセス可能な部分200が始まる開始コード242、及び/又は、
それぞれの個別にアクセス可能な部分200の始まりを指すポインタ220/244、及び/又は、
DS45を解析する際にそれぞれの個別にアクセス可能な部分200をスキップするための、それぞれの個別にアクセス可能な部分200のデータストリーム長を示すデータストリーム長パラメータ246、を含む。
【0188】
実施形態I7によれば、先の実施形態I1~I6のいずれかのDS45のうち、NN部分は、NNのNN層の1つ以上のサブ部分及び/又はNNの1つ以上のNN層を含む。
【0189】
実施形態I8によれば、先の実施形態I1からI7のいずれかのDS45のうち、DS45は、先の実施形態A1からG15のいずれかによるものである。
【0190】
5 スケーラブルNNビットストリーム
前述したように、いくつかのアプリケーションは、例えば、
図20から
図23に示すように、層210またはそのグループ、すなわちサブ層43/44/240を、ベースライン、例えばNN10の第2のバージョン330
1、およびアドバンスド部分330
2、例えばNN10の第1のバージョン330
2に分けてNN10の構造化をさらに進めることに依存している。クライアントがその処理能力を一致させられるか、より複雑なアドバンスドNNの処理に先立ってベースラインでまず推測を行うことができるかもしれない。このような場合、セクション1から4で説明したように、NN層のそれぞれのサブ部分のパラメータテンソル30を独立してソートし、コード化し、情報に基づいた方法でアクセスできるようにすることが有益である。
【0191】
さらに、場合によっては、NN10は、
-
図22に示すように、層におけるニューロンの数を減らすこと、例えば、より少ない演算を必要とすること、及び/又は、
-
図21に示すように、重みの量子化をより粗くすること、例えば、より高速な再構成を可能にすること、及び/又は、
-
図23に示すように、一般的なベースラインNNとパーソナライズされたアドバンスドNNのような、異なるトレーニング(学習)。
-など、によってベースラインとアドバンスドバリアントに分割することができる。
【0192】
図21は、NNと差分デルタ信号342の変形例を示す図である。ベースラインバージョン、例えば、NNの第2のバージョン330
1と、アドバンスドバージョン、例えば、NNの第1のバージョン330
2とが図示されている。
図21は、2つの量子化設定を有する元のNNの単一の層、例えば、対応する層を表現するパラメータテンソル30から2つの層の変種を作成し、それぞれのデルタ信号342を作成する上記の場合の1つを示す。ベースラインバージョン330
1は粗い量子化に関連付けられ、アドバンスドバージョン330
2は細かい量子化に関連付けられる。アドバンスドバージョン330
2は、ベースラインバージョン330
1とは相対的にデルタ符号化することができる。
【0193】
図22は、元のNNの分離のさらなる変形を示す。
図22において、NN分離のさらなる変形が示される。例えば、左側において、層、例えば、対応する層を表現するパラメータテンソル30のベースライン部分30aおよびアドバンスド部分30bへの分離が示され、すなわち、アドバンスド部分30bがベースライン部分30aを拡張している。アドバンスド部分30bの推論には、ベースライン部分30aの推論が必要である。
図22の右側では、アドバンスド部分30bの中央部分がベースライン部分30aの更新で構成されていることが示されているが、これも
図21に示されるようにデルタ符号化することが可能である。
【0194】
これらの場合、ベースライン3301およびアドバンスド3302のNNバージョンのNNパラメータ32、例えば重みは、明確な依存関係を有し、及び/又はNNのベースラインバージョン3301は、何らかの形でNNのアドバンスドバージョン3302の一部となる。
【0195】
したがって、アドバンスドNN部分、すなわちNNの第1のバージョン3302のパラメータテンソル30bを、ベースラインNNバージョン、すなわちNNの第2の部分3301のパラメータテンソル30bに対するデルタとして、NNスケールまたは層スケール、あるいはサブ層スケールで符号化することは、コーディング効率、処理オーバーヘッド、並列化などの面で有益である。
【0196】
さらなる変形が
図23に描かれており、そこでは、NNのアドバンスドバージョンが、非可逆圧縮ベースラインNNバリアントの存在下での学習によって、元のNNに対する圧縮影響を補償するために作成される。アドバンスドNNは、ベースラインNNと並行して推論され、そのNNパラメータ、例えば、重みは、ベースラインNNと同じニューロンに接続される。
図23は、例えば、ロッシー符号化されたベースラインNNバリアントに基づく増強NNの学習を示す図である。
【0197】
一実施形態では、(サブ)層ビットストリーム、すなわち個別にアクセス可能な部分200又は個別にアクセス可能なサブ部分34/44/220は、2つ以上の(サブ)層ビットストリームに分割され、第1のものは(サブ)層のベースラインバージョン3301、第2のものは第1の(サブ)層のアドバンスドバージョン3302といったように表現される。ビットストリーム順でベースラインバージョン3301がアドバンスドバージョン3302に先行する。
【0198】
別の実施形態では、(サブ)層ビットストリームは、ビットストリーム内の別の(サブ)層のパラメータテンソル30の増分更新、例えばデルタパラメータテンソル、すなわちデルタ信号342、及び/又はパラメータテンソルを含む増分更新を含むように示される。
【0199】
別の実施形態では、(サブ)層ビットストリームは、パラメータテンソル30の増分更新を含むマッチング識別子を有する(サブ)層ビットストリームを参照する参照識別子を運ぶ。
【0200】
図20は、NN10の異なるバージョン330がデータストリーム45に符号化されるように層方式でニューラルネットワーク10の表現が符号化されているデータストリーム45の実施形態J1を示す。データストリーム45は、1つ以上の個別にアクセス可能な部分200に構造化される。各部分200はニューラルネットワーク10の対応するバージョン330に関連する。
データストリーム45は、NN10の第1のバージョン330
2が、
第2の部分200
1に符号化されたNN10の第2のバージョン330
1に対してデルタ符号化340されて、及び/又は、
ニューラルネットワークの第1のバージョン330
2に基づく推論を実行するために、各々が、第2の部分200
1に符号化されたNN10の第2のバージョン330
1の対応するNN部分334の実行に追加して実行される1つ以上の補償NN部分332の形態であって、かつ、
それぞれの補償NN部分332及び対応するNN部分334の出力336が合計される338補償NN部分332の形態で、
第1の部分200
2に符号化される。
【0201】
実施形態によれば、補償NN部分332は、
図21に示すようにデルタ信号342、または
図22に示すように追加のテンソルおよびデルタ信号、または例えば
図23に示すように対応するNN部分334内のNNパラメータとは異なるように学習されたNNパラメータ含む場合がある。
【0202】
図23に示すように実施形態によれば、補償NN部分332は、第2のニューラルネットワークのNN部分の量子化されたNNパラメータを含み、第2のニューラルネットワークのNN部分は、NN10、すなわち第1のNNの対応するNN部分334と関連付けられている。第2のニューラルネットワークは、補償NN部分332が、第1のNNの対応するNN部分334に対する圧縮影響、例えば量子化誤差を補償するために使用され得るように、学習されるかもしれない。それぞれの補償NN部分332および対応するNN部分334の出力は、NN10の第1のバージョン330
2に対応するNNパラメータを再構成して、NN10の第1のバージョン330
2に基づく推論を可能にするために合計される。
【0203】
上述した実施形態では、NN10の異なるバージョン330を1つのデータストリームで提供することに主に焦点を当てているが、異なるバージョン(複数)330を異なるデータストリーム(複数)で提供することも可能である。異なるバージョン330は、例えば、より単純なバージョンと比較して異なるデータストリームにデルタ符号化される。したがって、別々のデータストリーム(DS)が使用されるかもしれない。例えば、最初に、初期NNデータを含むDSが送信され、後に、更新されたNNデータを含むDSが送信される。
【0204】
対応する実施形態ZJ1は、NN10の異なるバージョン330がデータストリーム45に符号化され、データストリーム45が1つ以上の個別にアクセス可能な部分200に構造化されるようにニューラルネットワークの表現をDS45に階層的に符号化する装置に関する。それぞれの部分200はニューラルネットワーク10の対応するバージョン330に関連する。装置は、
NN10の第1のバージョン3302を、
第2の部分2001に符号化されたNN10の第2のバージョン3301に対してデルタ符号化340されて、及び/又は、
NN10の第1のバージョン3302に基づく推論を実行するために、各々が、第2の部分2001に符号化されたNN10の第2のバージョン3301の対応するNN部分334の実行に追加して実行される1つ以上の補償NN部分332の形態であって、及び、
それぞれの補償NN部分332及び対応するNN部分334の出力336が合計される338補償NN部分332の形態で、
第1の部分2002に符号化するように構成されている。
【0205】
別の対応する実施形態XJ1は、層方式で符号化されたDS45からニューラルネットワーク10の表現を復号化する装置に関する。NN10の異なるバージョン330がデータストリーム45に符号化され、データストリーム45が1つ以上の個別にアクセス可能な部分200に構造化され、それぞれの部分200がニューラルネットワーク10の対応するバージョン330に関連しており、装置は、
第2の部分2001に符号化されたNN10の第2のバージョン3301に対してデルタ復号化340を使用することによって、及び/又は、
DS45から、それぞれがNN10の第1のバージョン3302に基づく推論を実行するために、1つ以上の補償NN部分332を復号化することによって、
第1の部分2002から符号化されたNN10の第1のバージョン3302を復号化するように構成されており、
第2の部分2001に符号化されたNN10の第2のバージョン3301の対応するNN部分334の実行に追加して実行され、
それぞれの補償NN部分332および対応するNN部分334の出力336が合計される338。
【0206】
以下では、データストリーム45の文脈で異なる特徴及び/又は機能性を説明するが、特徴及び/又は機能性は、同じ方法または同様の方法で、実施形態ZJ1による装置の特徴及び/又は機能性、又は実施形態XJ1による装置の特徴及び機能性であってもよい。
【0207】
実施形態J2によれば、実施形態J1のデータストリーム45のうち、データストリーム45は、NN10の第1のバージョン330
1が、
重み及び/又はバイアスの差、すなわち、例えば
図21に示すように、NN10の第1のバージョン330
1に関連するNNパラメータとNN10の第2のバージョン330
2に関連するNNパラメータとの間の差、及び/又は、
例えば
図22に示すように、追加のニューロンまたはニューロンの相互接続、
で第2の部分200
2に符号化されたNN10の第2のバージョン330
2に対してデルタ符号化340され、第1の部分200
1に符号化されている。
【0208】
実施形態J3によれば、任意の先の実施形態J1およびJ2のDSのうち、個別にアクセス可能な部分200は、例えば
図8に示すように、それぞれの個別にアクセス可能な部分200の始点において、文脈適応型算術符号化を用いて、文脈初期化を使って符号化される。
【0209】
実施形態J4によれば、任意の前の実施形態J1~J3のDSのうち、データストリーム45は、例えば
図11~
図15のうちの1つに示されるように、それぞれの個別にアクセス可能な部分200は、
それぞれの個別にアクセス可能な部分200が始まる開始コード242、及び/又は、
それぞれの個別にアクセス可能な部分200の始まりを指すポインタ220/244、及び/又は、
DS45を解析する際に、それぞれの個別にアクセス可能な部分200をスキップするための、それぞれの個別にアクセス可能な部分200のデータストリーム長246を示すデータストリーム長パラメータを含む。
【0210】
実施形態J5によれば、先の任意の実施形態J1~J4のDS45のうち、データストリーム45は、1つ以上の所定の個別にアクセス可能な部分200のそれぞれについて、例えば
図19に示すように、それぞれの所定の個別にアクセス可能な部分200を識別するための識別パラメータ310を含む。
【0211】
実施形態J6によれば、先の実施形態J1~J5のいずれかのDS45のうち、DS45は、先の実施形態A1~I8のいずれかによる。
【0212】
6 補強データ
図24aおよび
図24bに示すように、パラメータテンソル30に追加の補強(または補助/補足)データ350が付随するアプリケーション(適用)シナリオが存在する。この補足データ350は、通常、NNの復号/再構成/推論には必要ないが、しかし、アプリケーションの観点からは必須となり得る。例としては、例えば、各パラメータ32の関連性に関する情報(Sebastian Lapuschkin, 2019)、または摂動に対する各パラメータ32の堅牢性を示す間隔または分散などのパラメータ32の十分な統計に関する情報(Christos Louizos, 2017)であってよい。
【0213】
そのような増強情報、すなわち補足データ350は、DeepCABACなどのスキームを使用して増強データ350を同様に符号化することが望ましいように、NNのパラメータテンソル30に関してかなりの量のデータを導入し得る。しかし、増強を必要としないクライアントがデータのこの部分をスキップできるように、唯一の推論の目的のために、このデータをNNの復号化に無関係であるとマークすることが重要である。
【0214】
一実施形態では、増強データ350は、(サブ)層ビットストリームデータに依存せずに、例えば、個別にアクセス可能な部分200及び/又は個別にアクセス可能なサブ部分240に依存せずに符号化されるが、それぞれの(サブ)層ビットストリームと散在してモデルビットストリーム、すなわちデータストリーム45を形成する追加の(サブ)層増強ビットストリーム、すなわち、さらなる個別にアクセス可能な部分352で運ばれる。
図24a及び
図24bは、本実施形態を示す。
図24bは、増強ビットストリーム352を説明する図である。
【0215】
図24a及び24bは実施形態K1であって、ニューラルネットワークの表現が符号化されたデータストリーム45を示す。データストリーム45は、個別にアクセス可能な部分200に構造化される。それぞれの部分200はニューラルネットワークの対応するNN部分を表現する。データストリーム45は、1つ以上の所定の個別にアクセス可能な部分200それぞれについて、NNの表現を補うための補強データ350を含む。代替的に、
図24bに示すように、データストリーム45は、1つ以上の所定の個別にアクセス可能な部分200について、NNの表現を補足するための補足データ350を含む。
【0216】
対応する実施形態ZK1は、ニューラルネットワークの表現をDS45に符号化する装置に関する。データストリーム45は、個別にアクセス可能な部分200に構造化される。それぞれの部分200は、ニューラルネットワークの対応するNN部分を表現する。装置は、データストリーム45に、1つ以上の所定の個別にアクセス可能な部分200それぞれについて、NNの表現を補足するための補足データ350を提供するよう構成される。あるいは、装置は、データストリーム45に、1つ以上の所定の個別にアクセス可能な部分200について、NNの表現を補足するための補足データ350を提供するように構成されている。
【0217】
別の対応する実施形態XK1は、DS45からニューラルネットワークの表現を復号化する装置に関する。データストリーム45は、個別にアクセス可能な部分200に構造化されている。それぞれの部分200は、ニューラルネットワークの対応するNN部分を表現している。装置は、データストリーム45から、1つ以上の所定の個別にアクセス可能な部分200のそれぞれについて、NNの表現を補足するための補足データ350を復号化するよう構成される。あるいは、装置は、データストリーム45から、1つ以上の所定の個別にアクセス可能な部分200について、NNの表現を補足するための補足データ350を復号化するように構成されている。
【0218】
以下では、異なる特徴及び/又は機能性をデータストリーム45の文脈で説明するが、特徴及び/又は機能性はまた、同じようにまたは同様に、実施形態ZK1による装置の特徴及び/又は機能性、あるいは実施形態XK1による装置の特徴及び/又は機能性であり得る。
【0219】
実施形態K2によれば、実施形態K1のデータストリーム45のうち、DS45は、補足データ350をNNに基づく推論に必須ではないと示す。
【0220】
実施形態K3によれば、前の実施形態K1及びK2のいずれかのデータストリーム45のうち、データストリーム45は、
図24bに示すように、さらなる個別にアクセス可能な部分352に符号化された1つ以上の所定の個別にアクセス可能な部分200について、NNの表現を補足するための補足データ350を有する。DS45は、1つ以上の所定の個別にアクセス可能な部分200について、例えば、1つ以上の所定の個別にアクセス可能な部分200のそれぞれについて、それぞれの所定の個別にアクセス可能な部分200が対応するNN部分に関連する対応するさらなる所定の個別にアクセス可能な部分352を含む。
【0221】
実施形態K4によれば、先の任意の実施形態K1~K3のDS45のうち、NN部分は、NNの1つ以上のNN層及び/又はNNの所定のNN層が細分化された層部分を含む。
図24bによれば、例えば、個別にアクセス可能な部分200
2及び対応する更なる所定の個別にアクセス可能な部分352は、1つ以上のNN層を含むNN部分に関する。
【0222】
実施形態K5によれば、任意の前の実施形態K1~K4のDS45のうち、個別にアクセス可能な部分200は、例えば
図8に示すように、それぞれの個別にアクセス可能な部分200の始点において、文脈適応型算術符号化を用いて、文脈初期化を使って符号化される。
【0223】
実施形態K6によれば、先の任意の実施形態K1~K5のDS45のうち、データストリーム45は、例えば
図11~
図15のいずれかに示すように、それぞれの個別にアクセス可能な部分200について、
それぞれの個別にアクセス可能な部分200が始まる開始コード242、及び/又は、
それぞれの個別にアクセス可能な部分200の始まりを指すポインタ220/244、及び/又は、
DS45を解析する際にそれぞれの個別アクセス可能部分200をスキップするための、それぞれの個別にアクセス可能な部分200のデータストリーム長246を示すデータストリーム長パラメータを含む。
【0224】
実施形態K7によれば、先の任意の実施形態K1~K6のDS45のうち、補足データ350は、
NNパラメータの関連性スコア、及び/又は、
NNパラメータの摂動ロバスト性に関するものである。
【0225】
実施形態K8によれば、先のいずれかの実施形態K1~K7のDS45のうち、DS45は、先の実施形態A1~J6のいずれかによる。
【0226】
7 拡張された制御データ
異なるアクセス機能の記述された機能性の他に、拡張された階層的制御データ構造、すなわち制御データ部分420のシーケンス410が、異なるアプリケーションおよび使用シナリオのために必要とされるかもしれない。一方では、圧縮されたNN表現(またはビットストリーム)は、TensorFlowまたはPytorchなどの特定のフレームワークの内部から使用されてもよく、この場合、最小限の制御データ400のみが、例えば、deepCABAC符号化パラメータテンソルを復号化するために必要である。一方、フレームワークの特定のタイプは、復号化器に知られていないかもしれず、その場合、追加の制御データ400が必要とされる。このように、ユースケースと環境の知識に応じて、
図25に示すように、異なるレベルの制御データ400が必要とされる場合がある。
【0227】
図25は、圧縮されたニューラルネットワークのための階層的制御データ(CD)構造、すなわち制御データ部分420のシーケンス410を示す。使用環境に応じて、異なるCDレベル、すなわち制御データ部分420、例えば点線のボックスが存在するかしないかである。
図25において、例えばニューラルネットワークの表現500を含む圧縮ビットストリームは、上記のモデルビットストリームタイプのいずれでもよく、例えば、サブビットストリームに細分化ありの、あるいは細分化なしのネットワークの全ての圧縮データを含む。
【0228】
したがって、復号化器および符号化器に既知のタイプおよびアーキテクチャを有する特定のネットワーク(例えば、TensorFlow、Pytorch、Kerasなど)が圧縮NN技術を含む場合、圧縮NNビットストリーム(Compressed NN Bitsream)のみが必要である。しかし、復号化器がいかなる符号化器の設定も知らない場合、ネットワークの完全な再構成を可能にすることに加えて、制御データのフルセット、すなわち制御データ部分420の完全なシーケンス410が必要とされる。
【0229】
異なる階層的制御データ層、すなわち制御データ部420の例は、以下の通りである。
-CDレベル1:圧縮データ復号化器制御情報。
-CDレベル2:それぞれのフレームワークからの特定のシンタックス要素(Tensor Flow、Pytorch、Keras)
-CDレベル3:フレームワーク間フォーマット要素、例えば異なるフレームワークで使用するためのONNX(ONNX=Open Neural Network Exchange)
-CDレベル4:ネットワークのトポロジーに関する情報
-CDレベル5:完全なネットワークパラメータ情報(ネットワークのトポロジーに関する知識が無しで完全な再構成のための)
【0230】
したがって、この実施形態は、Nレベル、すなわちNの制御データ部分420の階層的制御データ構造を記述することになる。ここで、0~Nレベルは、特定の圧縮のみのコアデータの使用から完全に自己完結したネットワーク再構成までの異なる使用モードを可能にするために存在し得る。レベル、すなわち制御データ部分420は、既存のネットワークアーキテクチャおよびフレームワークからのシンタックスを含むことさえある。
【0231】
別の実施形態では、異なるレベル、すなわち制御データ部分420は、異なる精度でのニューラルネットワークに関する情報を含んでもよい。例えば、レベル構造は、以下のように構成されてもよい。
-CDレベル1:ネットワークのパラメータに関する情報を内包する。例えば、タイプ、寸法など。
-CDレベル2:ネットワークの層に関する情報を含む。例:タイプ,識別など。
-CDレベル3:ネットワークのトポロジーに関する情報を含む。例:層(レイヤー)間の接続性。
-CDレベル4:ニューラルネットワークのモデルに関する情報を含む。例:バージョン、学習パラメータ、性能など。
-CDレベル5:学習・検証されたデータセットに関する情報を含む。例:1000ラベルのカテゴリを有する227x227解像度の入力自然画像など。
【0232】
図25は、実施形態L1を示す。データストリーム45は、ニューラルネットワークの表現500が符号化されている。データストリーム45は、制御データ部分420のシーケンス410に構造化された階層的制御データ400を含む。制御データ部分420は、NNに関する情報を制御データ部分420のシーケンス410に沿って詳細度を増して提供する。第2の制御データ部分420
2の第2の階層的制御データ400
2は、第1の制御データ部分420
1の第1の階層的制御データ400
1よりも詳細な情報を含む。
【0233】
実施形態によれば、制御データ部分420は、追加のトポロジー情報を含むことができる異なるユニットを表現するかもしれない。
【0234】
対応する実施形態ZL1は、ニューラルネットワークの表現500をDS45に符号化するための装置に関連する。装置は、制御データ部分420のシーケンス410に構造化された階層制御データ400をデータストリーム45に提供するように構成されている。制御データ部分420は、NNに関する情報を制御データ部分420のシーケンス410に沿って詳細度を増して提供する。
【0235】
別の対応する実施形態XL1は、DS45からニューラルネットワークの表現500を復号化するための装置に関する。装置は、データストリーム45から制御データ部分420のシーケンス410に構造化された階層的制御データ400を復号化するように構成されている。制御データ部分420は、NNに関する情報を制御データ部分420のシーケンス410に沿って詳細度を増して提供する。
【0236】
以下では、異なる特徴及び/又は機能性をデータストリーム45の文脈で説明するが、特徴及び/又は機能性は、同じように、または同様に、実施形態ZL1による、または実施形態XL1による、装置の特徴および機能性であることもできる。
【0237】
実施形態L2によれば、実施形態L1のデータストリーム45のうち、制御データ部分420の少なくともいくつかは、NNに関する部分的に冗長である情報を提供する。
【0238】
実施形態L3によれば、実施形態L1又はL2のデータストリーム45のうち、第1の制御データ部分4201は、デフォルト設定を意味するデフォルトNNタイプを示す方法でNNに関する情報を提供し、第2の制御データ部分4202は、デフォルト設定のそれぞれを示すパラメータを含む。
【0239】
実施形態L4によれば、先の実施形態L1~L3のいずれかのDS45のうち、DS45は、先の実施形態A1~K8のいずれかによる。
【0240】
実施形態X1は、任意の以前の実施形態によるデータストリーム45を復号化するための装置に関する。装置は、データストリーム45から、例えば、上記実施形態XA1からXL1のいずれかによるNN10を導出するように構成されている。例えば、装置は、DS45が任意の以前の実施形態に従うように符号化/復号化するようにさらに構成されている。
【0241】
本装置は、例えば、
開始コード242を検索し、及び/又は、
データストリーム長45パラメータを使用して、個別にアクセス可能な部分200をスキップする、及び/又は、
ポインタ220/244を使用して、個別にアクセス可能な部分200の始まりにおいてデータストリーム45の解析を再開する、及び/又は、
復号化されたNNパラメータ32’を、符号化順序104に従って、ニューロン14、18、20またはニューロン相互接続22/24に関連付ける、及び/又は、
文脈適応型算術復号化および文脈初期化を実行する、及び/又は、
逆量子化/値再構成280を実行し、及び/又は、
量子化ステップサイズ263を計算するために指数の和を実行し、及び/又は、
エスケープコードを推定するなど、所定のインデックス間隔268を離れる量子化インデックス32’’に応答して、量子化インデックス-再構成レベルマッピング265のルックアップを実行する、及び/又は、
ある個別にアクセス可能な部分200に対してハッシュを実行し、またはエラー検出/訂正コードを適用し、その結果を対応する識別パラメータ310と比較して、個別にアクセス可能な部分200の正しさをチェックする、及び/又は、
基礎となるNNバージョン330に重み及び/又はバイアス差を加えること、及び/又は、基礎となるNNバージョン330に追加のニューロン14、18、20もしくはニューロン相互接続22/24を加えること、又は1つ以上の補償NN部分と対応するNN部分の共同実行とその出力の合計を行うことによってNN10のあるバージョン330を再構成する、及び/又は、
現在読み込まれている制御データ部420が装置に既知のパラメータ状態を想定した時点で読み出しを停止し、所定の程度に適合する程度の態様で情報、すなわち階層的制御データ400を提供しながら、制御データ部420を順次読み出す。
【0242】
実施形態Y1は、NN10を使用して推論を実行する装置に関するものであり、実施形態X1に従ってデータストリーム45を復号化してデータストリーム45からNN10を導出する装置と、NN10に基づいて推論を実行するように構成されたプロセッサと、を含む。
【0243】
実施形態Z1は、任意の前の実施形態によるデータストリーム45を符号化するための装置、例えば、上記実施形態ZA1~ZL1のいずれかによる、例えば、DS45が任意の前の実施形態に従うように符号化/復号化するようにさらに構成された装置に関するものである。
【0244】
この装置は、例えば、最適な圧縮効率のために最適なものを見つけるために、符号化順序104を選択する。
【0245】
実施形態Uは、実施形態XA1~XL1またはZA1~ZL1のいずれかの装置によって実行される方法に関するものである。
【0246】
実施形態Wは、コンピュータによって実行されるとき、コンピュータに実施形態Uの方法を実行させるためのコンピュータプログラムに関するものである。
【0247】
実施形態の変形例。
【0248】
いくつかの側面は装置の文脈で説明されてきたが、これらの側面は、ブロックまたは装置が方法ステップまたは方法ステップの特徴に対応する、対応する方法の説明も表現することは明らかである。同様に、方法ステップの文脈で説明された側面は、対応するブロックまたは項目または対応する装置の特徴の説明も表現している。方法ステップのいくつかまたはすべては、例えばマイクロプロセッサ、プログラマブルコンピュータ、または電子回路のようなハードウェア装置によって(またはそれを使用して)実行されてもよい。いくつかの実施形態では、最も重要な方法ステップの1つまたはそれ以上が、そのような装置によって実行されてもよい。
【0249】
特定の実装要件に応じて、本発明の実施形態は、ハードウェアまたはソフトウェアで実装することができる。実装は、デジタル記憶媒体、例えばフロッピー(登録商標)ディスク、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROMまたはFLASHメモリであって、その上に格納された電子的に読み取り可能な制御信号を有し、それぞれの方法が実行されるようにプログラム可能なコンピュータシステムと協力する(または協力できる)ものを使用して実行することができる。したがって、デジタル記憶媒体は、コンピュータ読取可能であってもよい。
【0250】
本発明によるいくつかの実施形態は、電子的に読み取り可能な制御信号を有するデータキャリアからなり、本明細書に記載の方法の1つが実行されるように、プログラム可能なコンピュータシステムと協働することが可能なものである。
【0251】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実施することができ、そのプログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに、方法の1つを実行するために動作可能である。プログラムコードは、例えば、機械読み取り可能な担体に格納されてもよい。
【0252】
他の実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを、機械読み取り可能な担体に格納することによって構成される。
【0253】
言い換えれば、本発明方法の実施形態は、それゆえ、コンピュータプログラムがコンピュータ上で実行される場合、本明細書に記載された方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0254】
本発明方法のさらなる実施形態は、したがって、本明細書に記載の方法の1つを実行するためのコンピュータプログラムをその上に記録してなるデータ担体(またはデジタル記憶媒体、またはコンピュータ読取可能媒体)である。データキャリア、デジタル記憶媒体、または記録媒体は、典型的には、有形及び/又は非遷移的である。
【0255】
したがって、本発明方法のさらなる実施形態は、本明細書に記載された方法の1つを実行するためのコンピュータプログラムを表現するデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えば、データ通信接続、例えばインターネットを介して転送されるように構成されてもよい。
【0256】
さらなる実施形態は、本明細書に記載された方法の1つを実行するように構成されたまたは適合された処理手段、例えばコンピュータ、またはプログラマブルロジックデバイスを含む。
【0257】
さらなる実施形態は、本明細書に記載された方法の1つを実行するためのコンピュータプログラムをその上にインストールしたコンピュータを具備する。
【0258】
本発明によるさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを受信機に(例えば、電子的または光学的に)転送するように構成された装置またはシステムからなる。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイス等であってもよい。装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを含んでいてもよい。
【0259】
いくつかの実施形態では、プログラマブルロジックデバイス(例えば、フィールドプログラマブルゲートアレイ)を使用して、本明細書に記載の方法の機能性の一部または全部を実行することができる。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書に記載される方法の1つを実行するためにマイクロプロセッサと協働してよい。一般に、本方法は、任意のハードウェア装置によって実行されることが好ましい。
【0260】
本書に記載された装置は、ハードウェア装置を用いて、またはコンピュータを用いて、あるいはハードウェア装置とコンピュータの組合せを用いて実施することができる。
【0261】
本明細書に記載された装置、又は本明細書に記載された装置の任意の構成要素は、少なくとも部分的にハードウェア及び/又はソフトウェアで実装されてもよい。
【0262】
本明細書に記載される方法は、ハードウェア装置を用いて、又はコンピュータを用いて、又はハードウェア装置とコンピュータの組合せを用いて実行されてもよい。
【0263】
本明細書に記載された方法、又は本明細書に記載された装置の任意の構成要素は、少なくとも部分的にハードウェア及び/又はソフトウェアによって実行されてもよい。
【0264】
以上説明した実施形態は、本発明の原理を説明するためのものに過ぎない。本明細書に記載された配置および詳細の修正および変形は、当業者には明らかであることが理解される。したがって、差し迫った特許請求の範囲の範囲によってのみ限定され、本明細書における実施形態の説明および解説によって提示される特定の詳細によって限定されないことが意図される。
【0265】
8.参照
Andrew Kerr, D. M. (2017, 5). Retrieved from https://devblogs.nvidia.com/cutlass-linear-algebra-cuda/
Chollet, F. (2016). Xception: Deep Learning with Depthwise Separable Convolutions. Retrieved from https://arxiv.org/abs/1610.02357
Christos Louizos, K. U. (2017). Bayesian Compression for Deep Learning. NI PS
Sebastian Lapuschkin, S. W.-R. (2019). Unmasking Clever Hans predictors and asse ssing what machines really learn. Nature Comminications.
Tao, K. C. (2018). Once for All: A Two-Flow Convolutional Neural Network for Vis ual Tracking. IEEE Transactions on Circuits and Systems for Video Techno logy, 3377-3386
【手続補正書】
【提出日】2022-06-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ニューラルネットワークを表現するニューラルネットワークパラメータ(32)がその中に符号化されているデータストリーム(45)であって、
前記ニューラルネットワークパラメータ(32)は、量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化され、
前記ニューラルネットワークの異なるニューラルネットワーク部分におけるニューラルネットワークパラメータ(32)が異なってで量子化(260)されるように、前記ニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化され、前記データストリーム(45)は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化するための再構成ルール(270)を示す、データストリーム(45)。
【請求項2】
ニューラルネットワークを表現するニューラルネットワークパラメータ(32)をデータストリーム(45)に符号化する装置であって、
前記ニューラルネットワークパラメータ(32)が量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化され、前記ニューラルネットワークの異なるニューラルネットワーク部分におけるニューラルネットワークパラメータ(32)が異なって量子化(260)されるように、前記ニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化され、前記装置は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)のための再構成ルール(270)を示す前記データストリーム(45)を提供するように構成される、装置。
【請求項3】
ニューラルネットワークを表現するニューラルネットワークパラメータ(32)をデータストリーム(45)から復号化する装置であって、
前記ニューラルネットワークパラメータ(32)が量子化インデックス(32’’)に量子化(260)されて前記データストリーム(45)に符号化され、前記ニューラルネットワークの異なるニューラルネットワーク部分におけるニューラルネットワークパラメータ(32)が異なって量子化(260)されるように、前記ニューラルネットワークパラメータ(32)が前記データストリーム(45)に符号化され、前記装置は、前記ニューラルネットワーク部分のそれぞれについて、前記データストリーム(45)から、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための再構成ルール(270)を復号化するよう構成される、装置。
【請求項4】
前記ニューラルネットワーク部分が、前記ニューラルネットワークのニューラルネットワーク層(210、30)及び/又は前記ニューラルネットワークの所定のニューラルネットワーク層が細分化された層部分を含む、請求項
3に記載の装置。
【請求項5】
前記装置は、前記データストリーム(45)から、第1のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(280)を逆量子化するための第1の再構成ルール(270
1、270a
1)を、第2のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(280)を逆量子化するための第2の再構成ルール(270
2、270a
2)に対してデルタ復号化して復号化するように構成される、請求項
3又は4に記載の装置。
【請求項6】
前記装置は、前記データストリーム(45)から、前記第1の再構成ルール(270
1、270a
1)を示すための第1の指数値と、前記第2の再構成ルール(270
2、270a
2)を示すための第2の指数値とを復号化するように構成され、
前記第1の再構成ルール(270
1、270a
1)は、所定の基底の指数で定義される第1の量子化ステップサイズ(263)と、前記第1の指数値で定義される第1の指数とによって定義され、かつ、
前記第2の再構成ルール(270
2、270a
2)は、前記所定の基底の指数によって定義される第2の量子化ステップサイズ(263)と、前記第1および第2の指数値の和で定義される第2の指数とによって定義される、請求項
5に記載の装置。
【請求項7】
データストリーム(45)が、さらに所定の基底を示す、請求項
6に記載の装置。
【請求項8】
前記装置は、前記データストリーム(45)から、第1のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための第1の再構成ルール(270
1、270a
1)を示すための第1の指数値と、第2のニューラルネットワーク部分に関連するニューラルネットワークパラメータ(32)を逆量子化(280)するための第2の再構成ルール(270
2、270a
2)を示すための第2の指数値を復号化するように構成されており、
前記第1の再構成ルール(270
1、270a
1)は、所定の基底の指数によって定義される第1の量子化ステップサイズ(263)と、前記第1の指数値と所定の指数値との和によって定義される第1の指数とによって定義され、かつ、
前記第2の再構成ルール(270
2、270a
2)は、前記所定の基底の指数によって定義される第2の量子化ステップサイズ(263)と、前記第2の指数値と前記所定の指数値との和によって定義される第2の指数とによって定義される、請求項
3乃至5のいずれかに記載の装置。
【請求項9】
前記データストリームは、さらに所定の基底を示す、請求項
8に記載の装置。
【請求項10】
前記データストリームは、ニューラルネットワーク範囲で前記所定の基底を示す、請求項
9に記載の装置。
【請求項11】
前記データストリームは、さらに前記所定の指数値を示す、請求項
8から10のいずれかに記載の装置。
【請求項12】
前記データストリーム(45)は、ニューラルネットワーク層(210、30)範囲で前記所定の指数値を示す、請求項
11に記載の装置。
【請求項13】
前記データストリームは、前記所定の基底をさらに示し、前記データストリームは、前記所定の基底が前記データストリームによって示される範囲よりも細かい範囲で前記所定の指数値を示す、請求項
11又は12に記載の装置。
【請求項14】
前記装置は、前記データストリームから、前記所定の基底を非整数形式で、前記第1および第2の指数値を整数形式で復号化するように構成される、請求項
6乃至13のいずれかに記載の装置。
【請求項15】
前記装置は、前記データストリームから、前記第1の再構成ルール(270
1、270a
1)を示すために、第1の量子化インデックス-再構成レベルマッピング(265)を定義する第1のパラメータセット(264)と、前記第2の再構成ルール(270
2、270a
2)を示すために、第2の量子化インデックス-再構成レベルマッピング(265)を定義する第2のパラメータセット(264)とを復号化するよう構成されており、
前記第1の再構成ルール(270
1、270a
1)は、前記第1の量子化インデックス-再構成レベルマッピング(265)によって定義され、
前記第2の再構成ルール(270
2、270a
2)は、前記第1の量子化インデックス-再構成レベルマッピング(265)を前記第2の量子化インデックス-再構成レベルマッピング(265)で所定の方法で拡張することにより定義される、請求項
5乃至14のいずれかに記載の装置。
【請求項16】
前記装置は、前記データストリームから、前記第1の再構成ルール(270
1、270a
1)を示すために、第1の量子化インデックス-再構成レベルマッピング(265)を定義する第1のパラメータセット(264)と、前記第2の再構成ルール(270
2、270a
2)を示すために、第2の量子化インデックス-再構成レベルマッピング(265)を定義する第2のパラメータセット(264)とを復号化するよう構成されており、
前記第1の再構成ルール(270
1、270a
1)は、前記第1の量子化インデックス-再構成レベルマッピング(265)によって定義され、
前記第2の再構成ルール(270
2、270a
2)は、前記第1の量子化インデックス-再構成レベルマッピング(265)を前記第2の量子化インデックス-再構成レベルマッピング(265)で所定の方法で拡張することにより定義される、請求項
5乃至15のいずれかに記載の装置。
【請求項17】
前記データストリームは、さらに、前記所定の量子化インデックス-再構成レベルマッピング(265)を示す、請求項
16に記載の装置。
【請求項18】
前記データストリームは、ニューラルネットワーク範囲又はニューラルネットワーク層(210、30)範囲で、前記所定の量子化インデックス-再構成レベルマッピング(265)を示す、請求項
17に記載の装置。
【請求項19】
前記所定の方法によれば、
拡張される前記量子化インデックス-再構成レベルマッピングに従った、それぞれのインデックス値(32’’)の第1の再構成レベルへのマッピングは、拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従った、前記それぞれのインデックス値(32’’)の第2の再構成レベルへのマッピング存在する場合はそれによって置換される、及び/又は、
拡張される前記量子化インデックス-再構成レベルマッピングに従うとそれぞれの前記インデックス値(32’’)をマッピングすべき再構成レベルが定義されず、また拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従うと対応する再構成レベルへマッピングされる前記任意のインデックス値(32’’)について、前記それぞれのインデックス値(32’’)から前記対応する再構成レベルへのマッピングが採用される、及び/又は、
拡張される前記量子化インデックス-再構成レベルマッピングを拡張する前記量子化インデックス-再構成レベルマッピングに従うとそれぞれの前記インデックス値(32’’)をマッピングすべき再構成レベルが定義されず、また拡張される前記量子化インデックス-再構成レベルマッピングに従うと対応する再構成レベルへマッピングされる任意のインデックス値(32’’)について、前記それぞれのインデックス値(32’’)から前記対応する再構成レベルへのマッピングが採用される、請求項
15乃至18のいずれかに記載の装置。
【請求項20】
前記装置は、前記データストリームから、所定のニューラルネットワーク部分の再構成ルール(270)を示すための復号化を行うように構成されており、
量子化ステップサイズ(263)を示す量子化ステップサイズパラメータ(262)と、
量子化インデックス-再構成レベルマッピング(265)を定義するパラメータセット(264)と、を含み、
前記所定のニューラルネットワーク部分の前記再構成ルール(270)は、
所定のインデックス間隔(268)内の量子化インデックス(32’’)に対する量子化ステップサイズ(263)、及び
前記所定のインデックス間隔(268)外の量子化インデックス(32’’)に対する量子化インデックス-再構成レベルマッピング(265)によって定義される、請求項
3乃至19のいずれかに記載の装置。
【請求項21】
ニューラルネットワークを表現するニューラルネットワークパラメータをデータストリームから復号化する方法であって、
前記ニューラルネットワークパラメータは量子化インデックスに量子化されて前記データストリームに符号化され、前記ニューラルネットワークの異なるニューラルネットワーク部分のニューラルネットワークパラメータが異なるように前記データストリームに符号化され、前記方法は、前記ニューラルネットワーク部分のそれぞれについて、前記それぞれのニューラルネットワーク部分に関連するニューラルネットワークパラメータを逆量子化するための再構成ルールを前記データストリームから復号化するステップを含む、装置。
【請求項22】
コンピュータによって実行されるとき、コンピュータに請求項
21に記載の方法を実行させるためのコンピュータプログラム。
【国際調査報告】