JP7021010B2 - Machine learning system - Google Patents
Machine learning system Download PDFInfo
- Publication number
- JP7021010B2 JP7021010B2 JP2018108903A JP2018108903A JP7021010B2 JP 7021010 B2 JP7021010 B2 JP 7021010B2 JP 2018108903 A JP2018108903 A JP 2018108903A JP 2018108903 A JP2018108903 A JP 2018108903A JP 7021010 B2 JP7021010 B2 JP 7021010B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- matrix
- prediction unit
- machine learning
- learning system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明の一側面は機械学習システムに関する。 One aspect of the present invention relates to a machine learning system.
従来から、ニューラルネットワークを用いる機械学習を高速に実行する試みが為されている。例えば特許文献1には、多項式ニューラルネットワークにより二次関数を学習し、二次関数の主要成分を保存する部分空間を選択することにより、特徴空間の次元を削減する手法が記載されている。この手法は、固有ベクトルと係数ベクトルとの中から主成分となる1つ以上のベクトルを選択し、選択されたベクトルによって生成される部分空間を新たな特徴空間として生成するステップを含む。
Conventionally, attempts have been made to execute machine learning using a neural network at high speed. For example,
ニューラルネットワークの出力層の次元数が大きくなると、出力層のベクトルを得るための計算量が膨大になり、出力層での行列演算が機械学習の速度に大きな影響を及ぼし得る。そこで、出力層の次元数が大きい場合にも機械学習を高速に実行することが望まれている。 As the number of dimensions of the output layer of the neural network increases, the amount of calculation for obtaining the vector of the output layer becomes enormous, and the matrix operation in the output layer can greatly affect the speed of machine learning. Therefore, it is desired to execute machine learning at high speed even when the number of dimensions of the output layer is large.
本発明の一側面に係る機械学習システムは、ニューラルネットワークの中間層で得られた中間ベクトルと変換行列Aとを用いて、ニューラルネットワークの出力層のベクトルである出力ベクトルを算出し、該出力ベクトルに基づいて事象を予測する予測部を備え、予測部が、変換行列Aを特異値分解することで得られる行列UΣと行列Vとを取得し、ここで、行列Uおよび行列Vは直交行列であり、行列Σは対角行列であり、中間ベクトルと行列Vとに基づいて一時ベクトルを算出し、行列UΣおよび一時ベクトルのそれぞれの分割位置を示す値kを用いて、行列UΣの1列目からk列目を用いて定義される前行列と、一時ベクトルの1個目からk個目までの要素を用いて定義される前ベクトルとを取得し、前行列および前ベクトルに基づいて近似ベクトルを算出し、近似ベクトルを出力ベクトルとして設定する。 The machine learning system according to one aspect of the present invention calculates an output vector, which is a vector of the output layer of the neural network, by using the intermediate vector obtained in the intermediate layer of the neural network and the transformation matrix A, and the output vector. It is provided with a prediction unit that predicts an event based on Yes, the matrix Σ is a diagonal matrix, a temporary vector is calculated based on the intermediate vector and the matrix V, and the first column of the matrix UΣ is used by using the value k indicating the division position of each of the matrix UΣ and the temporary vector. The prematrix defined using the kth column from to and the prematrix defined using the first to kth elements of the temporary vector are obtained, and the approximation vector is obtained based on the prematrix and the prematrix. Is calculated, and the approximation vector is set as the output vector.
このような側面においては、中間ベクトルから出力ベクトルを得るための変換行列Aに対して、A=UΣVという特異値分解が実行される。そして、行列UΣの全部を使わずに、その行列UΣの一部(前行列)を用いて近似ベクトルが得られる。この近似ベクトルは出力層のベクトルの近似値といえる。この近似ベクトルを出力ベクトルと見なすことで、行列UΣの全体(すなわち、変換行列Aそのもの)を用いる場合よりも少ない計算量で出力ベクトルが得られるので、機械学習を高速に実行することができる。 In such an aspect, the singular value decomposition of A = UΣV is executed for the transformation matrix A for obtaining the output vector from the intermediate vector. Then, an approximate vector can be obtained by using a part of the matrix UΣ (prematrix) without using the entire matrix UΣ. This approximation vector can be said to be an approximation of the vector of the output layer. By considering this approximation vector as an output vector, the output vector can be obtained with a smaller amount of calculation than when the entire matrix UΣ (that is, the transformation matrix A itself) is used, so that machine learning can be executed at high speed.
本発明の一側面によれば、ニューラルネットワークの出力層の次元数が大きい場合にも機械学習を高速に実行することができる。 According to one aspect of the present invention, machine learning can be executed at high speed even when the number of dimensions of the output layer of the neural network is large.
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are designated by the same reference numerals, and duplicate description will be omitted.
実施形態に係る機械学習システム10は、任意の事象を予測するコンピュータシステムである。機械学習とは、与えられた情報に基づいて反復的に学習することで、法則またはルールを自律的に見つけ出す手法である。機械学習システム10は、ニューラルネットワークを用いた機械学習を実行することで事象を予測する。ニューラルネットワークとは、人間の脳神経系の仕組みを模した情報処理のモデルである。
The
事象とは、観察可能なかたちをとって現れる事柄であり、言い換えると、任意の形式のデータで表現可能な事柄である。機械学習システム10が予測する事象は何ら限定されず、したがって、機械学習システム10は任意の目的で用いられてもよい。機械学習システム10は現実世界における事象を予測してもよいし、仮想世界における事象を予測してもよい。機械学習システム10は、処理対象のデータがどの分類に属するかを決める分類問題(識別問題)に用いられてもよいし、処理対象のデータから未知のデータ(新たなデータ)を予測する回帰問題に用いられてもよい。機械学習システム10は、自然言語処理、画像処理(画像認識)、音声処理(音声認識)、データ予測などの様々な情報処理に用いられ得る。例えば、機械学習システム10は、機械翻訳、自動対話、光学的文字認識(OCR)、自動運転、医療診断、不正検知、顔検出、商品レコメンド、顧客分析、金融取引などの様々な技術分野に応用することができる。したがって、機械学習の処理結果として出力される予測結果(予測される事象)は様々であり、例えば、翻訳文、音声または画像から認識されたテキスト、運転の制御に関する指示、診断結果、検知された不正、レコメンドされた商品、金融取引に関する指示などであり得る。
An event is a thing that appears in an observable form, in other words, a thing that can be expressed by data in any format. The events predicted by the
機械学習システム10は1台のコンピュータで構成されてもよいし、複数台のコンピュータで構成されてもよい。複数台のコンピュータを用いる場合には、これらのコンピュータがインターネット、イントラネット等の通信ネットワークを介して接続されることで、論理的に一つの機械学習システム10が構築される。
The
図1は機械学習システム10の機能構成の一例を示す図である。図1に示すように、機械学習システム10は機能要素として予測部11を備える。
FIG. 1 is a diagram showing an example of the functional configuration of the
予測部11はニューラルネットワークを用いて事象を予測する機能要素である。予測部11は処理対象の入力データを取得し、ニューラルネットワークにその入力データを入力して機械学習を実行することで、出力データ(処理結果)を得る。
The
入力データの取得方法は限定されない。例えば、予測部11は任意のデータベースに記憶されているデータを入力データとして読み出してもよいし、別のコンピュータシステムから送信されてきたデータを入力データとして受信してもよい。あるいは、予測部11は機械学習システム10内の別の機能要素(図示せず)で処理されたデータを入力データとして取得してもよい。
The method of acquiring the input data is not limited. For example, the
出力データ(処理結果)の処理方法も限定されない。例えば、予測部11は出力データを、モニタ上に表示してもよいし、任意のデータベースに格納してもよいし、別のコンピュータシステムに向けて送信してもよい。あるいは、機械学習システム10内の別の機能要素(図示せず)がその出力データをさらに処理してもよい。
The processing method of output data (processing result) is also not limited. For example, the
本実施形態では、予測部11は学習済みのニューラルネットワーク(いわゆる、学習済みモデル)を用いることを前提とする。学習済みモデルは、最も予測精度が高いと推定される最良のニューラルネットワークであるといえる。ただし、学習済みモデルが“現実に最良である”とは限らないことに留意されたい。一般に、学習済みモデルを生成するために、1以上の訓練サンプルを含む訓練データセット(コーパス)が用意される。学習済みモデルは、学習をさせるニューラルネットワークに個々の訓練サンプルを逐次入力しながら機械学習を実行することで得ることができる。学習済みモデルは任意の従来技術を用いて生成することができる。学習済みモデルは機械学習システム10で生成されてもよいし、別のコンピュータシステムで生成されてもよい。
In this embodiment, it is premised that the
学習済みモデルは、コンピュータプログラムとパラメータとの組合せであるということができる。あるいは、学習済みモデルは、ニューラルネットワークの構造と該ニューラルネットワークの個々のニューロン間の結びつきの強さであるパラメータ(重み付け係数)との組合せであるということができる。あるいは、学習済みモデルは、一の結果を得る(所定の処理を実行する)ことができるように構成されたコンピュータプログラムであるということができる。 It can be said that the trained model is a combination of a computer program and parameters. Alternatively, the trained model can be said to be a combination of the structure of the neural network and a parameter (weighting coefficient) which is the strength of the connection between the individual neurons of the neural network. Alternatively, the trained model can be said to be a computer program configured to obtain one result (perform a predetermined process).
図2は、機械学習システム10で用いられるニューラルネットワーク(学習済みモデル)の一例を模式的に示す図である。このニューラルネットワーク12は予測部11の一部ということができる。ニューラルネットワーク12は、入力層である第1層と、中間層(隠れ層)である第2層、第3層、および第4層と、出力層である第5層とで構成される。第1層は、p個のパラメータを要素とする入力ベクトルx=(x0,x1,x2,…xp)をそのまま第2層に出力する。第2層、第3層、および第4層のそれぞれは、活性化関数により総入力を出力に変換してその出力を次の層に渡す。第5層も活性化関数により総入力を出力に変換し、この出力は、q個のパラメータを要素とするニューラルネットワークの出力ベクトルy=(y0,y1,…,yq)である。各層のノード(要素)の個数は限定されず、例えば、処理しようとするデータの特性と、得ようとするデータの特性とに応じて設定されてよい。
FIG. 2 is a diagram schematically showing an example of a neural network (trained model) used in the
ニューラルネットワーク12は5層(入力層を除いた場合には4層)であるが、機械学習システム10(予測部11)を構成するニューラルネットワークの層の数は何ら限定されない。例えば、機械学習システム10は3以上の任意の個数の層を有するニューラルネットワークを用いてもよく、これは、1以上の任意の個数の中間層を有するニューラルネットワークを用いてもよいことを意味する。
The
予測部11の特徴の一つは、最後の中間層の結果を示すベクトルから出力層のベクトル(出力ベクトル)を得るための計算方法にある。ニューラルネットワーク12では第4層が最後の中間層である。以下では、最後の中間層の結果を示すベクトルを「中間ベクトル」という。予測部11は、最初から正確な出力ベクトルを求めるのではなく、まずは出力ベクトルの近似値を計算する。そして、予測部11はその近似値を最終結果として用いるか否かを判定する。近似値を用いると判定した場合には、予測部11はその近似値を出力ベクトルとして設定する。一方、近似値を採用しないと判定した場合には、予測部11は正確な出力ベクトルを求める。
One of the features of the
図3~図5は、予測部11による出力ベクトルの計算を説明するための図である。図3は従来から行われている計算方法を示す図である。図4および図5は、本実施形態における出力ベクトルの近似値を求める方法を示す図である。
3 to 5 are diagrams for explaining the calculation of the output vector by the
予測部11は、m次元の中間ベクトルからn次元の出力ベクトルを得るために、n行m列の変換行列(これを「n×mの変換行列」という。)を用いる。中間ベクトルをxとし、出力ベクトルをyとし、変換行列をAとすると、図3に示すように、正確な出力ベクトルはy=Axで得られる。出力ベクトルyを得るためにn×mの行列演算が行われるので、出力層の次元が大きいと計算量が膨大になる。例えば、中間ベクトルの次元が500であっても、出力ベクトルの次元が50000であると、その出力ベクトルを得るために500×50000の行列演算が必要になる。分類問題(識別問題)における分類の候補数が大きいなどの理由により出力層の次元が大きくなると、出力層を得るための行列演算がニューラルネットワークの計算において支配的になる傾向がある。
The
本実施形態では、予測部11はその行列演算を高速に実行するために、行列分解の一手法である特異値分解(SVD)を利用する。図4に示すように、予測部11は変換行列Aに対して、A=UΣVで示される特異値分解を実行することで、変換行列Aを行列UΣと行列Vとに分解する。行列Uおよび行列Vはいずれも直交行列である。行列Σは対角行列であり、より具体的には、非対角成分が0であり且つ対角成分((i,i)要素)が特異値(変換行列Aの特異値)で構成された行列である。行列UΣは行列Uと行列Σとの積である。n×mの変換行列Aは、n×nの行列Uと、n×mの行列Σと、m×mの行列Vとに分解される。ニューラルネットワーク(学習済みモデル)の一部を構成する変換行列Aは予め与えられるので、予測部11は予め特異値分解を実行することで、行列UΣおよび行列Vを取得しておくことができる。
In the present embodiment, the
予測部11は、行列Σの前方の列に重要な要素(計算に影響する要素)が位置し、後方の列に計算にあまり影響を与えない要素が位置するように、行列Σの対角成分を並べる。具体的には、予測部11は、前方の列に含まれる各対角成分が後方の列の対角成分の最大値と同じかまたは該最大値よりも大きくなるように、行列Σの対角成分を並べる。要するに、予測部11は、値が大きな対角成分が前方の列に集まるように行列Σの対角成分を並べる。「前方の列」とは行列Σの1列目からk列目までのことをいい、「後方の列」とは行列Σの(k+1)列目から最後列までのことをいう。値kは、1以上で、且つ行列Σの列数よりも小さい。例えば、予測部11は、1列目から最後列に向かって対角成分が降順に並ぶように行列Σを生成してもよい。
In the
予測部11は行列UΣおよび行列Vを用いて出力ベクトルの近似値を求める。図5に示すように、予測部11は行列UΣを前行列Lと後行列Rとに分割する。前行列Lは行列UΣの1列目からk列目(すなわち、行列UΣの前方の列)を用いて定義される行列であり、したがって、n×kの行列である。後行列Rは行列UΣの残りの列(すなわち、行列UΣの後方の列)で構成される行列である。より具体的には、後行列Rは行列UΣの(k+1)列目から最後列を用いて定義される行列であり、したがって、n×(m-k)の行列である。値kは、行列UΣの分割位置を示す値であるといえる。
The
また、予測部11は行列Vと中間ベクトルxとに基づいてm次元の一時ベクトルx´を求める。具体的には、予測部11は行列Vと中間ベクトルxとの積を一時ベクトルx´として求める。すなわち、x´=Vxである。予測部11はこの一時ベクトルx´を前ベクトルxLと後ベクトルxRとに分割する。前ベクトルxLは一時ベクトルx´の1個目からk個目までの要素を用いて定義されるベクトルであり、したがって、k次元のベクトルである。後ベクトルxRは一時ベクトルx´の残りの要素で構成されるベクトルである。より具体的には、後ベクトルxRは一時ベクトルx´の(k+1)個目の要素から最後の要素(m個目の要素)を用いて定義される行列であり、したがって、(m-k)次元のベクトルである。値kは、一時ベクトルx´の分割位置も示す値であるといえる。
Further, the
続いて、予測部11は前行列Lと前ベクトルxLとに基づいてn次元の近似ベクトルyaを求める。具体的には、予測部11は前行列Lと前ベクトルxLとの積を近似ベクトルyaとして求める。すなわち、ya=LxLである。近似ベクトルyaは、y=Axで得られる正確な出力ベクトルyの近似値である。
Subsequently, the
近似ベクトルyaは、変換行列Aのうち重要な要素(前行列L)のみを用いて得られるので、正確な出力ベクトルyを高精度に近似していることが期待できる。具体的には、近似ベクトルyaの最大要素のインデックスは、正確な出力ベクトルyの最大要素のインデックスと同じである蓋然性が高い。ここで、最大要素とは値が最も大きい要素のことをいう。また、インデックスとは、要素の位置を示す要素番号のことをいう。例えば、分類問題(識別問題)では最大要素のインデックスがわかれば十分である。したがって、ya=LxLという近似計算でも最大要素のインデックスが変わらなければ、分類結果(識別結果)は、y=Axを計算した場合と変わらない。その近似計算は、y=Axという行列演算の一部のみを計算することを意味するので、近似ベクトルyaを出力ベクトルyと見なすことで、機械学習の実行時間を短縮することができる。 Since the approximation vector y a is obtained by using only the important element (prematrix L) of the transformation matrix A, it can be expected that the accurate output vector y is approximated with high accuracy. Specifically, it is highly probable that the index of the maximum element of the approximation vector y a is the same as the index of the maximum element of the accurate output vector y. Here, the maximum element means the element having the largest value. Further, the index means an element number indicating the position of the element. For example, in a classification problem (discrimination problem), it is sufficient to know the index of the maximum element. Therefore, if the index of the maximum element does not change even in the approximate calculation of ya = Lx L , the classification result (discrimination result) is the same as the case where y = Ax is calculated. Since the approximate calculation means that only a part of the matrix operation of y = Ax is calculated, the execution time of machine learning can be shortened by considering the approximate vector y a as the output vector y.
一方、近似ベクトルyaが出力ベクトルyを近似していない場合には、省略したデータ(後行列Rおよび後ベクトルxR)をさらに用いることで、正確な出力ベクトルy(正確な分類結果)を得ることができる。 On the other hand, when the approximation vector y a does not approximate the output vector y, the omitted data (back matrix R and back vector x R ) can be further used to obtain an accurate output vector y (correct classification result). Obtainable.
図6および図7を参照しながら機械学習システム10の動作を説明する。図6は、学習済みモデルを取得した際に実行される処理の一例を示すフローチャートである。図7は中間ベクトルから出力ベクトルを得る処理の一例を示すフローチャートである。
The operation of the
図6を参照しながら、学習済みモデルを取得した際に実行される処理について説明する。ステップS11では、予測部11が学習済みモデルを取得する。上述したように、この学習済みモデルは、変換行列Aを含んで構成されるニューラルネットワークである。
The process executed when the trained model is acquired will be described with reference to FIG. In step S11, the
ステップS12では、予測部11が変換行列Aを特異値分解により行列UΣと行列Vとに分解する。すなわち、予測部11はA=UΣ×Vを計算する。変換行列Aがn×m行列であれば、行列UΣはn×m行列であり、行列Vはm×m行列である。
In step S12, the
ステップS13では、予測部11が行列UΣを前行列Lと後行列Rとに分割する。予測部11は、前方の列(1列目からk列目)に含まれる各対角成分が残りの列((k+1)列目から最後列)の対角成分の最大値と同じかまたは該最大値よりも大きくなるように、行列Σの対角成分を並べる。例えば、予測部11はその対角成分を降順に並べてもよい。行列UΣの分割位置を示す値kを決定する方法は限定されない。値kは予め定められていてもよいし、予測部11が動的に(すなわち、自動的に)決定してもよい。
In step S13, the
例えば、値kは中間ベクトルの次元数(行列Σの列数)mの半分であってもよい。例えば、次元数mが偶数であればk=m/2である。次元数mが奇数であればk=(m-1)/2、またはk=(m+1)/2でもよい。本実施形態では、次元数mが奇数であるこの場合も、値kが中間ベクトルの次元数の半分である例に含まれるものとする。 For example, the value k may be half the number of dimensions (the number of columns of the matrix Σ) m of the intermediate vector. For example, if the number of dimensions m is an even number, k = m / 2. If the number of dimensions m is an odd number, k = (m-1) / 2 or k = (m + 1) / 2 may be used. In the present embodiment, even in this case where the dimension number m is an odd number, it is included in the example in which the value k is half the dimension number of the intermediate vector.
あるいは、予測部11は行列Σの対角成分を1列目から最終列に向けて降順に並べた上で、対角成分が予め定めた閾値Ta以上であることを満たす最後の列の列番号をkとして設定してもよい。例えば、対角成分が降順に並んでおり、m=100であり、且つTa=1であるとして、60列目の対角成分が1以上であり、61列目の対角成分が1未満である場合には、予測部11はkを60に設定する。閾値Taの具体的な値は限定されず、例えば、学習済みモデルの特性、予測しようとする事象の特性などの様々な要因を考慮して設定されてよい。
Alternatively, the
あるいは、予測部11は行列Σの対角成分を1列目から最終列に向けて降順に並べた上で、対角成分の偏差値が予め定めた閾値Tb以上であることを満たす最後の列の列番号をkとして設定してもよい。例えば、対角成分が降順に並んでおり、m=100であり、且つTb=50であるとして、40列目の対角成分の偏差値が50以上であり、41列目の対角成分の偏差値が50未満である場合には、予測部11はkを40に設定する。個々の対角成分の偏差値は、すべての対角成分の平均および分散を用いて求めることができる。閾値Tbの具体的な値は限定されず、例えば、学習済みモデルの特性、予測しようとする事象の特性などの様々な要因を考慮して設定されてよい。
Alternatively, the
このように値kの決め方は限定されないが、いずれにしても、予測部11は、値が大きな対角成分が前方の列に集まるように行列Σの対角成分を並べた上で、行列UΣを前行列Lおよび後行列Rとに分割する。行列UΣがn×m行列であれば、前行列Lはn×k行列であり、後行列Rはn×(m-k)行列である。
In this way, the method of determining the value k is not limited, but in any case, the
図7を参照しながら出力ベクトルの計算について説明する。図7は一つの出力ベクトルを求める処理を示すものである。或る一つの問題をニューラルネットワーク12を用いて解くために出力ベクトルを複数回求めなければならない場合がある。この場合には、その一つの問題を処理するために、図7に示す一連の処理が複数回実行される。
The calculation of the output vector will be described with reference to FIG. 7. FIG. 7 shows a process of obtaining one output vector. It may be necessary to obtain the output vector multiple times in order to solve one problem using the
ステップS21では、予測部11が行列Vと中間ベクトルxとに基づいて一時ベクトルx´を求める。具体的には、予測部11は行列Vと中間ベクトルxとの積を一時ベクトルx´として求める。
In step S21, the
ステップS22では、予測部11がその一時ベクトルx´を前ベクトルxLと後ベクトルxRとに分割する。予測部11は、一時ベクトルx´の1個目からk個目までの要素を用いて前ベクトルxLを生成し、一時ベクトルx´の(k+1)個目の要素から最後の要素(m個目の要素)を用いて後ベクトルxRを生成する。一時ベクトルx´をこのように分割するための値kは、行列UΣを前行列Lと後行列Rとに分割する際に用いる値kと同じである。したがって、予測部11は上記のステップS13で設定した値kを一時ベクトルx´の分割でも用いる。
In step S22, the
ステップS23では、予測部11が前行列Lと前ベクトルxLとに基づいて近似ベクトルyaを求める。具体的には、予測部11は前行列Lと前ベクトルxLとの積を近似ベクトルyaとして求める。
In step S23, the
ステップS24では、予測部11がその近似ベクトルyaにおける最大要素(近似ベクトルyaの要素の最大値)と少なくとも一つの他の要素(最大要素以外の近似ベクトルyaの要素のうちの少なくとも一つ)との乖離度を算出する。ステップS25では、予測部11はその乖離度を予め定められた閾値と比較する。乖離度とは、近似ベクトルyaの最大要素が近似ベクトルyaの他の要素の値からどれだけ離れているかを示す指標である。乖離度が大きいほど、近似ベクトルyaの要素の最大値は他の要素の値から大きく離れている、ということができる。乖離度が一定の水準以上に大きければ、最大要素と他の要素との間に有意な差があるといえる。
In step S24, the
ステップS24,S25で用いる乖離度の種類は限定されない。例えば、予測部11は近似ベクトルyaの最大要素と、近似ベクトルyaの中で2番目に大きい要素との差を乖離度として求め、この乖離度が閾値Tcより大きいか否かを判定してもよい。あるいは、予測部11は近似ベクトルyaの最大要素の偏差値を乖離度として求め、この乖離度が閾値Tdより大きいか否かを判定してもよい。この偏差値は、近似ベクトルyaの全要素の平均および分散を用いて求めることができる。閾値Tc、Tdのいずれについても、その具体的な値は限定されず、例えば、学習済みモデルの特性、予測しようとする事象の特性などの様々な要因を考慮して設定されてよい。
The type of deviation degree used in steps S24 and S25 is not limited. For example, the
乖離度が閾値より大きい場合には(ステップS25においてYES)、処理はステップS26に移り、予測部11が近似ベクトルyaを出力ベクトルyとして設定する。乖離度が閾値より大きければ、近似ベクトルyaの最大要素のインデックスが、正確な出力ベクトルyの最大要素のインデックスと同じである蓋然性が高い。例えば、分類問題(識別問題)では最大要素のインデックスがわかれば十分なので、乖離度が閾値より大きければ、近似ベクトルyaによる分類結果(識別結果)は、正確な出力ベクトルyによる分類結果と変わらないと期待できる。
If the degree of deviation is larger than the threshold value (YES in step S25), the process proceeds to step S26, and the
乖離度が閾値以下である場合には(ステップS25においてNO)、処理はステップS27に移る。ステップS27では、予測部11が、近似ベクトルyaに加えて、後行列Rおよび後ベクトルxRをさらに用いて出力ベクトルyを算出する。具体的には、予測部11は後行列Rと後ベクトルxRとの積を近似ベクトルyaに加えることで正確な出力ベクトルyを求める。すなわち、予測部11はy=ya+RxRを計算する。乖離度が閾値以下であれば、近似ベクトルyaの最大要素のインデックスが、正確な出力ベクトルyの最大要素のインデックスと異なる蓋然性が高い。この場合には、近似ベクトルyaを最終結果として採用するのではなく、出力ベクトルyを正確に計算した方が、予測の精度がより高くなる。予測部11は、省略した後行列Rおよび後ベクトルxRをさらに用いて計算することで、正確な出力ベクトルyを得る。
If the degree of deviation is equal to or less than the threshold value (NO in step S25), the process proceeds to step S27. In step S27, the
予測部11は、これら一連の処理により得られた出力ベクトルyに基づいて、ニューラルネットワークの最終的な結果を計算または生成する。最終結果を計算または生成する方法は限定されない。
The
例えば、予測部11は下記の式(1)で示されるソフトマックス(Softmax)関数を用いて最終結果を求めてもよい。
For example, the
式(1)において、yiは出力ベクトルyのi番目の要素を表し、nは出力ベクトルyの要素数を表す。
In the equation (1), y i represents the i-th element of the output vector y, and n represents the number of elements of the output vector y.
このソフトマックス関数は、出力ベクトルの要素を確率分布に変換する。ソフトマックス関数により、出力ベクトルの各要素は0から1の間の値をとり、出力ベクトルの全要素の和は1になる。一般には、このソフトマックス関数は分類問題(識別問題)を解く場合によく用いられる。 This softmax function transforms the elements of the output vector into a probability distribution. By the softmax function, each element of the output vector takes a value between 0 and 1, and the sum of all the elements of the output vector is 1. Generally, this softmax function is often used to solve a classification problem (discrimination problem).
あるいは、予測部11は出力ベクトルyをそのまま最終結果として設定してもよい。例えば、予測部11は回帰問題を解く場合に出力ベクトルyをそのまま最終結果として出力してもよい。
Alternatively, the
学習済みモデルでは変換行列Aが確定しているので、予測部11は、その学習済みモデルを読み込んだ時に一度だけ特異値分解を実行して前行列Lおよび後行列を求めればよい。したがって、個々の出力ベクトルを求めようとする度に前行列Lおよび後行列Rを求める必要はない。
Since the transformation matrix A is fixed in the trained model, the
本実施形態では機械学習システム10(予測部11)が変換行列Aを特異値分解することで行列UΣと行列Vとを取得するが、機械学習システム10(予測部11)は別のコンピュータシステムで算出された行列UΣおよび行列Vを取得してもよい。すなわち、該別のコンピュータシステムが変換行列Aを特異値分解してもよい。 In the present embodiment, the machine learning system 10 (prediction unit 11) acquires the matrix UΣ and the matrix V by singularly decomposing the transformation matrix A, but the machine learning system 10 (prediction unit 11) is a different computer system. The calculated matrix UΣ and the matrix V may be acquired. That is, the other computer system may decompose the transformation matrix A into singular values.
本実施形態では、機械学習システム10(予測部11)が、近似ベクトルyaについての乖離度に基づいて、近似ベクトルyaを出力ベクトルyとして設定するか、または正確な出力ベクトルy=ya+RxRを求める。しかし、乖離度に基づくこの分岐処理は必須ではない。したがって、機械学習システム10(予測部11)は乖離度を求めることなく、近似ベクトルyaを出力ベクトルyとして設定してもよい。 In the present embodiment, the machine learning system 10 (prediction unit 11) sets the approximation vector y a as the output vector y based on the degree of deviation with respect to the approximation vector y a , or the accurate output vector y = ya. Find + Rx R. However, this branching process based on the degree of divergence is not essential. Therefore, the machine learning system 10 (prediction unit 11) may set the approximation vector y a as the output vector y without obtaining the degree of deviation.
機械学習システム10内で二つの数値の大小関係を比較する際には、「以上」および「よりも大きい」という二つの基準のどちらを用いてもよく、「以下」および「未満」の二つの基準のうちのどちらを用いてもよい。このような基準の選択は、二つの数値の大小関係を比較する処理についての技術的意義を変更するものではない。
When comparing the magnitude relations of two numerical values in the
本実施形態のように出力ベクトルの近似値を用いることで、出力層の次元が膨大な場合にも機械学習を高速に実行することが可能になる。図8を参照しながら、この技術的効果について説明する。図8は、LSTM(Long Short-Term Memory(長・短期記憶))というニューラルネットワーク20を用いた機械翻訳に本実施形態を応用(適用)した実際の例を模式的に示す図である。
By using the approximate value of the output vector as in the present embodiment, it is possible to execute machine learning at high speed even when the dimension of the output layer is enormous. This technical effect will be described with reference to FIG. FIG. 8 is a diagram schematically showing an actual example in which this embodiment is applied (applied) to machine translation using a
翻訳などの自然言語処理では語彙数が出力の候補の数になり得るので、出力層のベクトルの次元数はその語彙数に対応して数万以上(例えば約50000)になる。その結果、出力ベクトルの計算量が膨大になる。例えば、中間ベクトルの次元数が500程度であっても、出力ベクトルを計算するために500×50000の行列演算が必要になり、この行列演算がニューラルネットワークの計算において支配的になり得る。 In natural language processing such as translation, the number of vocabularies can be the number of output candidates, so the number of dimensions of the vector of the output layer is tens of thousands or more (for example, about 50,000) corresponding to the number of vocabularies. As a result, the amount of calculation of the output vector becomes enormous. For example, even if the number of dimensions of the intermediate vector is about 500, a matrix operation of 500 × 50,000 is required to calculate the output vector, and this matrix operation can be dominant in the calculation of the neural network.
図8の例では、ニューラルネットワーク(LSTM)20は日本語の文を英語に翻訳する。このニューラルネットワーク20において、中間層および出力層の次元数はそれぞれ500、50000であるとする。図8の例では、「私は日本人です。」という日本語の文が「I am Japanese.」と翻訳されている。中間ベクトルから出力ベクトルを得るための行列演算は、英文を構成する個々の単語(文末記号である<EOS>も含む)について実行されるので、図8の例ではその行列演算は4回実行される。その4回の行列演算において近似ベクトルyaが出力ベクトルyとして設定される回数は0~4の間である。
In the example of FIG. 8, the neural network (LSTM) 20 translates a Japanese sentence into English. In this
500次元の中間層および50000次元の出力層を有するニューラルネットワーク20において、500列の行列UΣを前行列Lと後行列Rとに分割するための値kを固定値300に設定した。したがって、前行列Lおよび後行列Rの列数はそれぞれ300、200であった。一例として、本実施形態を適用したこのニューラルネットワーク20で「自転車で通勤すると運動になります。」という日本語の文を英訳したところ、「If you go to work by bicycle, you will get exercise.」という正しい英訳を268ms(ミリ秒)で得ることができた。
In the
比較のために、行列UΣを分割することなく常にすべての列を用いてその和文を翻訳したところ、正しい英訳が302msで得られた。意図的に後行列Rを用いずに常に前行列Lのみを用いてその和文を英訳したところ、前行列Lの列数kに応じて結果が変わった。具体的には、k=400では、正しい英訳が277msで得られた。k=300では、「If you go to work by bicycle, you will exercise.」という、正解に近い結果が229msで得られた。k=200の場合には、「When you go to work by bicycle, you can exercise.」という不完全な結果が192msで得られた。k=100の場合には、「To go to work on a bike is a sport.」という誤訳が173msで得られた。 For comparison, the Japanese translation was always performed using all the columns without dividing the matrix UΣ, and the correct English translation was obtained in 302 ms. When the Japanese sentence was intentionally translated into English using only the front matrix L without using the back matrix R, the result changed according to the number of columns k of the front matrix L. Specifically, at k = 400, a correct English translation was obtained in 277 ms. At k = 300, a result close to the correct answer, "If you go to work by bicycle, you will exercise.", Was obtained in 229 ms. In the case of k = 200, an incomplete result of "When you go to work by bicycle, you can exercise." Was obtained in 192 ms. In the case of k = 100, the mistranslation "To go to work on a bike is a sport." Was obtained in 173 ms.
ニューラルネットワーク20を用いた実験からわかるように、本実施形態に係る機械学習システム10を採用することで、確度の高い結果を高速に得ることが可能になる。上記の翻訳の例では、300列を有する前行列Lのみを用いた計算では識別結果が曖昧な場合に限って、残りの200列を有する後行列Rをさらに用いて計算が行われる。したがって、268msという短時間で正解を得ることができた。
As can be seen from the experiment using the
上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成要素)は、ハードウェアおよび/またはソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的および/または論理的に結合した一つの装置により実現されてもよいし、物理的および/または論理的に分離した2つ以上の装置を直接的および/または間接的に(例えば、有線および/または無線)で接続し、これら複数の装置により実現されてもよい。 The block diagram used in the description of the above embodiment shows a block of functional units. These functional blocks (components) are realized by any combination of hardware and / or software. Further, the means for realizing each functional block is not particularly limited. That is, each functional block may be realized by one physically and / or logically coupled device, or directly and / or indirectly by two or more physically and / or logically separated devices. It may be connected specifically (eg, wired and / or wireless) and realized by these plurality of devices.
例えば、本発明の一実施の形態における機械学習システム10は、本実施形態の処理を行うコンピュータとして機能してもよい。図9は、機械学習システム10として機能するコンピュータ100のハードウェア構成の一例を示す図である。コンピュータ100は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含んでもよい。
For example, the
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。機械学習システム10のハードウェア構成は、図に示した各装置を一つまたは複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
In the following description, the word "device" can be read as a circuit, a device, a unit, or the like. The hardware configuration of the
機械学習システム10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002およびストレージ1003におけるデータの読み出しおよび/または書き込みを制御することで実現される。
For each function in the
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、機械学習システム10の少なくとも一部の機能要素はプロセッサ1001で実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003および/または通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、機械学習システム10の少なくとも一部の機能要素は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、一つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時または逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
Further, the
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも一つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
The
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CDROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも一つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002および/またはストレージ1003を含むテーブル、サーバその他の適切な媒体であってもよい。
The
通信装置1004は、有線および/または無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、機械学習システム10の少なくとも一部の機能要素は通信装置1004で実現されてもよい。
The
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005および出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
The
また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
Further, each device such as the
また、コンピュータ100は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(ProgrammableLogic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部または全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも一つで実装されてもよい。
Further, the
以上説明したように、本発明の一側面に係る機械学習システムは、ニューラルネットワークの中間層で得られた中間ベクトルと変換行列Aとを用いて、ニューラルネットワークの出力層のベクトルである出力ベクトルを算出し、該出力ベクトルに基づいて事象を予測する予測部を備え、予測部が、変換行列Aを特異値分解することで得られる行列UΣと行列Vとを取得し、ここで、行列Uおよび行列Vは直交行列であり、行列Σは対角行列であり、中間ベクトルと行列Vとに基づいて一時ベクトルを算出し、行列UΣおよび一時ベクトルのそれぞれの分割位置を示す値kを用いて、行列UΣの1列目からk列目を用いて定義される前行列と、一時ベクトルの1個目からk個目までの要素を用いて定義される前ベクトルとを取得し、前行列および前ベクトルに基づいて近似ベクトルを算出し、近似ベクトルを出力ベクトルとして設定する。 As described above, the machine learning system according to one aspect of the present invention uses the intermediate vector obtained in the intermediate layer of the neural network and the transformation matrix A to obtain an output vector which is a vector of the output layer of the neural network. A prediction unit that calculates and predicts an event based on the output vector is provided, and the prediction unit acquires the matrix UΣ and the matrix V obtained by decomposing the transformation matrix A into singular values, and here, the matrix U and the matrix V are obtained. The matrix V is an orthogonal matrix, the matrix Σ is a diagonal matrix, a temporary vector is calculated based on the intermediate vector and the matrix V, and the values k indicating the respective division positions of the matrix UΣ and the temporary vector are used. Obtain the prematrix defined using the first to kth columns of the matrix UΣ and the prematrix defined using the first to kth elements of the temporary vector, and obtain the prematrix and the prematrix. Calculate the approximation vector based on the vector and set the approximation vector as the output vector.
このような側面においては、中間ベクトルから出力ベクトルを得るための変換行列Aに対して、A=UΣVという特異値分解が実行される。そして、行列UΣの全部を使わずに、その行列UΣの一部(前行列)を用いて近似ベクトルが得られる。この近似ベクトルは出力層のベクトルの近似値といえる。この近似ベクトルを出力ベクトルと見なすことで、行列UΣの全体(すなわち、変換行列Aそのもの)を用いる場合よりも少ない計算量で出力ベクトルが得られるので、機械学習を高速に実行することができる。 In such an aspect, the singular value decomposition of A = UΣV is executed for the transformation matrix A for obtaining the output vector from the intermediate vector. Then, an approximate vector can be obtained by using a part of the matrix UΣ (prematrix) without using the entire matrix UΣ. This approximation vector can be said to be an approximation of the vector of the output layer. By considering this approximation vector as an output vector, the output vector can be obtained with a smaller amount of calculation than when the entire matrix UΣ (that is, the transformation matrix A itself) is used, so that machine learning can be executed at high speed.
他の側面に係る機械学習システムでは、予測部が、近似ベクトルにおける最大要素と少なくとも一つの他の要素との乖離度を算出し、乖離度が閾値より大きい場合に、近似ベクトルを出力ベクトルとして設定してもよい。乖離度が大きければ、最大要素と他の要素との差が大きいといえ、したがって、近似ベクトルと正確な出力ベクトルとの間で最大要素のインデックスが同じである蓋然性が高いといえる。乖離度が大きい場合に近似ベクトルを出力ベクトルとして設定することで、精度の高い機械学習を高速に実行することができる。 In the machine learning system related to the other aspect, the prediction unit calculates the degree of deviation between the maximum element in the approximation vector and at least one other element, and sets the approximation vector as an output vector when the degree of deviation is larger than the threshold value. You may. If the degree of divergence is large, it can be said that the difference between the maximum element and other elements is large, and therefore it is highly probable that the index of the maximum element is the same between the approximate vector and the accurate output vector. By setting the approximation vector as the output vector when the degree of deviation is large, highly accurate machine learning can be executed at high speed.
他の側面に係る機械学習システムでは、予測部が、乖離度が閾値以下である場合に、行列UΣの残りの列で構成される後行列Rと、一時ベクトルの残りの要素で構成される後ベクトルと、近似ベクトルとに基づいて出力ベクトルを算出してもよい。乖離度が小さい場合には最大要素と他の要素との差があまり大きくないので、近似ベクトルと正確な出力ベクトルとの間で最大要素のインデックスが異なる蓋然性が高い。乖離度が小さい場合に限って出力ベクトルを正確に求めることで、精度の高い機械学習を高速に実行することができる。 In the machine learning system according to the other aspect, when the degree of deviation is less than or equal to the threshold value, the predictor is composed of the posterior matrix R composed of the remaining columns of the matrix UΣ and the posterior matrix composed of the remaining elements of the temporary vector. The output vector may be calculated based on the vector and the approximation vector. When the degree of divergence is small, the difference between the maximum element and other elements is not so large, so it is highly probable that the index of the maximum element differs between the approximate vector and the accurate output vector. By accurately obtaining the output vector only when the degree of deviation is small, highly accurate machine learning can be executed at high speed.
他の側面に係る機械学習システムでは、予測部が、近似ベクトルの最大要素の偏差値を乖離度として算出してもよい。統計値の一種である偏差値を乖離度として用いることで、最大要素が他の要素からどのくらい離れているかを正しく推定することが可能になる。 In the machine learning system according to the other aspect, the prediction unit may calculate the deviation value of the maximum element of the approximation vector as the degree of deviation. By using the deviation value, which is a kind of statistical value, as the degree of deviation, it is possible to correctly estimate how far the maximum element is from other elements.
他の側面に係る機械学習システムでは、予測部が、近似ベクトルの最大要素と、近似ベクトルの中で2番目に大きい要素との差を乖離度として算出してもよい。最大要素と2番目に大きい要素との差を乖離度として用いることで、乖離度を簡単に求めることができる。 In the machine learning system according to the other aspect, the prediction unit may calculate the difference between the maximum element of the approximation vector and the second largest element in the approximation vector as the degree of deviation. By using the difference between the maximum element and the second largest element as the degree of divergence, the degree of divergence can be easily obtained.
他の側面に係る機械学習システムでは、予測部が、一時ベクトルの次元数の半分の値を値kとして設定してもよい。このように分割位置を設定することで行列UΣおよび一時ベクトルから簡単に前行列および前ベクトルを得ることができる。 In the machine learning system according to the other aspect, the prediction unit may set a value of half the number of dimensions of the temporary vector as the value k. By setting the division position in this way, the prematrix and the prevector can be easily obtained from the matrix UΣ and the temporary vector.
他の側面に係る機械学習システムでは、予測部が、行列Σの対角成分が閾値以上であることを満たす最後の列の列番号を値kとして設定してもよい。行列UΣおよび一時ベクトルの分割位置をこのように設定することで、計算に影響する重要な要素が前行列に集まるので、精度の高い近似ベクトルを求めることができる。 In the machine learning system according to the other aspect, the prediction unit may set the column number of the last column satisfying that the diagonal component of the matrix Σ is equal to or greater than the threshold value as the value k. By setting the division positions of the matrix UΣ and the temporary vector in this way, important elements that affect the calculation are gathered in the prematrix, so that a highly accurate approximate vector can be obtained.
他の側面に係る機械学習システムでは、予測部が、行列Σの対角成分の偏差値が閾値以上であることを満たす最後の列の列番号を値kとして設定してもよい。行列UΣおよび一時ベクトルの分割位置をこのように設定することで、計算に影響する重要な要素が前行列に集まるので、精度の高い近似ベクトルを求めることができる。 In the machine learning system according to the other aspect, the prediction unit may set the column number of the last column satisfying that the deviation value of the diagonal component of the matrix Σ is equal to or greater than the threshold value as the value k. By setting the division positions of the matrix UΣ and the temporary vector in this way, important elements that affect the calculation are gathered in the prematrix, so that a highly accurate approximate vector can be obtained.
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨および範囲を逸脱することなく修正および変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。 Although the present embodiment has been described in detail above, it is clear to those skilled in the art that the present embodiment is not limited to the embodiments described in the present specification. This embodiment can be implemented as an amendment or modification without departing from the spirit and scope of the present invention as determined by the description of the scope of claims. Therefore, the description herein is for purposes of illustration only and has no limiting implications for this embodiment.
情報の通知は、本明細書で説明した態様および実施形態に限られず、他の方法で行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号またはこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC Connection Reconfiguration)メッセージなどであってもよい。 Notification of information is not limited to the embodiments and embodiments described herein, and may be performed by other methods. For example, information notification includes physical layer signaling (eg, DCI (Downlink Control Information), UCI (Uplink Control Information)), higher layer signaling (eg, RRC (Radio Resource Control) signaling, MAC (Medium Access Control) signaling, etc. It may be carried out by broadcast information (MIB (Master Information Block), SIB (System Information Block)), other signals, or a combination thereof. Further, the RRC signaling may be referred to as an RRC message, and may be, for example, an RRC Connection Setup message, an RRC Connection Reconfiguration message, or the like.
本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、SUPER 3G、IMT-Advanced、4G、5G、FRA(Future Radio Access)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-Wideband)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステムおよび/またはこれらに基づいて拡張された次世代システムに適用されてもよい。 Each aspect / embodiment described herein includes LTE (Long Term Evolution), LTE-A (LTE-Advanced), SUPER 3G, IMT-Advanced, 4G, 5G, FRA (Future Radio Access), W-CDMA. (Registered Trademarks), GSM (Registered Trademarks), CDMA2000, UMB (Ultra Mobile Broadband), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, UWB (Ultra-Wideband), It may be applied to Bluetooth®, other systems that utilize suitable systems and / or next-generation systems that are extended based on them.
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。 The processing procedures, sequences, flowcharts, and the like of each aspect / embodiment described in the present specification may be rearranged in order as long as there is no contradiction. For example, the methods described herein present elements of various steps in an exemplary order and are not limited to the particular order presented.
情報等は、上位レイヤ(または下位レイヤ)から下位レイヤ(または上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。 Information and the like can be output from the upper layer (or lower layer) to the lower layer (or upper layer). Input / output may be performed via a plurality of network nodes.
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。 The input / output information and the like may be stored in a specific place (for example, a memory) or may be managed by a management table. Information to be input / output may be overwritten, updated, or added. The output information and the like may be deleted. The input information or the like may be transmitted to another device.
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。 The determination may be made by a value represented by 1 bit (0 or 1), by a boolean value (Boolean: true or false), or by comparing numerical values (for example, a predetermined value). It may be done by comparison with the value).
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。 Each aspect / embodiment described in the present specification may be used alone, in combination, or may be switched and used according to the execution. Further, the notification of predetermined information (for example, the notification of "being X") is not limited to the explicit one, but is performed implicitly (for example, the notification of the predetermined information is not performed). May be good.
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。 Software, whether referred to as software, firmware, middleware, microcode, hardware description language, or other names, is an instruction, instruction set, code, code segment, program code, program, subprogram, software module. , Applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, features, etc. should be broadly interpreted.
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペアおよびデジタル加入者回線(DSL)などの有線技術および/または赤外線、無線およびマイクロ波などの無線技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、これらの有線技術および/または無線技術は、伝送媒体の定義内に含まれる。 Further, software, instructions, and the like may be transmitted and received via a transmission medium. For example, the software uses wired technology such as coaxial cables, fiber optic cables, twisted pair and digital subscriber lines (DSL) and / or wireless technologies such as infrared, wireless and microwave to websites, servers, or other When transmitted from a remote source, these wired and / or wireless technologies are included within the definition of transmission medium.
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、またはこれらの任意の組み合わせによって表されてもよい。 The information, signals, etc. described herein may be represented using any of a variety of different techniques. For example, data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description are voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, light fields or photons, or any of these. It may be represented by a combination of.
なお、本明細書で説明した用語および/または本明細書の理解に必要な用語については、同一のまたは類似する意味を有する用語と置き換えてもよい。 The terms described herein and / or the terms necessary for understanding the present specification may be replaced with terms having the same or similar meanings.
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。 The terms "system" and "network" used herein are used interchangeably.
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。例えば、無線リソースはインデックスで指示されるものであってもよい。 Further, the information, parameters, etc. described in the present specification may be represented by an absolute value, a relative value from a predetermined value, or another corresponding information. .. For example, the radio resource may be indexed.
上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)および情報要素(例えば、TPCなど)は、あらゆる好適な名称によって識別できるので、これらの様々なチャネルおよび情報要素に割り当てている様々な名称は、いかなる点においても限定的なものではない。 The names used for the parameters described above are not limited in any way. Further, mathematical formulas and the like using these parameters may differ from those expressly disclosed herein. Since the various channels (eg, PUCCH, PDCCH, etc.) and information elements (eg, TPC, etc.) can be identified by any suitable name, the various names assigned to these various channels and information elements are in any respect. However, it is not limited.
ユーザ端末および移動通信端末は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。 User terminals and mobile communication terminals may be used by those skilled in the art as subscriber stations, mobile units, subscriber units, wireless units, remote units, mobile devices, wireless devices, wireless communication devices, remote devices, mobile subscriber stations, access terminals, etc. It may also be referred to as a mobile device, wireless device, remote device, handset, user agent, mobile client, client, or some other suitable term.
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、テーブルまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。 As used herein, the terms "determining" and "determining" may include a wide variety of actions. “Judgment” and “decision” are, for example, judgment, calculation, computing, processing, deriving, investigating, and looking up (for example, a table). , Searching in a table or another data structure), ascertaining can be regarded as "judgment" or "decision". Also, "judgment" and "decision" are receiving (for example, receiving information), transmitting (for example, transmitting information), input (input), output (output), and access. (Accessing) (for example, accessing data in memory) may be regarded as "judgment" or "decision". In addition, "judgment" and "decision" are considered to be "judgment" and "decision" when the things such as solving, selecting, selecting, establishing, and comparing are regarded as "judgment" and "decision". Can include. That is, "judgment" and "decision" may include considering some action as "judgment" and "decision".
「接続された(connected)」、「結合された(coupled)」という用語、またはこれらのあらゆる変形は、2またはそれ以上の要素間の直接的または間接的なあらゆる接続または結合を意味し、互いに「接続」または「結合」された2つの要素間に1またはそれ以上の中間要素が存在することを含むことができる。要素間の結合または接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、2つの要素は、1またはそれ以上の電線、ケーブルおよび/またはプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域および光(可視および不可視の両方)領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」または「結合」されると考えることができる。 The terms "connected", "coupled", or any variation thereof, mean any direct or indirect connection or connection between two or more elements and each other. It can include the presence of one or more intermediate elements between two "connected" or "joined" elements. The connection or connection between the elements may be physical, logical, or a combination thereof. As used herein, the two elements are by using one or more wires, cables and / or printed electrical connections, and, as some non-limiting and non-comprehensive examples, radio frequencies. By using electromagnetic energies such as electromagnetic energies with wavelengths in the region, microwave region and light (both visible and invisible) regions, they can be considered to be "connected" or "coupled" to each other.
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。 The phrase "based on" as used herein does not mean "based on" unless otherwise stated. In other words, the statement "based on" means both "based only" and "at least based on".
本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。 As used herein by designations such as "first", "second", etc., any reference to that element does not generally limit the quantity or order of those elements. These designations can be used herein as a convenient way to distinguish between two or more elements. Thus, references to the first and second elements do not mean that only two elements can be adopted there, or that the first element must somehow precede the second element.
「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。 As long as "include", "including", and variations thereof are used herein or within the scope of the claims, these terms are similar to the term "comprising". In addition, it is intended to be inclusive. Moreover, the term "or" as used herein or in the claims is intended to be non-exclusive.
本明細書において、文脈または技術的に明らかに一つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。 In the present specification, a plurality of devices shall be included unless the device has only one device apparently in context or technically.
10…機械学習システム、11…予測部、12…ニューラルネットワーク。 10 ... Machine learning system, 11 ... Predictor, 12 ... Neural network.
Claims (8)
前記予測部が、
前記変換行列Aを特異値分解することで得られる行列UΣと行列Vとを取得し、ここで、行列Uおよび行列Vは直交行列であり、行列Σは対角行列であり、
前記中間ベクトルと前記行列Vとに基づいて一時ベクトルを算出し、
前記行列UΣおよび前記一時ベクトルのそれぞれの分割位置を示す値kを用いて、前記行列UΣの1列目からk列目を用いて定義される前行列と、前記一時ベクトルの1個目からk個目までの要素を用いて定義される前ベクトルとを取得し、
前記前行列および前記前ベクトルに基づいて近似ベクトルを算出し、
前記近似ベクトルを前記出力ベクトルとして設定する、
機械学習システム。 Using the intermediate vector obtained in the intermediate layer of the neural network and the transformation matrix A, an output vector which is a vector of the output layer of the neural network is calculated, and a prediction unit for predicting an event based on the output vector is provided. ,
The prediction unit
The matrix UΣ and the matrix V obtained by decomposing the transformation matrix A by singular values are obtained, where the matrix U and the matrix V are orthogonal matrices, and the matrix Σ is a diagonal matrix.
A temporary vector is calculated based on the intermediate vector and the matrix V,
Using the values k indicating the division positions of the matrix UΣ and the temporary vector, the prematrix defined using the first to kth columns of the matrix UΣ and the first to k of the temporary vector. Get the pre-vector defined using the elements up to the th item,
Calculate the approximation vector based on the prematrix and the prevector,
Setting the approximation vector as the output vector,
Machine learning system.
前記近似ベクトルにおける最大要素と少なくとも一つの他の要素との乖離度を算出し、
前記乖離度が閾値より大きい場合に、前記近似ベクトルを前記出力ベクトルとして設定する、
請求項1に記載の機械学習システム。 The prediction unit
The degree of divergence between the maximum element in the approximation vector and at least one other element is calculated.
When the degree of deviation is larger than the threshold value, the approximation vector is set as the output vector.
The machine learning system according to claim 1.
請求項2に記載の機械学習システム。 When the degree of deviation is equal to or less than the threshold value, the prediction unit approximates the posterior matrix R composed of the remaining columns of the matrix UΣ and the posterior vector composed of the remaining elements of the temporary vector. Calculate the output vector based on the vector,
The machine learning system according to claim 2.
請求項2または3に記載の機械学習システム。 The prediction unit calculates the deviation value of the maximum element of the approximation vector as the degree of deviation.
The machine learning system according to claim 2 or 3.
請求項2または3に記載の機械学習システム。 The prediction unit calculates the difference between the maximum element of the approximation vector and the second largest element in the approximation vector as the degree of deviation.
The machine learning system according to claim 2 or 3.
請求項1~5のいずれか一項に記載の機械学習システム。 The prediction unit sets a value that is half the number of dimensions of the temporary vector as the value k.
The machine learning system according to any one of claims 1 to 5.
請求項1~5のいずれか一項に記載の機械学習システム。 The prediction unit sets the column number of the last column satisfying that the diagonal component of the matrix Σ is equal to or greater than the threshold value as the value k.
The machine learning system according to any one of claims 1 to 5.
請求項1~5のいずれか一項に記載の機械学習システム。 The prediction unit sets the column number of the last column satisfying that the deviation value of the diagonal component of the matrix Σ is equal to or greater than the threshold value as the value k.
The machine learning system according to any one of claims 1 to 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018108903A JP7021010B2 (en) | 2018-06-06 | 2018-06-06 | Machine learning system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018108903A JP7021010B2 (en) | 2018-06-06 | 2018-06-06 | Machine learning system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019212121A JP2019212121A (en) | 2019-12-12 |
JP7021010B2 true JP7021010B2 (en) | 2022-02-16 |
Family
ID=68845370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018108903A Active JP7021010B2 (en) | 2018-06-06 | 2018-06-06 | Machine learning system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7021010B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160019455A1 (en) | 2014-07-16 | 2016-01-21 | Qualcomm Incorporated | Decomposing convolution operation in neural networks |
JP2018067039A (en) | 2016-10-17 | 2018-04-26 | 日本電信電話株式会社 | Learning apparatus, learning method and learning program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3374476B2 (en) * | 1993-10-22 | 2003-02-04 | 株式会社デンソー | Neural network construction method |
US5596681A (en) * | 1993-10-22 | 1997-01-21 | Nippondenso Co., Ltd. | Method of determining an optimal number of neurons contained in hidden layers of a neural network |
-
2018
- 2018-06-06 JP JP2018108903A patent/JP7021010B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160019455A1 (en) | 2014-07-16 | 2016-01-21 | Qualcomm Incorporated | Decomposing convolution operation in neural networks |
JP2017525038A (en) | 2014-07-16 | 2017-08-31 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Decomposition of convolution operations in neural networks |
JP2018067039A (en) | 2016-10-17 | 2018-04-26 | 日本電信電話株式会社 | Learning apparatus, learning method and learning program |
Also Published As
Publication number | Publication date |
---|---|
JP2019212121A (en) | 2019-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3572980B1 (en) | Method and system for joint selection of a feature subset-classifier pair for a classification task | |
JP2021533450A (en) | Identification and application of hyperparameters for machine learning | |
JP7062056B2 (en) | Creation text evaluation device | |
WO2020230658A1 (en) | Feature extraction device and state estimation system | |
CN114359738A (en) | Cross-scene robust indoor population wireless detection method and system | |
EP4443335A1 (en) | Neural network architecture search method, apparatus and device, and storage medium | |
JP7003228B2 (en) | Dialogue server | |
Nouretdinov et al. | Multiprobabilistic prediction in early medical diagnoses | |
US20220301004A1 (en) | Click rate prediction model construction device | |
JP7021010B2 (en) | Machine learning system | |
JP7122835B2 (en) | Machine translation device, translation trained model and judgment trained model | |
US11604831B2 (en) | Interactive device | |
US20230019364A1 (en) | Selection method of learning data and computer system | |
CN109685091A (en) | Digital experience targeting using bayesian approach | |
JP6745402B2 (en) | Question estimator | |
Johnson et al. | On path restoration for censored outcomes | |
EP3721445B1 (en) | System to improve clinical workflow | |
CN113989562A (en) | Model training and image classification method and device | |
US20230351436A1 (en) | Advertising effect prediction device | |
Hilafu | Random sliced inverse regression | |
WO2020213425A1 (en) | State estimation device, state estimation program, estimation model, and state estimation method | |
Pelegrina et al. | Application of multi-objective optimization to blind source separation | |
CN113190154A (en) | Model training method, entry classification method, device, apparatus, storage medium, and program | |
JP7473583B2 (en) | A globalized model for long document summarization. | |
CN115187809B (en) | Classification and classification model training method, device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220112 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7021010 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |