AI用語集
人工知能の完全辞典
分散行列分解
単一ノードのメモリと計算能力の制限を克服するために、計算とデータをマシンのクラスターに分散させ、非常に大きな行列をより小さな行列の積に分解することを目的としたアルゴリズム手法の集合。
分散交互最小二乗法 (ALS)
行列の一方の因子を固定し、もう一方の因子に対して最小二乗問題を交互に解く並列化された行列分解アルゴリズム。各行または列での計算の独立性により、Spark MLlibなどの分散環境に自然と適応する。
分散確率的勾配降下法 (SGD)
確率的勾配降下法の並列変種であり、複数のデータパーティション上で因子分解のパラメータ更新を非同期または同期で実行する。分散環境で正しく収束するためには、一貫性を管理するメカニズムが必要である。
行列分解のためのMapReduce
行列分解アルゴリズムを、データフラグメント上の局所的な計算を行う「Map」ステップと、部分的な結果を集約して行列の因子を更新する「Reduce」ステップの2つの主要な段階に分解するプログラミングパラダイム。特にHadoop上の実装で使用される。
Spark MLlib ALS
Sparkの機械学習ライブラリ内における、交互最小二乗法(ALS)アルゴリズムの最適化された分散実装。反復データでの最大限の効率を達成するために、RDDまたはDataFrameプログラミングモデルを活用して大規模な行列分解を行うように設計されている。
行列パーティショニング (Matrix Partitioning)
巨大な行列を行、列、または正方形ブロックごとのサブブロックに分割し、クラスターのノードに分散させる戦略。これは、ワークロード、ノード間通信、および行列分解アルゴリズムの全体的なパフォーマンスに直接影響を与える重要な選択である。
整合性モデル (Consistency Model)
クラスター内のノード間における行列因子の更新の可視性を定義するルール。レイテンシを代償に収束を保証する強い整合性(BSP - Bulk Synchronous Parallelモデル)と、反復を高速化するが安定性を損なう可能性のある弱い整合性(非同期モデル)の間で変動する。
オンライン行列分解 (Online Matrix Factorization)
継続的なデータストリームに適応した分散アプローチ。履歴全体での完全な再学習を必要とせず、新しい観測値が到着した時点で因子分解モデルを増分的に更新する。多くの場合、分散版のSGDの変種を用いて実装される。
パラメトリック分散行列分解
行列の因子が直接学習されるのではなく、共有され分散化されたパラメトリック関数(例:ニューラルネットワーク)によって生成される高度な手法。これにより、ノード間で通信するデータ量が削減され、汎化能力が向上する。
ストラグラー(遅延ノード)
分散システムにおいて、一部のマシンが他のマシンよりも計算タスクをはるかに遅く実行する現象。これにより、同期型行列分解プロセス全体が遅延する。投機的実行や遅延耐性アルゴリズムなどの手法は、この影響を軽減するために設計されている。
分散非負値行列分解
非負値行列分解の分散版。因子に対する非負制約が、並列実行向けに調整された更新ルール(乗法的更新や射影など)を通じて適用される。大規模なテキストクラスタリングによく使用される。
反復アルゴリズムにおけるチェックポイント
分散アルゴリズムの反復処理中に、行列因子の状態を信頼できるストレージ(例:HDFS)に定期的に保存する技術。ノードの障害が発生した場合に、最初からやり直すことなく中間地点から計算を再開できるようにする。
分散テンソル分解
行列分解をテンソル(多次元配列)へと一般化したものを分散環境で行う手法。2つ以上のモード(例:ユーザー、アイテム、時間)を持つデータをモデル化するために使用され、分散PARAFACや分散Tuckerなどの特定の並列アルゴリズムを必要とする。
分散損失関数
分解された行列の再構成誤差を計算する処理。各ノードが自身のデータサブセットで損失を評価し、その後、グローバルな削減ステップで総損失が計算されて、集中型または分散型のモデル更新をガイドする。
分散正則化
過学習を防ぐために行列因子にペナルティ(L2ノルムなど)を適用する手法。正則化項は各ノードでローカルに計算され、パラメータのグローバル更新時に集約されることで、クラスター全体で一貫した正則化を保証する。
行列分解のためのSpark GraphX
Sparkのグラフ処理APIであるGraphXを使用して行列を二部グラフ(ユーザー-アイテム)としてモデル化し、グラフノード間のメッセージパッシングに基づく行列分解アルゴリズムを実行すること。DataFrameベースの実装に対する代替手段を提供する。