JP2009515231A - 任意のコストファンクションを用いて学習システムをトレーニングすること - Google Patents
任意のコストファンクションを用いて学習システムをトレーニングすること Download PDFInfo
- Publication number
- JP2009515231A JP2009515231A JP2008522800A JP2008522800A JP2009515231A JP 2009515231 A JP2009515231 A JP 2009515231A JP 2008522800 A JP2008522800 A JP 2008522800A JP 2008522800 A JP2008522800 A JP 2008522800A JP 2009515231 A JP2009515231 A JP 2009515231A
- Authority
- JP
- Japan
- Prior art keywords
- data
- learning system
- cost function
- machine learning
- document
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
主題の開示は、機械学習システムをトレーニングするためのシステムおよび方法に関する。多数のコストファンクションは、滑らか、または微分可能ではなく、機械学習システムのトレーニング中に簡単に使用することができない。機械学習システムは、学習システムによって生成されるランク付けされ、またはソートされる結果に少なくとも部分的に基づいた1組の推定される勾配を含むことができる。その推定される勾配は、コストファンクションの要件を反映するように選択し、学習システムのトレーニング中に学習システムのパラメータを決定し、または修正するために、コストファンクションの代わりに利用することができる。
Description
本発明は、機械学習システムに関する。
本願は、「TRAINING RANKING SYSTEMS WITH ARBITRARY COST FUNCTIONS」という名称の2005年7月18日に出願された米国仮特許出願第60/700,080号の35U.S.C.119(e)の下における恩恵を主張する出願である。
情報探索者(information seeker)にとって使用可能なデータの量は、インターネット上の情報ソースの急増の結果として、または会社内のビジネス情報をまとめ上げる民間の努力の結果として、あるいは様々な他の原因のうちのどれであれ、天文学的に増大してきている。使用可能なデータの量が増大するにつれ、関連したデータをソートし、所在を見出す(locate)ことができるニーズが増大している。関連した問題は、関連性があるとして識別されているデータをランク付けするニーズである。
ユーザが特定のデータを求めてデータの集まりを検索するとき、ユーザは、一般的にそれらのユーザによって入力された検索クエリに対して単にある関係を有する結果のリストよりも多くのものを要求する。ユーザは、一般にそのリスト内から最良の、または最も関連した結果の所在を迅速に見出すことができることを望む。検索の結果をランク付けすることは、その最も関連したデータの所在を迅速に見出す際にユーザを支援することができる。一般に、高いランキングは、ユーザに対して、それらのユーザが検索した情報が、その検索結果中に存在するという高い可能性があることを示す。
1つのアプローチは、データの所在を見出し、データをソートし、ランク付けし、あるいは別の方法で処理する機械学習システム(machine learning system)を使用することである。機械学習システムは、他のうちでもとりわけ、ニューラルネットワーク、サポートベクトルマシン(SVM)およびパーセプトロン(perceptron)などのシステムを含んでいる。これらのシステムは、それだけには限定されないが、光学的パターンおよびオブジェクトの認識(optical pattern and object recognition)と、制御システムおよびフィードバックシステムと、テキストカテゴリー化(text categorization)を含めて、様々なデータ処理タスクまたはデータ解析タスクのために使用することができる。機械学習システムについての他の潜在的用途は、データの分類または回帰からの恩恵を受けることができる任意のアプリケーションを含んでいる。一般的に、機械学習システムは、パフォーマンスを改善し、最適な検索結果、ソート結果、またはランキング結果を生成するためにトレーニングされる。
そのような機械学習システムは通常、コストファンクション(cost function)を使用してトレーニングされ、その学習プロセスは、このコストファンクションを最小にしようと試みる。しかし多くの場合に、関心のあるコストファンクションは、これが解決すべきあまりにも難しい問題を提示しているので、直接には最小化されない。例えば、ドキュメント取出し問題においては、トレーニングされるシステムの品質の1つの尺度は、ROC曲線の下の面積である。ROC曲線は、真の陽性率(true positive)(例えば、取り出された関連したドキュメント)の数に対する偽の陽性率(false positive)(例えば、取り出された無関係なドキュメント)の数のグラフィカルなプロットである。そのようなコストファンクションは、使用される機械学習システムの出力の微分可能なファンクションではなく、滑らかさのこの欠如は、そのようなファンクションを直接に使用したトレーニングについての難しさを提示する。
以下の説明は、そのような実施形態の一部の態様の基本的な理解を与えるための学習システムのトレーニングシステムおよび/またはトレーニング方法の1つまたは複数の実施形態の簡略化された概要を提示する。この概要は、広範囲にわたる概説ではなく、実施形態の主要な要素または不可欠な要素を特定することも、そのような実施形態の範囲を示すことも意図していない。その唯一の目的は、後述する詳細な説明に対する前置きとして、簡略化された形式で説明される実施形態の一部の概念を提示することである。
簡単に説明すると、本明細書中で説明されるシステムおよび/または方法は、機械学習システムのトレーニングを実現できるようにする。本明細書中で説明されるシステムは、学習システムおよびコストファンクションによって生成される構造化データに少なくとも部分的に基づいた1組の推定される勾配(gradient)を含むことができる。推定される勾配をコストファンクションの代わりに使用して、システムのトレーニング中に機械学習システムのパラメータを決定し、または修正することができる。
前述の目的および関連した目的を達成するために、請求される主題についてのある種の例示の態様が、以降の説明および添付の図面に関連して本明細書中で説明される。これらの態様は、主題を実行することができ、そのすべてが、請求される主題の範囲内に含まれるように意図される様々な方法を示している。他の利点および新規特徴は、図面と併せ考慮されるときに以降の詳細な説明から明らかにすることができる。
本明細書中において開示される主題の様々な態様が、次に図面を参照して説明される。図面中において、同様な参照番号は、全体にわたって同様な構成要素または対応する構成要素を意味する。しかしながら、図面とそれに関連した詳細な説明は、請求される主題を開示される特定の形態だけに限定することを意図していないことが理解されるべきである。もっと正確に言えば、その意図するところは、請求される本主題の趣旨および範囲内に含まれるすべての修正形態、等価形態および代替形態をカバーすることである。
本明細書中において使用されるように、用語「コンポーネント」、「システム」などは、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータに関連したエンティティを意味することが意図される。例えば、コンポーネントは、それだけには限定されないがプロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータとすることができる。例証として、コンピュータ上で実行されるアプリケーションも、そのコンピュータも、コンポーネントとすることができる。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッドの内部に存在することができ、コンポーネントは、1台のコンピュータ上に局在化させることもでき、かつ/または2台以上のコンピュータの間に分散させることもできる。
用語「例示(exemplary)」は、1つの例、インスタンス、または例証としての役割を果たすことを意味するように本明細書中で使用される。本明細書中において「例示」として説明される任意の態様または設計は、必ずしも他の態様または設計よりも好ましいまたは有利であると解釈されるべきものとは限らない。
本明細書中において使用されるように、用語「推測する(infer)」、または「推論する(inference)」は、一般にイベントおよび/またはデータを経由して取り込まれる1組の観察から、システム、環境、および/またはユーザの状態について理論的に考えるプロセスまたは推論するプロセスを意味する。推論を使用して特定のコンテキストまたはアクションを識別することができ、あるいは推論は、例えば複数の状態にわたって確率分布を生成することができる。推論は、確率論的とすることができ、すなわち、データおよびイベントの考察に基づいた関心のある状態にわたっての確率分布の計算とすることができる。推論は、1組のイベントおよび/またはデータからより高レベルのイベントを構成するために使用される技法を意味する可能性もある。そのような推論は、イベントが近い時間的近接度で相関しているか否かにかかわらず、またイベントおよびデータが、1つまたは複数のイベントおよびデータソースに由来するかどうかにかかわらず、1組の観察されるイベントおよび/または記憶されるイベントデータから新しいイベントまたはアクションの構築をもたらす。
さらに、開示される主題は、本明細書中において詳述される態様をインプリメントするためにコンピュータまたはプロセッサベースのデバイスを制御するソフトウェア、ファームウェア、ハードウェアまたはそれらの任意の組合せを生成する標準的なプログラミング技法および/またはエンジニアリング技法を使用したシステム、方法、装置、または製造業者の品物としてインプリメントすることができる。本明細書中において使用される用語「製造業者の品物」(または代わりに「コンピュータプログラムプロダクト」)は、任意のコンピュータ読取り可能デバイス、搬送波または媒体からアクセス可能なコンピュータプログラムを包含することを意図している。例えば、コンピュータ読取り可能媒体は、それだけには限定されないが、磁気ストレージデバイス(例えば、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ...)と、光ディスク(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)...)と、スマートカードと、フラッシュメモリデバイス(例えば、カード、スティック)とを含むことができる。さらに、搬送波を使用して、電子メールを送信し受信する際に、あるいはインターネットやローカルエリアネットワーク(LAN)などのネットワークにアクセスする際に使用されるデータなどのコンピュータ読取り可能電子データを搬送することができることが、認識されるべきである。もちろん、当業者なら、請求される主題の範囲または趣旨を逸脱することなく、多数の修正をこのコンフィギュレーションに対して行うことができることを認識するであろう。
しばしば、機械学習システムは、データを処理するために使用される。例えば、機械学習システムを使用して、情報検索を実行し、データ項目をランク付けすることができる。用語、機械学習システムは、一般にハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータに関連したエンティティを意味することが意図される。本開示の目的のために、用語、機械学習システムと学習システムは、交換可能に使用されることになる。一般に、学習システムは、ユーザのニーズに従ってデータを処理するようにトレーニングされる必要がある。コストファンクションなど、様々なメトリクス(metrics)を使用して、学習システムのパフォーマンスを評価することができる。学習システムは、学習システムを評価するために使用されることになるメトリクスまたはコストファンクションに関してパフォーマンスを最適化させるようにトレーニングされるべきである。
そのような機械学習システムについての一用途は、データセット中の要素をランク付けすることである。関心のある特定のデータセットは、ユーザにより定式化された検索クエリの結果として取り出された1組のウェブページである。そのデータセット内で、ユーザは、一般的に結果におけるウェブページが、ユーザの検索要求に反応を示す可能性が最も高いものから最も低いものへと順序付けられるように要求する。反応性の同じ可能性(例えば、ある種の判断基準に基づいた、クエリとのマッチングの同じ確率)を有するウェブページは、同じランクを受け取るべきである。ユーザに対するプレゼンテーションのために、同じランクを有するウェブページの順序付けは、任意とすることができ、あるいは、適切な任意のスキームに基づいたものとすることもできる。
本明細書で説明されるシステムについての別の重要な用途は、質問に応答することである。質問応答においては、ランク付けされた1組の応答(例えば、ストリングまたはフレーズ)は、ユーザにより定式化された検索クエリの結果として返される。返される第1の応答は、その質問に反応する可能性が最も高い応答であるべきである。データセットの他のメンバは、そのリスト中において完全に無視することもでき、あるいはより低いレベルで返すこともできる。この場合には、メトリクスまたはコストファンクションは、最上位で返される応答が正しい場合だけに、評価に値する(measure)。
機械学習システムは、ここで論じられるランキング問題を超えた様々な用途についても利用することができることを理解すべきである。さらに、限りない数の追加のクエリ・オプションが存在することも理解すべきである。これらの代替的な態様は、本開示のこの範囲とこれに添付される特許請求の範囲との内部に含められるべきである。換言すれば、本明細書中において説明される新規の概念および機能は、数限りないシナリオに適用することができ、これらのシナリオのおのおのは、本開示の趣旨および範囲と添付される特許請求の範囲との内部に含められるべきことが理解される。
図1は、本明細書中に開示される主題の態様に従って構造化データを生成するためのシステム100の説明図である。本明細書中において使用されるように、構造化データは、順序付けられたデータ、部分的に順序付けられたデータ、グラフ、シーケンス、ストリングなどを含むことができる。システム100は、データをランク付けし、かつ/またはソートするために、あるいは情報検索のために使用することができるが、そのような用途だけには限定されない。システム100は、学習コンポーネント110、入力データストア(input data store)120、および1組の構造化データ130を含む。学習コンポーネント110は、勾配降下(gradient descent)を使用してトレーニングすることができる任意の機械学習システムを含むことができる。本開示の一部分として提示される例は、一般にニューラルネットワークを使用して学習コンポーネント110をインプリメントする学習システムを示している。しかし、この分野における当業者は、それだけには限定されないがカーネル学習法システム、ベイズ法、およびブースティング方式を含めて、他の機械学習システムを本明細書中に開示される主題に関連して利用することができることを認識するであろう。そのような当業者は、学習コンポーネント110としてニューラルネットワークの代わりに他の機械学習システムを代用するために提示される特定の例に対して修正を行うことができることも簡単に認識するであろう。これらの学習システムのために使用される学習アルゴリズムは、コストファンクションの勾配に依存するはずである。このタイプの修正を行うことができるが、これらの修正は、単にインプリメンテーションの詳細にすぎず、本開示の主題の範囲を逸脱してはいない。
入力データストア120は、学習コンポーネント110へと入力され、その学習コンポーネント110によって処理されるべきデータを含んでいる。本明細書中において使用されるようなデータストアは、それだけには限定されないが、テキストファイル、ウェブページ、イメージファイル、オーディオデータ、ビデオデータ、ワード処理ファイルなどを含めてファイルのデータベースまたは集まりを含むデータの任意の集まりである。入力データストア120内のデータは、学習コンポーネント110による使用のための適切な方法でフォーマットすることができる。代わりに、学習コンポーネントは、学習コンポーネント110によるオペレーションに適したフォーマットでデータをレンダリングするフォーマッティングコンポーネント(図示されず)を含むことができる。さらに、入力データストア120内のデータのフォーマットは、トレーニングフェーズ、テストフェーズ、動作フェーズなどの、学習コンポーネント110のオペレーションのモードまたはフェーズに基づいて変化する可能性がある。
学習コンポーネント110は、入力データストア120からのデータを処理し、1組の構造化データ130を出力することができる。構造化データ130は、他のコンポーネントによって使用し、ユーザに対して提示することができ、あるいはその両方が可能である。例えば、本システムは、図に示されていない表示コンポーネントを含むことができ、この表示コンポーネントは、ユーザにとって有用であり、またはユーザが要求する任意のフォーマットでユーザに対して構造化データを表示する。そのような構造化データの一例は、ユーザのクエリに対する応答(例えば、インターネット上のウェブページ)としてのネットワーク上のドキュメントについての検索の結果を含むことになる。1組の応答ドキュメントは、構造化データとして、あるいはこの例においてはランク付けされた検索結果の形でユーザに提示される前に、入力データとして学習コンポーネント110に対して提示し、ある種の判断基準に基づいた順序でランク付けすることができる。
一般に、学習システムは、オペレーションの複数のフェーズを有する。初期フェーズは、トレーニングフェーズとして知られている。トレーニングフェーズ中に、1組のトレーニングデータを学習システム中へと入力することができる。学習システムは、トレーニングデータの処理中にデータの処理を最適化するように学習する。次に、1組の妥当性検証データ(validation data)をその学習システム中へと入力することができる。学習システムによる妥当性検証データセットの処理の結果は、学習システムのパフォーマンスを評価する様々な評価メトリクスを使用して測定することができる。学習システムは、システムパフォーマンスを最適化するためにトレーニングデータと妥当性検証データとの間で交互に変更することができる。ひとたび学習システムが望ましいパフォーマンスレベルを達成した後に、学習システムのパラメータは、学習システムが動作フェーズに入る前にパフォーマンスが一定のままにとどまるように、固定することができる。一般的にトレーニングと妥当性検証の両方に追随する動作フェーズ中に、ユーザは、学習システムを利用して、動作データを処理し、ユーザの望ましい結果を取得することができる。
図2に示される構造化データを生成するためのシステムのさらなる態様においては、学習コンポーネント110または機械学習システムは、オペレーションのモードまたはフェーズに応じて別個のデータストアからデータを受け取ることができる。学習コンポーネント110は、トレーニングフェーズ中にトレーニングデータストア210から学習システムをトレーニングするために特に選択されるデータセットを受け取ることができる。学習コンポーネント110は、妥当性検証データストア220から妥当性検証データセットを受け取ることができる。さらに、学習コンポーネント110は、動作フェーズ中に別個のテストデータストア230からデータを受け取ることができる。
学習システムの結果の品質は、多種多様なコストファンクションまたは評価メトリクスを使用して測定することができる。そのような1つのメトリクスは、平均逆ランク(MRR:mean reciprocal rank)であり、これは2項関連性タスク(binary relevance task)に対して当てはまる。MRRでは、ドキュメント検索のコンテキスト内において、ある与えられたクエリについて、リターンされる任意のドキュメントは、「関連している」または「関連していない」のいずれかとしてラベル付けされる。クエリについての最も高いランキングの関連ドキュメントのランクがriであり、ここでiは、ドキュメントをリターンしたクエリの番号またはインデックスである場合、次いでそのクエリについての逆ランク測定値は、riの逆数、すなわち1/riである。MRRは、クエリの組の上での逆ランク測定値の平均として計算される。
機械学習システムは、正規化減損累積利得尺度(NDCG:normalized discounted cumulative gain measure)を使用して評価することもできる。ドキュメント検索のコンテキスト内のNDCGは、品質をランク付けする累積尺度である。したがって、適切なコストファンクションは、1からそのNDCGを差し引いたものとなるはずである。与えられたクエリQiでは、Niによってここで示されるNDCGは、以下の式を使用して計算することができる。
ここで、r(j)は、ランク付けされたドキュメント順序における位置j中におけるドキュメントの関連性レベル(relevance level)である。正規化定数(normalization constant)、Niは、ドキュメントの完全な順序付けが、Ni=1をもたらすことになるように選択される。ここで、Lは、NDCGが計算されるランキングレベルである。Niは、NDCGを計算するためにクエリセットにわたって平均化される。
追加のメトリクスは、ペアワイズエラーカウント(pair-wise error count)とウィナーテイクオール(winner-take-all)(「WTA」)とを含んでいる。ドキュメント検索のコンテキスト中におけるペアワイズエラーカウントでは、正しくない順序のドキュメント対の数がカウントされる。この基本的な尺度の様々な修正形態が、情報検索文献中において使用される。例えば、ペアワイズエラーは、潜在的な正しくないドキュメント対の最大数にわたっての正しくないドキュメント対の数として計算することができる。WTAファンクションは、しばしば質問応答を評価するために使用されることがあり、ここでは最上部応答だけが評価される。一般的に、正しい応答がランク付けされた応答のリストの最上部位置にある場合だけに、質問応答の信頼(credit)は与えられる。たとえ正しい応答がランク付けされた応答のリスト内の2番目の位置にあったとしても、間違った応答が最上部位置にある場合には、信頼は与えられない。
以上で論じられた3つの尺度、MRR、NDCGおよびWTAは、検索法およびランキング法の実行者によって使用される尺度の種類の小さな例示のサブセットであるにすぎない。追加のメトリクスまたはコストファンクションは、それだけには限定されないが、ROC曲線下の面積(area under the ROC curve)と、平均精度の平均(mean average precision)の測定を含んでいる。このサブセットは、ここでは具体的な例を伴う説明を明確にする目的のために使用される。したがって、これらの尺度は、いずれにしてもイノベーション(innovation)の範囲を限定することは意図していない。
しばしば、学習システムは、トレーニングフェーズ中にコストファンクションまたはメトリクスの近似を利用してきている。コストファンクションの近似は、学習システムによって生成されるスコアまたは出力が、一般に実数であるので使用されるが、WTAなどの多数のコストファンクションは、これらの数のファンクションとして見られるときに、微分可能でなく、滑らかに変化していない。これは、与えられたクエリに基づいて取り出されるドキュメントをランク付けするコンテキスト内において理解することができる。そのクエリからもたらされるドキュメントは、ドキュメントごとに生成される学習システムのスコアと、クエリドキュメント対と呼ばれるドキュメントを生成した入力クエリとに基づいてランク付けされる。2つのクエリドキュメント対についてのスコアの値が近い場合には、スコアの小さな変化が、そのドキュメントのランキングの順序を反転させる可能性がある。これは、機械パフォーマンスを評価するために使用されるコストファンクションに関して大きな影響を持つ可能性がある。例えば、WTAコストファンクションを使用するときに、正しい応答が、ランキング順序中におけるちょうど1つの位置だけ下に移動し、最上部位置において正しくない応答によって置換される場合には、その学習システムは、信頼を受けない。この不連続性(discontinuity)は、学習システムについてパフォーマンスを改善することを困難にする。
機械学習法のこの制限のために、多数の従来の情報検索システムと質問応答システムは、ランキングのためにヒューリスティック(heuristic)を使用する。しかし、ヒューリスティックを使用することは、一般に正しいコストファンクションを使用することよりも、この後者が可能であるとした場合には悪い結果を与えることになる。これは、例えば一部の場合においてヒューリスティックを使用してシステムを改善することが真のコストを改善しないことに注意することにより、観察されてきている。さらに、機械学習システムのトレーニングは、クエリについてリターンされたドキュメントの数が可変であるときに、さらに複雑なものになる。したがって、トレーニングフェーズ中に使用される方法は、一般に学習システムのテスト中にパフォーマンスを評価するために使用される実際のコストファンクションではなくて、学習システムを評価するために使用されるコストファンクションの近似となる。
コストファンクションについての1つの例示の近似は、ペアワイズトレーニング(pair-wise training)である。ペアワイズトレーニング中に、学習システムには、1対の結果(例えば、ドキュメントAおよびドキュメントB)が提示され、ここではそれらのドキュメントのうちの一方は、他方のドキュメントよりも高くランク付けされることが望ましい。コストファンクションを使用して、両方のドキュメントについての学習システムの出力に応じて学習システムをアップデートする。例えば、ドキュメントAおよびドキュメントBがその機械に提示され、ドキュメントAがドキュメントBよりも高くランク付けされることが望ましいものと仮定する。機械が、ドキュメントBについて出力するよりもドキュメントAについてより低い番号を出力する場合、次いでそのコストは大きくなり、機械のパラメータまたは重みは、それに応じてアップデートされる。システムは、それらの結果中におけるペアワイズエラーの数を最小にしようと試み、ここで、ペアワイズエラーは、リスト中の2つのドキュメントが間違った順序でランク付けされるときに起こる。ペアワイズエラーは、(コストファンクションがすべてのソートされたドキュメントまたはデータに依存するので)構造化出力に依存し、(スコアの非常に小さな変化がコストの固定された有限な変化をもたらし得るので)滑らかでないコストファンクションの一例である。ペアワイズエラーは、平滑なファンクションによって近似することができる。以降においては、例示の目的のために、本発明者等は、ペアワイズエラーに対する平滑な近似が使用されていることを仮定している。
以降の例は、ペアワイズトレーニングをWTAの近似として使用する問題を示している。トレーニングクエリは、2つの関連したドキュメントD1およびD2、ならびに998個の関連していないドキュメントを含む1000個のドキュメントを返す。機械は、最初にD1を位置1に、D2を位置1000にランク付けする。学習システムは、D2を位置3まで上に移動することにより、またD1を位置2まで下に移動することにより、996個のエラーだけクエリについてのペアワイズエラーを減少させる可能性があり、これは、学習システムがD1およびD2を位置1および2に配置する容量を持たない場合には、必要とされることもある。学習システムの容量に対する制限は、メモリの制限、または計算パワーの制限などを含んでいる。しかし、同じ移動は、正常な結果である1から不調な結果である0へとWTAコストファンクションを減少させることになる。ペアワイズエラーレートの非常に大きな低減は、WTAエラーまたはコストの可能な最大の増大をもたらしている。
一般に、望ましい動作(behavior)を有する滑らかなコストファンクションを見出すことは、非常に難しい。以上の例に見られるように、D1を最上部位置に保つことは、D2を997個の位置だけ上に移動し、D1を1つの位置だけ下に移動することよりもずっと重要であり、最適なWTAコストは、D1またはD2のいずれかが最上部位置にあるときに達成される。この場合には、WTAに対するよりよい近似は、そのランキングの最上部位置において起こるエラーについてのより高いコスト値を保持しながら、そのランキングのより低い位置において起こるエラーのコストを急に割り引くことになる。そのランキングの低いドキュメントについての非ゼロのコストを依然として可能にすることにより、トレーニングが進むにつれてこれらのドキュメントは徐々に上に移動することが可能になる。ペアワイズエラーとWTAを使用することの間のこの食い違いは、この例においては学習システムが、両方のドキュメントを最上部の2つの位置におく能力を持たないので生じるが、有限な容量は、良好な一般化パフォーマンスを有することになる任意の学習システムのプロパティであることに注意すべきである。
次に、ファンクションCは、上述のことを達成し、学習システムが、D1が位置2にあり、D2が位置1000にある、所定のクエリについてのランキングを生成するコストファンクションに対する滑らかな近似であり、次いで所定のドキュメントiについてのスコアがsiである場合に、s1に関してのコストファンクションCの偏導関数は、s2に関してのCの偏導関数よりもずっと大きいはずであることを仮定すると、以下のようになる。
ここでコストファンクションの望ましいプロパティが、コストファンクションの導関数に対して制約を課すことにより取り込まれる。コストファンクションを指定するタスクは、それ自体、クエリごとの各スコアであるsiに関してのコストファンクションの導関数を指定するタスクによって置換することができる。次いでこれらの導関数を使用して、ちょうどそのコストファンクションの導関数が通常使用されることになるように勾配降下を使用して学習システムをトレーニングすることができる。キーは、クエリとそのランク付けされたドキュメントのインスタンスを仮定すると、1組のランク付けされたドキュメントが、微分不可能なコストを低減するためにどのように移動すべきかを指定することが、多変量のコストファンクションの滑らかな近似を指定することに比べてずっと簡単であるということである。コストファンクションを近似する際の困難さは、コストファンクションが引数(argument)の可変な数のファンクションになる可能性があるので、生ずる。例えば、異なるドキュメントの数は、情報検索の場合によくあるように、異なるクエリについてサービスすることができる。さらに、コストファンクションは、多数のパラメータのファンクションとすることもできる。パラメータのうちの一部はドキュメントごとのスコアなど実数値を有することができ、一部のパラメータは、各ドキュメントのランクやラベルなどの整数値を有することができる。
ドキュメントに対応する、本明細書中において「推定される勾配」と称される1組の提案される勾配は、コストを低減するために生成し、使用することができる。ドキュメントごとの推定される勾配は、そのドキュメントが、コストを低減させるためにランキング内で移動すべき方向と、ドキュメントがいかに強く移動させられるべきであるかを反映すべきである。1組の推定される勾配は、学習システムによって出力される構造化データに基づいて生成し、学習システムパラメータをアップデートする際に使用するために(例えば、ルックアップテーブルに)記憶することができる。コストファンクションが、ペアワイズエラー、WTA、NDCGおよびMRRについての場合のように微分可能でないときに、そのような勾配が、存在しないことになるので、これらの推定される勾配は、コストファンクションの実際の勾配ではないことに注意すべきである。適切な推定される勾配は、コストファンクションの要件を反映する1組のルールに基づいて取得し、ドキュメントに対して適用することができる。例えば、推定される勾配は、そのようなルールに基づいてルックアップテーブルから取り出すことができる。また、推定される勾配は、そのドキュメントに対する適用時に生成することができる。
図3は、本明細書中において開示される主題の一態様に従って構造化データ検索を生成するためのシステム300の説明図である。システム300は、学習コンポーネント110と、入力データストア120と、1組の構造化データ130とを含んでいる。学習コンポーネント110は、推定勾配コンポーネント(estimated gradient component)302と、パラメータコンポーネント304と、ルールコンポーネント306とを含むことができる。推定勾配コンポーネント302は、学習コンポーネント110によって使用されるべきコストファンクションの要件に基づいて1組の提案される勾配または推定される勾配を記憶することができる。推定される勾配の組は、あらかじめ決定し、トレーニングフェーズ中に取出し、使用するためにルックアップテーブルに記憶することができる。推定される勾配は、コストファンクションの要件を反映する1組のルールに基づいて決定することができる。この組のルールは、ルールコンポーネント306に記憶することができる。パラメータコンポーネント304は、推定勾配コンポーネント302に記憶される推定される勾配を利用して、トレーニングフェーズ中に学習コンポーネント110のパラメータをアップデートすることができる。推定される勾配は、先行するデータ処理からもたらされる構造化データ130に基づいてパラメータコンポーネント304による使用のために生成し、あるいは選択することができる。
次に図4Aを参照すると、学習システムのコストファンクションと、その導関数と、パラメータとの間の関係が特定の例示の組のランク付けされた結果を使用して示されている。図4Aは、6つのドキュメントのランキングのサンプルを示している。ここで、それらのドキュメントは、図中において最上部から最下部へとランク付けされている。ドキュメントコンテンツは、ゼロか1のいずれかによって表される。「1」は、ドキュメントコンテンツが関連していることを示すが、「0」は、ドキュメントコンテンツが関連していないことを示す。その結果として、ドキュメントの最適なランキングにおいては、ランキング中における最上部の2つの位置は、「1」によって表されるドキュメントによって占有されることになり、「0」によって表されるドキュメントが追随する。図中の各ドキュメントの次の矢印の方向は、各ドキュメントがコストを低減させるために移動し、それによってランク付けされた結果を改善すべき方向を示す。矢印のサイズは、いかに強くドキュメントが示される方向に移動すべきかを示している。
この例では、ランキングファンクションは、FW(x)によって示すことができる。ここでxは、特徴ベクトル(feature vector)である。特徴ベクトルは、クエリとドキュメントの両方のアトリビュート(attribute)から導き出されるクエリドキュメント対についての一連の数である。また、特徴ベクトルは、ドキュメントのアトリビュートだけから導き出すこともできる。重みベクトルは、wによって表される。特徴ベクトルをしばしば使用して、ドキュメントをソートしランク付けする。重みベクトルは、学習システムの動作を指定する1組のパラメータである。例えば、ニューラルネットワークでは、重みベクトルは、ニューラルネットワークのノードを接続するリンクに添えられる1組の重みまたは係数と、また各ノードに添えられる「オフセット」パラメータを表す。
この例についてのコストファンクションは、C(y1,...y6;l1,...l6)により示すことができる。ここで、コストは、yによりここで表される学習システムによって生成されるスコアに依存し、ここでyi=Fw(xi)である。例えば、y1は、第1のランク付けされたドキュメントについての学習システムによって生成されるスコアを表し、y2は、第2のランク付けされたドキュメントについての学習システムによって生成されるスコアを表し、以下同様である。コストファンクションは、ここでl1,...l6によって表されるラベルに依存してもいる。ラベルはランキングの品質を示す。ラベルは、「Excellent(優秀)」、「Good(良好)」または「Poor(貧弱)」などの、あるいは図中に「0」または「1」として示されるようなテキスト文字列とすることができる。
図4Bは、ドキュメントの望ましいランキングを示している。ここで、「1」によって示される2つのドキュメントは、ランキング中における第1の位置および第2の位置へと移動されることになる。第1の位置中における現在「0」によって示されるドキュメントは、第3の位置へと格下げされ、「0」によって示される他のドキュメントのすべては、ランキング内において1つの位置だけ下に移動される。望ましい移動を遂行する必要がある滑らかなコストファンクションは、知られていないこともあるが、このランキングを達成するために、学習システムのランキングファンクション、Fw(x)は、F(x1)についての大きな値と、F(x2)についてのやや小さな値と、F(x4)についてのかなり小さな値とを生成すべきことは明白である。調整された組の重みを使用したF(x1)の値は、以下のように書くことができる。
ここで、Wiは,学習システムの元の重み、またはパラメータを表し、Wi+δWiは、小さな変更後の重みを表す。それらの重みは、以下のように選択することができる。
上記記述は、最適化技法に精通した人々によって認識されるように、いかに勾配降下が機能するかについての非常に基本的な記述である。ここでεは小さな学習レートを表す。その学習レートは定数とすることができる。また、学習レートは、重みごとに異なったものとすることができる。勾配は、ドキュメントがランキング内で移動すべき方向と量の両方を示す。勾配は、ドキュメントごとに計算される。勾配の符号は、ドキュメントが、ランキング内で移動すべき方向を示し、勾配のサイズは、いかに強くドキュメントが所定の方向へ移動すべきであるかを示す。勾配を計算することは、可能または実用的でないこともある。その代わりに、現行のファンクションFWのスコアは、現在のシステムがドキュメントに対して与えることになるランキングを取得するために計算し、ソートすることができる。次いで、結果の望ましい移動に注目することにより、λiによって示される推定される勾配は、各ドキュメントに対して添えることができる。それ故に、図4Aおよび4Bに示される例では、以下のようになる。
パラメータに対する変更であるδWiは、学習システムから生成される推定される勾配、Fの勾配、および現行のスコアに基づいている。推定される勾配であるλjは、すべてのドキュメントx1...x6についての学習システムの現行の出力に依存する。それ故に、λjは、F(x)のファンクション、例えば、λj=λj(F1...F6)である。1組の推定される勾配を仮定すると、対応するコストファンクションが存在する可能性があり、このコストファンクションでは、推定される勾配は、実際の勾配である。推定される勾配に対応するコストファンクションは、本明細書中においては推定されるコストファンクションCと称される。コストファンクションが図4Aおよび4Bに示される例についてのような6つの引数のファンクションであることを仮定すると、以下のようになる。
この場合には、推定されるコストファンクションは、以下の式を満たすべきである。
これは、推定される勾配が取ることができる関数形式に対して条件を付けることに注意すべきである。推定される勾配が真の勾配となるべき実際のファンクションが存在すべき場合には、推定される勾配は、実際に多重線形代数(multilinear algebra)の分野において「完全形式(exact form)」であると知られているものとなるべきである。
推定される勾配は、学習システムによって生成されるスコアとラベルとに基づいた望ましい結果を反映するように選択することができる。この例においては、それらのラベルは、ランキング中におけるドキュメントの位置を示す。WTAコストファンクションを使用して6つのドキュメントを評価する例においては、WTAコストファンクションに基づいた1組のルールを使用して、推定される勾配を選択することができる。第1のルールは、以下のように書くことができる。
l1=「1」&F(x1=l)−F(xm)>δの場合には、λj=0∀jとなる。
l1=「1」&F(x1=l)−F(xm)>δの場合には、λj=0∀jとなる。
ここで、mは、最高のランク付けされた「0」のインデックスであり、δは、固定されたマージンである。したがって、第1の位置中におけるドキュメントが「1」(l1=「1」)であり、第1のランク付けされたドキュメント(F(x1=l))についてのスコアから最高のランク付けされた「0」のドキュメントF(xm)についてのスコアを差し引いたものが、固定されたマージン(δ)よりも大きい場合には、集合λjは、あらゆるjについてゼロに等しい(λj=0∀j)。この場合には、第1のドキュメントは、正しい位置にあり、WTAコストファンクションは、1のコストを生成することになる。さらに、「1」でラベル付けされたドキュメントのスコアと、「0」でラベル付けされたドキュメントのスコアとの間の差は、そのマージンよりも大きく、そのドキュメントランキングが、交換されない可能性が高いことを保証する。したがって、ドキュメントのうちのどれも再配置されるべきではなく、推定される勾配は、ゼロに設定されるべきである。
第2のルールは、ラベル「1」を有するドキュメントのすべてより上にランク付けされた「0」のラベル(li=0)を有する任意のドキュメントが、ドキュメントのランク付けされたリストで強く下方に移動させられるべきであるということである。そのドキュメントがランク付けされたリストを下方に移動するように保証するために、推定される勾配は、負の数となるべきであり、そのドキュメントがそのリストを強く下方に移動するように保証するために、ドキュメントについての推定される勾配(λi)は、比較的大きな値を有する定数−λに設定されるべきである。
第3に、結果内の最上部にランク付けされたドキュメントではないが、「1」のラベルを有する最上部にランク付けされたドキュメントでは、そのドキュメントは、強く上方に移動すべきである。それに応じて、そのドキュメントがランク付けされたリストを上方に移動するように保証するために、ドキュメントの推定される勾配(λi)は、正の値に設定されるべきである。そのドキュメントがリストを強く上方に移動するように保証するために、推定される勾配は、比較的大きな定数、+λに設定されるべきである。
さらに、ラベル「1」を有するドキュメントの下に配置される「0」のラベルを有するドキュメントは、ランク付けされたリスト中において下方に、しかもずっと弱く移動すべきである。例えば、推定される勾配の値は、「0」でラベル付けされたドキュメントを最上部位置から移動させるために使用される推定される勾配の2分の1の値(例えば、λi=−1/2λ)に設定することができる。同様に、最上部にランク付けされた「1」ではない、ラベル「1」を有するドキュメントは、ランク付けされたリスト中において上方に、しかもずっと弱く移動すべきである。例えば、推定される勾配の値は、「1」でラベル付けされた最上部にランク付けされたドキュメントを最上部位置に向かって移動させるために使用される推定される勾配の2分の1(例えば、λi=1/2λ)に設定することができる。
図4Cは、上記ルールを使用して生成される1組の推定される勾配を使用した再順序付けの説明図である。「1」のラベルを有する最上部にランク付けされたドキュメントは、対応する矢印によって示されるように強く上方に移動させられる。同様に、最上部にランク付けされた「0」は、下方に向かって強く移動させられる。残りのドキュメントは、それらのそれぞれのラベルに応じて上方または下方に弱く移動させられる。
学習システムのトレーニングについては、特定の例を見ることにより、さらに説明することができる。例えば、学習コンポーネント110は、ニューラルネットワークを含むことができる。ニューラルネットワークは、分類タスクと回帰タスクのために共通に使用される。ニューラルネットワークは、一般にニューロン、ノードまたはユニットとも称される多層の階層構成の処理要素として構成される。本開示の目的のために、用語、ニューロンと、ノードと、ユニットは、交換可能に使用されることになる。各ユニットは、一般的に1つまたは複数の入力と、1つの出力とを有する。各入力は、一般的に何らかの係数値によって重み付けされる。ユニットの各出力は、一般的に適用されるアクティベーションファンクション(activation function)と、任意の重みまたはバイアスとに従ってその1つまたは複数の入力値を処理する結果である。
ニューラルネットワーク中におけるニューロンの階層構成中において、ニューロンは、通常複数の層に構成される。1つの層中におけるニューロンの出力は、次にくる層中における1つまたは複数のニューロンに対する入力とすることができる。層は、その層中におけるニューロンの入力がニューラルネットワークの外部のデータソースからの入力を受け取るか、あるいはニューロンの出力が、処理の望ましい結果であるかのいずれかであるという意味で露出させる(expose)ことができる。層はまた、その層中におけるユニットの入力が、以前の層または下位の層中におけるユニットの出力を使用して計算され、隠された層中におけるユニットの出力が、次にくる層または高位の層中におけるユニットについての入力を供給するという意味において隠すこともできる。例示のニューラルネットワークは、入力層、中間層または隠された層、出力層など、適切な任意数の層を含むことができる。
ニューラルネットワークの使用は、一般的にトレーニングフェーズとテストフェーズを必要とする。トレーニングフェーズ中には、「トレーニングセット」と呼ばれるデータパターンのあらかじめ選択されたグループのうちの1つが、分類のためにネットワークに対して提示される。このプロセスは多くの場合に、順方向伝搬(forward propagation)と称される。トレーニングステップの一目的は、コストファンクションを最小にし、それによってネットワーク中のエラーを最小にすることである。次いでトレーニングからの結果を使用して、そのパターンが再び順方向伝搬のために提示された場合に、ネットワークがより低いコストをもたらすことになるようにして、重みやバイアスなど、ネットワークのパラメータを調整する。この調整プロセスは、逆方向伝搬(backward propagation)と称される。順方向伝搬と逆方向伝搬は通常、「妥当性検証セット」と呼ばれるデータパターンの適切な第2のあらかじめ選択されたグループ上で平均化されたコストファンクションが最小にされるまで、逐次的に実行される。
トレーニングが完了されるときに、ネットワークのパラメータは、凍結され、もはや変更することはできない。そのポイントにおいては、ネットワークは、十分にトレーニングされていると言われる。テストデータセットがネットワークに対して提示され、そのテストセット上における計算の結果は、評価され、知られている理想的な結果と比較される。その評価が許容可能なマージン内にある結果をもたらす場合には、そのネットワークは、使用のために受け入れられる。
図5は、学習コンポーネント110をインプリメントするために使用することができる多層ニューラルネットワーク500のシステムブロック図である。図に示されるニューラルネットワーク500は、入力層510と、隠された層520と、出力層530とを含んでいる。各層は、おのおのが入力を受け入れる1つまたは複数のニューロン541、542、543を含み、何らかのあらかじめ定義されたファンクションとオプショナルな重みまたはバイアスに関してその入力を処理し、出力を供給する。各層中におけるユニットはいくつかの接続550を経由して相互に接続される。図に示される例においては、各層は、隣接する1つまたは複数の層と完全に接続され、これは、その層中における各ユニットが、そのユニットが存在する層に隣接した1つまたは複数の層中におけるあらゆるユニットに対して接続されることを意味する。提示を明確にするために、一部のユニットと一部の接続は、その図から省略されている。ニューラルネットワーク中におけるユニットの正確な数およびコンフィギュレーションは、この分野における当業者の熟練のレベルの範囲内のインプリメンテーションの詳細であること、ならびに図5に示され、本明細書中において論じられる特定のコンフィギュレーションは、限定するファクタとして解釈されるべきではないことが認識されるべきである。
入力層510は、ランク付けされるべき入力データを最初に受け取る層である。一般的に、入力データは、関心のあるいくつかのアトリビュートが定義され、各アトリビュートが関連する値を有するように構成される。入力層510の共通の、また多くの場合においては好ましいコンフィギュレーションは、その層が、処理すべきデータの関心のあるアトリビュートの数に等しいユニットの数を有することである。次いで入力層510中における各ユニット541は、入力データの単一のアトリビュートを処理し、隠された層520のユニット542に向かってその処理の結果を供給することになる。一般的に、入力層中におけるユニットは、関連するバイアスまたは重みを有さないのに対して、そのネットワーク中におけるあらゆる他のユニットは、有している。同様に、隠された層520のユニット542は、入力層510のユニット541からそれらに対するデータ入力を処理し、出力層530のユニット543に向かってそれらの処理の結果を供給することになる。出力層530のユニット543は、同様にそれらのそれぞれの入力データを処理し、結果を出力する。
次に図6を参照すると、単一層ニューラルネットワーク600の一実施形態が、システムブロック図形式で示されている。図に示されるニューラルネットワーク600は、入力層610と出力層620とを含んでいる。名前、単一層は、入力層610と出力層620との間の接続630の単一層に由来している。多層ニューラルネットワーク中におけるように、各層は、おのおのが、入力を受け入れ、何らかのあらかじめ定義されたファンクションとオプショナルな重みまたはバイアスに関してその入力を処理し、出力を供給する1つまたは複数のニューロン641および642を含んでいる。各層中におけるユニットは、いくつかの接続630を経由して相互に接続される。入力層610は、ランク付けされるべき入力データを最初に受け取る層である。一般的に、入力データは、関心のあるいくつかのアトリビュートが定義され、各アトリビュートが関連する値を有するように構成される。入力層610の共通の、また多くの場合においては好ましいコンフィギュレーションは、その層が、処理すべきデータの関心のあるアトリビュートの数に等しいユニットの数を有することである。次いで入力層610中における各ユニット641は、入力データの単一のアトリビュートを処理し、出力層620のユニット642に向かってその処理の結果を供給することになる。出力層620の1つまたは複数のユニット642は、それらのそれぞれの入力データを処理し、結果を出力する。
クエリ検索結果をランク付けする学習システムの場合には、アトリビュートまたは特徴ベクトルは、クエリと検索結果(例えば、ドキュメント)の両方に由来する可能性がある。各特徴ベクトルは、ある種のアトリビュート、例えばクエリ中における単語、結果のタイトル、結果中におけるある種の単語の生起数、およびクエリまたは結果の他の任意の特徴に応じた1組の数とすることができる。特徴ベクトルは、単一のクエリドキュメント対の結果である。
次に図7を参照すると、サンプルユニット700が、システムブロック図形式で示されている。ユニット700は、あらかじめ定義されたプロセスに従ってデータ処理を実行する本体(body)710を含んでいる。通常、そのプロセスは、アクティベーションファンクション720の形態である。使用することができる特定のアクティベーションファンクションは、おおむねインプリメンテーションの選択の問題であるが、一般的には何らかの形式のシグモイド関数(sigmoidal function)である。
入力740は、そのあらかじめ定義されたファンクションに従って処理するために本体710中にデータを供給する。パラメータとも称される重みまたはバイアス750は、ユニット700の本体710中への入力としても示されるが、ユニット700の本体710内の変数など、他の重み付け手段またはバイアス手段を使用することもできる。出力760は、アクティベーションファンクションを介して、合計された入力およびバイアスを通過させた結果である。
前述のように、使用される特定のアクティベーションファンクションは、おおむね所与の任意のアプリケーションにおけるインプリメンテーションの選択の問題である。ニューラルネットワーク中における各ユニットおよびあらゆるユニットは、固有のアクティベーションファンクションを有することが可能である。しかし、入力層および隠された層の内部のユニットは、同じアクティベーションファンクションを有し、出力層についての異なるファンクションを使用することが一般的である。この場合にも、異なるファンクションを使用すべきかどうかは、主としてインプリメンテーションの選択である。
言及したタイプのニューラルネットワークを構築し、構成するために、いくつかのファクタが考慮される。適切なアクティベーションファンクションとしきい値が作成され、選択される。入力データフォーマットが定義される。ユニットおよび層の数は、これらのユニットおよび層についての相互接続トポロジと一緒に決定される。構築が完了するときに、ネットワークは、トレーニングされ、テストされる。
前述のシステムは、いくつかのコンポーネントの間の相互作用に関して説明されている。そのようなシステムおよびコンポーネントは、それらのコンポーネントもしくはそこで指定されるサブコンポーネント、指定されるコンポーネントもしくはサブコンポーネントの一部、および/または追加のコンポーネントを含むことができる。サブコンポーネントは、親コンポーネント内に含まれるのではなくて、他のコンポーネントに通信可能に結合されるコンポーネントとしてインプリメントすることもできる。さらに、1つまたは複数のコンポーネントは、集合体機能(aggregate functionality)を提供する単一のコンポーネントへと組み合わせ、あるいはいくつかのサブコンポーネントへと分割することができることに注意すべきである。それらのコンポーネントは、本明細書中において特に説明されてはいないが、当業者によって知られている1つまたは複数の他のコンポーネントと相互作用することもできる。
さらに、認識されるように、以上の開示されるシステム、および以下の方法の様々な部分は、人工知能の、または知識ベースもしくはルールベースの、コンポーネント、サブコンポーネント、プロセス、手段、方法、またはメカニズム(例えば、サポートベクトルマシン、ニューラルネットワーク、エクスパートシステム、ベイズ信頼度ネットワーク(Bayesian belief network)、ファジーロジック、データフュージョンエンジン、分類器...)を含むことができ、あるいはそれらから構成することができる。そのようなコンポーネントは、とりわけシステムおよび方法の一部分をより適応的、ならびに効率的かつインテリジェントにするためにそれによって実行されるある種のメカニズムまたはプロセスを自動化することができる。
上記の例示のシステムを考慮すると、本開示の主題に従ってインプリメントすることができる方法は、図8〜10のフローチャートを参照してよりよく理解されるであろう。説明を簡単にする目的のために、本方法は、一連のブロックとして示され、説明されるが、一部のブロックは、異なる順序で、かつ/または本明細書中において示され、説明される他のブロックと同時に行うことができるので、請求される主題は、ブロックの順序によって限定されないことを理解し、認識すべきである。さらに、必ずしもすべての示されるブロックが、以下に説明される方法をインプリメントするために必要とされなくてもよい。
また、以下に、そしてこの明細書全体を通して開示される方法は、コンピュータに対してそのような方法を移植すること、および転送することを容易にするために、製造業者の品物に記憶されることが可能であることもさらに認識すべきである。用語、製造業者の品物は、使用されるように、任意のコンピュータ読取り可能デバイス、搬送波または媒体からアクセス可能なコンピュータプログラムを包含することが意図される。
図8は、オペレーションのために学習システムを準備する一方法800を示している。この処理は、開始ブロック802から開始され、プロセスブロック804へと継続され、ここでその学習システムはトレーニングされる。プロセスブロック806において、学習システムは妥当性検証データを使用してテストされる。判断ブロック808において、妥当性検証データ上における学習システムのパフォーマンスが十分であるかどうかについての決定が行われる。パフォーマンスが不十分である場合、この処理はプロセスブロック804へと戻り、学習システムはトレーニングを継続する。学習システムのパフォーマンスが十分である場合には、この処理はプロセスブロック810へと継続され、ここで学習システムは動作フェーズに入り、ユーザが利用することができる。学習システムの動作パラメータは、動作フェーズに入ることに先立って固定することができる。本プロセスはブロック812において終了する。
図9は、任意のコストファンクションを用いて学習システムをトレーニングするための一方法900を示している。本方法は、ニューラルネットワークを利用したランキングシステムに関して説明される。しかし、本方法は、ニューラルネットワークを含むランキングシステムだけには限定されない。この処理は開始ブロック902から開始され、プロセスブロック904へと継続され、ここでトレーニング入力が再順序付けされる。とりわけ、トレーニングセットを構成するクエリの組がシャッフルされる。シャッフルすることは、その組の内部のクエリが、ニューラルネットワークに提示される前に再順序付けされるプロシージャを意味する。そのようなシャッフルすることは、コンバージェンスを支援することができるので、トレーニングエポック(training epoch)を開始することに先立ってこのようにしてクエリをシャッフルすることが、多くの場合に有用である。プロセスブロック906においては、入力データは、所与のトレーニング入力について学習システムに提示される。この例においては、所与のクエリについて、1組のクエリドキュメント対が、学習システムに対して提示される。代わりに、1組の特徴ベクトルが、学習システムに対して提示される。各特徴ベクトルは、クエリ/ドキュメント対から(所与のクエリについて)計算することができる(すなわち、一部の特徴は、一般にクエリとドキュメントの両方に依存することになる)。クエリドキュメント対の組は、その所与のクエリについてのランク付けすべき各ドキュメントを含んでいる。プロセスブロック908においては、学習システムの出力を使用して構造化データを生成する。この例においては、それらのドキュメントのおのおののランキングが決定される。
ドキュメントごとの推定される勾配は、プロセスブロック910において構造化データ(例えば、ドキュメントのランキング)に基づいて取得される。推定される勾配は、学習システムの出力が調整されるべき量および方向を示す。推定される勾配は、学習システムをテストするために使用されることになるコストファンクションを反映するように1組のルールに基づいて選択することができる。例えば、WTAコストファンクションでは、最上部にランク付けされた結果について推定される勾配は、残りの結果についての推定される勾配よりもかなり大きくすることができる。しかし、大きな推定される勾配を利用することは、ドキュメントが、次にくるクエリについて逆にランク付けするというフリッピング(flipping)をもたらす問題を引き起こす可能性がある。推定される勾配の組は、最上部にランク付けされた結果と次にランク付けされた結果との間にかなりのギャップまたはマージンが存在するようにするために選択されるべきである。それに応じて、推定される勾配は、滑らかに変化するように選択することができる。
プロセスブロック912において、学習システムのパラメータまたは重みのおのおのは、推定される勾配の組に基づいてアップデートされる。学習システムパラメータに対する変更は、各トレーニング入力からの入力データについて計算し、トレーニング入力のすべてについて入力データに基づいてアップデートすることができる。この例においては、重みの変更は、クエリドキュメント対ごとに計算することができる。しかしながら、推定される勾配の値それら自体は、それらの重みに依存するので、それらの重みは、すべてのクエリドキュメント対が処理されるまで実際には修正されない。バッチ処理の結果として、それらの重みの変更は、そのリスト中におけるあらゆるクエリドキュメント対に依存する。推定される勾配は、あらゆるドキュメントのスコア、ラベルおよびランクに依存する可能性があるので、推定される勾配が、単一のドキュメントのスコアだけに依存する、分類コストファンクションなど、何らかの簡単なコストファンクションについて計算された場合に比べて、学習システムは、ずっと複雑な依存性をモデル化することができる。
判断ブロック914において、トレーニングセット中に追加のクエリが存在するかどうかについて決定が行われる。追加のクエリが存在する場合、処理は、プロセスブロック906へと戻り、トレーニングセット中における次のクエリが処理される。トレーニングセット中におけるすべてのクエリが処理されている場合には、処理は判断ブロック916へと継続される。判断ブロック916において、学習システムのパフォーマンスは、トレーニングを継続し、プロセスブロック904へと戻るか、あるいはブロック918において終了すべきかを決定するために評価される。一実施形態においては、パフォーマンスは、トレーニングセット上において平均エラーレートの変化のレートに基づいて評価される。
図10は、学習システムパラメータをアップデートするための一方法1000を示している。処理は、開始ブロック1002から開始され、プロセスブロック1004へと継続され、ここで推定される勾配の組が取り出される。次に、プロセスブロック1006において、学習システムのためのパラメータについての現行の値が取り出される。パラメータは、処理ブロック1008において、ドキュメントまたは結果ごとに学習システムから出力される推定される勾配およびスコアの組に基づいてアップデートされる。判断ブロック1010において、学習システム中においてアップデートされるべき追加のパラメータが存在するかどうかについての決定が行われる。存在する場合、処理は、処理ブロック1006へと戻り、次のパラメータについての現行の値が取り出される。アップデートされるべき追加のパラメータが存在しない場合には、本プロセスは、ブロック1012において終了する。
開示される主題の様々な態様についてのコンテキストを提供するために、図11および図12、ならびに以降の説明は、開示される主題の様々な態様を実装することができる適切な環境の簡潔かつ一般的な説明を与えることを意図している。本主題は、1台のコンピュータおよび/または複数台のコンピュータ上で実行されるコンピュータプログラムのコンピュータ実行可能命令の一般的な場合について以上に説明されているが、当業者なら、本開示のシステムおよび方法はまた、他のプログラムモジュールと組み合わせて実装することもできることを認識するであろう。一般に、プログラムモジュールは、個々のタスクを実行し、かつ/または個々の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造などを含んでいる。さらに当業者なら、本発明の方法が、単一プロセッサまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ・デバイス、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピュータ・デバイス(例えば、携帯型個人情報端末(PDA)、電話、時計...)、マイクロプロセッサベースの電子製品(electronics)またはプログラマブルな民生用もしくは産業用の電子製品などを含めて、他のコンピュータシステムコンフィギュレーションを用いて実行することができることを認識するであろう。例示の態様は、タスクが、通信ネットワークを介してリンクされるリモート処理デバイスによって実行される分散コンピューティング環境中において実行することもできる。しかしながら、本開示の主題のすべてがそうではない場合にも一部の態様は、スタンドアロンコンピュータ上で実行することができる。分散コンピューティング環境においては、プログラムモジュールは、ローカルなメモリストレージデバイス中にもリモートなメモリストレージデバイス中にも配置することができる。
図11を参照すると、本明細書中において開示される様々な態様をインプリメントするための例示の環境1110は、コンピュータ1112(例えば、デスクトップ、ラップトップ、サーバ、ハンドヘルド、プログラマブルな民生用もしくは産業用の電子製品...)を含んでいる。コンピュータ1112は、処理装置1114、システムメモリ1116およびシステムバス1118を含んでいる。システムバス1118は、それだけには限定されないがシステムメモリ1116を含めてシステムコンポーネントを処理装置1114に対して結合する。処理装置1114は、様々な使用可能なマイクロプロセッサのうちの任意のものにすることができる。デュアルマイクロプロセッサおよび他のマルチプロセッサのアーキテクチャは、処理装置1114として使用することもできる。
システムバス1118は、それだけには限定されないが、11−ビットバス、ISAバス、マイクロチャネルアーキテクチャ(MSA)バス、EISAバス、インテリジェントドライブエレクトロニクス(Intelligent Drive Electronics)(IDE)、VESAローカルバス(VLB)、PCIバス、USB、AGP(Advanced Graphics Port)、PCMCIAバス、およびSCSIを含めて、様々な使用可能な任意のバスアーキテクチャを使用したメモリバスもしくはメモリコントローラ、ペリフェラルバスもしくは外部バス、および/またはローカルバスを含むいくつかのタイプの1つまたは複数のバス構造のうちの任意のものにすることができる。
システムメモリ1116は、揮発性メモリ1120と不揮発性メモリ1122とを含んでいる。起動中などコンピュータ1112内の要素間で情報を転送する基本ルーチンを含む基本入出力システム(BIOS:basic input/output system)は、不揮発性メモリ1122に記憶される。一例であって限定するものではないが、不揮発性メモリ1122は、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、EPROM(electrically programmable ROM)、EEPROM、またはフラッシュメモリを含むことができる。揮発性メモリ1120は、ランダムアクセスメモリ(RAM)を含んでおり、このランダムアクセスメモリは、外部キャッシュメモリとしての役割を果たす。一例であって限定するものではないが、RAMは、シンクロナスRAM(SRAM)、DRAM、シンクロナスDRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)、およびダイレクトラムバスRAM(DRRAM)など、多数の形態で使用可能である。
コンピュータ1112はまた、着脱可能/着脱不能な、揮発性/不揮発性のコンピュータストレージ媒体を含んでいる。図11は、例えば、ディスクストレージ1124を示している。ディスクストレージ1124は、それだけには限定されないが、磁気ディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Jazドライブ、Zipドライブ、LS−100ドライブ、フラッシュメモリカード、またはメモリスティックなどのデバイスを含んでいる。さらに、ディスクストレージ1124は、それだけには限定されないが、CD−ROMデバイス、CD−Rドライブ、CD−RWドライブまたはDVD−ROMドライブなどの光ディスクドライブを含めて、他のストレージ媒体と別個に、あるいは組み合わせてストレージ媒体を含むことができる。システムバス1118に対するディスクストレージデバイス1124の接続を容易にするために、インターフェース1126など、着脱可能または着脱不能なインターフェースが一般的に使用される。
図11は、適切な動作環境1110中において説明されるユーザと基本的なコンピュータリソースとの間の仲介手段としての役割を果たすソフトウェアについて説明していることを認識すべきである。そのようなソフトウェアは、オペレーティングシステム1128を含んでいる。ディスクストレージ1124に記憶することができるオペレーティングシステム1128は、コンピュータシステム1112のリソースを制御し割り付ける役割を果たす。システムアプリケーション1130は、システムメモリ1116またはディスクストレージ1124のいずれかに記憶されるプログラムモジュール1132およびプログラムデータ1134を介したオペレーティングシステム1128によるリソースの管理を利用している。本システムおよび方法は、様々なオペレーティングシステムまたはオペレーティングシステムの組合せを用いて実装できることを認識すべきである。
ユーザは、1つまたは複数の入力デバイス1136を介してコマンドまたは情報をコンピュータ1112へと入力する。入力デバイス1136は、それだけには限定されないが、マウス、トラックボール、スタイラス、タッチパッドなどのポインティングデバイス、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、TVチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどを含んでいる。これらおよび他の入力デバイスは、1つまたは複数のインターフェースポート1138を経由してシステムバス1118を介して処理装置1114に接続される。1つまたは複数のインターフェースポート1138は、例えばシリアルポート、パラレルポート、ゲームポート、およびUSBを含んでいる。1つまたは複数の出力デバイス1140は、1つまたは複数の入力デバイス1136と同じタイプのポートの一部を使用する。したがって、例えば、USBポートを使用して、コンピュータ1112に対する入力を供給し、コンピュータ1112からの情報を出力デバイス1140に対して出力することができる。出力アダプタ1142は、専用アダプタを必要とする他の出力デバイス1140のうちでもとりわけ、ディスプレイ(例えば、フラットパネルおよびCRT)、スピーカ、およびプリンタのような一部の出力デバイス1140が存在することを示すために提供される。出力アダプタ1142は、一例として限定するものではないが、出力デバイス1140とシステムバス1118との間の接続の手段を提供するビデオカードおよびサウンドカードを含んでいる。他のデバイスおよび/またはデバイスのシステムは、1つまたは複数のリモートコンピュータ1144などの入力機能と出力機能の両方を提供することに注意すべきである。
コンピュータ1112は、1つまたは複数のリモートコンピュータ1144など、1つまたは複数のリモートコンピュータに対する論理接続を使用してネットワーク化された環境中において動作することができる。1つまたは複数のリモートコンピュータ1144は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサベースの電気器具、ピアデバイスまたは他の共通ネットワークノードなどとすることができ、一般的にコンピュータ1112に対して説明される要素のうちの多くまたはすべてを含んでいる。簡潔にする目的のために、メモリストレージデバイス1146だけが、1つまたは複数のリモートコンピュータ1144と共に示されている。1つまたは複数のリモートコンピュータ1144は、ネットワークインターフェース1148を介してコンピュータ1112に対して論理的に接続され、次いで1つまたは複数の通信接続1150を経由して物理的に接続される。ネットワークインターフェース1148は、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)などの通信ネットワークを包含している。LAN技術は、FDDI(Fiber Distributed Data Interface)、CDDI(Copper Distributed Data Interface)、Ethernet(登録商標)/IEEE802.3、トークンリング/IEEE802.5などを含んでいる。WAN技術は、それだけには限定されないが、ポイント・ツー・ポイントリンクと、統合デジタルサービス通信網(ISDN)のような回路交換網およびそれらの変形と、パケット交換網と、デジタル加入者回線(DSL)とを含んでいる。
1つまたは複数の通信接続1150は、ネットワークインターフェース1148をバス1118に対して接続するために使用されるハードウェア/ソフトウェアを意味する。通信接続1150は、例証を明確にするためにコンピュータ1112の内側に示されるが、この通信接続は、コンピュータ1112の外側に存在することも可能である。ネットワークインターフェース1148に接続するために必要なハードウェア/ソフトウェアは、例示の目的のためだけであるが、通常の電話グレードのモデムと、ケーブルモデムと、パワーモデム(power modem)およびDSLモデムと、ISDNアダプタと、イーサネット(登録商標)カードまたはイーサネット(登録商標)コンポーネントを含むモデムなど、内蔵技術および外付け技術を含んでいる。
図12は、開示される本システムが対話することができるサンプルのコンピューティング環境1200の概略ブロック図である。システム1200は、1つまたは複数のクライアント1210を含んでいる。1つまたは複数のクライアント1210は、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティングデバイス)とすることができる。システム1200は、1つまたは複数のサーバ1230も含んでいる。したがって、システム1200は、他のモデルのうちでもとりわけ、2層のクライアントサーバモデル、または多層(multi-tier)のモデル(例えば、クライアント、中間層サーバ、データサーバ)に対応する可能性がある。1つまたは複数のサーバ1230は、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティングデバイス)とすることもできる。クライアント1210とサーバ1230との間の可能な1つの通信は、2つ以上のコンピュータプロセス間で伝送されるようになっているデータパケットの形態とすることもできる。システム1200は、1つまたは複数のクライアント1210と1つまたは複数のサーバ1230との間の通信を容易にするために使用することができる通信フレームワーク1250を含んでいる。1つまたは複数のクライアント1210は、1つまたは複数のクライアント1210に対してローカルな情報を記憶するために使用することができる1つまたは複数のクライアントデータストア1260に動作可能に接続される。同様に、1つまたは複数のサーバ1230は、サーバ1230に対してローカルな情報を記憶するために使用することができる1つまたは複数のサーバデータストア1240に動作可能に接続される。
上記されているものは、請求される主題の態様の例を含む。請求される主題を説明する目的のためにコンポーネントまたは方法のあらゆる考えられる組合せを説明することは、もちろん可能ではないが、当業者は、本開示の主題の多数のさらなる組合せおよび置換が可能であることを認識することができる。したがって、本開示の主題は、添付の特許請求の範囲の趣旨および範囲内に含まれるすべての変更形態、修正形態、および変形形態を包含することを意図している。さらに、用語「含む(includes)」、「有する(has)」または「有すること(having)」が、詳細な説明または特許請求の範囲のいずれかにおいて使用される範囲では、そのような用語は、「備える(含む)こと(comprising)」が使用されるときに請求項中におけるトランジショナルワード(transitional word)として解釈されるので、用語「備える(含む)こと(comprising)」と同様にして包含することを意図している。
Claims (20)
- 微分不可能なコストファンクションに従ってデータを構造化するように機械学習システムをトレーニングする方法であって、
1組の入力データから構造化データを生成するステップと、
前記構造化データと前記コストファンクションの少なくとも1つの要件とに少なくとも部分的に基づいて少なくとも1つの推定される勾配を取得するステップと、
前記少なくとも1つの推定される勾配に基づいて前記機械学習システムの少なくとも1つのパラメータをアップデートするステップと
を含むことを特徴とする方法。 - 前記微分不可能なコストファンクションに基づいて、推定される勾配を取得するための少なくとも1つのルールであって、前記少なくとも1つの推定される勾配を取得する際に使用される少なくとも1つのルールを開発するステップをさらに含むことを特徴とする請求項1に記載の方法。
- 前記システムをトレーニングすることを継続すべきかどうかを決定するために前記機械学習システムをテストするステップをさらに含むことを特徴とする請求項1に記載の方法。
- 前記機械学習システムは、ニューラルネットワークであることを特徴とする請求項1に記載の方法。
- 前記ニューラルネットワークは、単一層ニューラルネットワークであることを特徴とする請求項4に記載の方法。
- 前記機械学習システムは、微分可能なファンクションを含むことを特徴とする請求項1に記載の方法。
- 少なくとも1つのデータオブジェクトは、ウェブページ、テキストファイル、イメージ、オーディオデータ、ビデオデータ、およびワード処理ファイルのうちの少なくとも1つであることを特徴とする請求項1に記載の方法。
- 前記コストファンクションは、ウィナーテイクオール(WTA)、正規化減損累積利得尺度(NDCG)、平均逆ランク(MRR)、ROC曲線下の面積、平均精度の平均、およびペアワイズエラーカウントのうちの少なくとも1つであることを特徴とする請求項1に記載の方法。
- 微分不可能なコストファンクションに従ってデータを構造化する機械学習システムであって、
入力データから構造化データを生成する学習コンポーネントと、
前記構造化データと前記微分不可能なコストファンクションとに少なくとも部分的に基づいて少なくとも1つの推定される勾配を取得する推定勾配コンポーネントと、
前記少なくとも1つの推定される勾配に少なくとも部分的に基づいて前記機械学習システムの少なくとも1つのパラメータをアップデートするパラメータコンポーネントと
を備えることを特徴とする機械学習システム。 - 前記コストファンクションの少なくとも1つの要件に基づいて推定される勾配を取得するための少なくとも1つのルールを含むルールコンポーネントをさらに備えることを特徴とする請求項9に記載のシステム。
- 前記少なくとも1つの推定される勾配の値を含む推定勾配データストアをさらに備えることを特徴とする請求項9に記載のシステム。
- 前記学習コンポーネントは、ニューラルネットワークであることを特徴とする請求項9に記載のシステム。
- 前記ニューラルネットワークは、単一層ニューラルネットワークであることを特徴とする請求項12に記載のシステム。
- 前記学習コンポーネントは、微分可能なファンクションを含むことを特徴とする請求項9に記載のシステム。
- 前記入力データは、ウェブページ、テキストファイル、イメージ、オーディオデータ、ビデオデータ、およびワード処理ファイルのうちの少なくとも1つを含むことを特徴とする請求項9に記載のシステム。
- 前記コストファンクションは、ウィナーテイクオール(WTA)、正規化減損累積利得尺度(NDCG)、平均逆ランク(MRR)、ROC曲線下の面積、平均精度の平均、およびペアワイズエラーカウントのうちの少なくとも1つであることを特徴とする請求項9に記載のシステム。
- 機械学習システムをトレーニングするシステムであって、
1組のデータオブジェクトから構造化データを生成する手段と、
前記構造化データと前記微分不可能なコストファンクションとに少なくとも部分的に基づいて少なくとも1つの推定される勾配を取得する手段と、
前記少なくとも1つの推定される勾配に基づいて前記機械学習システムの少なくとも1つのパラメータをアップデートする手段と
を備えることを特徴とするシステム。 - 前記コストファンクションに基づいて、推定される勾配を取得するための少なくとも1つのルールであって、前記少なくとも1つの推定される勾配を取得する際に使用される少なくとも1つのルールを開発するための手段をさらに備えることを特徴とする請求項17に記載のシステム。
- 前記機械学習システムは、微分可能なファンクションを含むことを特徴とする請求項17に記載のシステム。
- 前記機械学習システムは、ニューラルネットワークであることを特徴とする請求項17に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US70008005P | 2005-07-18 | 2005-07-18 | |
US11/305,395 US7472096B2 (en) | 2005-07-18 | 2005-12-16 | Training a learning system with arbitrary cost functions |
PCT/US2006/026266 WO2007011529A2 (en) | 2005-07-18 | 2006-07-06 | Training a learning system with arbitrary cost functions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009515231A true JP2009515231A (ja) | 2009-04-09 |
JP2009515231A5 JP2009515231A5 (ja) | 2009-08-20 |
Family
ID=37669324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008522800A Withdrawn JP2009515231A (ja) | 2005-07-18 | 2006-07-06 | 任意のコストファンクションを用いて学習システムをトレーニングすること |
Country Status (9)
Country | Link |
---|---|
US (1) | US7472096B2 (ja) |
EP (1) | EP1904908A4 (ja) |
JP (1) | JP2009515231A (ja) |
KR (1) | KR20080035572A (ja) |
CN (1) | CN101536020B (ja) |
BR (1) | BRPI0613782A2 (ja) |
MX (1) | MX2008000911A (ja) |
RU (1) | RU2008101894A (ja) |
WO (1) | WO2007011529A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019045944A (ja) * | 2017-08-30 | 2019-03-22 | 株式会社日立製作所 | 機械学習装置及び機械学習方法 |
WO2021250950A1 (ja) * | 2020-06-11 | 2021-12-16 | 株式会社島津製作所 | 文書検索の性能を評価する方法、システム、および装置 |
JP7464728B2 (ja) | 2020-02-04 | 2024-04-09 | トムトム ナビゲーション ベスローテン フエンノートシャップ | ナビゲーションシステム |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7487134B2 (en) * | 2005-10-25 | 2009-02-03 | Caterpillar Inc. | Medical risk stratifying method and system |
US7991770B2 (en) * | 2005-11-29 | 2011-08-02 | Google Inc. | Detecting repeating content in broadcast media |
US8250061B2 (en) * | 2006-01-30 | 2012-08-21 | Yahoo! Inc. | Learning retrieval functions incorporating query differentiation for information retrieval |
US7617164B2 (en) * | 2006-03-17 | 2009-11-10 | Microsoft Corporation | Efficiency of training for ranking systems based on pairwise training with aggregated gradients |
US7831531B1 (en) * | 2006-06-22 | 2010-11-09 | Google Inc. | Approximate hashing functions for finding similar content |
US9779441B1 (en) * | 2006-08-04 | 2017-10-03 | Facebook, Inc. | Method for relevancy ranking of products in online shopping |
US8411977B1 (en) | 2006-08-29 | 2013-04-02 | Google Inc. | Audio identification using wavelet-based signatures |
US8332333B2 (en) * | 2006-10-19 | 2012-12-11 | Massachusetts Institute Of Technology | Learning algorithm for ranking on graph data |
US8112421B2 (en) | 2007-07-20 | 2012-02-07 | Microsoft Corporation | Query selection for effectively learning ranking functions |
US20090037401A1 (en) * | 2007-07-31 | 2009-02-05 | Microsoft Corporation | Information Retrieval and Ranking |
US7895198B2 (en) * | 2007-09-28 | 2011-02-22 | Yahoo! Inc. | Gradient based optimization of a ranking measure |
US7734633B2 (en) * | 2007-10-18 | 2010-06-08 | Microsoft Corporation | Listwise ranking |
US8332411B2 (en) * | 2007-10-19 | 2012-12-11 | Microsoft Corporation | Boosting a ranker for improved ranking accuracy |
US8005774B2 (en) * | 2007-11-28 | 2011-08-23 | Yahoo! Inc. | Determining a relevance function based on a query error derived using a structured output learning technique |
US8010535B2 (en) * | 2008-03-07 | 2011-08-30 | Microsoft Corporation | Optimization of discontinuous rank metrics |
US7849076B2 (en) * | 2008-03-31 | 2010-12-07 | Yahoo! Inc. | Learning ranking functions incorporating isotonic regression for information retrieval and ranking |
US20100082639A1 (en) * | 2008-09-30 | 2010-04-01 | Microsoft Corporation | Processing maximum likelihood for listwise rankings |
US20100185623A1 (en) * | 2009-01-15 | 2010-07-22 | Yumao Lu | Topical ranking in information retrieval |
US8661030B2 (en) | 2009-04-09 | 2014-02-25 | Microsoft Corporation | Re-ranking top search results |
US8935258B2 (en) * | 2009-06-15 | 2015-01-13 | Microsoft Corporation | Identification of sample data items for re-judging |
US8498454B2 (en) * | 2009-07-14 | 2013-07-30 | General Electric Company | Optimal subspaces for face recognition |
US8862520B2 (en) * | 2009-12-14 | 2014-10-14 | Massachusetts Institute Of Technology | Methods, systems and media utilizing ranking techniques in machine learning |
US9043296B2 (en) | 2010-07-30 | 2015-05-26 | Microsoft Technology Licensing, Llc | System of providing suggestions based on accessible and contextual information |
US10346453B2 (en) | 2010-12-21 | 2019-07-09 | Microsoft Technology Licensing, Llc | Multi-tiered information retrieval training |
US8442591B1 (en) * | 2011-09-29 | 2013-05-14 | Rockwell Collins, Inc. | Blind source separation of co-channel communication signals |
US9665643B2 (en) | 2011-12-30 | 2017-05-30 | Microsoft Technology Licensing, Llc | Knowledge-based entity detection and disambiguation |
US9864817B2 (en) * | 2012-01-28 | 2018-01-09 | Microsoft Technology Licensing, Llc | Determination of relationships between collections of disparate media types |
US9208693B2 (en) * | 2012-04-30 | 2015-12-08 | International Business Machines Corporation | Providing intelligent inquiries in question answer systems |
US9122679B1 (en) | 2012-12-28 | 2015-09-01 | Symantec Corporation | Method and system for information retrieval effectiveness estimation in e-discovery |
US9858534B2 (en) | 2013-11-22 | 2018-01-02 | California Institute Of Technology | Weight generation in machine learning |
US10558935B2 (en) * | 2013-11-22 | 2020-02-11 | California Institute Of Technology | Weight benefit evaluator for training data |
US10535014B2 (en) | 2014-03-10 | 2020-01-14 | California Institute Of Technology | Alternative training distribution data in machine learning |
US9953271B2 (en) | 2013-11-22 | 2018-04-24 | California Institute Of Technology | Generation of weights in machine learning |
US10176236B2 (en) | 2014-07-29 | 2019-01-08 | Microsoft Technology Licensing, Llc | Systems and methods for a distributed query execution engine |
US10169433B2 (en) | 2014-07-29 | 2019-01-01 | Microsoft Technology Licensing, Llc | Systems and methods for an SQL-driven distributed operating system |
US10437843B2 (en) | 2014-07-29 | 2019-10-08 | Microsoft Technology Licensing, Llc | Optimization of database queries via transformations of computation graph |
CN104657085A (zh) * | 2014-12-22 | 2015-05-27 | 南京道润交通科技有限公司 | 施工、天气与量费信息分级分布式处理系统及其处理方法 |
US10528909B2 (en) | 2016-04-20 | 2020-01-07 | Airbnb, Inc. | Regression-tree compressed feature vector machine for time-expiring inventory utilization prediction |
US10467529B2 (en) * | 2016-06-08 | 2019-11-05 | Adobe Inc. | Convolutional neural network joint training |
US9940544B2 (en) | 2016-06-08 | 2018-04-10 | Adobe Systems Incorporated | Event image curation |
US10902330B2 (en) * | 2016-06-21 | 2021-01-26 | International Business Machines Corporation | Cognitive question answering pipeline calibrating |
US11315018B2 (en) | 2016-10-21 | 2022-04-26 | Nvidia Corporation | Systems and methods for pruning neural networks for resource efficient inference |
DE102018200724A1 (de) * | 2017-04-19 | 2018-10-25 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples" |
US10885470B2 (en) * | 2017-06-26 | 2021-01-05 | D5Ai Llc | Selective training for decorrelation of errors |
US10762423B2 (en) * | 2017-06-27 | 2020-09-01 | Asapp, Inc. | Using a neural network to optimize processing of user requests |
CN108764484B (zh) * | 2018-04-04 | 2022-03-29 | 武汉拓睿传奇科技有限公司 | 一种机器学习和人工智能应用一体机部署方法 |
JP2019200040A (ja) * | 2018-05-18 | 2019-11-21 | ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company | モデル駆動型深層学習を有するhvac制御システム |
JP6852141B2 (ja) | 2018-11-29 | 2021-03-31 | キヤノン株式会社 | 情報処理装置、撮像装置、情報処理装置の制御方法、および、プログラム |
CN109936696B (zh) * | 2019-02-28 | 2020-09-29 | 深圳大学 | 基于神经网络的光纤端面自动对焦的方法和相关装置 |
US11216831B1 (en) | 2019-07-29 | 2022-01-04 | States Title, Inc. | Predictive machine learning models |
US11818111B1 (en) * | 2019-10-16 | 2023-11-14 | Architecture Technology Corporation | Systems and methods for search engine based web ticket minimization |
KR20210058505A (ko) | 2019-11-14 | 2021-05-24 | 삼성전자주식회사 | 메모리 장치를 제어하도록 구성된 시스템-온-칩의 동작 방법 |
US20210216907A1 (en) * | 2020-01-15 | 2021-07-15 | Accenture Global Solutions Limited | Selecting optimum primary and secondary parameters to calibrate and generate an unbiased forecasting model |
DE102022205999A1 (de) | 2022-06-14 | 2023-12-14 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Trainieren eines Deep-Learning basierten Algorithmus des maschinellen Lernens |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5625751A (en) | 1994-08-30 | 1997-04-29 | Electric Power Research Institute | Neural network for contingency ranking dynamic security indices for use under fault conditions in a power distribution system |
US6260013B1 (en) | 1997-03-14 | 2001-07-10 | Lernout & Hauspie Speech Products N.V. | Speech recognition system employing discriminatively trained models |
US6526440B1 (en) | 2001-01-30 | 2003-02-25 | Google, Inc. | Ranking search results by reranking the results based on local inter-connectivity |
US7107207B2 (en) * | 2002-06-19 | 2006-09-12 | Microsoft Corporation | Training machine learning by sequential conditional generalized iterative scaling |
US7490071B2 (en) | 2003-08-29 | 2009-02-10 | Oracle Corporation | Support vector machines processing system |
US20050144158A1 (en) | 2003-11-18 | 2005-06-30 | Capper Liesl J. | Computer network search engine |
US7281002B2 (en) | 2004-03-01 | 2007-10-09 | International Business Machine Corporation | Organizing related search results |
US7689520B2 (en) * | 2005-02-25 | 2010-03-30 | Microsoft Corporation | Machine learning system and method for ranking sets of data using a pairing cost function |
KR100696504B1 (ko) * | 2005-03-23 | 2007-03-19 | 삼성에스디아이 주식회사 | 플라즈마 디스플레이 모듈 및 장치 |
-
2005
- 2005-12-16 US US11/305,395 patent/US7472096B2/en not_active Expired - Fee Related
-
2006
- 2006-07-06 WO PCT/US2006/026266 patent/WO2007011529A2/en active Application Filing
- 2006-07-06 RU RU2008101894/09A patent/RU2008101894A/ru not_active Application Discontinuation
- 2006-07-06 KR KR1020087001340A patent/KR20080035572A/ko not_active Application Discontinuation
- 2006-07-06 EP EP06786423A patent/EP1904908A4/en not_active Withdrawn
- 2006-07-06 BR BRPI0613782-2A patent/BRPI0613782A2/pt not_active IP Right Cessation
- 2006-07-06 JP JP2008522800A patent/JP2009515231A/ja not_active Withdrawn
- 2006-07-06 MX MX2008000911A patent/MX2008000911A/es not_active Application Discontinuation
- 2006-07-06 CN CN2006800257781A patent/CN101536020B/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019045944A (ja) * | 2017-08-30 | 2019-03-22 | 株式会社日立製作所 | 機械学習装置及び機械学習方法 |
JP7464728B2 (ja) | 2020-02-04 | 2024-04-09 | トムトム ナビゲーション ベスローテン フエンノートシャップ | ナビゲーションシステム |
WO2021250950A1 (ja) * | 2020-06-11 | 2021-12-16 | 株式会社島津製作所 | 文書検索の性能を評価する方法、システム、および装置 |
JP7428250B2 (ja) | 2020-06-11 | 2024-02-06 | 株式会社島津製作所 | 文書検索の性能を評価する方法、システム、および装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2007011529A2 (en) | 2007-01-25 |
RU2008101894A (ru) | 2009-07-27 |
CN101536020B (zh) | 2013-11-20 |
CN101536020A (zh) | 2009-09-16 |
EP1904908A2 (en) | 2008-04-02 |
WO2007011529A3 (en) | 2009-04-30 |
KR20080035572A (ko) | 2008-04-23 |
MX2008000911A (es) | 2008-03-18 |
US20070094171A1 (en) | 2007-04-26 |
EP1904908A4 (en) | 2010-03-03 |
BRPI0613782A2 (pt) | 2011-02-01 |
US7472096B2 (en) | 2008-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009515231A (ja) | 任意のコストファンクションを用いて学習システムをトレーニングすること | |
US7617164B2 (en) | Efficiency of training for ranking systems based on pairwise training with aggregated gradients | |
Yu et al. | Multi-order attentive ranking model for sequential recommendation | |
US11481456B2 (en) | Model and pattern structure online unital learning: mapsoul | |
JP5005926B2 (ja) | データのランク付け関数を学習するシステムおよび方法 | |
KR101265896B1 (ko) | 랭킹 시스템 및 랭킹 제공 방법 | |
US10733534B2 (en) | Data evaluation as a service | |
Xie et al. | Factorization machine based service recommendation on heterogeneous information networks | |
Loza Mencía et al. | Learning rules for multi-label classification: a stacking and a separate-and-conquer approach | |
US20190370219A1 (en) | Method and Device for Improved Classification | |
KR102222564B1 (ko) | 인공지능 기반의 유사 디자인 검색 장치 | |
WO2021262380A1 (en) | Differentiable user-item co-clustering | |
WO2021072536A1 (en) | Interactive machine learning | |
JP2023501103A (ja) | 人工知能の透明性 | |
Tian et al. | Considering interaction sequence of historical items for conversational recommender system | |
US20230229691A1 (en) | Methods and systems for prediction of a description and icon for a given field name | |
Singh et al. | Valid explanations for learning to rank models | |
Morales et al. | Selective network discovery via deep reinforcement learning on embedded spaces | |
Jindal et al. | Efficient web navigation prediction using hybrid models based on multiple evidence combinations | |
Hu et al. | Graph-based fine-grained model selection for multi-source domain | |
Li et al. | Online learning to rank with list-level feedback for image filtering | |
Rawat et al. | An embedding-based deep learning approach for movie recommendation | |
Oshnoudi et al. | Improving recommender systems performances using user dimension expansion by movies’ genres and voting-based ensemble machine learning technique | |
Chen et al. | Study of active learning in the challenge | |
Abdulrahman | Improving Algorithm Selection Methods using Meta-Learning by Considering Accuracy and Run Time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090706 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090706 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20120227 |