(57)【要約】      （修正有）【課題】ニューラルネットワークの出力層の次元数が大きい場合にも機械学習を高速に実行すること。【解決手段】機械学習システムは、ニューラルネットワークの中間層で得られた中間ベクトルと変換行列Ａとを用いて、ニューラルネットワークの出力層のベクトルである出力ベクトルを算出し、該出力ベクトルに基づいて事象を予測する予測部を備える。予測部は、変換行列Ａを特異値分解することで得られる行列ＵΣと行列Ｖとを取得し、中間ベクトルと行列Ｖとに基づいて一時ベクトルを算出し、行列ＵΣの１列目からｋ列目を用いて定義される前行列と、一時ベクトルの１個目からｋ個目までの要素を用いて定義される前ベクトルとを取得し、前行列および前ベクトルに基づいて近似ベクトルを算出し、近似ベクトルを出力ベクトルとして設定する。【選択図】図１
2019212121.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークの中間層で得られた中間ベクトルと変換行列Ａとを用いて、前記ニューラルネットワークの出力層のベクトルである出力ベクトルを算出し、該出力ベクトルに基づいて事象を予測する予測部を備え、
前記予測部が、
前記変換行列Ａを特異値分解することで得られる行列ＵΣと行列Ｖとを取得し、ここで、行列Ｕおよび行列Ｖは直交行列であり、行列Σは対角行列であり、
前記中間ベクトルと前記行列Ｖとに基づいて一時ベクトルを算出し、
前記行列ＵΣおよび前記一時ベクトルのそれぞれの分割位置を示す値ｋを用いて、前記行列ＵΣの１列目からｋ列目を用いて定義される前行列と、前記一時ベクトルの１個目からｋ個目までの要素を用いて定義される前ベクトルとを取得し、
前記前行列および前記前ベクトルに基づいて近似ベクトルを算出し、
前記近似ベクトルを前記出力ベクトルとして設定する、
機械学習システム。
【請求項２】
前記予測部が、
前記近似ベクトルにおける最大要素と少なくとも一つの他の要素との乖離度を算出し、
前記乖離度が閾値より大きい場合に、前記近似ベクトルを前記出力ベクトルとして設定する、
請求項１に記載の機械学習システム。
【請求項３】
前記予測部が、前記乖離度が前記閾値以下である場合に、前記行列ＵΣの残りの列で構成される後行列Ｒと、前記一時ベクトルの残りの要素で構成される後ベクトルと、前記近似ベクトルとに基づいて前記出力ベクトルを算出する、
請求項２に記載の機械学習システム。
【請求項４】
前記予測部が、前記近似ベクトルの最大要素の偏差値を前記乖離度として算出する、
請求項２または３に記載の機械学習システム。
【請求項５】
前記予測部が、前記近似ベクトルの最大要素と、前記近似ベクトルの中で２番目に大きい要素との差を前記乖離度として算出する、
請求項２または３に記載の機械学習システム。
【請求項６】
前記予測部が、前記一時ベクトルの次元数の半分の値を前記値ｋとして設定する、
請求項１〜５のいずれか一項に記載の機械学習システム。
【請求項７】
前記予測部が、前記行列Σの対角成分が閾値以上であることを満たす最後の列の列番号を前記値ｋとして設定する、
請求項１〜５のいずれか一項に記載の機械学習システム。
【請求項８】
前記予測部が、前記行列Σの対角成分の偏差値が閾値以上であることを満たす最後の列の列番号を前記値ｋとして設定する、
請求項１〜５のいずれか一項に記載の機械学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一側面は機械学習システムに関する。
【背景技術】
【０００２】
従来から、ニューラルネットワークを用いる機械学習を高速に実行する試みが為されている。例えば特許文献１には、多項式ニューラルネットワークにより二次関数を学習し、二次関数の主要成分を保存する部分空間を選択することにより、特徴空間の次元を削減する手法が記載されている。この手法は、固有ベクトルと係数ベクトルとの中から主成分となる１つ以上のベクトルを選択し、選択されたベクトルによって生成される部分空間を新たな特徴空間として生成するステップを含む。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３９７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ニューラルネットワークの出力層の次元数が大きくなると、出力層のベクトルを得るための計算量が膨大になり、出力層での行列演算が機械学習の速度に大きな影響を及ぼし得る。そこで、出力層の次元数が大きい場合にも機械学習を高速に実行することが望まれている。
【課題を解決するための手段】
【０００５】
本発明の一側面に係る機械学習システムは、ニューラルネットワークの中間層で得られた中間ベクトルと変換行列Ａとを用いて、ニューラルネットワークの出力層のベクトルである出力ベクトルを算出し、該出力ベクトルに基づいて事象を予測する予測部を備え、予測部が、変換行列Ａを特異値分解することで得られる行列ＵΣと行列Ｖとを取得し、ここで、行列Ｕおよび行列Ｖは直交行列であり、行列Σは対角行列であり、中間ベクトルと行列Ｖとに基づいて一時ベクトルを算出し、行列ＵΣおよび一時ベクトルのそれぞれの分割位置を示す値ｋを用いて、行列ＵΣの１列目からｋ列目を用いて定義される前行列と、一時ベクトルの１個目からｋ個目までの要素を用いて定義される前ベクトルとを取得し、前行列および前ベクトルに基づいて近似ベクトルを算出し、近似ベクトルを出力ベクトルとして設定する。
【０００６】
このような側面においては、中間ベクトルから出力ベクトルを得るための変換行列Ａに対して、Ａ＝ＵΣＶという特異値分解が実行される。そして、行列ＵΣの全部を使わずに、その行列ＵΣの一部（前行列）を用いて近似ベクトルが得られる。この近似ベクトルは出力層のベクトルの近似値といえる。この近似ベクトルを出力ベクトルと見なすことで、行列ＵΣの全体（すなわち、変換行列Ａそのもの）を用いる場合よりも少ない計算量で出力ベクトルが得られるので、機械学習を高速に実行することができる。
【発明の効果】
【０００７】
本発明の一側面によれば、ニューラルネットワークの出力層の次元数が大きい場合にも機械学習を高速に実行することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る機械学習システムの機能構成の一例を示す図である。
【図２】実施形態に係る機械学習システムで用いられるニューラルネットワークの一例を示す図である。
【図３】出力ベクトルを得るための従来の計算方法を示す図である。
【図４】出力ベクトルを得るための本実施形態での計算方法を示す図である。
【図５】出力ベクトルを得るための本実施形態での計算方法を示す図である。
【図６】実施形態に係る機械学習システムの動作の一例を示すフローチャートである。
【図７】実施形態に係る機械学習システムの動作の一例を示すフローチャートである。
【図８】実施形態に係る機械学習システムの応用例を示す図である。
【図９】実施形態に係る機械学習システムに用いられるコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
【００１０】
実施形態に係る機械学習システム１０は、任意の事象を予測するコンピュータシステムである。機械学習とは、与えられた情報に基づいて反復的に学習することで、法則またはルールを自律的に見つけ出す手法である。機械学習システム１０は、ニューラルネットワークを用いた機械学習を実行することで事象を予測する。ニューラルネットワークとは、人間の脳神経系の仕組みを模した情報処理のモデルである。
【００１１】
事象とは、観察可能なかたちをとって現れる事柄であり、言い換えると、任意の形式のデータで表現可能な事柄である。機械学習システム１０が予測する事象は何ら限定されず、したがって、機械学習システム１０は任意の目的で用いられてもよい。機械学習システム１０は現実世界における事象を予測してもよいし、仮想世界における事象を予測してもよい。機械学習システム１０は、処理対象のデータがどの分類に属するかを決める分類問題（識別問題）に用いられてもよいし、処理対象のデータから未知のデータ（新たなデータ）を予測する回帰問題に用いられてもよい。機械学習システム１０は、自然言語処理、画像処理（画像認識）、音声処理（音声認識）、データ予測などの様々な情報処理に用いられ得る。例えば、機械学習システム１０は、機械翻訳、自動対話、光学的文字認識（ＯＣＲ）、自動運転、医療診断、不正検知、顔検出、商品レコメンド、顧客分析、金融取引などの様々な技術分野に応用することができる。したがって、機械学習の処理結果として出力される予測結果（予測される事象）は様々であり、例えば、翻訳文、音声または画像から認識されたテキスト、運転の制御に関する指示、診断結果、検知された不正、レコメンドされた商品、金融取引に関する指示などであり得る。
【００１２】
機械学習システム１０は１台のコンピュータで構成されてもよいし、複数台のコンピュータで構成されてもよい。複数台のコンピュータを用いる場合には、これらのコンピュータがインターネット、イントラネット等の通信ネットワークを介して接続されることで、論理的に一つの機械学習システム１０が構築される。
【００１３】
図１は機械学習システム１０の機能構成の一例を示す図である。図１に示すように、機械学習システム１０は機能要素として予測部１１を備える。
【００１４】
予測部１１はニューラルネットワークを用いて事象を予測する機能要素である。予測部１１は処理対象の入力データを取得し、ニューラルネットワークにその入力データを入力して機械学習を実行することで、出力データ（処理結果）を得る。
【００１５】
入力データの取得方法は限定されない。例えば、予測部１１は任意のデータベースに記憶されているデータを入力データとして読み出してもよいし、別のコンピュータシステムから送信されてきたデータを入力データとして受信してもよい。あるいは、予測部１１は機械学習システム１０内の別の機能要素（図示せず）で処理されたデータを入力データとして取得してもよい。
【００１６】
出力データ（処理結果）の処理方法も限定されない。例えば、予測部１１は出力データを、モニタ上に表示してもよいし、任意のデータベースに格納してもよいし、別のコンピュータシステムに向けて送信してもよい。あるいは、機械学習システム１０内の別の機能要素（図示せず）がその出力データをさらに処理してもよい。
【００１７】
本実施形態では、予測部１１は学習済みのニューラルネットワーク（いわゆる、学習済みモデル）を用いることを前提とする。学習済みモデルは、最も予測精度が高いと推定される最良のニューラルネットワークであるといえる。ただし、学習済みモデルが“現実に最良である”とは限らないことに留意されたい。一般に、学習済みモデルを生成するために、１以上の訓練サンプルを含む訓練データセット（コーパス）が用意される。学習済みモデルは、学習をさせるニューラルネットワークに個々の訓練サンプルを逐次入力しながら機械学習を実行することで得ることができる。学習済みモデルは任意の従来技術を用いて生成することができる。学習済みモデルは機械学習システム１０で生成されてもよいし、別のコンピュータシステムで生成されてもよい。
【００１８】
学習済みモデルは、コンピュータプログラムとパラメータとの組合せであるということができる。あるいは、学習済みモデルは、ニューラルネットワークの構造と該ニューラルネットワークの個々のニューロン間の結びつきの強さであるパラメータ（重み付け係数）との組合せであるということができる。あるいは、学習済みモデルは、一の結果を得る（所定の処理を実行する）ことができるように構成されたコンピュータプログラムであるということができる。
【００１９】
図２は、機械学習システム１０で用いられるニューラルネットワーク（学習済みモデル）の一例を模式的に示す図である。このニューラルネットワーク１２は予測部１１の一部ということができる。ニューラルネットワーク１２は、入力層である第１層と、中間層（隠れ層）である第２層、第３層、および第４層と、出力層である第５層とで構成される。第１層は、ｐ個のパラメータを要素とする入力ベクトルｘ＝（ｘ０，ｘ１，ｘ２，…ｘｐ）をそのまま第２層に出力する。第２層、第３層、および第４層のそれぞれは、活性化関数により総入力を出力に変換してその出力を次の層に渡す。第５層も活性化関数により総入力を出力に変換し、この出力は、ｑ個のパラメータを要素とするニューラルネットワークの出力ベクトルｙ＝（ｙ０，ｙ１，…，ｙｑ）である。各層のノード（要素）の個数は限定されず、例えば、処理しようとするデータの特性と、得ようとするデータの特性とに応じて設定されてよい。
【００２０】
ニューラルネットワーク１２は５層（入力層を除いた場合には４層）であるが、機械学習システム１０（予測部１１）を構成するニューラルネットワークの層の数は何ら限定されない。例えば、機械学習システム１０は３以上の任意の個数の層を有するニューラルネットワークを用いてもよく、これは、１以上の任意の個数の中間層を有するニューラルネットワークを用いてもよいことを意味する。
【００２１】
予測部１１の特徴の一つは、最後の中間層の結果を示すベクトルから出力層のベクトル（出力ベクトル）を得るための計算方法にある。ニューラルネットワーク１２では第４層が最後の中間層である。以下では、最後の中間層の結果を示すベクトルを「中間ベクトル」という。予測部１１は、最初から正確な出力ベクトルを求めるのではなく、まずは出力ベクトルの近似値を計算する。そして、予測部１１はその近似値を最終結果として用いるか否かを判定する。近似値を用いると判定した場合には、予測部１１はその近似値を出力ベクトルとして設定する。一方、近似値を採用しないと判定した場合には、予測部１１は正確な出力ベクトルを求める。
【００２２】
図３〜図５は、予測部１１による出力ベクトルの計算を説明するための図である。図３は従来から行われている計算方法を示す図である。図４および図５は、本実施形態における出力ベクトルの近似値を求める方法を示す図である。
【００２３】
予測部１１は、ｍ次元の中間ベクトルからｎ次元の出力ベクトルを得るために、ｎ行ｍ列の変換行列（これを「ｎ×ｍの変換行列」という。）を用いる。中間ベクトルをｘとし、出力ベクトルをｙとし、変換行列をＡとすると、図３に示すように、正確な出力ベクトルはｙ＝Ａｘで得られる。出力ベクトルｙを得るためにｎ×ｍの行列演算が行われるので、出力層の次元が大きいと計算量が膨大になる。例えば、中間ベクトルの次元が５００であっても、出力ベクトルの次元が５００００であると、その出力ベクトルを得るために５００×５００００の行列演算が必要になる。分類問題（識別問題）における分類の候補数が大きいなどの理由により出力層の次元が大きくなると、出力層を得るための行列演算がニューラルネットワークの計算において支配的になる傾向がある。
【００２４】
本実施形態では、予測部１１はその行列演算を高速に実行するために、行列分解の一手法である特異値分解（ＳＶＤ）を利用する。図４に示すように、予測部１１は変換行列Ａに対して、Ａ＝ＵΣＶで示される特異値分解を実行することで、変換行列Ａを行列ＵΣと行列Ｖとに分解する。行列Ｕおよび行列Ｖはいずれも直交行列である。行列Σは対角行列であり、より具体的には、非対角成分が０であり且つ対角成分（（ｉ，ｉ）要素）が特異値（変換行列Ａの特異値）で構成された行列である。行列ＵΣは行列Ｕと行列Σとの積である。ｎ×ｍの変換行列Ａは、ｎ×ｎの行列Ｕと、ｎ×ｍの行列Σと、ｍ×ｍの行列Ｖとに分解される。ニューラルネットワーク（学習済みモデル）の一部を構成する変換行列Ａは予め与えられるので、予測部１１は予め特異値分解を実行することで、行列ＵΣおよび行列Ｖを取得しておくことができる。
【００２５】
予測部１１は、行列Σの前方の列に重要な要素（計算に影響する要素）が位置し、後方の列に計算にあまり影響を与えない要素が位置するように、行列Σの対角成分を並べる。具体的には、予測部１１は、前方の列に含まれる各対角成分が後方の列の対角成分の最大値と同じかまたは該最大値よりも大きくなるように、行列Σの対角成分を並べる。要するに、予測部１１は、値が大きな対角成分が前方の列に集まるように行列Σの対角成分を並べる。「前方の列」とは行列Σの１列目からｋ列目までのことをいい、「後方の列」とは行列Σの（ｋ＋１）列目から最後列までのことをいう。値ｋは、１以上で、且つ行列Σの列数よりも小さい。例えば、予測部１１は、１列目から最後列に向かって対角成分が降順に並ぶように行列Σを生成してもよい。
【００２６】
予測部１１は行列ＵΣおよび行列Ｖを用いて出力ベクトルの近似値を求める。図５に示すように、予測部１１は行列ＵΣを前行列Ｌと後行列Ｒとに分割する。前行列Ｌは行列ＵΣの１列目からｋ列目（すなわち、行列ＵΣの前方の列）を用いて定義される行列であり、したがって、ｎ×ｋの行列である。後行列Ｒは行列ＵΣの残りの列（すなわち、行列ＵΣの後方の列）で構成される行列である。より具体的には、後行列Ｒは行列ＵΣの（ｋ＋１）列目から最後列を用いて定義される行列であり、したがって、ｎ×（ｍ−ｋ）の行列である。値ｋは、行列ＵΣの分割位置を示す値であるといえる。
【００２７】
また、予測部１１は行列Ｖと中間ベクトルｘとに基づいてｍ次元の一時ベクトルｘ´を求める。具体的には、予測部１１は行列Ｖと中間ベクトルｘとの積を一時ベクトルｘ´として求める。すなわち、ｘ´＝Ｖｘである。予測部１１はこの一時ベクトルｘ´を前ベクトルｘＬと後ベクトルｘＲとに分割する。前ベクトルｘＬは一時ベクトルｘ´の１個目からｋ個目までの要素を用いて定義されるベクトルであり、したがって、ｋ次元のベクトルである。後ベクトルｘＲは一時ベクトルｘ´の残りの要素で構成されるベクトルである。より具体的には、後ベクトルｘＲは一時ベクトルｘ´の（ｋ＋１）個目の要素から最後の要素（ｍ個目の要素）を用いて定義される行列であり、したがって、（ｍ−ｋ）次元のベクトルである。値ｋは、一時ベクトルｘ´の分割位置も示す値であるといえる。
【００２８】
続いて、予測部１１は前行列Ｌと前ベクトルｘＬとに基づいてｎ次元の近似ベクトルｙａを求める。具体的には、予測部１１は前行列Ｌと前ベクトルｘＬとの積を近似ベクトルｙａとして求める。すなわち、ｙａ＝ＬｘＬである。近似ベクトルｙａは、ｙ＝Ａｘで得られる正確な出力ベクトルｙの近似値である。
【００２９】
近似ベクトルｙａは、変換行列Ａのうち重要な要素（前行列Ｌ）のみを用いて得られるので、正確な出力ベクトルｙを高精度に近似していることが期待できる。具体的には、近似ベクトルｙａの最大要素のインデックスは、正確な出力ベクトルｙの最大要素のインデックスと同じである蓋然性が高い。ここで、最大要素とは値が最も大きい要素のことをいう。また、インデックスとは、要素の位置を示す要素番号のことをいう。例えば、分類問題（識別問題）では最大要素のインデックスがわかれば十分である。したがって、ｙａ＝ＬｘＬという近似計算でも最大要素のインデックスが変わらなければ、分類結果（識別結果）は、ｙ＝Ａｘを計算した場合と変わらない。その近似計算は、ｙ＝Ａｘという行列演算の一部のみを計算することを意味するので、近似ベクトルｙａを出力ベクトルｙと見なすことで、機械学習の実行時間を短縮することができる。
【００３０】
一方、近似ベクトルｙａが出力ベクトルｙを近似していない場合には、省略したデータ（後行列Ｒおよび後ベクトルｘＲ）をさらに用いることで、正確な出力ベクトルｙ（正確な分類結果）を得ることができる。
【００３１】
図６および図７を参照しながら機械学習システム１０の動作を説明する。図６は、学習済みモデルを取得した際に実行される処理の一例を示すフローチャートである。図７は中間ベクトルから出力ベクトルを得る処理の一例を示すフローチャートである。
【００３２】
図６を参照しながら、学習済みモデルを取得した際に実行される処理について説明する。ステップＳ１１では、予測部１１が学習済みモデルを取得する。上述したように、この学習済みモデルは、変換行列Ａを含んで構成されるニューラルネットワークである。
【００３３】
ステップＳ１２では、予測部１１が変換行列Ａを特異値分解により行列ＵΣと行列Ｖとに分解する。すなわち、予測部１１はＡ＝ＵΣ×Ｖを計算する。変換行列Ａがｎ×ｍ行列であれば、行列ＵΣはｎ×ｍ行列であり、行列Ｖはｍ×ｍ行列である。
【００３４】
ステップＳ１３では、予測部１１が行列ＵΣを前行列Ｌと後行列Ｒとに分割する。予測部１１は、前方の列（１列目からｋ列目）に含まれる各対角成分が残りの列（（ｋ＋１）列目から最後列）の対角成分の最大値と同じかまたは該最大値よりも大きくなるように、行列Σの対角成分を並べる。例えば、予測部１１はその対角成分を降順に並べてもよい。行列ＵΣの分割位置を示す値ｋを決定する方法は限定されない。値ｋは予め定められていてもよいし、予測部１１が動的に（すなわち、自動的に）決定してもよい。
【００３５】
例えば、値ｋは中間ベクトルの次元数（行列Σの列数）ｍの半分であってもよい。例えば、次元数ｍが偶数であればｋ＝ｍ／２である。次元数ｍが奇数であればｋ＝（ｍ−１）／２、またはｋ＝（ｍ＋１）／２でもよい。本実施形態では、次元数ｍが奇数であるこの場合も、値ｋが中間ベクトルの次元数の半分である例に含まれるものとする。
【００３６】
あるいは、予測部１１は行列Σの対角成分を１列目から最終列に向けて降順に並べた上で、対角成分が予め定めた閾値Ｔａ以上であることを満たす最後の列の列番号をｋとして設定してもよい。例えば、対角成分が降順に並んでおり、ｍ＝１００であり、且つＴａ＝１であるとして、６０列目の対角成分が１以上であり、６１列目の対角成分が１未満である場合には、予測部１１はｋを６０に設定する。閾値Ｔａの具体的な値は限定されず、例えば、学習済みモデルの特性、予測しようとする事象の特性などの様々な要因を考慮して設定されてよい。
【００３７】
あるいは、予測部１１は行列Σの対角成分を１列目から最終列に向けて降順に並べた上で、対角成分の偏差値が予め定めた閾値Ｔｂ以上であることを満たす最後の列の列番号をｋとして設定してもよい。例えば、対角成分が降順に並んでおり、ｍ＝１００であり、且つＴｂ＝５０であるとして、４０列目の対角成分の偏差値が５０以上であり、４１列目の対角成分の偏差値が５０未満である場合には、予測部１１はｋを４０に設定する。個々の対角成分の偏差値は、すべての対角成分の平均および分散を用いて求めることができる。閾値Ｔｂの具体的な値は限定されず、例えば、学習済みモデルの特性、予測しようとする事象の特性などの様々な要因を考慮して設定されてよい。
【００３８】
このように値ｋの決め方は限定されないが、いずれにしても、予測部１１は、値が大きな対角成分が前方の列に集まるように行列Σの対角成分を並べた上で、行列ＵΣを前行列Ｌおよび後行列Ｒとに分割する。行列ＵΣがｎ×ｍ行列であれば、前行列Ｌはｎ×ｋ行列であり、後行列Ｒはｎ×（ｍ−ｋ）行列である。
【００３９】
図７を参照しながら出力ベクトルの計算について説明する。図７は一つの出力ベクトルを求める処理を示すものである。或る一つの問題をニューラルネットワーク１２を用いて解くために出力ベクトルを複数回求めなければならない場合がある。この場合には、その一つの問題を処理するために、図７に示す一連の処理が複数回実行される。
【００４０】
ステップＳ２１では、予測部１１が行列Ｖと中間ベクトルｘとに基づいて一時ベクトルｘ´を求める。具体的には、予測部１１は行列Ｖと中間ベクトルｘとの積を一時ベクトルｘ´として求める。
【００４１】
ステップＳ２２では、予測部１１がその一時ベクトルｘ´を前ベクトルｘＬと後ベクトルｘＲとに分割する。予測部１１は、一時ベクトルｘ´の１個目からｋ個目までの要素を用いて前ベクトルｘＬを生成し、一時ベクトルｘ´の（ｋ＋１）個目の要素から最後の要素（ｍ個目の要素）を用いて後ベクトルｘＲを生成する。一時ベクトルｘ´をこのように分割するための値ｋは、行列ＵΣを前行列Ｌと後行列Ｒとに分割する際に用いる値ｋと同じである。したがって、予測部１１は上記のステップＳ１３で設定した値ｋを一時ベクトルｘ´の分割でも用いる。
【００４２】
ステップＳ２３では、予測部１１が前行列Ｌと前ベクトルｘＬとに基づいて近似ベクトルｙａを求める。具体的には、予測部１１は前行列Ｌと前ベクトルｘＬとの積を近似ベクトルｙａとして求める。
【００４３】
ステップＳ２４では、予測部１１がその近似ベクトルｙａにおける最大要素（近似ベクトルｙａの要素の最大値）と少なくとも一つの他の要素（最大要素以外の近似ベクトルｙａの要素のうちの少なくとも一つ）との乖離度を算出する。ステップＳ２５では、予測部１１はその乖離度を予め定められた閾値と比較する。乖離度とは、近似ベクトルｙａの最大要素が近似ベクトルｙａの他の要素の値からどれだけ離れているかを示す指標である。乖離度が大きいほど、近似ベクトルｙａの要素の最大値は他の要素の値から大きく離れている、ということができる。乖離度が一定の水準以上に大きければ、最大要素と他の要素との間に有意な差があるといえる。
【００４４】
ステップＳ２４，Ｓ２５で用いる乖離度の種類は限定されない。例えば、予測部１１は近似ベクトルｙａの最大要素と、近似ベクトルｙａの中で２番目に大きい要素との差を乖離度として求め、この乖離度が閾値Ｔｃより大きいか否かを判定してもよい。あるいは、予測部１１は近似ベクトルｙａの最大要素の偏差値を乖離度として求め、この乖離度が閾値Ｔｄより大きいか否かを判定してもよい。この偏差値は、近似ベクトルｙａの全要素の平均および分散を用いて求めることができる。閾値Ｔｃ、Ｔｄのいずれについても、その具体的な値は限定されず、例えば、学習済みモデルの特性、予測しようとする事象の特性などの様々な要因を考慮して設定されてよい。
【００４５】
乖離度が閾値より大きい場合には（ステップＳ２５においてＹＥＳ）、処理はステップＳ２６に移り、予測部１１が近似ベクトルｙａを出力ベクトルｙとして設定する。乖離度が閾値より大きければ、近似ベクトルｙａの最大要素のインデックスが、正確な出力ベクトルｙの最大要素のインデックスと同じである蓋然性が高い。例えば、分類問題（識別問題）では最大要素のインデックスがわかれば十分なので、乖離度が閾値より大きければ、近似ベクトルｙａによる分類結果（識別結果）は、正確な出力ベクトルｙによる分類結果と変わらないと期待できる。
【００４６】
乖離度が閾値以下である場合には（ステップＳ２５においてＮＯ）、処理はステップＳ２７に移る。ステップＳ２７では、予測部１１が、近似ベクトルｙａに加えて、後行列Ｒおよび後ベクトルｘＲをさらに用いて出力ベクトルｙを算出する。具体的には、予測部１１は後行列Ｒと後ベクトルｘＲとの積を近似ベクトルｙａに加えることで正確な出力ベクトルｙを求める。すなわち、予測部１１はｙ＝ｙａ＋ＲｘＲを計算する。乖離度が閾値以下であれば、近似ベクトルｙａの最大要素のインデックスが、正確な出力ベクトルｙの最大要素のインデックスと異なる蓋然性が高い。この場合には、近似ベクトルｙａを最終結果として採用するのではなく、出力ベクトルｙを正確に計算した方が、予測の精度がより高くなる。予測部１１は、省略した後行列Ｒおよび後ベクトルｘＲをさらに用いて計算することで、正確な出力ベクトルｙを得る。
【００４７】
予測部１１は、これら一連の処理により得られた出力ベクトルｙに基づいて、ニューラルネットワークの最終的な結果を計算または生成する。最終結果を計算または生成する方法は限定されない。
【００４８】
例えば、予測部１１は下記の式（１）で示されるソフトマックス（Ｓｏｆｔｍａｘ）関数を用いて最終結果を求めてもよい。
【００４９】
【数１】
2019212121.tif 000003
式（１）において、ｙｉは出力ベクトルｙのｉ番目の要素を表し、ｎは出力ベクトルｙの要素数を表す。
【００５０】
このソフトマックス関数は、出力ベクトルの要素を確率分布に変換する。ソフトマックス関数により、出力ベクトルの各要素は０から１の間の値をとり、出力ベクトルの全要素の和は１になる。一般には、このソフトマックス関数は分類問題（識別問題）を解く場合によく用いられる。
【００５１】
あるいは、予測部１１は出力ベクトルｙをそのまま最終結果として設定してもよい。例えば、予測部１１は回帰問題を解く場合に出力ベクトルｙをそのまま最終結果として出力してもよい。
【００５２】
学習済みモデルでは変換行列Ａが確定しているので、予測部１１は、その学習済みモデルを読み込んだ時に一度だけ特異値分解を実行して前行列Ｌおよび後行列を求めればよい。したがって、個々の出力ベクトルを求めようとする度に前行列Ｌおよび後行列Ｒを求める必要はない。
【００５３】
本実施形態では機械学習システム１０（予測部１１）が変換行列Ａを特異値分解することで行列ＵΣと行列Ｖとを取得するが、機械学習システム１０（予測部１１）は別のコンピュータシステムで算出された行列ＵΣおよび行列Ｖを取得してもよい。すなわち、該別のコンピュータシステムが変換行列Ａを特異値分解してもよい。
【００５４】
本実施形態では、機械学習システム１０（予測部１１）が、近似ベクトルｙａについての乖離度に基づいて、近似ベクトルｙａを出力ベクトルｙとして設定するか、または正確な出力ベクトルｙ＝ｙａ＋ＲｘＲを求める。しかし、乖離度に基づくこの分岐処理は必須ではない。したがって、機械学習システム１０（予測部１１）は乖離度を求めることなく、近似ベクトルｙａを出力ベクトルｙとして設定してもよい。
【００５５】
機械学習システム１０内で二つの数値の大小関係を比較する際には、「以上」および「よりも大きい」という二つの基準のどちらを用いてもよく、「以下」および「未満」の二つの基準のうちのどちらを用いてもよい。このような基準の選択は、二つの数値の大小関係を比較する処理についての技術的意義を変更するものではない。
【００５６】
本実施形態のように出力ベクトルの近似値を用いることで、出力層の次元が膨大な場合にも機械学習を高速に実行することが可能になる。図８を参照しながら、この技術的効果について説明する。図８は、ＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ−Ｔｅｒｍ  Ｍｅｍｏｒｙ（長・短期記憶））というニューラルネットワーク２０を用いた機械翻訳に本実施形態を応用（適用）した実際の例を模式的に示す図である。
【００５７】
翻訳などの自然言語処理では語彙数が出力の候補の数になり得るので、出力層のベクトルの次元数はその語彙数に対応して数万以上（例えば約５００００）になる。その結果、出力ベクトルの計算量が膨大になる。例えば、中間ベクトルの次元数が５００程度であっても、出力ベクトルを計算するために５００×５００００の行列演算が必要になり、この行列演算がニューラルネットワークの計算において支配的になり得る。
【００５８】
図８の例では、ニューラルネットワーク（ＬＳＴＭ）２０は日本語の文を英語に翻訳する。このニューラルネットワーク２０において、中間層および出力層の次元数はそれぞれ５００、５００００であるとする。図８の例では、「私は日本人です。」という日本語の文が「Ｉ  ａｍ  Ｊａｐａｎｅｓｅ.」と翻訳されている。中間ベクトルから出力ベクトルを得るための行列演算は、英文を構成する個々の単語（文末記号である＜ＥＯＳ＞も含む）について実行されるので、図８の例ではその行列演算は４回実行される。その４回の行列演算において近似ベクトルｙａが出力ベクトルｙとして設定される回数は０〜４の間である。
【００５９】
５００次元の中間層および５００００次元の出力層を有するニューラルネットワーク２０において、５００列の行列ＵΣを前行列Ｌと後行列Ｒとに分割するための値ｋを固定値３００に設定した。したがって、前行列Ｌおよび後行列Ｒの列数はそれぞれ３００、２００であった。一例として、本実施形態を適用したこのニューラルネットワーク２０で「自転車で通勤すると運動になります。」という日本語の文を英訳したところ、「If you go to work by bicycle, you will get exercise.」という正しい英訳を２６８ｍｓ（ミリ秒）で得ることができた。
【００６０】
比較のために、行列ＵΣを分割することなく常にすべての列を用いてその和文を翻訳したところ、正しい英訳が３０２ｍｓで得られた。意図的に後行列Ｒを用いずに常に前行列Ｌのみを用いてその和文を英訳したところ、前行列Ｌの列数ｋに応じて結果が変わった。具体的には、ｋ＝４００では、正しい英訳が２７７ｍｓで得られた。ｋ＝３００では、「If you go to work by bicycle, you will exercise.」という、正解に近い結果が２２９ｍｓで得られた。ｋ＝２００の場合には、「When you go to work by bicycle, you can exercise.」という不完全な結果が１９２ｍｓで得られた。ｋ＝１００の場合には、「To go to work on a bike is a sport.」という誤訳が１７３ｍｓで得られた。
【００６１】
ニューラルネットワーク２０を用いた実験からわかるように、本実施形態に係る機械学習システム１０を採用することで、確度の高い結果を高速に得ることが可能になる。上記の翻訳の例では、３００列を有する前行列Ｌのみを用いた計算では識別結果が曖昧な場合に限って、残りの２００列を有する後行列Ｒをさらに用いて計算が行われる。したがって、２６８ｍｓという短時間で正解を得ることができた。
【００６２】
上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成要素）は、ハードウェアおよび／またはソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的および／または論理的に結合した一つの装置により実現されてもよいし、物理的および／または論理的に分離した２つ以上の装置を直接的および／または間接的に（例えば、有線および／または無線）で接続し、これら複数の装置により実現されてもよい。
【００６３】
例えば、本発明の一実施の形態における機械学習システム１０は、本実施形態の処理を行うコンピュータとして機能してもよい。図９は、機械学習システム１０として機能するコンピュータ１００のハードウェア構成の一例を示す図である。コンピュータ１００は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、バス１００７などを含んでもよい。
【００６４】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。機械学習システム１０のハードウェア構成は、図に示した各装置を一つまたは複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００６５】
機械学習システム１０における各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることで、プロセッサ１００１が演算を行い、通信装置１００４による通信や、メモリ１００２およびストレージ１００３におけるデータの読み出しおよび／または書き込みを制御することで実現される。
【００６６】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central Processing Unit）で構成されてもよい。例えば、機械学習システム１０の少なくとも一部の機能要素はプロセッサ１００１で実現されてもよい。
【００６７】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュールやデータを、ストレージ１００３および／または通信装置１００４からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、機械学習システム１０の少なくとも一部の機能要素は、メモリ１００２に格納され、プロセッサ１００１で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、一つのプロセッサ１００１で実行される旨を説明してきたが、２以上のプロセッサ１００１により同時または逐次に実行されてもよい。プロセッサ１００１は、１以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
【００６８】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read Only Memory）、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）、ＲＡＭ（Random Access Memory）などの少なくとも一つで構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）などと呼ばれてもよい。メモリ１００２は、本発明の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュールなどを保存することができる。
【００６９】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤＲＯＭ（Compact Disc ROM）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク（例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク）、スマートカード、フラッシュメモリ（例えば、カード、スティック、キードライブ）、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも一つで構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１００２および／またはストレージ１００３を含むテーブル、サーバその他の適切な媒体であってもよい。
【００７０】
通信装置１００４は、有線および／または無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、機械学習システム１０の少なくとも一部の機能要素は通信装置１００４で実現されてもよい。
【００７１】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、ＬＥＤランプなど）である。なお、入力装置１００５および出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００７２】
また、プロセッサ１００１やメモリ１００２などの各装置は、情報を通信するためのバス１００７で接続される。バス１００７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【００７３】
また、コンピュータ１００は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（ProgrammableLogic Device）、ＦＰＧＡ（Field Programmable Gate Array）などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部または全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも一つで実装されてもよい。
【００７４】
以上説明したように、本発明の一側面に係る機械学習システムは、ニューラルネットワークの中間層で得られた中間ベクトルと変換行列Ａとを用いて、ニューラルネットワークの出力層のベクトルである出力ベクトルを算出し、該出力ベクトルに基づいて事象を予測する予測部を備え、予測部が、変換行列Ａを特異値分解することで得られる行列ＵΣと行列Ｖとを取得し、ここで、行列Ｕおよび行列Ｖは直交行列であり、行列Σは対角行列であり、中間ベクトルと行列Ｖとに基づいて一時ベクトルを算出し、行列ＵΣおよび一時ベクトルのそれぞれの分割位置を示す値ｋを用いて、行列ＵΣの１列目からｋ列目を用いて定義される前行列と、一時ベクトルの１個目からｋ個目までの要素を用いて定義される前ベクトルとを取得し、前行列および前ベクトルに基づいて近似ベクトルを算出し、近似ベクトルを出力ベクトルとして設定する。
【００７５】
このような側面においては、中間ベクトルから出力ベクトルを得るための変換行列Ａに対して、Ａ＝ＵΣＶという特異値分解が実行される。そして、行列ＵΣの全部を使わずに、その行列ＵΣの一部（前行列）を用いて近似ベクトルが得られる。この近似ベクトルは出力層のベクトルの近似値といえる。この近似ベクトルを出力ベクトルと見なすことで、行列ＵΣの全体（すなわち、変換行列Ａそのもの）を用いる場合よりも少ない計算量で出力ベクトルが得られるので、機械学習を高速に実行することができる。
【００７６】
他の側面に係る機械学習システムでは、予測部が、近似ベクトルにおける最大要素と少なくとも一つの他の要素との乖離度を算出し、乖離度が閾値より大きい場合に、近似ベクトルを出力ベクトルとして設定してもよい。乖離度が大きければ、最大要素と他の要素との差が大きいといえ、したがって、近似ベクトルと正確な出力ベクトルとの間で最大要素のインデックスが同じである蓋然性が高いといえる。乖離度が大きい場合に近似ベクトルを出力ベクトルとして設定することで、精度の高い機械学習を高速に実行することができる。
【００７７】
他の側面に係る機械学習システムでは、予測部が、乖離度が閾値以下である場合に、行列ＵΣの残りの列で構成される後行列Ｒと、一時ベクトルの残りの要素で構成される後ベクトルと、近似ベクトルとに基づいて出力ベクトルを算出してもよい。乖離度が小さい場合には最大要素と他の要素との差があまり大きくないので、近似ベクトルと正確な出力ベクトルとの間で最大要素のインデックスが異なる蓋然性が高い。乖離度が小さい場合に限って出力ベクトルを正確に求めることで、精度の高い機械学習を高速に実行することができる。
【００７８】
他の側面に係る機械学習システムでは、予測部が、近似ベクトルの最大要素の偏差値を乖離度として算出してもよい。統計値の一種である偏差値を乖離度として用いることで、最大要素が他の要素からどのくらい離れているかを正しく推定することが可能になる。
【００７９】
他の側面に係る機械学習システムでは、予測部が、近似ベクトルの最大要素と、近似ベクトルの中で２番目に大きい要素との差を乖離度として算出してもよい。最大要素と２番目に大きい要素との差を乖離度として用いることで、乖離度を簡単に求めることができる。
【００８０】
他の側面に係る機械学習システムでは、予測部が、一時ベクトルの次元数の半分の値を値ｋとして設定してもよい。このように分割位置を設定することで行列ＵΣおよび一時ベクトルから簡単に前行列および前ベクトルを得ることができる。
【００８１】
他の側面に係る機械学習システムでは、予測部が、行列Σの対角成分が閾値以上であることを満たす最後の列の列番号を値ｋとして設定してもよい。行列ＵΣおよび一時ベクトルの分割位置をこのように設定することで、計算に影響する重要な要素が前行列に集まるので、精度の高い近似ベクトルを求めることができる。
【００８２】
他の側面に係る機械学習システムでは、予測部が、行列Σの対角成分の偏差値が閾値以上であることを満たす最後の列の列番号を値ｋとして設定してもよい。行列ＵΣおよび一時ベクトルの分割位置をこのように設定することで、計算に影響する重要な要素が前行列に集まるので、精度の高い近似ベクトルを求めることができる。
【００８３】
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨および範囲を逸脱することなく修正および変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
【００８４】
情報の通知は、本明細書で説明した態様および実施形態に限られず、他の方法で行われてもよい。例えば、情報の通知は、物理レイヤシグナリング（例えば、ＤＣＩ（Downlink Control Information）、ＵＣＩ（Uplink Control Information））、上位レイヤシグナリング（例えば、ＲＲＣ（Radio Resource Control）シグナリング、ＭＡＣ（Medium Access Control）シグナリング、報知情報（ＭＩＢ（Master Information Block）、ＳＩＢ（System Information Block）））、その他の信号またはこれらの組み合わせによって実施されてもよい。また、ＲＲＣシグナリングは、ＲＲＣメッセージと呼ばれてもよく、例えば、ＲＲＣ接続セットアップ（RRC Connection Setup）メッセージ、ＲＲＣ接続再構成（RRC Connection Reconfiguration）メッセージなどであってもよい。
【００８５】
本明細書で説明した各態様／実施形態は、ＬＴＥ（Long Term Evolution）、ＬＴＥ−Ａ（LTE-Advanced）、ＳＵＰＥＲ  ３Ｇ、ＩＭＴ−Ａｄｖａｎｃｅｄ、４Ｇ、５Ｇ、ＦＲＡ（Future Radio Access）、Ｗ−ＣＤＭＡ（登録商標）、ＧＳＭ（登録商標）、ＣＤＭＡ２０００、ＵＭＢ（Ultra Mobile Broadband）、ＩＥＥＥ  ８０２．１１（Ｗｉ−Ｆｉ）、ＩＥＥＥ  ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ  ８０２．２０、ＵＷＢ（Ultra-Wideband）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、その他の適切なシステムを利用するシステムおよび／またはこれらに基づいて拡張された次世代システムに適用されてもよい。
【００８６】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００８７】
情報等は、上位レイヤ（または下位レイヤ）から下位レイヤ（または上位レイヤ）へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
【００８８】
入出力された情報等は特定の場所（例えば、メモリ）に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【００８９】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：trueまたはfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【００９０】
本明細書で説明した各態様／実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【００９１】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【００９２】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペアおよびデジタル加入者回線（ＤＳＬ）などの有線技術および／または赤外線、無線およびマイクロ波などの無線技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、これらの有線技術および／または無線技術は、伝送媒体の定義内に含まれる。
【００９３】
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、またはこれらの任意の組み合わせによって表されてもよい。
【００９４】
なお、本明細書で説明した用語および／または本明細書の理解に必要な用語については、同一のまたは類似する意味を有する用語と置き換えてもよい。
【００９５】
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
【００９６】
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。例えば、無線リソースはインデックスで指示されるものであってもよい。
【００９７】
上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。様々なチャネル（例えば、ＰＵＣＣＨ、ＰＤＣＣＨなど）および情報要素（例えば、ＴＰＣなど）は、あらゆる好適な名称によって識別できるので、これらの様々なチャネルおよび情報要素に割り当てている様々な名称は、いかなる点においても限定的なものではない。
【００９８】
ユーザ端末および移動通信端末は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。
【００９９】
本明細書で使用する「判断（determining）」、「決定（determining）」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定（judging）、計算（calculating）、算出（computing）、処理（processing）、導出（deriving）、調査（investigating）、探索（looking up）（例えば、テーブル、テーブルまたは別のデータ構造での探索）、確認（ascertaining）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信（receiving）（例えば、情報を受信すること）、送信（transmitting）（例えば、情報を送信すること）、入力（input）、出力（output）、アクセス（accessing）（例えば、メモリ中のデータにアクセスすること）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決（resolving）、選択（selecting）、選定（choosing）、確立（establishing）、比較（comparing）などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
【０１００】
「接続された（connected）」、「結合された（coupled）」という用語、またはこれらのあらゆる変形は、２またはそれ以上の要素間の直接的または間接的なあらゆる接続または結合を意味し、互いに「接続」または「結合」された２つの要素間に１またはそれ以上の中間要素が存在することを含むことができる。要素間の結合または接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、２つの要素は、１またはそれ以上の電線、ケーブルおよび／またはプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域および光（可視および不可視の両方）領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」または「結合」されると考えることができる。
【０１０１】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【０１０２】
本明細書で「第１の」、「第２の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、２つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第１および第２の要素への参照は、２つの要素のみがそこで採用され得ること、または何らかの形で第１の要素が第２の要素に先行しなければならないことを意味しない。
【０１０３】
「含む（include）」、「含んでいる（including）」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える（comprising）」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または（or）」は、排他的論理和ではないことが意図される。
【０１０４】
本明細書において、文脈または技術的に明らかに一つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
【符号の説明】
【０１０５】
１０…機械学習システム、１１…予測部、１２…ニューラルネットワーク。
【図１】
2019212121.tif 000004
【図２】
2019212121.tif 000005
【図３】
2019212121.tif 000006
【図４】
2019212121.tif 000007
【図５】
2019212121.tif 000008
【図６】
2019212121.tif 000009
【図７】
2019212121.tif 000010
【図８】
2019212121.tif 000011
【図９】
2019212121.tif 000012