機械学習の用語集

この用語集では、ML の一般的な用語と TensorFlow に固有の用語の定義を説明します。

A

アブレーション

特徴やコンポーネントを一時的にモデルから削除してその重要度を評価する手法。次に、その特徴またはコンポーネントを使用せずにモデルを再トレーニングします。再トレーニングされたモデルのパフォーマンスが大幅に低下する場合は、削除された特徴またはコンポーネントが重要である可能性があります。

たとえば、10 個の特徴で分類モデルをトレーニングし、テストセットで 88% の適合率を達成したとします。最初の特徴の重要度を確認するには、他の 9 つの特徴のみを使用してモデルを再トレーニングします。再トレーニングされたモデルのパフォーマンスが大幅に悪い場合(適合率 55% など)、削除された特徴が重要である可能性が高いと考えられます。逆に、再トレーニングされたモデルのパフォーマンスが同等であれば、その特徴はそれほど重要ではない可能性があります。

アブレーションは、以下の重要性を判断するのにも役立ちます。

  • より大きなコンポーネント(大規模な ML システムのサブシステム全体など)
  • データ前処理ステップなどのプロセスまたは手法

どちらの場合も、コンポーネントを削除した後にシステムのパフォーマンスがどのように変化するか(または変化しないか)を確認できます。

A/B テスト

2 つ(またはそれ以上)の手法(AB)を統計的に比較する方法。通常、A は既存の手法で、B は新しい手法です。A/B テストでは、どちらの手法のパフォーマンスが高いかを判断するだけでなく、差が統計的に有意かどうかも判定します。

通常、A/B テストでは、1 つの指標を 2 つの手法で比較します。たとえば、2 つの手法でモデルの精度を比較する場合などです。ただし、A/B テストでは、有限の数の指標を比較することもできます。

アクセラレータ チップ

#GoogleCloud

ディープ ラーニング アルゴリズムに必要な鍵計算を実行するように設計された専用のハードウェア コンポーネントのカテゴリ。

アクセラレータ チップ(または単にアクセラレータ)を使用すると、汎用 CPU と比較して、トレーニング タスクと推論タスクの速度と効率を大幅に向上させることができます。ニューラル ネットワークのトレーニングや、同様の計算負荷の高いタスクに最適です。

アクセラレータ チップの例:

  • ディープ ラーニング専用のハードウェアを備えた Google の Tensor Processing Unit(TPU)。
  • NVIDIA の GPU。当初はグラフィック処理用に設計されていますが、並列処理を可能にするように設計されています。これにより、処理速度を大幅に向上させることができます。

accuracy

#fundamentals

正しい分類予測の数を予測の総数で割った値。具体的には、次のことが求められます。

$$\text{Accuracy} = \frac{\text{correct predictions}} {\text{correct predictions + incorrect predictions }}$$

たとえば、40 件の正しい予測と 10 件の誤った予測を行ったモデルの精度は次のようになります。

$$\text{Accuracy} = \frac{\text{40}} {\text{40 + 10}} = \text{80%}$$

バイナリ分類は、正しい予測と誤った予測のさまざまなカテゴリに特定の名前を提供します。バイナリ分類の精度式は次のようになります

$$\text{Accuracy} = \frac{\text{TP} + \text{TN}} {\text{TP} + \text{TN} + \text{FP} + \text{FN}}$$

ここで

  • TP は、真陽性(正しい予測)の数です。
  • TN は、真陰性(正しい予測)の数です。
  • FP は、偽陽性(誤った予測)の数です。
  • FN は、偽陰性(誤った予測)の数です。

精度を適合率および再現率と比較対照する。

action

#rl

強化学習では、エージェント環境状態間を遷移するメカニズムです。エージェントは、ポリシーを使用してアクションを選択します。

活性化関数

#fundamentals

ニューラル ネットワークが特徴とラベル間の非線形(複雑な)関係を学習できるようにする関数。

よく使用される活性化関数は次のとおりです。

活性化関数のプロットは一直線ではありません。たとえば、ReLU 活性化関数のプロットは 2 つの直線で構成されています。

2 本の直線のデカルト プロット。最初の線の y 値は 0 で、x 軸に沿って -infinity,0 から 0,-0 まで続きます。2 行目は 0,0 から始まります。この直線の傾きは +1 で、0,0 から +infinity,+infinity になります。

シグモイド活性化関数のプロットは次のようになります。

x 値が領域 -infinity から + 正の値を取り、y 値がほぼ 0 からほぼ 1 の範囲にまたがる 2 次元曲線プロット。x が 0 の場合、y は 0.5 である。曲線の傾きは常に正で、最大の傾きは 0.0.5 で、x の絶対値が増加するにつれて傾きは徐々に減少します。

アクティブ ラーニング

トレーニング アプローチでは、アルゴリズムが学習に使用するデータの一部を選択します。アクティブ ラーニングは、ラベル付きサンプルが希少であるか、取得するのに費用がかかる場合に特に有用です。アクティブ ラーニング アルゴリズムは、多様な範囲のラベル付きサンプルをやみくもに探すのではなく、学習に必要な特定の範囲のサンプルを選択的に探します。

AdaGrad

パラメータの勾配を再スケーリングする高度な勾配降下アルゴリズム。各パラメータに独立した学習率を効果的に与えます。詳細については、こちらの AdaGrad の論文をご覧ください。

エージェント

#rl

強化学習では、ポリシーを使用して、環境状態間の遷移から得られる期待されるリターンを最大化するエンティティ。

より一般的には、エージェントは、目標を追求するために一連のアクションを自律的に計画して実行するソフトウェアで、環境の変化に適応します。たとえば、LLM ベースのエージェントは、強化学習ポリシーを適用するのではなく、LLM を使用して計画を生成することがあります。

集約型クラスタリング

#clustering

階層的クラスタリングをご覧ください。

異常検出

外れ値を特定するプロセス。たとえば、特定の特徴の平均が 100、標準偏差 10 の場合、異常検出で値 200 が疑わしいとして報告されます。

AR

拡張現実の略語。

PR 曲線下面積

PR AUC(PR 曲線の下の面積)をご覧ください。

ROC 曲線の下の面積

AUC(ROC 曲線の下の面積)をご覧ください。

AI 全般

幅広い問題解決、創造性、適応性を示す人間以外のメカニズム。たとえば、AI をデモンストレーションするプログラムは、テキストの翻訳、交響曲の作成、まだ発明されていないゲームの作成に優れている可能性があります。

意思決定の

#fundamentals

高度なタスクを解決できる人間以外のプログラムまたはモデルmodel。たとえば、テキストを翻訳するプログラムやモデル、または放射線画像から疾患を特定するプログラムやモデルはどちらも AI を示しています。

形式的には、機械学習は AI のサブフィールドです。しかし、近年では、「人工知能」と「機械学習」という用語を同じ意味で使用し始めている組織もあります。

Attention、

#language

ニューラル ネットワークで使用される、特定の単語または単語の一部の重要性を示すメカニズム。アテンションによって、モデルが次のトークンや単語を予測するために必要な情報量が圧縮されます。一般的なアテンション機構は、一連の入力に対する重み付け合計で構成され、各入力の重みはニューラル ネットワークの別の部分によって計算されます。

トランスフォーマーの構成要素であるセルフ アテンションマルチヘッド セルフ アテンションもご覧ください。

属性

#fairness

feature と同義です。

ML の公平性においては、多くの場合、属性は個人に関連する特性を指します。

属性サンプリング

#df

ディシジョン フォレストをトレーニングするための戦術。各ディシジョン ツリーでは、条件を学習する際に、可能な特徴量のランダムなサブセットのみを考慮します。一般に、ノードごとに異なる特徴のサブセットがサンプリングされます。一方、属性サンプリングなしでディシジョン ツリーをトレーニングする場合は、各ノードで考えられるすべての特徴が考慮されます。

AUC(ROC 曲線の下の面積)

#fundamentals

陽性クラス陰性クラスから分離するバイナリ分類モデルの能力を表す 0.0 ~ 1.0 の数値。AUC が 1.0 に近いほど、モデルがクラスを互いに分離する能力が高くなります。

たとえば、次の図は、正のクラス(緑色の楕円)と負のクラス(紫色の長方形)を完全に分離する分類モデルを示しています。この非現実的に完全なモデルの AUC は 1.0 です。

片側に 8 つの正例、反対側に 9 つの負の例がある数直線。

次の図は、ランダムな結果を生成した分類モデルの結果を示しています。このモデルの AUC は 0.5 です。

6 つの正例と 6 つの負の例を含む数直線。
          サンプルの順序は、ポジティブ、ネガティブ、ポジティブ、ネガティブ、ポジティブ、ネガティブ、ポジティブ、ネガティブ、ポジティブ、ネガティブ、ネガティブです。

はい。前のモデルの AUC は 0.0 ではなく 0.5 です。

ほとんどのモデルは、この 2 つの極端の中間にあります。たとえば、次のモデルでは陽性と陰性が多少区別されるため、AUC は 0.5 ~ 1.0 になります。

6 つの正例と 6 つの負の例を含む数直線。
          サンプルの順序は、ネガティブ、ネガティブ、ネガティブ、ネガティブ、ポジティブ、ネガティブ、ポジティブ、ポジティブ、ネガティブ、ポジティブ、ポジティブです。

AUC は、分類しきい値に設定した値を無視します。代わりに、AUC は可能性のあるすべての分類しきい値を考慮します。

拡張現実

#image

コンピュータによって生成された画像をユーザーの現実世界のビューに重ねて、合成ビューを提供するテクノロジー。

オートエンコーダ

#language
#image

入力から最も重要な情報を抽出することを学習するシステム。オートエンコーダは、エンコーダデコーダを組み合わせたものです。オートエンコーダは、次の 2 段階のプロセスに依存します。

  1. エンコーダは、入力を(通常は)非可逆低次元(中間)形式にマッピングします。
  2. デコーダは、低次元形式を元の高次元入力形式にマッピングすることで、元の入力の非可逆バージョンを作成します。

オートエンコーダは、エンコーダの中間形式から元の入力を可能な限り再現するようにデコーダに試行させることで、エンドツーエンドでトレーニングされます。中間形式は元の形式よりも小さい(低次元)ため、オートエンコーダは入力のどの情報が必須かを学習せざるを得ず、出力が入力と完全に同一になることはありません。

次に例を示します。

  • 入力データがグラフィックの場合、完全ではないコピーは元のグラフィックと似ていますが、若干変更されています。元の画像からノイズが取り除かれたり、欠落しているピクセルが埋め込まれていたりすると、元の画像からノイズが取り除かれる場合があります。
  • 入力データがテキストの場合、オートエンコーダは元のテキストを模倣した(ただし同一ではない)新しいテキストを生成します。

変分オートエンコーダもご覧ください。

自動化バイアス

#fairness

人間の意思決定者が、自動化なしで行われた情報よりも自動意思決定システムによる推奨事項を優先する場合(自動意思決定システムがエラーを起こした場合でも)。

AutoML

ML モデルを構築するための自動化されたプロセス。AutoML では、次のようなタスクを自動的に実行できます。

AutoML は、ML パイプラインの開発にかかる時間と労力を節約し、予測精度を向上させることができるため、データ サイエンティストにとって有用です。複雑な ML タスクを利用しやすくできるため、専門家でなくても役立ちます。

自己回帰モデル

#language
#image
#生成 AI

過去の予測に基づいて予測を推測するモデルmodel。たとえば、自己回帰言語モデルは、以前に予測されたトークンに基づいて次のトークンを予測します。Transformer ベースの大規模言語モデルはすべて自己回帰型です。

一方、GAN ベースの画像モデルは通常、ステップで反復的にではなく 1 回のフォワードパスで画像を生成するため、自己回帰的ではありません。ただし、特定の画像生成モデルは、画像を段階的に生成するため、自己回帰的です。

補助損失

損失関数ニューラル ネットワーク モデルの主要な損失関数と組み合わせて使用します)は、重みがランダムに初期化される初期の反復処理でトレーニングを高速化するのに役立ちます。

補助損失関数は、有効な勾配を以前のレイヤにプッシュします。これにより、勾配消失問題に対処することで、トレーニング中の収束が容易になります。

平均適合率

ランク付けされた一連の結果のパフォーマンスを要約するための指標。平均適合率は、関連する各結果(前の結果と比較して再現率が増加するランク付けされたリストの各結果)の適合率値の平均を取ることで計算されます。

PR 曲線の下の面積もご覧ください。

軸に平行な状態

#df

ディシジョン ツリー内の条件には、1 つの特徴のみが含まれます。たとえば、面積が対象物の場合、軸に平行な条件は次のようになります。

area > 200

傾斜条件とは対照的です。

B

誤差逆伝播法

#fundamentals

ニューラル ネットワーク勾配降下法を実装するアルゴリズム。

ニューラル ネットワークのトレーニングでは、次の 2 パス サイクルを何度も繰り返します。

  1. フォワードパス中に、システムはサンプルバッチを処理して予測を生成します。システムは、各予測を各ラベル値と比較します。予測とラベル値の差が、この例の損失です。システムはすべての例の損失を集計して、現在のバッチの損失の合計を計算します。
  2. バックワード パス(バックプロパゲーション)の間、システムはすべての隠しレイヤにあるすべてのニューロンの重みを調整することで損失を減らします。

ニューラル ネットワークには、多くの場合、多くの隠れ層にまたがって多くのニューロンが含まれています。これらのニューロンはそれぞれ、さまざまな形で全体的な損失に寄与します。誤差逆伝播法により、特定のニューロンに適用される重みを増減するかどうかが決まります。

学習率は、各バックワード パスが各重みをどの程度増減するかを制御する乗数です。学習率を大きくすると、学習率が小さい場合よりも、それぞれの重みが増減します。

微積分の用語では、バックプロパゲーションは微積分から連鎖ルールを実装します。つまり、バックプロパゲーションでは、各パラメータに関して誤差の偏導関数を計算します。

数年前には、ML の実務担当者は誤差逆伝播法を実装するためにコードを記述する必要がありました。TensorFlow などの最新の ML API では、誤差逆伝播法が実装されています。さて、

バッグ

#df

アンサンブルトレーニングする方法。各構成要素モデルは、置換によってサンプリングされたトレーニング例のランダムなサブセットでトレーニングを行います。たとえば、ランダム フォレストは、バギングでトレーニングされたディシジョン ツリーのコレクションです。

「バギング」という用語は、ブーストストラップのアグリゲーションの略です。

袋に入った言葉

#language

フレーズや文に含まれる単語の表現(順序は問いません)。たとえば、bag of words は次の 3 つのフレーズを同じように表します。

  • 犬がジャンプしている
  • 犬をジャンプする
  • 犬がジャンプ

各単語は、スパース ベクトルのインデックスにマッピングされます。このベクトルには、語彙内のすべての単語のインデックスがあります。たとえば、「the dog jumps」というフレーズは、単語 thedogjumps に対応する 3 つのインデックスにゼロ以外の値を持つ特徴ベクトルにマッピングされます。ゼロ以外の値には、次のいずれかを指定できます。

  • 1 は単語の存在を示します。
  • バッグ内で単語が出現する回数のカウント。たとえば、フレーズが「the maroon dog is a dog with maroon fur with maroon fur」の場合、「maroon」と「dog」はどちらも 2 として表され、他の単語は 1 として表されます。
  • その他の値(単語がバッグに出現する回数のカウントの対数など)。

ベースライン

モデルmodel: 別のモデル(通常はより複雑なモデル)のパフォーマンスを比較するための基準点として使用されます。たとえば、ロジスティック回帰モデルは、ディープモデルの適切なベースラインとして機能します。

ベースラインは、特定の問題に対して、新しいモデルが有効に機能するために新しいモデルが達成する必要がある最小の期待パフォーマンスを数値化するのに役立ちます。

batch

#fundamentals

1 回のトレーニングのイテレーションで使用される一連のバッチサイズにより、バッチのサンプル数が決まります。

バッチとエポックの関係については、エポックをご覧ください。

バッチ推論

#TensorFlow
#GoogleCloud

より小さなサブセット(「バッチ」)に分割された複数のラベルのないサンプルに対して予測を推論するプロセス。

バッチ推論では、アクセラレータ チップの並列化機能を活用できます。つまり、複数のアクセラレータがラベルのないサンプルの異なるバッチに対して同時に予測を推測できるため、1 秒あたりの推論数が大幅に増加します。

バッチ正規化

隠しレイヤ内の活性化関数の入力または出力を正規化する。バッチ正規化には、次の利点があります。

バッチサイズ

#fundamentals

バッチ内のの数。 たとえば、バッチサイズが 100 の場合、モデルは反復処理ごとに 100 個のサンプルを処理します。

一般的なバッチサイズ戦略は次のとおりです。

  • 確率的勾配降下法(SGD)。バッチサイズは 1 です。
  • 完全なバッチ。バッチサイズはトレーニング セット全体のサンプル数です。たとえば、トレーニング セットに 100 万個のサンプルが含まれている場合、バッチサイズは 100 万サンプルになります。通常、完全なバッチは非効率的な戦略です。
  • ミニバッチ。バッチサイズは通常 10 ~ 1,000 です。ミニバッチは通常、最も効率的な戦略です。

ベイズ ニューラル ネットワーク

重みと出力の不確実性を考慮する確率的ニューラル ネットワーク。標準的なニューラル ネットワーク回帰モデルは通常、スカラー値を予測します。たとえば、標準モデルは住宅価格を 853,000 と予測します。一方、ベイジアン ニューラル ネットワークは値の分布を予測します。たとえば、ベイズのモデルは住宅価格 853,000、標準偏差 67,200 を予測します。

ベイズ ニューラル ネットワークでは、 ベイズの定理に基づいて重みと予測の不確実性を計算します。ベイズ ニューラル ネットワークは、医薬品に関連するモデルなど、不確実性を定量化することが重要な場合に便利です。ベイズ ニューラル ネットワークは、過学習の防止にも役立ちます。

ベイズ最適化

ベイズ学習手法を使用して不確実性を定量化するサロゲートを最適化することで、計算コストの高い目的関数を最適化する確率的回帰モデル手法。ベイジアン最適化自体は非常に高コストであるため、通常はハイパーパラメータの選択など、パラメータ数が少ない評価コストの高いタスクを最適化するために使用されます。

ベルマンの式

#rl

強化学習では、最適な Q 関数によって次の恒等式が満たされます。

\[Q(s, a) = r(s, a) + \gamma \mathbb{E}_{s'|s,a} \max_{a'} Q(s', a')\]

強化学習アルゴリズムは、この ID を適用し、次の更新ルールを使用して Q ラーニングを作成します。

\[Q(s,a) \gets Q(s,a) + \alpha \left[r(s,a) + \gamma \displaystyle\max_{\substack{a_1}} Q(s',a') - Q(s,a) \right] \]

ベルマン方程式は、強化学習だけでなく、動的プログラミングにも応用できます。 ベルマンの式に関する Wikipedia のエントリをご覧ください。

BERT(Bidirectional Encoder Representations from Transformers)

#language

テキスト表現のモデル アーキテクチャトレーニング済みの BERT モデルは、テキスト分類やその他の ML タスクの大規模モデルの一部として機能できます。

BERT には次の特徴があります。

BERT の亜種は以下のとおりです。

BERT の概要については、Open Sourcing BERT: 自然言語処理の最先端の事前トレーニングをご覧ください。

バイアス(倫理/公平性)

#fairness
#fundamentals

1. 特定のこと、人、グループに対する固定観念、偏見、えこひいき。これらのバイアスは、データの収集と解釈、システムの設計、ユーザーとシステムとのやり取りに影響を与える可能性があります。このタイプのバイアスには次のような形式があります。

2. サンプリングまたは報告の手順で生じる体系的エラー。このタイプのバイアスには次のような形式があります。

ML モデルのバイアス項予測バイアスと混同しないでください。

バイアス(数学)またはバイアス項

#fundamentals

原点からの切片またはオフセット。バイアスは ML モデルのパラメータで、次のいずれかで表されます。

  • b
  • w0

たとえば、バイアスは次の式の b です。

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

単純な 2 次元の直線では、バイアスは単に「y 切片」を意味します。たとえば、次の図の線のバイアスは 2 です。

傾きが 0.5、バイアス(y 切片)が 2 の直線のプロット。

すべてのモデルが原点(0,0)から始まるわけではないため、バイアスが存在します。たとえば、遊園地の入場料が 2 ユーロ、顧客の 1 時間あたり 0.5 ユーロが加算されたとします。したがって、合計費用をマッピングするモデルでは、最も低い費用が 2 ユーロであるため、バイアスが 2 になります。

バイアスは、倫理と公平性におけるバイアスまたは予測バイアスと混同しないでください。

双方向

#language

テキストの対象セクションの前後にあるテキストを評価するシステムを説明するために使用する用語。一方、単方向システムは、テキストの対象セクションの前にあるテキストのみを評価します。

たとえば、次の質問で下線を表す単語の確率を判断する必要があるマスク言語モデルについて考えてみます。

あなたの _____ は何ですか?

単方向言語モデルでは、「What」、「is」、「the」という単語によって提供されるコンテキストのみに基づいて確率をベースとする必要があります。一方、双方向言語モデルでは、「with」と「you」からコンテキストを取得することもできるため、モデルによる予測の精度向上に役立ちます。

双方向言語モデル

#language

言語モデル。特定のトークンがテキストの抜粋の特定の場所に存在する確率を、前のテキストと後のテキストに基づいて決定します。

Bigram

#seq
#language

N グラム(N=2 の場合)。

バイナリ分類

#fundamentals

相互に排他的な 2 つのクラスのいずれかを予測する分類タスクのタイプ。

たとえば、次の 2 つの ML モデルは、それぞれバイナリ分類を行います。

  • メール メッセージが迷惑メール(陽性クラス)か迷惑メールでない(陰性クラス)かを判断するモデル。
  • 医学的症状を評価して、患者が特定の病気(陽性クラス)であるか、その病気にかかっていない(陰性クラス)かを判定するモデル。

マルチクラス分類と対比してください。

ロジスティック回帰分類しきい値もご覧ください。

バイナリ条件

#df

ディシジョン ツリーで、考えられる結果の 2 つ(通常は yes または no)のみを持つ条件。たとえば、バイナリ条件は次のとおりです。

temperature >= 100

非バイナリ条件と対比してください。

ビニング

バケット化と同義です。

BLEU(Bilingual Evaluation Understudy)

#language

2 つの人間の言語間(英語とロシア語など)の翻訳の品質を示す、0.0 ~ 1.0 のスコア。BLEU スコアが 1.0 は完全な翻訳を示し、BLEU スコアが 0.0 は不適切な翻訳を示します。

ブースト

モデルが現在誤分類しているサンプルを重み付けすることで、単純な分類器とあまり正確ではない分類器のセット(「弱」分類器)を高精度の分類器(「強い」分類器)に繰り返し結合する ML 手法。

境界ボックス

#image

画像における、次の画像の犬など、関心領域を囲む長方形の (x, y) 座標。

ソファに座っている犬の写真。左上の座標が (275, 1271)、右下の座標が (2954, 2761) の緑色の境界ボックスが、犬の体を囲んでいます。

ブロードキャスト

行列演算のオペランドの形状を、その演算と互換性のあるディメンションに拡張する。たとえば、線形代数では、行列加算演算の 2 つのオペランドが同じ次元を持つ必要があります。したがって、形状 (m, n) の行列を長さ n のベクトルに追加することはできません。ブロードキャストでは、同じ値を各列に複製することで、長さ n のベクトルを形状の行列(m, n)に仮想的に拡張することで、このオペレーションを有効にします。

たとえば、次の定義の場合、線形代数では A と B の次元が異なるため、A+B は使用できません。

A = [[7, 10, 4],
     [13, 5, 9]]
B = [2]

しかしブロードキャストでは、B を仮想的に次のものに拡張することで、オペレーション A+B が可能になります。

 [[2, 2, 2],
  [2, 2, 2]]

したがって、A+B は有効なオペレーションになります。

[[7, 10, 4],  +  [[2, 2, 2],  =  [[ 9, 12, 6],
 [13, 5, 9]]      [2, 2, 2]]      [15, 7, 11]]

詳しくは、以下の NumPy でのブロードキャストの説明をご覧ください。

バケット化

#fundamentals

通常は値の範囲に基づいて、1 つの特徴をバケットまたはビンという複数のバイナリ特徴に変換します。通常、チョップされた特徴は連続的な特徴です。

たとえば、温度を単一の連続した浮動小数点特徴量として表すのではなく、次のように温度の範囲を個別のバケットに分割できます。

  • 摂氏 10 度以下は「コールド」バケットです。
  • 摂氏 11 ~ 24 度が「温帯」です。
  • 摂氏 25 度以上であれば「ウォーム」バケットです。

このモデルでは、同じバケット内のすべての値が同じように処理されます。たとえば、値 1322 はどちらも一時バケット内にあるため、モデルは 2 つの値を同じように扱います。

C

調整レイヤ

予測後の調整。通常は予測バイアスを考慮します。調整された予測と確率は、観測されたラベルセットの分布と一致する必要があります。

候補の生成

#recsystems

レコメンデーション システムによって選択された推奨事項の初期セット。たとえば、10 万冊の書籍を提供する書店を考えてみましょう。候補生成フェーズでは、特定のユーザー(たとえば 500 冊)に適した小さな書籍リストを作成します。しかし、500 冊であってもユーザーにおすすめするには多すぎます。その後、より費用がかかるレコメンデーション システムのフェーズ(スコアランキングの見直しなど)では、この 500 個がはるかに小さく、より有用なレコメンデーション セットに減ります。

候補のサンプリング

トレーニング時最適化。ソフトマックスなどを使用して、すべての陽性ラベルの確率を計算するが、陰性ラベルのランダム サンプルのみを対象とする。たとえば、beagledog というラベルの付いたサンプルの場合、候補サンプリングでは予測確率とそれに対応する損失項を計算します。

  • ビーグル
  • 残りの負のクラスのランダムなサブセット(catlollipopfence など)

ネガティブ クラスは、ポジティブなクラスが常に適切なポジティブ強化を受けている限り、頻度の低いネガティブ強化から学習できるという考え方であり、これは実際に経験的に観察されています。

候補のサンプリングは、特に負のクラスの数が非常に多い場合に、すべての負のクラスの予測を計算するトレーニング アルゴリズムよりも計算効率が高くなります。

カテゴリデータ

#fundamentals

可能な値のセットを持つ特徴。たとえば、traffic-light-state という名前のカテゴリ特徴について考えてみましょう。次の 3 つの値のいずれかしか持つことができません。

  • red
  • yellow
  • green

traffic-light-state をカテゴリ特徴として表すことで、モデルはドライバーの行動に対する redgreenyellow のさまざまな影響を学習できます。

カテゴリ特徴は、離散特徴と呼ばれることもあります。

数値データと対比します。

因果言語モデル

#language

単方向言語モデルと同義です。

言語モデリングにおけるさまざまな方向性の違いについては、双方向言語モデルをご覧ください。

centroid

#clustering

K 平均法または K 中央値アルゴリズムによって決定されるクラスタの中心。たとえば、k が 3 の場合、K 平均法または k 中央値アルゴリズムは 3 つのセントロイドを検出します。

セントロイド ベースのクラスタリング

#clustering

データを非階層クラスタに整理するクラスタリング アルゴリズムのカテゴリ。K 平均法は、最も広く使用されているセントロイド ベースのクラスタリング アルゴリズムです。

階層的クラスタリング アルゴリズムとは対照的です。

Chain-of-Thought プロンプト

#language
#生成 AI

大規模言語モデル(LLM)に推論を段階的に説明するよう促すプロンプト エンジニアリング手法。たとえば、次のプロンプトについて考えてみましょう。特に 2 番目の文に注目します。

時速 0 ~ 60 マイルを 7 秒間で走る車で、ドライバーが経験する力はいくつでしょうか。回答には、関連する計算をすべて示してください。

LLM の回答は次のようになります。

  • 一連の物理式を示し、適切な場所に値 0、60、7 を挿入します。
  • このような数式を選択した理由と、さまざまな変数の意味を説明します。

Chain-of-Thought プロンプトでは、LLM にすべての計算を実行させ、より正しい回答につながる可能性があります。さらに、Chain-of-Thought プロンプトにより、ユーザーは LLM の手順を調べて、回答が理にかなっているかどうかを判断できます。

チャット

#language
#生成 AI

ML システム(通常は大規模言語モデル)との対話の内容。チャットの以前のやり取り(入力した内容と大規模言語モデルがどのように応答したか)が、チャットの後続の部分のコンテキストになります。

chatbot は大規模言語モデルのアプリケーションです。

checkpoint

特定のトレーニングのイテレーションにおけるモデルのパラメータの状態をキャプチャするデータ。チェックポイントにより、モデルの重みのエクスポートや、複数のセッションでトレーニングを実行できます。また、チェックポイントにより、トレーニングがエラーを超えて続行することもできます(ジョブのプリエンプションなど)。

微調整の場合、新しいモデルトレーニングの開始点は、事前トレーニング済みモデルの特定のチェックポイントになります。

クラス

#fundamentals

ラベルが属するカテゴリ。 次に例を示します。

  • スパムを検出するバイナリ分類モデルでは、2 つのクラスがスパムと非スパムの 2 つのクラスになります。
  • 犬種を識別するマルチクラス分類モデルでは、クラスはプードル、ビーグル、パグなどです。

分類モデルはクラスを予測します。これに対して、回帰モデルはクラスではなく数値を予測します。

分類モデル

#fundamentals

予測がクラスmodelであるモデルmodel。たとえば、すべて分類モデルは次のとおりです。

  • 入力文の言語を予測するモデル(フランス語はスペイン語ですか? イタリア語?)。
  • 樹種を予測するモデル(カエデ、オーク?バオバブ?)。
  • 特定の病状の陽性クラスまたは陰性クラスを予測するモデル。

これに対して、回帰モデルはクラスではなく数値を予測します。

分類モデルの一般的なタイプは次の 2 つです。

分類しきい値

#fundamentals

バイナリ分類では、ロジスティック回帰モデルの生の出力を陽性クラスまたは陰性クラスの予測に変換する 0 ~ 1 の数値を指定します。分類しきい値は、モデルのトレーニングで選択された値ではなく、人間が選択する値であるので注意してください。

ロジスティック回帰モデルは、0 ~ 1 の未加工の値を出力します。この場合、次のようになります。

  • この未加工の値が分類しきい値より大きい場合、陽性のクラスが予測されます。
  • この未加工の値が分類しきい値より小さい場合、陰性クラスが予測されます。

たとえば、分類しきい値が 0.8 であるとします。未加工の値が 0.9 の場合、モデルは陽性クラスを予測します。未加工の値が 0.7 の場合、モデルは陰性クラスを予測します。

分類しきい値の選択は、偽陽性偽陰性の数に大きく影響します。

クラス不均衡なデータセット

#fundamentals

各クラスのラベルの合計数が大きく異なる分類問題用のデータセット。たとえば、次のように 2 つのラベルが分割されているバイナリ分類データセットについて考えてみましょう。

  • 1,000,000 個の除外ラベル
  • 10 個の肯定的なラベル

負のラベルと正のラベルの比率は 100,000 対 1 であるため、これはクラス不均衡なデータセットとなります。

一方、次のデータセットでは、負のラベルと正のラベルの比率が比較的 1 に近いため、クラス不均衡ではありません。

  • 517 個の除外ラベル
  • 483 個の肯定的なラベル

マルチクラス データセットもクラス不均衡になる可能性があります。たとえば、次のマルチクラス分類データセットも、1 つのラベルが他の 2 つのラベルよりもはるかに多くの例を持っているため、クラス不均衡になります。

  • クラス「green」のラベル: 1,000,000 個
  • クラス「紫」のラベルが 200 個
  • クラス「orange」の 350 個のラベル

エントロピーマジョリティ クラスマイノリティ クラスもご覧ください。

クリッピング

#fundamentals

外れ値を処理する方法。次のいずれかまたは両方を行います。

  • 最大しきい値を超える特徴値を、その最大しきい値まで減らす。
  • 最小しきい値未満の特徴値をその最小しきい値まで増やす。

たとえば、特定の特徴の値の 0.5% 未満が 40 ~ 60 の範囲外であるとします。この場合、次のことができます。

  • 60(最大しきい値)を超える値はすべてクリップして正確に 60 にします。
  • 40(最小しきい値)未満の値をすべてクリップして、正確に 40 にします。

外れ値によってモデルが損傷し、トレーニング中に重みがオーバーフローすることがあります。外れ値の中には、精度などの指標を大幅に損なう可能性もあります。クリッピングは、損傷を制限する一般的な手法です。

勾配クリップにより、トレーニング中に勾配値が指定された範囲内に強制されます。

Cloud TPU

#TensorFlow
#GoogleCloud

Google Cloud 上の ML ワークロードを高速化するために設計された専用のハードウェア アクセラレータ。

クラスタリング

#clustering

特に教師なし学習の際に、関連するをグループ化する。すべての例をグループ化すると、人間は必要に応じて各クラスタに意味を提供できます。

多くのクラスタリング アルゴリズムが存在します。たとえば、次の図のように、セントロイドへの近さに基づく K 平均法アルゴリズム クラスタの例があります。

X 軸に「ツリーの幅」、Y 軸に「ツリーの高さ」というラベルの付いた 2 次元グラフ。グラフには 2 つのセントロイドと数十個のデータポイントが含まれています。データポイントは近接度に基づいて分類されます。つまり、1 つのセントロイドに最も近いデータポイントはクラスタ 1 に分類され、他のセントロイドに最も近いデータポイントはクラスタ 2 に分類されます。

人間の研究者がクラスタを確認し、たとえばクラスタ 1 に「準木」、クラスタ 2 に「フルサイズの木」というラベルを付けます。

別の例として、中心点からの距離に基づくクラスタリング アルゴリズムについて考えてみましょう。次のような場合です。

多くのデータポイントが、ダーツボードの中心を囲む穴のように、同心円状に配置されています。データポイントの最も内側のリングはクラスタ 1、中央のリングはクラスタ 2、最も外側のリングはクラスタ 3 に分類されます。

共適応

ニューロンが、ネットワーク全体の動作に依存せず、特定の他のニューロンの出力にほぼ依存して、トレーニング データのパターンを予測する場合。共適応を引き起こすパターンが検証データに存在しない場合、共適応によって過学習が発生します。ドロップアウト正則化は、ニューロンが特定の他のニューロンだけに依存できないようにするため、共適応を減らします。

コラボレーション フィルタリング

#recsystems

他の多くのユーザーの関心に基づいて、あるユーザーの興味 / 関心について予測を行う。コラボレーション フィルタリングは、レコメンデーション システムでよく使用されます。

コンセプトドリフト

特徴とラベルの関係の変化。コンセプト ドリフトは時間の経過とともにモデルの品質を低下させます。

トレーニング中に、モデルはトレーニング セット内の特徴とラベルの関係を学習します。トレーニング セット内のラベルが実世界の適切なプロキシである場合、モデルは実世界を適切に予測することが求められます。ただし、コンセプト ドリフトのため、モデルの予測は時間の経過とともに低下する傾向があります。

たとえば、特定の自動車モデルが「燃費効率」であるかどうかを予測するバイナリ分類モデルについて考えてみましょう。つまり、次のような特徴があります。

  • 車両重量
  • エンジン圧縮
  • トランスミッションのタイプ

ラベルは次のいずれかです。

  • 燃費効率
  • 燃費効率が悪い

しかし、「燃費効率が良い車」の概念は変わり続けています。1994 年に燃料効率が良い車種であっても、2024 年には燃料効率が悪いとラベル付けされることはほぼ間違いありません。コンセプトドリフトに悩まされているモデルは 時間の経過とともに予測の有用性が徐々に減っていきます

非定常性と比較対照します。

商品の状態(condition)

#df

ディシジョン ツリー内で式を評価するノード。たとえば、ディシジョン ツリーの次の部分には 2 つの条件が含まれています。

(x > 0) と (y > 0) の 2 つの条件で構成されるディシジョン ツリー。

条件は分割またはテストとも呼ばれます。

条件を leaf と対比します。

関連項目:

会議

#language

ハルシネーション」と同義です。

会話という言葉は、ハルシネーションよりも技術的に正確だと考えられます。しかし、ハルシネーションが最初に普及しました。

構成

モデルのトレーニングに使用される初期プロパティ値を割り当てるプロセス。プロセスには以下が含まれます。

ML プロジェクトでは、特別な構成ファイルまたは次のような構成ライブラリを使用して構成できます。

確証バイアス

#fairness

既存の信念や仮説を裏付ける方法で、情報を検索、解釈、支持、想起する傾向。ML デベロッパーは、自分の思い込みを裏付ける結果に影響を与える方法で、データを誤って収集したりラベル付けしたりする可能性があります。確認バイアスは、暗黙的なバイアスの一種です。

テスト担当者のバイアスは確認バイアスの一形態であり、既存の仮説が確認されるまでテスト担当者がモデルのトレーニングを継続します。

混同行列

#fundamentals

分類モデルによる正しい予測と誤った予測の数を要約する NxN テーブル。たとえば、2 項分類モデルについて、次の混同行列について考えてみます。

腫瘍(予測) 非腫瘍(予測)
腫瘍(正解) 18(TP) 1(FN)
腫瘍以外(正解) 6(FP) 452(TN)

上の混同行列は、次のことを示しています。

  • グラウンド トゥルースが Tumor である 19 件の予測のうち、モデルは 18 を正しく分類し、1 は誤って分類しました。
  • グラウンド トゥルースが非腫瘍である 458 件の予測のうち、モデルは 452 件を正しく分類し、6 件を誤って分類しました。

マルチクラス分類の問題の混同行列は、誤りのパターンを特定するのに役立ちます。たとえば、3 つの異なるアヤメの種類(Virginica、Versicolor、Setosa)を分類する 3 クラス マルチクラス分類モデルについて、次の混同行列があるとします。正解がバージニカの場合、混同行列は、モデルが Versicolor を誤って予測する可能性が Setosa よりもはるかに高いことを示しています。

  Setosa(予測) Versicolor(予測) バージニカ(予測)
Setosa(グラウンド トゥルース) 88 12 0
Versicolor(正解) 6 141 7
バージニカ(グラウンド トゥルース) 2 27 109

さらに別の例として、混同行列により、手書きの数字を認識するようにトレーニングされたモデルでは、4 ではなく 9 を誤って予測したり、7 ではなく 1 を誤って予測したりする傾向があることがわかります。

混同行列には、適合率再現率など、さまざまなパフォーマンス指標を計算するために十分な情報が含まれています。

選挙区の解析

#language

文を小さな文法構造(「構成要素」)に分割する。ML システムの後の部分(自然言語理解モデルなど)では、元の文よりも簡単に構成要素を解析できます。たとえば、次の文について考えてみましょう。

友だちが 2 匹の猫を里親になりました。

構成パーサーは、この文を次の 2 つの構成要素に分けることができます。

  • My Friend は名詞句です。
  • adopted two cats」は動詞です。

これらの構成要素は、さらに小さな構成要素に細分化できます。たとえば、動詞句は

2 匹の猫を養子にした

次のようにさらに細分化できます。

  • adopted は動詞です。
  • two cats は別の名詞句です。

コンテキスト化された言語埋め込み

#language
#生成 AI

ネイティブの人間の話者と同じ方法で単語やフレーズを「理解」できるエンベディング。コンテキスト化された言語エンベディングは、複雑な構文、セマンティクス、コンテキストを理解できます。

たとえば、英語の単語 cow のエンベディングについて考えてみましょう。word2vec などの古いエンベディングは、エンベディング空間内でのから雄牛までの距離が、女性(女性の羊)から(男性の羊)または女性から男性への距離と等しくなるように、英語の単語を表現できます。コンテキスト化された言語エンベディングは、さらに一歩進んで、英語話者にとって「cow」という言葉が牛や雄牛を意味するという意味で使われることがあることを認識し、さらに踏み込んでいます。

コンテキスト ウィンドウ

#language
#生成 AI

特定のプロンプトでモデルが処理できるトークンの数。コンテキスト ウィンドウが大きいほど、モデルはより多くの情報を使用して、プロンプトに対して一貫性のある一貫したレスポンスを提供できます。

連続的な特徴

#fundamentals

温度や重量など、有効な値の範囲が無限にある浮動小数点特徴

離散特徴と対比します。

便宜的サンプリング

簡単な実験を行うために科学的に収集されていないデータセットを使用する。後で、科学的に収集されたデータセットに切り替えることが重要です。

収束

#fundamentals

損失値がそれぞれの反復処理でほとんど変化しない、またはまったく変化しない状態。たとえば、次の損失曲線は、約 700 回の反復処理での収束を示しています。

デカルト図。X 軸は損失です。Y 軸はトレーニングのイテレーション回数です。最初の数回の反復処理で損失は非常に大きいものの、急激に減少します。約 100 回のイテレーションの後、損失はまだ下がっていますが、はるかに緩やかになっています。約 700 回のイテレーション後、損失は平坦なままです。

追加のトレーニングでモデルを改善できない場合、モデルは収束します。

ディープ ラーニングでは、最終的に減少するまでに多くのイテレーションで損失値が一定またはほぼ一定に保たれることがあります。損失値が一定である期間が長いと、一時的に収束が誤認されることがあります。

早期停止もご覧ください。

凸関数

関数のグラフの上にある領域が凸集合である関数。プロトタイプの凸関数は文字 U のような形をしています。たとえば、以下はすべて凸関数です。

それぞれが 1 つの最小点を持つ U 字型の曲線。

これに対して、次の関数は凸関数ではありません。グラフの上にある領域は凸集合ではないことに注意してください。

2 つの異なる局所最小点を持つ W 字型の曲線。

厳密な凸関数には、グローバル最小点でもあるローカル極小点が 1 つだけあります。従来の U 字型関数は 厳密には凸関数ですただし、一部の凸関数(直線など)は U 字型ではありません。

凸最適化

勾配降下法などの数学的手法を使用して、凸関数の最小値を見つけるプロセス。ML の多くの研究は、さまざまな問題を凸最適化問題として定式化し、それらの問題をより効率的に解決することに焦点を当てています。

詳細については、Boyd および Vandenberghe の Convex Optimization をご覧ください。

凸集合

サブセット内の任意の 2 点間に引かれた線がサブセット内に完全に収まるようなユークリッド空間のサブセット。たとえば、次の 2 つの形状は凸集合です。

長方形のイラスト。楕円形の別のイラスト。

一方、次の 2 つの形状は凸集合ではありません。

スライスが欠落している円グラフのイラスト。非常に不規則なポリゴンの別のイラスト。

畳み込み

#image

数学では、気軽に言うと 2 つの関数が混ざり合ったものです。ML では、重みをトレーニングするために、畳み込みによって畳み込みフィルタと入力行列を組み合わせます。

ML における「畳み込み」という用語は、畳み込み演算または畳み込み層の略称でよく使用されます。

畳み込みなしの場合、ML アルゴリズムは大規模なテンソルのセルごとに個別の重みを学習する必要があります。たとえば、2,000 x 2,000 の画像でトレーニングする ML アルゴリズムでは、400 万個の個別の重みを見つける必要があります。畳み込みのおかげで、ML アルゴリズムは畳み込みフィルタ内のすべてのセルの重みを見つけるだけでよく、モデルのトレーニングに必要なメモリを大幅に削減できます。畳み込みフィルタが適用されると、セル間で複製されるだけで、それぞれにフィルタが乗算されます。

畳み込みフィルタ

#image

畳み込み演算における 2 つのアクターのうちの 1 つ。(もう 1 つの行為者は入力行列のスライスです)。畳み込みフィルタは、入力行列と同じ階数を持つが、形状が小さい行列です。たとえば、28x28 の入力行列の場合、フィルタは 28x28 より小さい任意の 2D 行列になります。

写真操作では、通常、畳み込みフィルタ内のすべてのセルが 1 と 0 の一定パターンに設定されます。通常、ML では畳み込みフィルタに乱数がシードされ、ネットワークが理想的な値をトレーニングします。

畳み込み層

#image

ディープ ニューラル ネットワークのレイヤ。このレイヤでは、畳み込みフィルタが入力行列を通過します。たとえば、次の 3x3 畳み込みフィルタについて考えてみましょう。

次の値を持つ 3x3 行列: [[0,1,0], [1,0,1], [0,1,0]]

次のアニメーションは、5x5 入力行列を含む 9 つの畳み込み演算で構成される畳み込みレイヤを示しています。各畳み込み演算は、入力行列の異なる 3x3 スライスで機能します。結果の 3x3 行列(右側)は、次の 9 つの畳み込み演算の結果で構成されます。

2 つのマトリックスを示すアニメーション。最初の行列は 5x5 の行列です。[[128,97,53,201,198], [35,22,25,200,195], [37,24,28,197,182], [33,28,92,195,179], [10.179], [31,201,198]2 つ目の行列は 3x3 の [[181,303,618], [115,338,605], [169,351,560]] です。2 番目の行列は、5x5 行列の異なる 3x3 サブセットに畳み込みフィルタ [[0, 1, 0], [1, 0, 1], [0, 1, 0]] を適用することで計算されます。

畳み込みニューラル ネットワーク

#image

少なくとも 1 つのレイヤが畳み込みレイヤであるニューラル ネットワーク。一般的な畳み込みニューラル ネットワークは、次のレイヤの組み合わせで構成されます。

畳み込みニューラル ネットワークは、画像認識などの特定の種類の問題で大きな成功を収めています。

畳み込み演算

#image

次の 2 段階の算術演算は次のようになります。

  1. 畳み込みフィルタと入力行列のスライスの要素単位の乗算。(入力行列のスライスのランクとサイズは、畳み込みフィルタと同じです)。
  2. 結果の商品行列内のすべての値を合計します。

たとえば、次の 5x5 入力行列について考えてみます。

5x5 行列: [[128,97,53,201,198], [35,22,25,200,195], [37,24,28,197,182], [33,28,92,195,179], [31,79]2,100

次の 2 × 2 の畳み込みフィルタについて考えてみましょう。

2x2 行列: [[1, 0], [0, 1]]

各畳み込み演算には、入力行列の 1 つの 2x2 スライスが含まれます。たとえば、入力行列の左上の 2x2 スライスを使用するとします。そのため、このスライスの畳み込み演算は次のようになります。

畳み込みフィルタ [[1, 0], [0, 1]] を入力行列の左上の 2x2 セクション、[[128,97], [35,22]] に適用します。畳み込みフィルタは、128 と 22 をそのまま残し、97 と 35 をゼロにします。その結果、畳み込み演算により値 150(128+22)が生成されます。

畳み込みレイヤは一連の畳み込み演算で構成され、各演算は入力行列の異なるスライスに作用します。

cost

loss と同義です。

共同トレーニング

半教師あり学習のアプローチは、次のすべての条件に該当する場合に特に役立ちます。

共トレーニングは、基本的に独立した信号を増幅し、より強い信号にします。たとえば、個々の中古車を「良い」または「悪い」に分類する分類モデルについて考えてみましょう。予測特徴の 1 つのセットは、車の年、メーカー、モデルなどの集計特性に焦点を当てている場合があります。別の予測特徴のセットは、前所有者の運転記録と車のメンテナンス履歴に焦点を当てている場合があります。

共同トレーニングに関する重要な論文は、Blum と Mitchell による「Combining Labeled and Unlabeled Data with Co-Training」です。

反事実的公平性

#fairness

公平性指標。分類器がある個人に対して、最初の個人と同一の別の個人と同じ結果を生成するかどうかをチェックします。ただし、1 つ以上の機密属性に関する点は除きます。反事実的公平性に関する分類器の評価は、モデル内の潜在的なバイアスの原因を明らかにする方法の一つです。

反事実の公平性について詳しくは、「When Worlds Collide: Integrating Different Counterfactual Assumptions in Fairness」を参照してください。

カバレッジ バイアス

#fairness

選択バイアスをご覧ください。

クラッシュ・ブロッサム

#language

意味が曖昧な文またはフレーズ。クラッシュ ブロッサムは、自然言語理解に大きな問題をもたらします。たとえば、「Red Tape Holds Up Skyscraper」という見出しは、NLU モデルが見出しを文字どおり、または比喩的に解釈できるため、クラッシュ フラッキです。

評論家

#rl

ディープ Q-Network と同義です。

交差エントロピー

ログ損失マルチクラス分類問題に一般化したもの。交差エントロピーは、2 つの確率分布の差を定量化します。パープレキシティもご覧ください。

交差検証

トレーニング セットから除外された 1 つ以上の重複しないデータ サブセットに対してモデルをテストすることによって、モデルmodelが新しいデータにどの程度一般化されるかを推定するメカニズム。model

累積分布関数(CDF)

ターゲット値以下のサンプルの頻度を定義する関数。たとえば、連続値の正規分布について考えてみましょう。CDF は、サンプルの約 50% が平均以下であり、サンプルの約 84% が平均より標準偏差 1 以下である必要があることを示しています。

D

データ分析

サンプル、測定、可視化について検討し、データを理解する。データ分析は、最初のモデルmodelを構築する前にデータセットを最初に受信する場合に特に役立ちます。また、テストを理解し、システムで発生した問題のデバッグにおいても非常に重要です。

データの拡張

#image

既存のサンプルを変換して追加のサンプルを作成することで、トレーニングサンプルの範囲と数を人為的に増やす。たとえば、画像が特徴の一つであるものの、モデルが有用な関連付けを学習するのに十分な画像サンプルがデータセットに含まれていないとします。理想的には、モデルが適切にトレーニングできるように、十分な数のラベル付けされた画像をデータセットに追加することが理想的です。それができない場合は、データ拡張によって各画像を回転、引き伸ばし、反射させて、元の画像の多くのバリエーションを生成できます。これにより、優れたトレーニングを可能にする十分なラベル付きデータが得られる可能性があります。

DataFrame

#fundamentals

メモリ内のデータセットを表すためによく使われる pandas データ型。

DataFrame はテーブルやスプレッドシートに似ています。DataFrame の各列には名前(ヘッダー)があり、各行は一意の番号で識別されます。

DataFrame の各列は 2D 配列のような構造になっていますが、各列に独自のデータ型を割り当てることができる点が異なります。

公式の pandas.DataFrame リファレンス ページもご覧ください。

データ並列処理

トレーニングまたは推論をスケーリングする方法のひとつで、モデル全体を複数のデバイスに複製し、入力データのサブセットを各デバイスに渡します。データ並列処理では、非常に大きなバッチサイズでトレーニングと推論を行うことができます。ただし、データ並列処理では、モデルがすべてのデバイスに適合するほど小さくなければなりません。

通常、データ並列処理によりトレーニングと推論が高速化されます。

モデル並列処理もご覧ください。

データセットまたはデータセット

#fundamentals

元データの集まり。通常は次のいずれかの形式で編成されます(ただし、これらに限定されません)。

  • スプレッドシート
  • CSV(カンマ区切り値)形式のファイル

Dataset API(tf.data)

#TensorFlow

データを読み取り、機械学習アルゴリズムに必要な形式に変換するための高レベルの TensorFlow API。tf.data.Dataset オブジェクトは要素のシーケンスを表します。各要素には 1 つ以上のテンソルが含まれます。tf.data.Iterator オブジェクトは、Dataset の要素へのアクセスを提供します。

Dataset API の詳細については、TensorFlow プログラマー ガイドの tf.data: TensorFlow 入力パイプラインの構築をご覧ください。

決定境界

バイナリクラスまたはマルチクラス分類問題モデルによって学習されたクラス間の区切り。たとえば、バイナリ分類問題を表す次の画像では、決定境界はオレンジ色クラスと青色クラスのフロンティアです。

明確に定義されたクラスと別のクラス間の境界。

デシジョン フォレスト

#df

複数のディシジョン ツリーから作成されたモデル。デシジョン フォレストは、ディシジョン ツリーの予測を集計して予測を行います。一般的なデシジョン フォレストには、ランダム フォレスト勾配ブーストツリーなどがあります。

判定しきい値

分類しきい値と同義です。

ディシジョン ツリー

#df

教師あり学習モデルは一連のconditionsで構成され、conditionsたとえば、次のようなディシジョン ツリーを示します。

階層的に並べられた 4 つの条件から構成されるディシジョン ツリー。5 つのリーフが作成されます。

デコーダ

#language

一般に、処理済み、密、内部表現から未加工、スパース、または外部表現に変換する ML システム。

多くの場合、デコーダはより大きなモデルのコンポーネントであり、エンコーダとペアになることがよくあります。

シーケンス ツー シーケンス タスクでは、デコーダはエンコーダによって生成された内部状態から開始し、次のシーケンスを予測します。

Transformer アーキテクチャ内のデコーダの定義については、Transformer をご覧ください。

ディープモデル

#fundamentals

複数の隠しレイヤを含むニューラル ネットワーク

ディープモデルは、ディープ ニューラル ネットワークとも呼ばれます。

ワイドモデルとは対照的です。

ネットワークでよく

ディープモデルと同義です。

ディープ Q ネットワーク(DQN)

#rl

Q ラーニングでは、Q 関数を予測するディープ ニューラル ネットワーク

Critic はディープ Q ネットワークと同義です。

ユーザー属性の同等性

#fairness

公平性指標。モデルの分類結果が特定の機密属性に依存しない場合に満たされます。

たとえば、リリプット派とブロブディンギャン人の両方がグルッブドゥブドリブ大学に申請した場合、リリプット派の入学者の割合がブラブディンギャ人と入学した人の割合が同じであれば、一方のグループが他方よりも平均的に有資格であるかどうかにかかわらず、人口統計学の同等性が達成されます。

等化オッズ機会の平等とは対照的に、分類結果は集計として機密属性に依存できますが、特定の特定の正解ラベルの分類結果が機密属性に依存することはできません。人口統計の同等性を重視して最適化する際のトレードオフについて可視化した可視化については、「よりスマートな機械学習による差別への対処」をご覧ください。

ノイズ除去

#language

自己教師あり学習に対する一般的なアプローチは次のとおりです。

  1. ノイズは、データセットに人為的に追加されます。
  2. modelはノイズの除去を試みます。

ノイズ除去により、ラベルのないサンプルからの学習が可能になります。元のデータセットがターゲットまたはラベルとして機能し、ノイズの多いデータが入力として機能します。

一部のマスク言語モデルでは、次のようにノイズ除去を使用します。

  1. 一部のトークンをマスキングすることで、ラベルのない文に人為的にノイズが追加されます。
  2. モデルは元のトークンを予測しようとします。

密な特徴

#fundamentals

ほとんどまたはすべての値がゼロではない特徴。通常は浮動小数点値の テンソルです。たとえば、次の 10 要素テンソルは、値の 9 個がゼロではないため高密度です。

8 3 7 5 2 4 0 4 9 6

スパースな特徴と対比します。

Dense レイヤ

完全接続レイヤと同義です。

深さ

#fundamentals

ニューラル ネットワーク内の以下の式の合計。

たとえば、5 つの隠れ層と 1 つの出力層を持つニューラル ネットワークの深度は 6 です。

なお、入力レイヤは深度に影響しません。

深さ方向分離可能畳み込みニューラル ネットワーク(sepCNN)

#image

Inception に基づく畳み込みニューラル ネットワーク アーキテクチャですが、Inception モジュールが深さ方向に分離可能な畳み込みに置き換えられています。別名 Xception。

深度方向の分離可能な畳み込み(分離可能畳み込みとも呼ばれる)は、標準的な 3 次元畳み込みを、より計算効率の高い 2 つの個別の畳み込み演算に因数分解します。1 つは深度 1(n × n × 1)の深さ方向の畳み込み演算、2 つ目は深さ 1(n × n × 1)の深さ方向の畳み込み演算です。

詳細については、Xception: 深度分離可能な畳み込みを使用したディープ ラーニングをご覧ください。

派生ラベル

プロキシラベルと同義です。

デバイス

#TensorFlow
#GoogleCloud

次の 2 つの定義があるオーバーロードされた用語:

  1. TensorFlow セッションを実行できるハードウェアのカテゴリ(CPU、GPU、TPU など)。
  2. アクセラレータ チップ(GPU または TPU)で ML モデルをトレーニングする場合、実際にテンソルエンベディングを操作するシステムの部分。デバイスはアクセラレータ チップで動作します。一方、ホストは通常、CPU 上で実行されます。

差分プライバシー

ML において、モデルのトレーニング セットに含まれる機密データ(個人の個人情報など)を漏洩から保護する匿名化アプローチ。このアプローチにより、モデルmodelは特定の個人についてあまり学習または記憶しなくなります。これは、モデルのトレーニング中にサンプリングを行い、ノイズを追加して個々のデータポイントを不明瞭にすることで、機密性の高いトレーニング データの漏洩リスクを軽減することで実現されます。

差分プライバシーは ML の外部でも使用されます。たとえば、データ サイエンティストは、さまざまなユーザー属性のプロダクト使用統計情報を計算するときに、個人のプライバシーを保護するために差分プライバシーを使用することがあります。

次元削減

特徴ベクトル内の特定の特徴を表すために使用される次元の数を減らす。通常は、エンベディング ベクトルに変換します。

ディメンション

次のいずれかの定義を持つオーバーロード用語:

  • テンソルの座標レベルの数。次に例を示します。

    • スカラーの次元はゼロです(例: ["Hello"])。
    • ベクトルの次元は 1 つです(例: [3, 5, 7, 11])。
    • マトリックスには 2 つのディメンションがあります(例: [[2, 4, 18], [5, 7, 14]])。

    1 次元ベクトル内の特定のセルは 1 つの座標で一意に指定できますが、2 次元行列内の特定のセルを一意に指定するには 2 つの座標が必要です。

  • 特徴ベクトル内のエントリ数。

  • エンベディング レイヤ内の要素の数。

ダイレクト プロンプト

#language
#生成 AI

ゼロショット プロンプトと同義です。

離散特徴

#fundamentals

有限の有効な値のセットを持つ特徴。たとえば、値が動物、野菜、鉱物のみである特徴は、離散(またはカテゴリ)特徴です。

連続機能と対比してください。

識別モデル

1 つ以上のmodelのセットからラベルmodelを予測するモデルmodel。より形式的には、識別モデルは、特定の特徴と重みが与えられた場合の出力の条件付き確率を定義します。つまり、

p(output | features, weights)

たとえば、特徴と重みからメールが迷惑メールであるかどうかを予測するモデルは識別モデルです。

分類モデルや回帰モデルを含む、教師あり学習モデルのほとんどは識別モデルです。

生成モデルと対比します。

弁別子

が本物か偽物かを判別するシステム。

または、ジェネレータによって作成されたサンプルが本物か偽物かを決定する敵対的生成ネットワーク内のサブシステム。

異種の影響

#fairness

さまざまな集団のサブグループに偏りなく影響を与える人について 意思決定を行うことですこれは通常、アルゴリズムによる意思決定プロセスが、一部のサブグループに他のグループよりも害やメリットをもたらす状況を指します。

たとえば、リリプティアンの小型住宅ローンの適格性を判断するアルゴリズムで、リリプティアンの送付先住所に特定の郵便番号が含まれている場合に、リリプティアンが「不適格」に分類される可能性が高いとします。ビッグエンディアン リリプティアンがリトルエンディアン リリプティアンよりもこの郵便番号の郵送先住所を持つ可能性が高い場合、このアルゴリズムは異なる影響を及ぼす可能性があります。

「ばらばらな扱い」とは対照的に、サブグループの特性がアルゴリズムによる意思決定プロセスへの明示的な入力である場合に生じる格差に焦点を当てます。

異種の扱い

#fairness

被写体のデリケートな属性をアルゴリズムによる意思決定プロセスに組み込み、ユーザーのサブグループが異なって扱われるようにする。

たとえば、ミニチュア住宅ローンの利用資格を、ローン申請で提供されたデータに基づいて決定するアルゴリズムについて考えてみましょう。アルゴリズムで、ビッグ エンディアンまたはリトル エンディアンを入力としてリリプティアンのアフィリエーションを使用する場合、その次元に沿って異なる処理が行われます。

これとは対照的に、異なる影響は、サブグループがモデルへの入力であるかどうかに関係なく、サブグループに対するアルゴリズムによる決定が社会的に及ぼす影響の格差に焦点を当てています。

での精製

#生成 AI

1 つのモデルmodel(教師model)のサイズを小さなモデル(生徒model)に縮小し、元のモデルの予測を可能な限り忠実にエミュレートするプロセス。小規模なモデルには大規模なモデル(教師)に比べて 2 つの主な利点があるため、蒸留は便利です。

  • 推論時間が短縮される
  • メモリとエネルギー使用量の削減

ただし、生徒の予測は通常、教師の予測ほど良好ではありません。

蒸留は、生徒モデルと教師モデルの予測出力の差に基づいて損失関数を最小化するように生徒モデルをトレーニングします。

抽出を以下の用語と比較対照してください。

配信

特定の特徴またはラベルのさまざまな値の頻度と範囲。分布は、特定の値がどの程度の可能性であるかを示します。

次の図は、2 つの異なる分布のヒストグラムを示しています。

  • 左側は、富のべき乗則とその富を持っている人の数。
  • 右側は、身長の正規分布と、その身長を持つ人の数を示しています。

2 つのヒストグラム。1 つのヒストグラムは、x 軸を富、Y 軸を富裕さとするべき法則の分布を示しています。ほとんどの人は財産をほとんど持っていませんが、大きな富を持っている人も少数です。もう 1 つのヒストグラムは、x 軸を身長、y 軸を身長がその身長とする正規分布を示しています。ほとんどの人は平均に近い場所に集まっています。

各特徴とラベルの分布を理解することで、値を正規化し、外れ値を検出できます。

「分布外」というフレーズは、データセットに存在しない値または非常にまれな値を指します。たとえば、猫の画像で構成されたデータセットでは、惑星土星の画像は分布外と見なされます。

分割クラスタリング

#clustering

階層的クラスタリングをご覧ください。

ダウンサンプリング

#image

次のいずれかを意味する「オーバーロード」の用語:

  • モデルをより効率的にトレーニングするために、特徴内の情報量を減らす。たとえば、画像認識モデルをトレーニングする前に、高解像度画像を低解像度形式にダウンサンプリングします。
  • 過小評価されているクラスサンプルの割合が不均衡に低いトレーニングを使用して、過小評価されているクラスでのモデル トレーニングを改善します。たとえば、クラス不均衡のデータセットでは、モデルはマジョリティクラスについて多くを学習する傾向がありますが、マイノリティクラスについては十分に学習しません。ダウンサンプリングは、多数派のクラスと少数派のクラスのトレーニング量のバランスを取るのに役立ちます。

DQN

#rl

Deep Q-Network の略語。

ドロップアウト正則化

ニューラル ネットワークのトレーニングに役立つ正則化の一種。ドロップアウト正則化では、1 つの勾配ステップで、ネットワーク レイヤ内の一定数のユニットからランダムに選択されます。ドロップする単位が多いほど 正則化が強くなりますこれは、小規模なネットワークの指数関数的に大きなアンサンブルをエミュレートするようにネットワークをトレーニングすることに似ています。詳細については、ドロップアウト: ニューラル ネットワークの過学習を防ぐシンプルな方法をご覧ください。

動的

#fundamentals

何かが頻繁または継続的に行われた。 ML では「動的」と「オンライン」という用語は同義語です。機械学習における「動的」と「オンライン」の一般的な用途は次のとおりです。

  • 動的モデル(またはオンライン モデル)は、頻繁に、または継続的に再トレーニングされるモデルです。
  • 動的トレーニング(またはオンライン トレーニング)は、頻繁または継続的なトレーニングのプロセスです。
  • 動的推論(オンライン推論)は、オンデマンドで予測を生成するプロセスです。

動的モデル

#fundamentals

頻繁に(場合によっては継続的に)再トレーニングされるモデルmodel。動的モデルは、進化するデータに常に適応する「生涯学習者」です。動的モデルは、オンライン モデルとも呼ばれます。

静的モデルと比べます。

E

積極的実行

#TensorFlow

オペレーションoperationsがすぐに実行される TensorFlow プログラミング環境。一方、グラフ実行で呼び出されるオペレーションは、明示的に評価されるまで実行されません。積極的実行は、多くのプログラミング言語のコードとよく似た命令型インターフェースです。一般的に、積極的実行プログラムはグラフ実行プログラムよりもデバッグがはるかに簡単です。

早期停止

#fundamentals

トレーニングの損失の減少が完了する前にトレーニングを終了する正則化のメソッド。早期停止では、検証用データセットの損失が増加し始めたとき、つまり一般化のパフォーマンスが悪化したときに、モデルのトレーニングを意図的に停止します。

アースムーバーの距離(EMD)

2 つの分布の相対的類似性の尺度。アースムーバーの距離が短いほど、分布は類似しています。

距離を編集

#language

2 つのテキスト文字列の類似度の測定。ML では、編集距離は計算が簡単で、似ていることがわかっている 2 つの文字列を比較したり、特定の文字列に類似した文字列を検出したりする効果的な方法であるため便利です。

編集距離にはいくつかの定義があり、それぞれで異なる文字列演算が使用されています。たとえば、 レーベンシュタイン距離では、削除、挿入、置換のオペレーションの最小数が考慮されます。

たとえば、「heart」と「darts」という単語間のレーベンシュタイン距離は 3 です。これは、次の 3 つの編集によって、ある単語が別の単語に変換される変更が最も少なくなるためです。

  1. ハート → deart(「h」を「d」に置き換える)
  2. deart → dart(「e」を削除)
  3. dart → darts(「s を挿入」)

アインスム表記

2 つのテンソルを組み合わせる方法を効率的に記述する表記。テンソルは、一方のテンソルの要素にもう一方のテンソルの要素を乗算し、その積を合計することで結合されます。Einsum 表記では、記号を使用して各テンソルの軸を識別します。同じ記号を並べ替えて、結果として得られる新しいテンソルの形状を指定します。

NumPy は、一般的な Einsum の実装です。

Embedding レイヤ

#language
#fundamentals

特別な隠しレイヤ。高次元のカテゴリ特徴でトレーニングし、低次元のエンベディング ベクトルを徐々に学習します。エンベディング レイヤを使用すると、高次元のカテゴリ特徴だけを使用してトレーニングする場合よりも、はるかに効率的にトレーニングできます。

たとえば、地球は現在約 73,000 種の樹木に対応しています。樹木の種類がモデルの特徴量である場合、モデルの入力レイヤには 73,000 個の要素からなるワンホット ベクトルが含まれます。たとえば、baobab は次のように表されます。

73,000 個の要素の配列。最初の 6,232 個の要素は値 0 を保持します。次の要素は値 1 を保持します。最後の 66,767 個の要素は、値 0 を保持します。

73,000 要素の配列は非常に長いです。モデルにエンベディング レイヤを追加しないと、72,999 個のゼロが乗算されるため、トレーニングに非常に時間がかかります。エンベディング レイヤは 12 次元で構成することもできますが、そのため、エンベディング レイヤは、樹木の種類ごとに新しいエンベディング ベクトルを徐々に学習します。

特定の状況では、埋め込みレイヤの代わりにハッシュが合理的です。

エンベディング空間

#language

高次元ベクトル空間からの特徴がマッピングされる d 次元ベクトル空間。エンベディング空間には、有意な数学的結果を生成する構造が含まれているのが理想的です。たとえば、理想的なエンベディング空間では、エンベディングの加算と減算によって単語類似タスクを解決できます。

2 つのエンベディングのドット積が、それらの類似度の尺度です。

エンベディング ベクトル

#language

大まかに言うと、隠しレイヤへの入力を記述する任意の隠しレイヤから取得された浮動小数点数の配列。多くの場合、エンベディング ベクトルはエンベディング レイヤでトレーニングされた浮動小数点数の配列です。たとえば、エンベディング レイヤが地球上の 73,000 種の樹木それぞれのエンベディング ベクトルを学習する必要があるとします。おそらく、次の配列はバオバブの木のエンベディング ベクトルです。

12 個の要素からなる配列。各要素には 0.0 ~ 1.0 の浮動小数点数が格納されます。

エンベディング ベクトルは乱数の集まりではありません。ニューラル ネットワークがトレーニング中に他の重みを学習するのと同様に、エンベディング レイヤはトレーニングによってこれらの値を決定します。配列の各要素は、樹種の特性に沿った評価です。樹種の特徴を表す要素はどれですか。人間が判断するのはとても難しいことです。

エンベディング ベクトルの数学的に驚くべき点は、類似したアイテム内に類似の浮動小数点数のセットがあることです。たとえば、類似の樹種は、類似していない樹種よりも類似した浮動小数点数のセットを持ちます。セコイアとセコイアは関連する樹種であるため、セコイアやヤシの木よりも類似した浮動小数点数のセットを持ちます。エンベディング ベクトルの数値は、同じ入力でモデルを再トレーニングしても、モデルを再トレーニングするたびに変わります。

経験的累積分布関数(eCDF または EDF)

実際のデータセットからの実証的な測定値に基づく累積分布関数x 軸に沿った任意の点における関数の値は、データセット内の観測値のうち、指定された値以下の値の割合です。

経験的リスク最小化(ERM)

トレーニング セットでの損失を最小限に抑える関数を選択する構造リスクの最小化とは対照的です。

エンコーダ

#language

一般に、未加工の表現、スパースな表現、外部の表現を、処理済みの高密度な内部表現に変換する ML システム。

エンコーダは多くの場合、デコーダとペアになることが多い大規模なモデルのコンポーネントです。エンコーダとデコーダをペアにする Transformer もあれば、エンコーダのみまたはデコーダのみを使用する Transformer もあります。

一部のシステムでは、エンコーダの出力を分類ネットワークまたは回帰ネットワークへの入力として使用します。

シーケンス ツー シーケンス タスクでは、エンコーダは入力シーケンスを受け取って内部状態(ベクトル)を返します。その後、デコーダは、その内部状態を使用して次のシーケンスを予測します。

Transformer アーキテクチャでのエンコーダの定義については、Transformer をご覧ください。

アンサンブル

個別にトレーニングされた予測が平均化または集計されるモデルのコレクション。多くの場合、アンサンブルは単一のモデルよりも優れた予測を生成します。たとえば、ランダム フォレストは複数のディシジョン ツリーから構築されたアンサンブルです。すべての決定フォレストがアンサンブルであるわけではありません。

エントロピー

#df

情報理論では、確率分布がどの程度予測不可能であるかを記述します。また、エントロピーは、各に含まれる情報の量として定義されます。確率変数のすべての値が等しく確率が高い場合、分布のエントロピーは最も大きくなります。

「0」と「1」の 2 つの値を持つセット(バイナリ分類問題のラベルなど)のエントロピーは次のようになります。

  H = -p log p - q log q = -p log p - (1-p) * ログ (1-p)

ここで

  • H はエントロピーです。
  • p はサンプル「1」の割合です。
  • q はサンプル「0」の割合です。q = (1 - p) となることに注意してください。
  • log は通常、log2 です。この場合 エントロピー単位は ビットです

たとえば、次のように仮定します。

  • 100 件のサンプルに値「1」が含まれています
  • 300 件のサンプルに値「0」が含まれています

したがって、エントロピー値は次のようになります。

  • p = 0.25
  • q = 0.75
  • H = (-0.25)log2(0.25) - (0.75)log2(0.75) = 0.81 ビット(サンプルあたり)

完全にバランスが取れたセット(たとえば、200 個の「0」と 200 個の「1」)は、1 つのサンプルにつき 1.0 ビットのエントロピーを持ちます。集合の不均衡が大きくなると、エントロピーは 0.0 に向かって進みます。

ディシジョン ツリーでは、エントロピーは情報ゲインの定式化に役立ち、分類ディシジョン ツリーの成長中にスプリッター条件を選択できるようにします。

エントロピーを次と比較する:

エントロピーはシャノンのエントロピーといいます

環境

#rl

強化学習では、エージェントを含み、エージェントがその世界の状態を観察できるようにする世界。たとえば、チェスなどのゲームや迷路などの現実世界を表現できます。エージェントが環境にアクションを適用すると、環境の状態が遷移します。

エピソード

#rl

強化学習では、エージェント環境を学習するための各試行の繰り返し。

エポック

#fundamentals

が 1 回処理されるように、トレーニング セット全体に対する完全なトレーニング パス。

エポックは、N/バッチサイズのトレーニング イテレーションを表します。ここで、N はサンプルの総数です。

たとえば、次のような状況を考えます。

  • このデータセットは 1,000 件のサンプルで構成されています。
  • バッチサイズは 50 サンプルです。

したがって、1 つのエポックに 20 回の反復処理が必要です。

1 epoch = (N/batch size) = (1,000 / 50) = 20 iterations

イプシロン欲張りポリシー

#rl

強化学習では、イプシロン確率を持つランダム ポリシーに従うポリシーか、そうでない場合貪欲ポリシーに従う。たとえば、イプシロンが 0.9 の場合、ポリシーは 90% の確率でランダム ポリシーに従い、10% の確率で欲張りポリシーに従います。

連続するエピソードでは、アルゴリズムがランダム ポリシーから欲張りポリシーに移行するため、イプシロンの値を減少させます。ポリシーをシフトすることで、エージェントはまず環境をランダムに探索してから、ランダム探索の結果を貪欲に悪用します。

機会の平等

#fairness

公平性指標。モデルが機密属性のすべての値に対して望ましい結果を同等に予測しているかどうかを評価します。つまり、モデルの望ましい結果が陽性クラスである場合、真陽性率がすべてのグループで同じになるようにすることが目標となります。

機会の平等は確率の平等に関係しており、真陽性率と偽陽性率の両方がすべてのグループで同一である必要があります。

グルブドゥブドリブ大学がリリプット派とブロブディンナギャンスの両方を厳格な数学プログラムに入学させたとします。リリプティアンの中等学校では、数学のクラスを備えた充実したカリキュラムがあり、大多数の学生は大学プログラムの対象となっています。Brobdingnagians の中等学校では数学のクラスがまったく開催されていないため、対象の生徒がほとんどいません。有資格の学生がリリプット派かブロブディンナーギ派かにかかわらず、受け入れられる可能性が等しければ、国籍(リリプット人またはブロブディンナギア)に関して好まれる「入学」ラベルで機会の平等が満たされます。

たとえば、100 人のリリプット派と 100 人のブロブディンナギ人がグルブダブドリブ大学に応募し、次のように入学決定が行われたとします。

表 1. Lilliputian 申請者(90% が適格)

  リードの精査が完了 見込みなし
承諾済み 45 3
不承認 45 7
合計 90 10
入学資格のある学生の割合: 45/90 = 50%
不適格となった学生の割合: 7/10 = 70%
入学したリリプト学生の割合: (45+3)÷100 = 48%

 

表 2. Brobdingnagian の申請者(10% が適格):

  リードの精査が完了 見込みなし
承諾済み 5 9
不承認 5 81
合計 10 90
許可された学生の割合: 5/10 = 50%
不適格となった学生の割合: 81/90 = 90%
入学したブラブディングナジアの学生の割合: (5+9)÷100 = 14%

前述の例では、資格のあるリリプット派とブラブディンナギアンのいずれも入学の確率が 50% であるため、資格のある学生を受け入れる機会の平等が満たされています。

機会の平等は満たされていますが、次の 2 つの公平性に関する指標は満たされていません。

  • 人口統計の同等性: リリプット派の学生と Brobdingnagians 人は異なる割合で入学できます。リリプット派の学生の 48% は入学できますが、Brobdingnagian の学生では 14% しか入学できません。
  • 等しい確率: 適格なリリプット派の学生とブロブディンナギアン派の学生はどちらも認められる可能性は同じですが、資格のないリリプット派の学生とブロブディンナギアの学生は両方とも拒否される可能性が同じであるという追加の制約が満たされていません。無資格の Lilliputian の拒否率は 70%、無資格の Brobdingnagians の拒否率は 90% です。

機会の平等について詳しくは、教師あり学習における機会の平等をご覧ください。また、機会の平等のために最適化する際のトレードオフについて可視化した可視化資料については、「よりスマートな機械学習による差別への対処」をご覧ください。

均等化オッズ

#fairness

一方のクラスのみではなく、陽性クラス陰性クラスの両方に関して、モデルが機密属性のすべての値に対して同様に適切に結果を予測しているかどうかを評価する公平性指標。つまり、真陽性率偽陰性率の両方がすべてのグループで同じである必要があります。

平等化されたオッズは機会の平等に関連し、1 つのクラス(正または負)のエラー率にのみ焦点を当てます。

たとえば、グルブドゥブドリブ大学がリリプット派とブラブディンナギアンの両方について、厳格な数学の課程を履修するとします。リリプティアンの中等学校では、数学のクラス向けの充実したカリキュラムが提供されており、学生の大多数は大学プログラムの資格を持っています。Brobdingnagians の中等学校では、数学のクラスがまったく開催されていないため、資格要件を満たす生徒ははるかに少数にとどまっています。均衡オッズは、申請者がリリプット人かブロブディンナギャ人かにかかわらず、適格であればプログラムへの参加が認められる可能性は等しく、条件を満たさなければ却下される可能性も同等であるという条件で満たされます。

100 人のリリプット派と 100 人のブロブディンナージアンがグルブダブドリブ大学に申し込み、次のように入学が決定されたとします。

表 3: Lilliputian 申請者(90% が適格)

  リードの精査が完了 見込みなし
承諾済み 45 2
不承認 45 8
合計 90 10
入学資格のある学生の割合: 45/90 = 50%
不合格になった学生の割合: 8/10 = 80%
入学したリリプティ学生の割合: (45 + 2) ÷ 100 = 47%

 

表 4. Brobdingnagian の申請者(10% が適格):

  リードの精査が完了 見込みなし
承諾済み 5 18
不承認 5 72
合計 10 90
入学資格のある学生の割合: 5/10 = 50%
不適格となった学生の割合: 72/90 = 80%
入学したブラブディングナジアの学生の割合: (5+18)÷100 = 23%

有資格のリリプット生と Brobdingnagian の生徒はいずれも 50% の合格率があり、無資格の Lilliputian と Brobdingnagian の生徒は拒否される確率が 80% であるため、平等な確率が満足されます。

等化オッズは、「教師あり学習における機会の平等」で次のように正式に定義されています。「Π と A が独立している場合、予測子 · は、保護された属性 A と結果 Y に関して均等化オッズを満たします。ただし、Y を条件とします。」

Estimator

#TensorFlow

非推奨の TensorFlow API。Estimator の代わりに tf.keras を使用します。

評価

ML モデルの予測の品質を測定するプロセス。モデルの開発時には通常、トレーニング セットだけでなく、検証セットテストセットにも評価指標を適用します。評価指標を使用して、異なるモデルを相互に比較することもできます。

説明します

#fundamentals

特徴量の 1 行の値、場合によってはラベルの値。教師あり学習の例は、次の 2 つの一般的なカテゴリに分類されます。

  • ラベル付きのサンプルは、1 つ以上の特徴とラベルで構成されています。ラベル付きサンプルはトレーニング中に使用されます。
  • ラベルのない例は、1 つ以上の特徴で構成されていますが、ラベルは構成されていません。ラベルのないサンプルは推論に使用されます。

たとえば、学生のテストスコアに対する天候の影響を判断するモデルをトレーニングするとします。次に、ラベル付きの例を 3 つ示します。

機能 ラベル
Temperature 湿度 気圧 テストスコア
15 47 998 良好
19 34 1020 非常に良い
18 92 1012 悪い

ラベルのない例を 3 つ紹介します。

Temperature 湿度 気圧  
12 62 1014  
21 47 1017  
19 41 1021  

通常、データセットの行はサンプルの元のソースです。つまり、例は通常、データセット内の列のサブセットで構成されます。さらに、例の特徴には、特徴クロスなどの合成特徴を含めることもできます。

エクスペリエンスのリプレイ

#rl

強化学習で、トレーニング データの時間的相関を低減するために使用される DQN 手法。エージェントは、状態遷移をリプレイ バッファに保存し、リプレイ バッファから遷移をサンプリングしてトレーニング データを作成します。

実験者の偏見

#fairness

確認バイアスをご覧ください。

勾配爆発の問題

#seq

ディープ ニューラル ネットワーク(特に再帰型ニューラル ネットワーク)の勾配が驚くほど急勾配(高い)になる傾向があります。急勾配は、多くの場合、ディープ ニューラル ネットワークで各ノード重みを非常に大きく更新します。

勾配爆発の問題に悩まされているモデルのトレーニングは、困難または不可能になります。勾配クリッピングを使用すると、この問題を軽減できます。

比較対象として、「消失勾配問題」があります。

F

F1

適合率再現率の両方に依存する「統合」バイナリ分類指標。式は次のとおりです。

$$F{_1} = \frac{\text{2 * precision * recall}} {\text{precision + recall}}$$

たとえば、次の場合について考えてみましょう。

  • 適合率 = 0.6
  • 再現率 = 0.4
$$F{_1} = \frac{\text{2 * 0.6 * 0.4}} {\text{0.6 + 0.4}} = 0.48$$

適合率と再現率がかなり類似している場合(上記の例のように)、F1 はその平均に近くなります。適合率と再現率が大きく異なる場合、F1 は低い値に近くなります。次に例を示します。

  • 適合率 = 0.9
  • 再現率 = 0.1
$$F{_1} = \frac{\text{2 * 0.9 * 0.1}} {\text{0.9 + 0.1}} = 0.18$$

公平性に関する制約

#fairness
アルゴリズムに制約を適用して、公平性の定義を 1 つ以上満たすようにします。公平性の制約の例としては、次のようなものが挙げられます。

  • モデルの出力を後処理します。
  • 損失関数を変更して、公平性指標違反に対するペナルティを組み込む。
  • 最適化の問題に数学的制約を直接追加する。

公平性の指標

#fairness

測定可能な「公平性」の数学的な定義。一般的に使用される公平性の指標には、次のようなものがあります。

多くの公平性指標は相互に排他的です。公平性指標の非互換性をご覧ください。

偽陰性(FN)

#fundamentals

モデルが誤って陰性クラスを予測した例。たとえば、モデルは特定のメール メッセージは迷惑メールではない(陰性クラス)と予測しますが、そのメール メッセージは実際には迷惑メールです。

偽陰性率

モデルが負のクラスを誤って予測した実際の陽性の例の割合。次の式で偽陰性率を計算します。

$$\text{false negative rate} = \frac{\text{false negatives}}{\text{false negatives} + \text{true positives}}$$

偽陽性(FP)

#fundamentals

モデルが誤って陽性クラスを予測した例。たとえば、モデルは特定のメール メッセージが迷惑メール(陽性クラス)であると予測しますが、そのメールは実際には迷惑メールではないとします。

偽陽性率(FPR)

#fundamentals

モデルが陽性クラスを誤って予測した実際の陰性例の割合。偽陽性率は次の式で計算されます。

$$\text{false positive rate} = \frac{\text{false positives}}{\text{false positives} + \text{true negatives}}$$

偽陽性率は ROC 曲線の X 軸です。

特徴;特徴表現

#fundamentals

ML モデルへの入力変数。サンプルは、1 つ以上の特徴で構成されます。たとえば、生徒のテストの点数に対する天候の影響を判断するモデルをトレーニングするとします。次の表に 3 つの例を示します。それぞれに 3 つの特徴と 1 つのラベルが含まれています。

機能 ラベル
Temperature 湿度 気圧 テストスコア
15 47 998 92
19 34 1020 84
18 92 1012 87

label と対比されます。

特徴クロス

#fundamentals

カテゴリ特徴またはバケット特徴を「交差」することで形成される合成特徴

たとえば、次の 4 つのバケットのいずれかにある気温を表す「気分予測」モデルについて考えてみます。

  • freezing
  • chilly
  • temperate
  • warm

風速は、次の 3 つのバケットのいずれかで表します。

  • still
  • light
  • windy

特徴クロスがない場合、線形モデルは上記の 7 つのバケットのそれぞれで独立してトレーニングされます。そのため、モデルは、たとえば windy でのトレーニングとは無関係に、freezing でトレーニングを行います。

または、温度と風速の特徴クロスを作成することもできます。この合成特徴には、次の 12 個の値があります。

  • freezing-still
  • freezing-light
  • freezing-windy
  • chilly-still
  • chilly-light
  • chilly-windy
  • temperate-still
  • temperate-light
  • temperate-windy
  • warm-still
  • warm-light
  • warm-windy

特徴クロスにより、モデルは freezing-windy 日と freezing-still 日の間の気分の違いを学習できます。

多数の異なるバケットを持つ 2 つの特徴から合成特徴を作成した場合、結果として得られる特徴クロスには膨大な組み合わせが存在することになります。たとえば、1 つの特徴に 1,000 バケットがあり、もう 1 つの特徴に 2,000 バケットがある場合、結果として得られる特徴クロスには 2,000,000 バケットが含まれます。

正式には、クロスはデカルト積です。

特徴クロスは主に線形モデルで使用され、ニューラル ネットワークではほとんど使用されません。

2つのステップが含まれます

#fundamentals
#TensorFlow

以下のステップを含むプロセス。

  1. モデルのトレーニングに役立つ特徴を決定する。
  2. データセットからの元データを、これらの機能の効率的なバージョンに変換する。

たとえば、temperature が有用な機能であると判断した場合、その後、バケット化を試して、モデルがさまざまな temperature 範囲から学習できる内容を最適化できます。

特徴量エンジニアリングは、特徴量抽出または特徴量化とも呼ばれます。

特徴抽出

次のいずれかの定義を持つオーバーロード用語:

特徴の重要度

#df

変数の重要度と同義です。

機能セット

#fundamentals

ML モデルのトレーニングに使用する特徴のグループ。たとえば、郵便番号、物件の広さ、物件の条件は、住宅価格を予測するモデルの単純な特徴セットで構成されます。

機能の仕様

#TensorFlow

tf.Example プロトコル バッファから features データを抽出するために必要な情報を記述します。tf.Example プロトコル バッファは単なるデータのコンテナであるため、以下を指定する必要があります。

  • 抽出するデータ(つまり、特徴のキー)
  • データ型(例: float、int)
  • 長さ(固定または可変)

特徴ベクトル

#fundamentals

サンプルを構成する feature 値の配列。特徴ベクトルは、トレーニング時と推論時に入力されます。たとえば、2 つの離散的な特徴を持つモデルの特徴ベクトルは次のようになります。

[0.92, 0.56]

4 つのレイヤ: 入力レイヤ、2 つの隠れレイヤ、1 つの出力レイヤ。入力レイヤには 2 つのノードがあり、1 つは値 0.92 を含み、もう 1 つは値 0.56 を含みます。

それぞれの例で特徴ベクトルに異なる値を指定するため、次の例の特徴ベクトルは次のようになります。

[0.73, 0.49]

特徴量エンジニアリングでは、特徴ベクトルで特徴を表現する方法を決定します。たとえば、5 つの取り得る値を持つバイナリ カテゴリ特徴は、ワンホット エンコーディングで表現できます。この場合、特定の例の特徴ベクトルの部分は、次のように 4 つのゼロと 1 つの 1.0 の 3 番目の位置で構成されます。

[0.0, 0.0, 1.0, 0.0, 0.0]

別の例として、モデルが 3 つの特徴で構成されているとします。

  • ワンホット エンコーディングで表される 5 つの可能な値を持つバイナリ カテゴリ特徴。例: [0.0, 1.0, 0.0, 0.0, 0.0]
  • ワンホット エンコーディングで表現される 3 つの有効な値を持つ別のバイナリ カテゴリ特徴。例: [0.0, 0.0, 1.0]
  • 浮動小数点特徴(例: 8.3)。

この場合、各サンプルの特徴ベクトルは 9 個の値で表現されます。上のリストの値の例の場合、特徴ベクトルは次のようになります。

0.0
1.0
0.0
0.0
0.0
0.0
0.0
1.0
8.3

特徴化

ドキュメントや動画などの入力ソースから特徴を抽出し、それらの特徴を特徴ベクトルにマッピングするプロセス。

一部の ML エキスパートは、特徴化を特徴量エンジニアリング特徴量抽出の同義語として使用します。

フェデレーション ラーニング

スマートフォンなどのデバイスに存在する分散型のサンプルを使用して、機械学習モデルをトレーニングする分散 ML アプローチ。フェデレーション ラーニングでは、デバイスのサブセットが中央の調整サーバーから現在のモデルをダウンロードします。デバイスは、デバイスに保存されているサンプルを使用してモデルを改善します。次に、デバイスはモデルの改善(トレーニング サンプルは除く)を調整サーバーにアップロードし、調整サーバーで他の更新と集約されて、改善されたグローバル モデルが生成されます。集計後、デバイスで計算されたモデルの更新は不要になったため、破棄できます。

トレーニング サンプルはアップロードされないため、フェデレーション ラーニングは、焦点を絞ったデータ収集とデータ最小化というプライバシー原則に従います。

フェデレーション ラーニングの詳細については、このチュートリアルをご覧ください。

フィードバック ループ

#fundamentals

ML では、モデルの予測が、同じモデルまたは別のモデルのトレーニング データに影響する状況。たとえば、映画をおすすめするモデルは、ユーザーが見る映画に影響を与え、その後の映画レコメンデーション モデルに影響します。

フィードフォワード ニューラル ネットワーク(FFN)

循環接続や再帰接続のないニューラル ネットワーク。たとえば、従来のディープ ニューラル ネットワークはフィードフォワード ニューラル ネットワークです。これに対して、再帰型ニューラル ネットワークは循環型です。

少数ショット学習

オブジェクトの分類によく使用される ML のアプローチで、少数のトレーニング サンプルから効果的な分類器をトレーニングするように設計されています。

ワンショット学習ゼロショット学習もご覧ください。

少数ショット プロンプト

#language
#生成 AI

大規模言語モデルの応答方法を示す複数(「少数」)の例を含むプロンプト。たとえば、次の長いプロンプトには、大規模言語モデルでクエリに応答する方法を示す 2 つの例が含まれています。

1 つのプロンプトの構成要素 メモ
指定された国の公式通貨は何ですか? LLM に回答してほしい質問。
フランス: EUR 一例です。
英国: 英ポンド もう 1 つ例を示します。
インド: 実際のクエリ。

一般的に、少数ショット プロンプトはゼロショット プロンプトワンショット プロンプトよりも望ましい結果を生成します。ただし少数ショットプロンプトでは より長いプロンプトが必要になります

少数ショット プロンプトは、プロンプト ベース学習に適用される少数ショット学習の一種です。

フィドル

#language

Python ファーストの構成ライブラリ。侵襲的なコードやインフラストラクチャなしで関数とクラスの値を設定できます。Pax や他の ML コードベースの場合、これらの関数とクラスはモデルトレーニングハイパーパラメータを表します。

Fiddle は、ML のコードベースが通常次のように分割されていることを前提としています。

  • レイヤとオプティマイザを定義するライブラリ コード。
  • データセットの「グルー」コード。ライブラリを呼び出して、すべてをつなぎ合わせます。

Fiddle は、グルーコードの呼び出し構造を未評価で変更可能な形式でキャプチャします。

ファインチューニング

#language
#image
#生成 AI

2 つ目のタスク固有のトレーニング パス。事前トレーニング済みモデルに対して行われ、特定のユースケースに合わせてパラメータを調整します。たとえば、一部の大規模言語モデルの完全なトレーニング シーケンスは次のようになります。

  1. 事前トレーニング: 膨大な一般的なデータセット(すべての英語の Wikipedia ページなど)で大規模言語モデルをトレーニングします。
  2. ファインチューニング: 医療関連のクエリへの応答など、特定のタスクを実行するように事前トレーニング済みモデルをトレーニングします。ファインチューニングには通常、特定のタスクに焦点を当てた数百または数千のサンプルが含まれます。

別の例として、大規模な画像モデルの完全なトレーニング シーケンスは次のようになります。

  1. 事前トレーニング: Wikimedia Commons にあるすべての画像など、膨大な一般的な画像データセットで大規模画像モデルをトレーニングします。
  2. ファインチューニング: 事前トレーニング済みモデルをトレーニングして、シャチの画像の生成など、特定のタスクを実行します。

ファインチューニングでは、次の戦略を任意に組み合わせることができます。

  • 事前トレーニング済みモデルの既存のパラメータをすべて変更する。これは「フル ファインチューニング」とも呼ばれます。
  • 事前トレーニング済みモデルの既存のパラメータの一部(通常は出力レイヤに最も近いレイヤ)のみを変更し、他の既存のパラメータ(通常は入力レイヤに最も近いレイヤ)を変更する。パラメータ効率調整をご覧ください。
  • レイヤを追加します。通常は、出力レイヤに最も近い既存のレイヤの上に追加します。

ファインチューニングは転移学習の一形態です。そのため、微調整では、事前トレーニング済みモデルのトレーニングに使用したものとは異なる損失関数や異なるモデルタイプが使用されることがあります。たとえば、事前トレーニング済みの大きな画像モデルをファインチューニングして、入力画像の鳥の数を返す回帰モデルを生成できます。

ファインチューニングを以下の用語と比較対照してください。

亜麻

#language

JAX 上に構築された、ディープ ラーニング用の高性能なオープンソース ライブラリです。Flax は、ニューラル ネットワークのトレーニング トレーニングのための関数と、そのパフォーマンスを評価する方法を提供します。

フラックスフォーマー

#language

Flax 上に構築されたオープンソースの Transformer ライブラリ。主に自然言語処理とマルチモーダル研究用に設計されています。

フォーゲット ゲート

#seq

セル内の情報の流れを制御する長短期メモリセルの部分。Forget のゲートは、セルの状態から破棄する情報を決定することでコンテキストを維持します。

フルソフトマックス

softmax と同義です。

候補のサンプリングとは対照的です。

全接続レイヤ

ノードが後続の隠しレイヤ内のすべてのノードに接続される隠しレイヤ

完全連結レイヤは、密レイヤとも呼ばれます。

関数の変換

関数を入力として受け取り、変換された関数を出力として返す関数。JAX では関数変換を使用します。

1 階

GAN

敵対的生成ネットワークの略語。

一般化

#fundamentals

未知の新しいデータに対して正しい予測を行うモデルの能力。一般化できるモデルは、その逆の過学習モデルです。

一般化曲線

#fundamentals

イテレーション回数の関数としての、トレーニングの損失検証の損失のプロット。

一般化曲線は、過学習の可能性を検出するのに役立ちます。たとえば、次の一般化曲線は、最終的に検証損失がトレーニングの損失よりも大幅に高くなるため、過学習を示しています。

y 軸に損失のラベル、x 軸に反復回数のラベルが付けられているデカルトグラフ。2 つのプロットが表示されます。1 つのプロットはトレーニングの損失を示し、もう 1 つのプロットは検証の損失を示しています。2 つのプロットも同じように始まりますが、最終的にはトレーニングの損失は検証の損失よりもはるかに小さくなります。

一般化線形モデル

ガウスノイズに基づく最小二乗回帰モデルを、他のタイプのノイズ(ポアソンノイズやカテゴリノイズなど)に基づく他のタイプのモデルに一般化します。一般化された線形モデルの例は次のとおりです。

一般化された線形モデルのパラメータは、凸最適化で見つけることができます。

一般化された線形モデルには次の特性があります。

  • 最適な最小二乗回帰モデルの平均予測は、トレーニング データの平均ラベルと等しくなります。
  • 最適ロジスティック回帰モデルによって予測された平均確率は、トレーニング データの平均ラベルと等しくなります。

一般化された線形モデルの能力は、その特徴によって制限されます。ディープモデルとは異なり、一般化された線形モデルでは「新しい特徴を学習」できません。

敵対的生成ネットワーク(GAN)

新しいデータを作成するシステム。ジェネレータがデータを作成し、弁別子がそのデータが有効か無効かを決定します。

生成 AI

#language
#image
#生成 AI

正式な定義のない、新たな変革の分野。とはいえ、生成 AI モデルは、次のすべてを含むコンテンツを作成(「生成」)できるとほとんどの専門家が同意しています。

  • 複雑
  • 首尾一貫した
  • オリジナル

たとえば、生成 AI モデルは洗練されたエッセイや画像を作成できます。

LSTMRNN などの一部の以前のテクノロジーでも、オリジナルで一貫性のあるコンテンツを生成できます。こうした初期のテクノロジーを生成 AI とみなす専門家もいれば、真の生成 AI には、以前のテクノロジーが生成するよりも複雑な出力が必要であると考える専門家もいます。

予測 ML と対比する。

生成モデル

実質的には、次のいずれかを行うモデルです。

  • トレーニング データセットから新しいサンプルを作成(生成)します。たとえば 生成モデルは詩のデータセットで トレーニングした後に詩を作成できます敵対的生成ネットワークジェネレータ部分はこのカテゴリに分類されます。
  • 新しいサンプルがトレーニング セットから取得される確率、またはトレーニング セットを作成したのと同じメカニズムで作成された確率を決定します。たとえば、英語の文で構成されるデータセットでトレーニングした後、生成モデルは新しい入力が有効な英語の文である確率を判断できます。

生成モデルは、理論的にはデータセット内の例の分布や特定の特徴を識別できます。具体的には、次のことが求められます。

p(examples)

教師なし学習モデルは生成

識別モデルと対比します。

ジェネレータ

新しいを作成する敵対的生成ネットワーク内のサブシステム。

識別モデルと対比します。

ジニ不純物

#df

エントロピーに似た指標。スプリッターは、ジニ不純物またはエントロピーから導出された値を使用して、分類ディシジョン ツリー条件を構成します。情報ゲインはエントロピーから導出されます。ジニ不純物から派生した指標を表す普遍的に認められている用語はありませんが、この名前のない指標は情報利得と同じくらい重要です。

ジニ不純物は、「ジニ指数」または単に「ジニ」とも呼ばれます。

ゴールデン データセット

グラウンド トゥルースをキャプチャする、手動でキュレートされた一連のデータ。チームは 1 つ以上のゴールデン データセットを使用してモデルの品質を評価できます。

一部のゴールデン データセットは、グラウンド トゥルースの異なるサブドメインをキャプチャします。たとえば、画像分類のゴールデン データセットは、照明条件と画像解像度をキャプチャできます。

GPT(Generative Pre-Training Transformer)

#language

OpenAI によって開発された Transformer ベースの大規模言語モデルのファミリー。

GPT のバリエーションは、次のような複数のモダリティに適用できます。

  • 画像生成(ImageGPT など)
  • テキストから画像の生成(例: DALL-E)。

グラデーション

すべての独立変数に関する偏導関数のベクトル。ML では勾配はモデル関数の偏導関数のベクトルです勾配は 最も急勾配の方向を指しています

勾配の累積

反復処理ごとに 1 回ではなく、エポックごとに 1 回のみパラメータを更新する誤差逆伝播法手法。各ミニバッチの処理後、勾配累積は勾配の累積合計を更新します。次に、エポックの最後のミニバッチを処理した後、最終的にすべての勾配変更の合計に基づいてパラメータを更新します。

勾配の累積は、トレーニングで使用可能なメモリ量に比べてバッチサイズが非常に大きい場合に便利です。メモリが問題となる場合は、バッチサイズを小さくするのが一般的です。ただし、通常のバックプロパゲーションでバッチサイズを小さくすると、パラメータの更新回数が増加します。勾配の累積により、モデルはメモリの問題を回避しながらも、効率的にトレーニングできます。

勾配ブースト(決定)ツリー(GBT)

#df

ディシジョン フォレストの一種で、次の特徴があります。

勾配ブースト

#df

弱いモデルを繰り返しトレーニングして、強力なモデルの品質を改善(損失を削減)するトレーニング アルゴリズム。たとえば、弱いモデルは線形または小さなディシジョン ツリー モデルです。強力なモデルは、以前にトレーニングされたすべての弱いモデルの合計になります。

最も単純な勾配ブーストでは、反復処理のたびに弱いモデルがトレーニングされ、強モデルの損失勾配を予測します。その後、勾配降下法と同様に、予測された勾配を差し引いて強モデルの出力が更新されます。

$$F_{0} = 0$$ $$F_{i+1} = F_i - \xi f_i $$

ここで

  • $F_{0}$ が最初の強力なモデルです。
  • $F_{i+1}$ は次の強力なモデルです。
  • $F_{i}$ が現在の強力なモデルです。
  • $\xi$ は収縮と呼ばれる 0.0 ~ 1.0 の値で、勾配降下法の学習率に似ています。
  • $f_{i}$ は、$F_{i}$ の損失勾配を予測するようにトレーニングされた弱いモデルです。

勾配ブーストの最新のバリエーションには、計算における損失の 2 次微分(ヘッシアン)も含まれます。

ディシジョン ツリーは、勾配ブーストの弱いモデルとしてよく使用されます。勾配ブースト(決定)ツリーをご覧ください。

グラデーション クリッピング

#seq

勾配降下法を使用してモデルをトレーニングするときに、勾配の最大値を人為的に制限(クリッピング)することで、勾配爆発問題を軽減するためによく使用されるメカニズム。

勾配降下法

#fundamentals

損失を最小限に抑える数学的手法。勾配降下法では、重みバイアスを繰り返し調整し、損失を最小限に抑える最適な組み合わせを徐々に検出します。

勾配降下法は、ML よりもはるかに古い手法です。

グラフ

#TensorFlow

TensorFlow では、計算の仕様。グラフ内のノードはオペレーションを表します。エッジは有向であり、演算の結果(テンソル)を別の演算のオペランドとして渡すことを表します。TensorBoard を使用してグラフを可視化します。

グラフ実行

#TensorFlow

TensorFlow プログラミング環境。プログラムで最初にグラフを作成してから、そのグラフの全部または一部を実行します。グラフ実行は TensorFlow 1.x のデフォルトの実行モードです。

積極的実行とは対照的です。

貪欲政策

#rl

強化学習では、リターンが最も高いアクションを常に選択するポリシー

正解

#fundamentals

現実。

実際に起こったことです。

たとえば、大学 1 年生の学生が 6 年以内に卒業するかどうかを予測するバイナリ分類モデルについて考えてみましょう。このモデルの正解は その生徒が 6 年以内に 実際に卒業したかどうかです

グループ属性バイアス

#fairness

ある個人の真実が、そのグループのすべての人にも当てはまると仮定します。データ収集にコンビニエンス サンプリングを使用すると、グループ アトリビューションのバイアスの影響が悪化する可能性があります。代表的でないサンプルでは、現実を反映していないアトリビューションが加えられる可能性があります。

グループ外均一性バイアスグループ内バイアスもご覧ください。

H

幻覚

#language

現実世界に関する主張を行っていると装った生成 AI モデルによる、もっともらしく見えても事実とは異なる出力を生成すること。たとえば、バラク オバマが 1865 年に亡くなったと主張する生成 AI モデルは幻覚です。

ハッシュ ; ハッシュ化

ML では、カテゴリデータをバケット化するメカニズムがあります。これは特に、カテゴリの数は多いが、データセットに実際に表示されるカテゴリの数が比較的少ない場合です。

たとえば、地球には約 73,000 種の樹木が生息しています。73,000 の樹木のそれぞれを 73,000 のカテゴリ バケットで表すことができます。また、これらの樹種のうち、実際にデータセットに 200 種類しか含まれていない場合は、ハッシュ化を使用して樹種を約 500 個のバケットに分割できます。

1 つのバケットに複数の樹種を入れることもできます。たとえば、baobabred maple(遺伝子的に異なる 2 つの種類)を同じバケットに格納できます。いずれにしても、ハッシュ化は選択したバケット数に大規模なカテゴリセットをマッピングするのに有効な方法です。ハッシュ化は、決定論的な方法で値をグループ化することで、取り得る値が多数存在するカテゴリ特徴を、より少ない数の値に変換します。

ヒューリスティック

問題に対するシンプルですぐに導入できるソリューション。たとえば、「ヒューリスティックにより、86% の精度を達成しました。ディープ ニューラル ネットワークに切り替えたとき、精度が最大 98% 向上しました。」

隠れ層

#fundamentals

入力レイヤ(特徴)と出力レイヤ(予測)の間のニューラル ネットワークのレイヤ。各隠れ層は、1 つ以上のニューロンで構成されます。たとえば、次のニューラル ネットワークには 2 つの隠しレイヤがあります。1 つ目のレイヤには 3 つのニューロンがあり、2 つ目のレイヤには 2 つのニューロンがあります。

4 つのレイヤ。最初のレイヤは、2 つの特徴を含む入力レイヤです。2 番目のレイヤは、3 つのニューロンを含む隠しレイヤです。3 つ目のレイヤは、2 つのニューロンを含む隠しレイヤです。4 番目のレイヤは出力レイヤです。各特徴には 3 つのエッジがあり、それぞれが 2 番目のレイヤの異なるニューロンを指しています。2 番目のレイヤの各ニューロンには 2 つのエッジがあり、それぞれのエッジが 3 番目のレイヤの異なるニューロンを指しています。3 番目のレイヤの各ニューロンには 1 つのエッジがあり、それぞれが出力レイヤを指しています。

ディープ ニューラル ネットワークには複数の隠れ層が含まれています。たとえば上の図はディープ ニューラル ネットワークです モデルには隠しレイヤが 2 つ含まれているからです

階層的クラスタリング

#clustering

クラスタのツリーを作成するクラスタリング アルゴリズムのカテゴリ。階層クラスタリングは、植物の分類などの階層データに適しています。階層型クラスタリング アルゴリズムには次の 2 種類があります。

  • 集約型クラスタリングでは、まずすべてのサンプルを独自のクラスタに割り当て、最も近いクラスタを繰り返しマージして階層ツリーを作成します。
  • 分割クラスタリングでは、まずすべての例を 1 つのクラスタにグループ化し、次にクラスタを階層ツリーに繰り返し分割します。

セントロイド ベースのクラスタリングと対比します。

ヒンジの損失

分類用の損失関数のファミリーは、各トレーニング サンプルから可能な限り決定境界を見つけるように設計されており、サンプルと境界の間のマージンを最大化します。KSVM はヒンジ損失(または、二乗ヒンジ損失などの関連関数)を使用します。バイナリ分類の場合、ヒンジ損失関数は次のように定義されます。

$$\text{loss} = \text{max}(0, 1 - (y * y'))$$

ここで、y は真のラベル(-1 または +1)、y' は分類モデルの未加工の出力です。

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

したがって、ヒンジ損失と(y * y')のプロットは次のようになります。

結合された 2 つの線分で構成されるデカルト図。最初の線分は(-3, 4)で始まり(1, 0)で終わります。2 番目の線分は(1, 0)から始まり、傾き 0 で無限に続きます。

歴史的バイアス

#fairness

すでに世界に存在し、データセットに入っているバイアスの一種。こうしたバイアスには、既存の文化的固定観念、人口統計の不平等、特定の社会集団に対する偏見を反映する傾向があります。

たとえば、ローン申請者がローン債務不履行になるかどうかを予測する分類モデルについて考えてみましょう。このモデルは、2 つの異なるコミュニティの地方銀行からの 1980 年代の過去のローンのデフォルト データに基づいてトレーニングされました。コミュニティ A の過去の申請者がコミュニティ B の申請者の 6 倍のローン債務不履行の可能性が高かった場合、モデルは過去のバイアスを学習し、コミュニティ A の融資を承認しなかった可能性が低くなる可能性があります。

ホールドアウト データ

: トレーニング中に意図的に使用しない(「提示する」)。 ホールドアウト データの例は、検証データセットテスト データセットです。ホールドアウト データは、トレーニングに使用されたデータ以外のデータに対してモデルが一般化できるかを評価するのに役立ちます。ホールドアウト セットの損失は、トレーニング セットの損失よりも、未知のデータセットの損失をより正確に見積もることができます。

主催者

#TensorFlow
#GoogleCloud

アクセラレータ チップ(GPU または TPU)で ML モデルをトレーニングする場合、システム内で次の両方を制御する部分。

  • コードの全体的なフロー。
  • 入力パイプラインの抽出と変換。

ホストは通常、アクセラレータ チップではなく CPU 上で稼働します。デバイスはアクセラレータ チップのテンソルを操作します。

ハイパーパラメータ

#fundamentals

ユーザーまたはハイパーパラメータ チューニング サービスは、モデルのトレーニングの連続実行中に変数を調整します。たとえば、学習率はハイパーパラメータです。トレーニング セッションを 1 回開始する前に、学習率を 0.01 に設定できます。0.01 が高すぎると判断した場合は、次のトレーニング セッションの学習率を 0.003 に設定できます。

一方、パラメータは、モデルがトレーニング中に学習するさまざまな重みバイアスです。

超平面

1 つのスペースを 2 つのサブスペースに分割する境界線。たとえば、ラインは 2 次元の超平面、平面は 3 次元の超平面です。ML でより一般的には、超平面は高次元空間を分離する境界です。カーネル サポート ベクター マシンは、非常に高次元の空間で、超平面を使用して正のクラスと負のクラスを分離します。

I

i.i.d.

independently and samelydistribute の略語。

画像認識

#image

画像内のオブジェクト、パターン、コンセプトを分類するプロセス。画像認識は画像分類とも呼ばれます。

詳細については、ML 演習: 画像分類をご覧ください。

データセットが不均衡である

クラス不均衡データセットと同義です。

暗黙のバイアス

#fairness

心のモデルや記憶に基づいて 関連付けや推測を自動的に行うこと暗黙的なバイアスは以下に影響を与える可能性があります。

  • データの収集方法と分類方法。
  • ML システムの設計と開発の方法。

たとえば、結婚式の写真を識別する分類器を作成する場合、エンジニアは写真に白いドレスが存在することを特徴として使用できます。しかし、白いドレスは特定の時代や特定の文化でのみ慣習されていました。

確認バイアスもご覧ください。

補完

値の補完の短縮形。

公平性の指標の不和合性

#fairness

公平性の概念には相互に両立がなく、同時に満たすことはできないという考え。そのため、すべての ML の問題に適用できる、公平性を定量化するための単一の普遍的な指標は存在しません。

公平性に関する指標に互換性がないからといって、公平性の取り組みが無駄になるわけではありません。むしろ、公平性は、そのユースケースに固有の危害を防ぐことを目的として、特定の ML 問題のコンテキストに沿って定義する必要があることを示しています。

このトピックの詳細な議論については、公平性の可能性についてをご覧ください。

コンテキスト内学習

#language
#生成 AI

少数ショット プロンプトと同義です。

独立同分布(i.i.d)

#fundamentals

変化しない分布から描画されるデータで、描画される各値が以前に描画された値に依存しない場合。i.i.d は機械学習の理想気体です。ML は有用な数学的構造ですが、現実世界で正確に見つかることはほとんどありません。たとえば、ウェブページへの訪問者の分布は短い期間にわたって変化している場合があります。つまり、その短い時間枠の間分布は変化せず、あるユーザーの訪問は別のユーザーの訪問とは無関係です。ただし、対象期間を長くすると、ウェブページの訪問者に季節的な違いが生じることがあります。

非定常性もご覧ください。

個人の公平性

#fairness

類似した個人が同様に分類されるかどうかを確認する公平性指標。たとえば、Brobdingnagian Academy は、学年が同じで標準テストの点数を持つ 2 人の生徒が入学する可能性が同等になるようにすることで、個人の公平性を保証します。

個々の公平性は、「類似性」(この場合は成績とテストの点数)の定義方法に完全に依存します。類似性指標に重要な情報(学生のカリキュラムの厳密さなど)が欠落している場合、新しい公平性の問題が発生する可能性があります。

個々の公平性について詳しくは、「認識による公平性」をご覧ください。

推論

#fundamentals

ML で、トレーニング済みモデルをラベルのないサンプルに適用して予測を行うプロセス。

統計では、推論の意味が若干異なります。詳しくは、 統計的推論に関する Wikipedia の記事をご覧ください。

推論パス

#df

ディシジョン ツリーでは、推論中に、特定のルートから他の条件にたどり、リーフで終了します。たとえば、次のディシジョン ツリーでは、太い矢印が次の特徴値を持つ例の推論パスを示しています。

  • x = 7
  • y = 12
  • z = -3

次の図の推論パスは、リーフに達する前に 3 つの条件を通過します(Zeta)。

4 つの条件と 5 つのリーフで構成されるディシジョン ツリー。根条件は (x > 0) です。答えは「はい」であるため、推論パスはルートから次の条件(y > 0)に進みます。答えが「はい」であるため、推論パスは次の条件(z > 0)に進みます。答えは「いいえ」であるため、推論パスはその終端ノードであるリーフ(Zeta)に移動します。

太い 3 本の矢印は推論の経路を示しています。

情報の獲得

#df

デシジョン フォレストでは、ノードのエントロピーと、子ノードのエントロピーの加重合計(サンプル数)との差。ノードのエントロピーは、そのノード内のサンプルのエントロピーです。

たとえば、次のエントロピー値について考えてみます。

  • 親ノードのエントロピー = 0.6
  • 16 個の関連例を持つ 1 つの子ノードのエントロピー = 0.2
  • 24 個の関連サンプルを持つ別の子ノードのエントロピー = 0.1

つまり、サンプルの 40% が一方の子ノードにあり、60% がもう一方の子ノードにあります。そのため、次のようになります。

  • 子ノードの加重エントロピー合計 = (0.4 * 0.2) + (0.6 * 0.1) = 0.14

したがって、得られる情報は次のとおりです。

  • 情報ゲイン = 親ノードのエントロピー - 子ノードの加重エントロピー合計
  • 情報利得 = 0.6 - 0.14 = 0.46

ほとんどのスプリッターは、情報ゲインを最大化する条件を作成しようとします。

グループ内バイアス

#fairness

自分自身のグループや特徴に偏りがあることを示唆する。 テスターや評価者が ML デベロッパーの友人、家族、同僚で構成されている場合、グループ内バイアスによってプロダクト テストやデータセットが無効になる可能性があります。

グループ内バイアスは、グループ アトリビューション バイアスの一種です。グループ外均一性バイアスもご覧ください。

入力生成ツール

データをニューラル ネットワークに読み込むメカニズム。

入力生成ツールは、元データをテンソルに処理し、テンソルを反復してトレーニング、評価、推論のバッチを生成するコンポーネントと考えることができます。

入力レイヤ

#fundamentals

特徴ベクトルを保持するニューラル ネットワークレイヤ。つまり、入力レイヤは、トレーニングまたは推論を提供します。たとえば、次のニューラル ネットワークの入力レイヤは 2 つの特徴で構成されています。

4 つのレイヤ: 入力レイヤ、2 つの隠れレイヤ、出力レイヤです。

セット内の条件

#df

ディシジョン ツリーにおいて、一連のアイテム内に 1 つのアイテムが存在するかどうかをテストする条件。たとえば、インセット条件は次のとおりです。

  house-style in [tudor, colonial, cape]

推論中に、家スタイルの対象物の値が tudorcolonial、または cape の場合、この条件は Yes と評価されます。住宅スタイルの対象物の値がそれ以外(ranch など)の場合、この条件は「いいえ」と評価されます。

インセット条件は通常、ワンホット エンコード機能をテストする条件よりも効率的なディシジョン ツリーになります。

インスタンス

と同義。

指示チューニング

#生成 AI

ファインチューニングの一種で、生成 AI モデルの指示に従う能力を向上させるものです。指示の調整では、一連の指示プロンプトでモデルをトレーニングします。通常、幅広いタスクに対応しています。結果として得られる命令調整モデルは、さまざまなタスクでゼロショット プロンプトに対して有用なレスポンスを生成する傾向があります。

以下と比較します。

解釈可能性

#fundamentals

ML モデルの推論を人間にわかりやすい言葉で説明または提示する能力。

たとえば、ほとんどの線形回帰モデルは、非常に解釈しやすくなります。(特徴量ごとにトレーニング済みの重みを確認するだけで済みます)。また、デシジョン フォレストも非常に解釈しやすくなります。ただし、一部のモデルでは、解釈可能にするために高度な可視化が必要になります。

Learning Interpretability Tool(LIT)を使用して ML モデルを解釈できます。

評価者間契約

タスクを実行する際に人間の評価者が同意する頻度の測定。評価者による意見が一致しない場合は、タスクの手順を改善する必要があります。 アノテーション作成者間の合意または評価者間の信頼性とも呼ばれます。最も一般的な評価者間の合意の測定の一つである Cohen's kappa もご覧ください。

IoU(IoU)

#image

2 つの集合の積を和の和で割った部分。ML の画像検出タスクでは、IoU を使用して、モデルの予測された境界ボックスについて、グラウンド トゥルース境界ボックスの精度を測定します。この場合、2 つのボックスの IoU は重なり合う領域と合計領域の比率になり、その値の範囲は 0(予測境界ボックスと正解境界ボックスの重複なし)から 1(予測境界ボックスと正解境界ボックスの座標が完全に同じ)です。

たとえば、下の画像では、次のようになります。

  • 予測された境界ボックス(ペイントの夜間テーブルが配置されるとモデルが予測する場所の区切る座標)は紫色で囲まれています。
  • グラウンド トゥルースの境界ボックス(ペイントのナイトテーブルが実際に配置されている場所を区切る座標)は緑色の枠で囲まれています。

アルルのフィンセントの寝室を描いたファン ゴッホ。ベッドの横にあるナイトテーブルの周りに、2 つの異なる境界ボックスが描かれています。グラウンド トゥルースの境界ボックス(緑色のボックス)がナイトテーブルを完全に囲んでいます。予測境界ボックス(紫色)は、グラウンド トゥルース境界ボックスの 50% 右にオフセットされます。これはナイトテーブルの右下 4 分の 1 を囲みますが、テーブルの残りの部分は見えません。

ここで、予測と正解の境界ボックスの交差(左下)は 1、予測と正解の境界ボックス(右下)の和集合は 7 であるため、IoU は \(\frac{1}{7}\)です。

上と同じ画像ですが、各境界ボックスが 4 つの象限に分割されています。グラウンド トゥルースの境界ボックスの右下の象限と予測境界ボックスの左上の象限が互いに重なっているため、合計 7 つの象限があります。この重なり合ったセクション(緑色でハイライト表示)は交差点を表し、面積は 1 です。 上と同じ画像ですが、各境界ボックスが 4 つの象限に分割されています。グラウンド トゥルースの境界ボックスの右下の象限と予測境界ボックスの左上の象限が互いに重なっているため、合計 7 つの象限があります。両方の境界ボックス(緑色でハイライト表示)で囲まれた内部全体はユニオンを表し、面積は 7 です。

IoU

intersection over union の略語。

アイテム マトリックス

#recsystems

レコメンデーション システムでは、各アイテムに関する潜在シグナルを保持する行列分解によって生成されたエンベディング ベクトルの行列。アイテム マトリックスの各行は、すべてのアイテムについて 1 つの潜在的な特徴の値を保持します。たとえば、映画のおすすめシステムについて考えてみましょう。アイテム マトリックスの各列は 1 つの映画を表します。潜在的シグナルはジャンルを表す場合もあれば、ジャンル、スター、映画の年齢などの要因間の複雑な相互作用を伴う解釈が困難なシグナルである場合もあります。

アイテム マトリックスの列数が、因数分解されるターゲット マトリックスと同じ数である。たとえば、10,000 件の映画のタイトルを評価する映画レコメンデーション システムの場合、アイテム マトリックスは 10,000 列になります。

items

#recsystems

レコメンデーション システムでシステムが推奨するエンティティ。たとえば、動画はビデオショップがおすすめするアイテムであり、書籍は書店がおすすめするアイテムです。

繰り返し

#fundamentals

トレーニング中のモデルのパラメータ(モデルの重みバイアス)の 1 回の更新。バッチサイズにより、モデルが 1 回のイテレーションで処理するサンプルの数が決まります。たとえば、バッチサイズが 20 の場合、モデルはパラメータを調整する前に 20 個のサンプルを処理します。

ニューラル ネットワークをトレーニングする場合、1 回の反復で次の 2 つのパスが発生します。

  1. 単一のバッチで損失を評価するフォワードパス。
  2. 損失と学習率に基づいてモデルのパラメータを調整するバックワード パス(誤差逆伝播法)。

J

JAX

XLA(Accelerated Linear Algebra)と自動微分を統合した配列コンピューティング ライブラリ。高性能の数値計算を実現します。JAX は、コンポーズ可能な変換を使用して高速な数値コードを記述するためのシンプルで強力な API を提供します。JAX には、次のような機能があります。

  • grad(自動微分)
  • jit(ジャストインタイム コンパイル)
  • vmap(自動ベクトル化またはバッチ処理)
  • pmap(並列化)

JAX は数値コードの変換を表現および構成するための言語であり、Python の NumPy ライブラリと類似していますが、スコープははるかに大きくなっています。(実際、JAX の .numpy ライブラリは機能的には同じですが、Python NumPy ライブラリを完全に書き換えたバージョンです)。

JAX は、モデルとデータを GPU と TPU アクセラレータ チップでの並列処理に適した形式に変換することで、多くの ML タスクを高速化するのに特に適しています。

FlaxOptaxPax などの多くのライブラリは、JAX インフラストラクチャ上にビルドされています。

K

Keras

一般的な Python ML API。Keras は、TensorFlow を含むいくつかのディープ ラーニング フレームワークで実行されます。このフレームワークでは、tf.keras として利用可能になります。

カーネル サポート ベクター マシン(KSVM)

入力データベクトルを高次元の空間にマッピングすることで、正のクラス負のクラスのマージンを最大化しようとする分類アルゴリズム。たとえば、入力データセットに 100 個の特徴がある分類問題を考えてみましょう。正のクラスと負のクラスの間のマージンを最大化するために、KSVM はそれらの特徴を 100 万次元空間に内部的にマッピングできます。KSVM は、ヒンジ損失と呼ばれる損失関数を使用します。

キーポイント

#image

画像内の特定の対象物の座標。たとえば、花の種を識別する画像認識モデルの場合、各花びらの中心、茎、おしりなどがキーポイントになります。

k フォールト交差検証

新しいデータに一般化するモデルの能力を予測するためのアルゴリズム。k-fold の k は、データセットのサンプルを分割する等しいグループの数を表します。つまり、モデルを k 回トレーニングしてテストします。トレーニングとテストのラウンドごとに、異なるグループがテストセットになり、残りのグループがすべてトレーニング セットになります。トレーニングとテストを k 回実施した後、選択したテスト指標の平均と標準偏差を計算します。

たとえば、データセットに 120 個のサンプルが含まれているとします。さらに、k を 4 に設定したとします。したがって、サンプルをシャッフルした後、データセットを 30 個のサンプルからなる 4 つの等しいグループに分割し、4 回のトレーニングとテストを行います。

4 つの等しいサンプル グループに分割されたデータセット。ラウンド 1 では、最初の 3 つのグループはトレーニングに、最後のグループはテストに使用されます。ラウンド 2 では、最初の 2 つのグループと最後のグループはトレーニングに使用され、3 つ目のグループはテストに使用されます。ラウンド 3 では、最初のグループと最後の 2 つのグループはトレーニングに使用され、2 番目のグループはテストに使用されます。ラウンド 4 では、最初のグループはテストに使用され、最後の 3 つのグループはトレーニングに使用されます。

たとえば、平均二乗誤差(MSE)は、線形回帰モデルにとって最も重要な指標である可能性があります。したがって、4 段階すべての MSE の平均と標準偏差がわかります。

K 平均法

#clustering

教師なし学習でサンプルをグループ化する一般的なクラスタリング アルゴリズム。K 平均法アルゴリズムは基本的に次の処理を行います。

  • 最適な k 中心点(セントロイド)を繰り返し決定します。
  • 各サンプルを最も近いセントロイドに割り当てます。同じセントロイドに最も近い例は 同じグループに属します

K 平均法アルゴリズムは、セントロイドの位置を選択して、各サンプルから最も近いセントロイドまでの距離の累積二乗を最小化します。

たとえば、犬の高さと犬の幅の次のプロットについて考えてみましょう。

数十個のデータポイントがあるデカルト図。

k=3 の場合、K 平均法アルゴリズムは 3 つのセントロイドを決定します。各サンプルは最も近いセントロイドに割り当てられ、次の 3 つのグループが生成されます。

3 つのセントロイドを追加した以外は、前の図と同じデカルト プロット。前のデータポイントは 3 つの異なるグループにクラスタ化され、各グループは特定のセントロイドに最も近いデータポイントを表します。

あるメーカーが犬用の S、M、L のセーターの最適なサイズを決めようとしているとします。3 つのセントロイドにより、クラスタ内の各犬の平均身長と平均幅が特定されます。そのため、メーカーはおそらく、この 3 つのセントロイドに基づいてセーターのサイズの基準にする必要があります。通常、クラスタのセントロイドはクラスタ内の例ではありません

上の図は、2 つの特徴(高さと幅)のみを持つ例の K 平均法を示しています。K 平均法は多くの特徴で例をグループ化できることに注意してください

K 中央値

#clustering

K 平均法に密接に関連するクラスタリング アルゴリズム。この 2 つの実際の違いは次のとおりです。

  • K 平均法では、セントロイドは、セントロイド候補とその各サンプルとの間の距離の二乗の和を最小化することによって決定されます。
  • k 中央値では、セントロイド候補とその各サンプルとの間の距離の合計を最小化することで、セントロイドが決定されます。

なお、距離の定義も異なります。

  • K 平均法は、セントロイドからサンプルまでのユークリッド距離に依存します。(2 次元におけるユークリッド距離は、ピタゴラスの定理を使用して斜辺を計算することを意味します)。たとえば、(2,2) と (5,-2) の間の K 平均法距離は次のようになります。
$$ {\text{Euclidean distance}} = {\sqrt {(2-5)^2 + (2--2)^2}} = 5 $$
  • k-media は、セントロイドからサンプルまでの マンハッタン距離に依存しています。この距離は、各次元の絶対差分の合計です。たとえば、(2,2) と (5,-2) の間の k の中央値距離は次のようになります。
$$ {\text{Manhattan distance}} = \lvert 2-5 \rvert + \lvert 2--2 \rvert = 7 $$

L

L0 正則化

#fundamentals

モデル内のゼロ以外の重みの合計にペナルティを適用する正則化の一種。たとえば、ゼロ以外の重みが 11 個あるモデルには、ゼロ以外の重みが 10 個ある類似モデルよりもペナルティが課されます。

L0 正則化は、L0 ノルム正則化と呼ばれることもあります。

L1 損失

#fundamentals

実際のラベル値とモデルが予測した値の差の絶対値を計算する損失関数。たとえば、5 つのバッチに対する L1 損失の計算は次のとおりです。

例の実際の値 モデルの予測値 デルタの絶対値
7 6 1
5 4 1
8 11 3
4 6 2
9 8 1
  8 = L1 損失

L1 損失は、L2 損失よりも外れ値の影響を受けにくくなります。

平均絶対誤差は、サンプルごとの L1 損失の平均値です。

L1 正則化

#fundamentals

重みの絶対値の合計に比例して重みにペナルティを適用する正則化の一種。L1 正則化は、無関係な特徴または関連性がほとんどない特徴の重みをちょうど 0 にします。重みが 0 の特徴はモデルから実質的に削除されます。

L2 正則化とは対照的です。

L2 損失

#fundamentals

実際のラベル値とモデルが予測した値の差の 2 乗を計算する損失関数。以下に、5 つのバッチに対する L2 損失の計算例を示します。

例の実際の値 モデルの予測値 デルタの二乗
7 6 1
5 4 1
8 11 9
4 6 4
9 8 1
  16 = L2 損失

二乗により、L2 の損失は外れ値の影響を増幅します。つまり、L2 損失は L1 損失よりも、不適切な予測に強く反応します。たとえば、前のバッチの L1 損失は 16 ではなく 8 になります。16 個のうち 9 個は 1 つの外れ値で占められています。

回帰モデルでは通常、損失関数として L2 の損失が使用されます。

平均二乗誤差は、サンプルごとの L2 損失の平均値です。二乗損失は L2 損失の別名です。

L2 正則化

#fundamentals

重みの二乗の合計に比例して重みにペナルティを適用する正則化の一種。L2 正則化は、外れ値の重み(正の値が高い値または負の値が低い値)を 0 に近づけますが、0 には近くなりません。値が 0 に非常に近い特徴はモデルに残りますが、モデルの予測にはあまり影響しません。

L2 正則化は、線形モデルでの一般化を常に改善します。

L1 正則化とは対照的です。

ラベル

#fundamentals

教師あり機械学習において、の「回答」または「結果」の部分。

ラベル付きの例は、1 つ以上の特徴とラベルで構成されています。たとえば、スパム検出データセットでは、ラベルはおそらく「Spam」または「Not Spam」のいずれかになります。降水量のデータセットでは、特定の期間に降った雨量がラベルになります。

ラベル付きサンプル

#fundamentals

1 つ以上の特徴ラベルを含む例。たとえば、次の表は、住宅評価モデルの 3 つのラベル付き例を示しています。それぞれに 3 つの特徴と 1 つのラベルがあります。

寝室の数 浴室数 住宅の年数 住宅の価格(ラベル)
3 2 15 34 万 5,000 ドル
2 1 72 17 万 9,000 ドル
4 2 34 39 万 2,000 ドル

教師あり ML では、モデルはラベル付きサンプルでトレーニングし、ラベルなしサンプルで予測を行います。

ラベル付きサンプルとラベルなしサンプルを対比します。

ラベルの漏洩

特徴量ラベルの代替となるモデル設計の欠陥。たとえば、見込み顧客が特定の商品を購入するかどうかを予測するバイナリ分類モデルについて考えてみましょう。モデルの特徴の 1 つが SpokeToCustomerAgent という名前のブール値であるとします。さらに、見込み顧客が実際にプロダクトを購入したにのみ、顧客エージェントが割り当てられているとします。トレーニング中に、モデルは SpokeToCustomerAgent とラベルの関連付けをすばやく学習します。

ラムダ

#fundamentals

正則化率と同義です。

ラムダはオーバーロードされた用語です。ここでは、正則化における用語の定義に焦点を当てます。

LaMDA(Language Model for Dialogue Applications)

#language

Google が開発した Transformer ベースの大規模言語モデル。これは、リアルな会話レスポンスを生成できる大規模な対話データセットでトレーニングされています。

LaMDA: Google の画期的な会話テクノロジーで概要を説明しています。

landmarks

#image

キーポイントと同義です。

言語モデル

#language

トークンmodelまたは一連のトークンが、より長い一連のトークンに出現する確率を推定するモデルmodel

大規模言語モデル

#language

厳密な定義がない非公式の用語で、通常は多数のパラメータを持つ言語モデルを意味します。一部の大規模言語モデルには、1,000 億を超えるパラメータが含まれています。

潜在空間

#language

エンベディング空間と同義です。

レイヤ

#fundamentals

ニューラル ネットワーク内の一連のニューロン。一般的なレイヤには次の 3 種類があります。

たとえば、次の図は、1 つの入力層、2 つの隠れ層、1 つの出力層を持つニューラル ネットワークを示しています。

入力層が 1 つ、隠れ層が 2 つ、出力層が 1 つあるニューラル ネットワーク。入力レイヤは 2 つの特徴で構成されています。最初の隠れ層は 3 つのニューロンで構成され、2 番目の隠れ層は 2 つのニューロンで構成されています。出力レイヤは単一のノードで構成されます。

TensorFlow では、レイヤテンソルと構成オプションを入力として受け取り、他のテンソルを出力として生成する Python 関数でもあります。

Layers API(tf.layers)

#TensorFlow

レイヤの複合としてディープ ニューラル ネットワークを構築するための TensorFlow API。Layers API を使用すると、次のようなさまざまなタイプのレイヤを構築できます。

Layers API は、Keras レイヤ API の規則に従います。つまり、Layers API のすべての関数には、接頭辞が異なる以外は、Keras レイヤ API の対応する関数と同じ名前とシグネチャがあります。

#df

ディシジョン ツリー内のエンドポイント。条件とは異なり、リーフはテストを実行しません。むしろ、リーフが予測候補です。リーフは、推論パスの終端ノードでもあります。

たとえば、次のディシジョン ツリーには 3 つのリーフが含まれています。

3 つのリーフにつながる 2 つの条件を持つディシジョン ツリー。

Learning Interpretability Tool(LIT)

視覚的でインタラクティブなモデル理解およびデータ可視化ツール。

オープンソースの LIT を使用して、モデルを解釈したり、テキスト、画像、表形式データを可視化したりできます。

学習率

#fundamentals

反復処理で重みとバイアスをどの程度調整するかを勾配降下法アルゴリズムに指示する浮動小数点数。たとえば、学習率が 0.3 の場合、重みとバイアスが調整される効果は学習率 0.1 の場合の 3 倍になります。

学習率は重要なハイパーパラメータです。学習率の設定が低すぎると、トレーニングに時間がかかります。学習率を高く設定しすぎると、勾配降下法で収束に到達しにくくなることがよくあります。

最小二乗回帰

L2 損失を最小化してトレーニングされた線形回帰モデル。

リニア

#fundamentals

足し算と乗算だけで表すことができる 2 つ以上の変数間の関係。

線形関係のプロットは線になります。

非線形と対比してください。

線形モデル

#fundamentals

モデルmodel特徴modelごとに 1 つの重みmodelを割り当て、予測modelを行います。(線形モデルにはバイアスも組み込まれています)。これに対して、ディープモデルにおける特徴と予測の関係は、一般的に非線形です。

線形モデルは通常、ディープモデルよりもトレーニングが簡単で、解釈も簡単です。ただし、ディープモデルでは、特徴間の複雑な関係を学習できます。

線形回帰ロジスティック回帰は、線形モデルの一種です。

線形回帰

#fundamentals

次の両方に該当する ML モデルの一種:

  • このモデルは線形モデルです。
  • 予測は浮動小数点値です。(これは線形回帰の回帰の部分です)。

線形回帰とロジスティック回帰を対比してください。また、回帰と分類を対比します。

ライト

Learning Interpretability Tool(LIT)の略語。以前は言語解釈ツールと呼ばれていました。

LLM

#language

大規模言語モデルの略語。

ロジスティック回帰

#fundamentals

確率を予測する回帰モデルの一種。ロジスティック回帰モデルには次の特徴があります。

  • ラベルはカテゴリです。通常、ロジスティック回帰という用語は、2 項ロジスティック回帰、つまり 2 つの有効な値を持つラベルの確率を計算するモデルを指します。あまり一般的でないバリアントである多項ロジスティック回帰は、取り得る値が 3 つ以上あるラベルの確率を計算します。
  • トレーニング中の損失関数はログ損失です。(有効な値が 3 つ以上あるラベルの場合、複数のログ損失ユニットを並列に配置できます)。
  • このモデルは、ディープ ニューラル ネットワークではなく、線形アーキテクチャを備えています。ただし、この定義の残りの部分は、カテゴリラベルの確率を予測するディープモデルにも適用されます。

たとえば、入力メールが迷惑メールまたは迷惑メールでない確率を計算するロジスティック回帰モデルについて考えてみましょう。推論中に、モデルが 0.72 と予測したとします。したがって、このモデルは以下を推定します。

  • 迷惑メールである可能性は 72% です。
  • 28% の確率はスパムメールではない

ロジスティック回帰モデルでは、次の 2 段階のアーキテクチャを使用します。

  1. このモデルは、入力特徴の線形関数を適用して未加工の予測(y')を生成します。
  2. このモデルは、その未加工の予測をシグモイド関数への入力として使用します。シグモイド関数は、未加工の予測を 0 ~ 1 の範囲外の値に変換します。

他の回帰モデルと同様に、ロジスティック回帰モデルは数値を予測します。ただし、この数値は通常、次のようにバイナリ分類モデルの一部になります。

  • 予測数が分類しきい値よりも大きい場合、バイナリ分類モデルは陽性クラスを予測します。
  • 予測数が分類しきい値よりも小さい場合、バイナリ分類モデルは陰性クラスを予測します。

ロジット

分類モデルによって生成された未加工の(正規化されていない)予測のベクトル。通常は正規化関数に渡されます。モデルがマルチクラス分類の問題を解決する場合、通常、ロジットはソフトマックス関数への入力になります。次に、softmax 関数は、可能性のあるクラスごとに 1 つの値を持つ(正規化された)確率のベクトルを生成します。

ログ損失

#fundamentals

2 進ロジスティック回帰で使用される損失関数

対数オッズ

#fundamentals

イベントの発生確率の対数。

長短期記憶(LSTM)

#seq

再帰型ニューラル ネットワーク内のセルの一種で、手書き認識、機械翻訳、画像キャプションなどのアプリケーションで一連のデータを処理するために使用される。LSTM は、RNN 内の以前のセルからの新しい入力とコンテキストに基づいて内部メモリ状態に履歴を維持することで、長いデータシーケンスによる RNN のトレーニング時に発生する勾配消失問題に対処します。

LoRA

#language
#生成 AI

Low-Rank Adaptability の略語。

損失

#fundamentals

教師ありモデルトレーニング中、モデルの予測がそのラベルからどの程度離れているかを測定します。

損失関数は損失を計算します。

損失情報集約ツール

複数のモデルの予測を結合し、それらの予測を使用して単一の予測を行うことにより、モデルパフォーマンスを向上させる機械学習アルゴリズムの一種。その結果、損失アグリゲータは予測の分散を減らし、予測の精度を向上させることができます。

損失曲線

#fundamentals

トレーニングのイテレーション回数の関数としての損失のプロット。次のプロットは、典型的な損失曲線を示しています。

損失とトレーニングのイテレーションのデカルトグラフ。最初のイテレーションで損失が急激に減少し、その後に緩やかに減少し、最後のイテレーションで平坦な傾きが続きます。

損失曲線は、モデルが収束または過学習のタイミングを判断するのに役立ちます。

損失曲線では、次の種類の損失をすべてプロットできます。

一般化曲線もご覧ください。

損失関数

#fundamentals

トレーニングまたはテスト中に、サンプルのバッチの損失を計算する数学関数。損失関数は、予測が誤ったモデルよりも低い損失を返します。

トレーニングの目標は通常、損失関数が返す損失を最小限に抑えることです。

損失関数にはさまざまな種類があります。構築するモデルの種類に適した損失関数を選択します。次に例を示します。

損失表面

重みと損失のグラフ。勾配降下法は、損失表面が局所的な最小値になる重みを見つけることを目的としています。

低ランク適応性(LoRA)

#language
#生成 AI

大規模言語モデルのパラメータのサブセットのみをファインチューニングするパラメータ効率調整を実行するためのアルゴリズム。LoRA には次の利点があります。

  • モデルのすべてのパラメータを微調整する必要がある手法よりも迅速にファインチューニングできる。
  • ファインチューニングされたモデルでの推論の計算コストを削減します。

LoRA で調整されたモデルは、予測の品質を維持または改善します。

LoRA を使用すると、複数の特殊なバージョンのモデルを使用できます。

LSTM

#seq

Long Short-Term Memory の略語。

M

機械学習

#fundamentals

入力データからモデルトレーニングするプログラムまたはシステム。トレーニング済みモデルでは、モデルのトレーニングに使用したものと同じ分布から抽出された新しい(未知の)データから有用な予測を行うことができます。

ML はこれらのプログラムやシステムに関する 研究分野も意味します

多数派のクラス

#fundamentals

クラス不均衡なデータセット内のより一般的なラベル。たとえば、99% のネガティブのラベルと 1% のポジティブのラベルを含むデータセットの場合、ネガティブのラベルが過半数クラスになります。

マイノリティのクラスと対比してください。

マルコフ決定プロセス(MDP)

#rl

意思決定モデルを表すグラフ。このモデルでは、マルコフ プロパティが保持されているという仮定の下で一連の状態をナビゲートするために決定(またはアクション)が行われます。強化学習では、このような状態間の遷移により、数値の報酬が返されます。

マルコフの性質

#rl

特定の環境のプロパティ。状態遷移は、現在の状態とエージェントのアクションに暗黙的に存在する情報によって完全に決定されます。

マスク言語モデル

#language

一連の候補トークンが一連の空白を埋める確率を予測する言語モデル。たとえば、マスク言語モデルでは、候補の単語が次の文の下線を置き換える確率を計算できます。

帽子の____が戻ってきました。

文献では通常、下線の代わりに「MASK」という文字列が使用されます。次に例を示します。

帽子の中の「マスク」が戻ってきました。

最新のマスク言語モデルのほとんどは双方向です。

matplotlib

オープンソースの Python 2D プロット ライブラリ。matplotlib を使用すると、機械学習のさまざまな側面を可視化できます。

行列分解

#recsystems

数学において、ドット積がターゲット マトリックスに近似する行列を見つけるメカニズム。

レコメンデーション システムでは、多くの場合、ターゲット マトリックスにアイテムに対するユーザーの評価が保持されます。たとえば、映画のおすすめシステムのターゲット マトリックスは次のようになります。ここで、正の整数はユーザーの評価で、0 はユーザーが映画を評価しなかったことを意味します。

  カサブランカ フィラデルフィアのストーリー Black Panther(「ブラック パンサー」) ワンダーウーマン パルプ フィクション
ユーザー 1 5.0 3.0 0.0 2.0 0.0
ユーザー 2 4.0 0.0 0.0 1.0 5.0
ユーザー 3 3.0 1.0 4.0 5.0 0.0

映画のおすすめシステムは、評価のない映画のユーザー評価を予測することを目的としています。たとえば、ユーザー 1 は「Black Panther」を好むか?

レコメンデーション システムの一つのアプローチは、行列分解を使用して次の 2 つの行列を生成することです。

たとえば、3 人のユーザーと 5 つのアイテムに対して行列分解を使用すると、次のユーザー マトリックスとアイテム マトリックスを生成できます。

User Matrix                 Item Matrix

1.1   2.3           0.9   0.2   1.4    2.0   1.2
0.6   2.0           1.7   1.2   1.2   -0.1   2.1
2.5   0.5

ユーザー マトリックスとアイテム マトリックスのドット積により、元のユーザー評価だけでなく、各ユーザーがまだ視聴していない映画の予測も含むレコメンデーション マトリックスが生成されます。たとえば、ユーザー 1 の「カサブランカ」の評価は 5.0 でした。レコメンデーション マトリックス内のそのセルに対応するドット積は 5.0 程度であるはずです。また、次のようになります。

(1.1 * 0.9) + (2.3 * 1.7) = 4.9

さらに重要なこととして、ユーザー 1 は Black Panther を気に入るか?1 行目と 3 列目のドット積を取得すると、予測評価は 4.3 になります。

(1.1 * 1.4) + (2.3 * 1.2) = 4.3

行列分解では通常、ユーザー マトリックスとアイテム マトリックスが生成されますが、これらは合わせてターゲット マトリックスよりもはるかにコンパクトです。

平均絶対誤差(MAE)

L1 損失を使用した例ごとの平均損失。平均絶対誤差は次のように計算します。

  1. バッチの L1 損失を計算します。
  2. L1 損失をバッチ内のサンプル数で割ります。

たとえば、次の 5 つの例のバッチで L1 損失を計算する場合について考えてみましょう。

例の実際の値 モデルの予測値 損失(実際の値と予測値の差)
7 6 1
5 4 1
8 11 3
4 6 2
9 8 1
  8 = L1 損失

したがって、L1 の損失は 8 で、サンプルの数は 5 です。 したがって、平均絶対誤差は次のようになります。

Mean Absolute Error = L1 loss / Number of Examples
Mean Absolute Error = 8/5 = 1.6

平均二乗誤差二乗平均平方根誤差を伴うコントラスト平均絶対誤差。

平均二乗誤差(MSE)

L2 損失を使用した場合のサンプルごとの平均損失。平均二乗誤差は次のように計算します。

  1. バッチの L2 損失を計算します。
  2. L2 損失をバッチ内のサンプル数で割ります。

たとえば、次の 5 つの例のバッチでの損失について考えてみましょう。

実際の値 モデルの予測 喪失 二乗損失
7 6 1 1
5 4 1 1
8 11 3 9
4 6 2 4
9 8 1 1
16 = L2 損失

したがって、平均二乗誤差は次のようになります。

Mean Squared Error = L2 loss / Number of Examples
Mean Squared Error = 16/5 = 3.2

平均二乗誤差は、よく使用されるトレーニング オプティマイザーで、特に線形回帰に適しています。

平均絶対誤差二乗平均平方根誤差を伴うコントラスト平均二乗誤差。

TensorFlow Playground は、平均二乗誤差を使用して損失値を計算します。

メッシュ

#TensorFlow
#GoogleCloud

ML 並列プログラミングで、データとモデルを TPU チップに割り当て、これらの値をシャーディングまたは複製する方法を定義することに関連する用語。

メッシュは、次のいずれかを意味する過負荷用語です。

  • TPU チップの物理レイアウト。
  • データとモデルを TPU チップにマッピングするための抽象的な論理構造。

いずれの場合も、メッシュはシェイプとして指定します。

メタラーニング

#language

学習アルゴリズムを発見または改善する ML のサブセット。メタラーニング システムは、少量のデータや以前のタスクでの経験から新しいタスクをすばやく学習できるようにモデルをトレーニングすることを目指しています。メタ ラーニングのアルゴリズムは通常、次のことを実現しようとします。

  • 手動で設計された機能(イニシャライザやオプティマイザーなど)を改善または学習する。
  • データ効率とコンピューティング効率を高める。
  • 一般化を改善する。

メタラーニングは少数ショット学習に関連しています。

metric

#TensorFlow

重視する統計情報。

目標とは、ML システムが最適化を試みる指標です。

指標 API(tf.metrics)

モデルを評価するための TensorFlow API。たとえば、tf.metrics.accuracy は、モデルの予測がラベルと一致する頻度を決定します。

ミニバッチ

#fundamentals

ランダムに選択された小さなバッチのサブセット。1 回のイテレーションで処理されます。ミニバッチのバッチサイズは通常、10 ~ 1,000 サンプルです。

たとえば、トレーニング セット全体(完全なバッチ)が 1,000 件のサンプルで構成されているとします。さらに、各ミニバッチのバッチサイズを 20 に設定したとします。したがって、反復処理ごとに 1,000 個のサンプルのうち 20 個のサンプルで損失が決定され、それに応じて重みバイアスが調整されます。

完全なバッチ内のすべての例の損失よりも、ミニバッチの損失を計算する方がはるかに効率的です。

ミニバッチの確率的勾配降下法

ミニバッチを使用する勾配降下法アルゴリズム。つまり、ミニバッチの確率的勾配降下法では、トレーニング データの小さなサブセットに基づいて勾配を推定します。通常の確率的勾配降下法では、サイズ 1 のミニバッチを使用します。

ミニマックス損失

生成されたデータと実際のデータの分布間の交差エントロピーに基づく敵対的生成ネットワークの損失関数。

ミニマックス損失は、敵対的生成ネットワークを説明する最初の論文で使用されています。

マイノリティの階級

#fundamentals

クラス不均衡なデータセット内の一般的でないラベル。たとえば、99% のネガティブ ラベルと 1% のポジティブのラベルを含むデータセットの場合、ポジティブのラベルは少数派クラスです。

マジョリティ クラスと対比してください。

ML

ML の略語。

MNIST

#image

LeCun、Cortes、Burges がコンパイルしたパブリック ドメインのデータセット。60,000 枚の画像が含まれています。各画像は、人間が 0 ~ 9 の特定の数字を手作業で書いた方法を示しています。各画像は 28x28 の整数の配列として保存されます。各整数は 0 ~ 255 のグレースケール値です。

MNIST は ML の正規データセットであり、新しい ML アプローチのテストによく使用されます。詳しくは、 The MNIST Database of Handsigned Digits をご覧ください。

モダリティ

#language

大まかなデータカテゴリ。たとえば、数字、テキスト、画像、動画、音声は 5 つの異なるモダリティです。

model

#fundamentals

一般的に、入力データを処理して出力を返す数学的構造。言い換えると、モデルは、システムが予測を行うために必要なパラメータと構造のセットです。教師あり機械学習では、モデルはを入力として受け取り、出力として予測を推測します。教師あり ML ではモデルは若干異なります次に例を示します。

モデルを保存、復元、またはコピーを作成できます。

教師なし ML ではモデルも生成されます。これは通常、入力例を最適なクラスタにマッピングできる関数です。

モデルの容量

モデルが学習できる問題の複雑さ。モデルが学習できる問題が複雑になるほど、モデルの能力は高くなります。通常、モデルの容量はモデル パラメータの数に応じて増加します。分類器容量の正式な定義については、VC ディメンションをご覧ください。

モデルのカスケード

#生成 AI

特定の推論クエリに対して理想的なモデルmodelを選択するシステム。

非常に大規模なモデル(多くのパラメータ)から非常に小規模なモデル(非常に少ないパラメータ)まで、モデルのグループがあるとします。非常に大規模なモデルは、小規模なモデルよりも推論時に多くのコンピューティング リソースを消費します。ただし、通常、非常に大規模なモデルでは、小規模なモデルよりも複雑なリクエストを推測できます。モデルのカスケードでは、推論クエリの複雑さが判断され、推論の実行に適したモデルが選択されます。モデルのカスケードの主な動機は、一般的に小規模なモデルを選択し、より複雑なクエリにのみより大きなモデルを選択することで、推論コストを削減することです。

小規模なモデルがスマートフォンで実行され、そのモデルの大規模バージョンがリモート サーバーで実行されているとします。優れたモデルのカスケードでは、小規模なモデルが単純なリクエストを処理し、リモートモデルのみを呼び出して複雑なリクエストを処理することで、コストとレイテンシを低減できます。

モデルルーターもご覧ください。

モデル並列処理

#language

1 つのモデルmodelのさまざまな部分を異なるデバイスmodelに配置するトレーニングまたは推論をスケーリングする方法。モデル並列処理を使用すると、大きすぎて 1 つのデバイスに収まらないモデルを実現できます。

モデル並列処理を実装するために、システムは通常、次のことを行います。

  1. モデルをシャード(分割)して小さな部分に分割します。
  2. このような小さな部分のトレーニングを複数のプロセッサに分散します。各プロセッサはモデルの独自の部分をトレーニングします。
  3. 結果を結合して 1 つのモデルを作成します。

モデル並列処理はトレーニングを遅くします。

データ並列処理もご覧ください。

モデルルーター

#生成 AI

モデルのカスケードmodelでの推論modelに理想的なモデルmodelを決定するアルゴリズム。通常、モデルルーター自体は、特定の入力に対して最適なモデルを選択する方法を段階的に学習する ML モデルです。ただし、モデルルーターはより単純な非 ML アルゴリズムの場合もあります。

モデルのトレーニング

最適なmodelを決定するプロセス

モメンタム

高度な勾配降下法アルゴリズム。学習ステップは、現在のステップの導関数だけでなく、直前のステップの導関数にも依存します。Momentum には、物理学の運動量に似た、時間の経過に伴う勾配の指数関数的な加重移動平均の計算が含まれます。Momentum により、学習が局所的な最小値に行き詰まることがなくなる場合があります。

マルチクラス分類

#fundamentals

教師あり学習において、データセットにラベルのクラス3 つ以上含まれる分類問題。たとえば、Iris データセットのラベルは、次の 3 つのクラスのいずれかである必要があります。

  • アヤメ
  • アヤメ
  • アヤメ

新しいサンプルでアヤメの種類を予測する Iris データセットでトレーニングされたモデルが、マルチクラス分類を実行しています。

一方、2 つのクラスを区別する分類問題はバイナリ分類モデルです。たとえば、迷惑メールまたは迷惑メールではないのいずれかを予測するメールモデルは、バイナリ分類モデルです。

クラスタリングの問題では、マルチクラス分類は 3 つ以上のクラスタを指します。

多クラス ロジスティック回帰

マルチクラス分類の問題でロジスティック回帰を使用する。

マルチヘッド セルフ アテンション

#language

入力シーケンスの各位置にセルフ アテンション メカニズムを複数回適用するセルフ アテンションの拡張。

Transformers では、マルチヘッド セルフ アテンションが導入されました。

マルチモーダル モデル

#language

入力や出力に複数のモダリティが含まれるモデル。たとえば、画像とテキスト キャプション(2 つのモダリティ)を特徴量として受け取り、テキスト キャプションが画像に対してどの程度適切かを示すスコアを出力するモデルについて考えてみましょう。そのため、このモデルの入力はマルチモーダルで、出力はユニモーダルです。

多項分類

マルチクラス分類と同義です。

多項回帰

多クラス ロジスティック回帰と同義です。

マルチタスク

1 つのモデルmodelが複数のタスクmodelを実行するようにトレーニングされる ML 手法。

マルチタスク モデルは、さまざまなタスクに適したデータでトレーニングすることによって作成されます。これにより、モデルはタスク間で情報を共有することを学習し、より効果的に学習できるようになります。

多くの場合、複数のタスク用にトレーニングされたモデルでは、一般化能力が向上し、さまざまな種類のデータをより堅牢に処理できます。

N

NaN トラップ

トレーニング中にモデル内の 1 つの数値が NaN になり、その結果、モデル内の他の多くの数値またはすべてが最終的に NaN になる場合。

NaN は Not a Number の略です。

自然言語理解

#language

ユーザーの入力内容や発言に基づいてユーザーの意図を判断する。たとえば、検索エンジンは自然言語理解を使用して、ユーザーの入力または発言に基づいてユーザーが検索した内容を判断します。

陰性クラス

#fundamentals

バイナリ分類では、一方のクラスは陽性、もう一方は陰性と呼ばれます。陽性のクラスはモデルがテストする対象またはイベントで、陰性のクラスはもう一つの可能性です。次に例を示します。

  • 医学的検査の陰性クラスは「腫瘍ではない」かもしれません。
  • メール分類器の除外クラスは「迷惑メールではない」場合があります。

陽性クラスと対比してください。

ネガティブ サンプリング

候補のサンプリングと同義です。

ニューラル アーキテクチャ検索(NAS)

ニューラル ネットワークのアーキテクチャを自動的に設計するための手法。NAS アルゴリズムによりニューラルネットワークの トレーニングに必要な時間とリソースを削減できます

NAS では通常、以下を使用します。

  • 可能なアーキテクチャのセットである検索スペース。
  • フィットネス関数。特定のアーキテクチャが特定のタスクでどれだけ適切に機能するかを測定するものです。

NAS アルゴリズムは、多くの場合、考えられるアーキテクチャの小規模なセットから始めて、効果的なアーキテクチャをアルゴリズムが学習するにつれて検索スペースを徐々に拡大します。フィットネス関数は通常、トレーニング セットに基づくアーキテクチャのパフォーマンスに基づいており、アルゴリズムは通常、強化学習手法を使用してトレーニングされます。

NAS アルゴリズムは、画像の分類、テキスト分類、機械翻訳など、さまざまなタスクに適した高性能アーキテクチャを見つけるうえで効果的であることが証明されています。

ニューラル ネットワークの

#fundamentals

少なくとも 1 つの隠しレイヤmodelを含むモデルmodelディープ ニューラル ネットワークは、複数の隠しレイヤを含むニューラル ネットワークの一種です。たとえば、次の図は 2 つの隠しレイヤを含むディープ ニューラル ネットワークを示しています。

入力層、2 つの隠れ層、出力層を持つニューラル ネットワーク。

ニューラル ネットワーク内の各ニューロンは、次のレイヤのすべてのノードに接続します。たとえば、上の図では、最初の隠れ層の 3 つのニューロンのそれぞれが、2 番目の隠れ層の 2 つのニューロンの両方に個別に接続しています。

コンピュータに実装されたニューラル ネットワークは、脳や他の神経系にあるニューラル ネットワークと区別するために、人工ニューラル ネットワークとも呼ばれます。

一部のニューラル ネットワークでは、異なる特徴とラベルの間の非常に複雑な非線形関係を模倣することがあります。

畳み込みニューラル ネットワーク再帰型ニューラル ネットワークもご覧ください。

ニューロン

#fundamentals

ML では、ニューラル ネットワーク隠れ層内の個別の単位。各ニューロンは次の 2 段階のアクションを実行します。

  1. 入力値に対応する重みを掛けた加重合計を計算します。
  2. 加重合計を入力として活性化関数に渡します。

最初の隠れ層のニューロンは、入力層の特徴値から入力を受け取ります。最初の隠れ層にあるニューロンは、前の隠れ層にあるニューロンからの入力を受け入れます。たとえば、2 番目の隠れ層のニューロンは、1 番目の隠れ層のニューロンからの入力を受け入れます。

次の図は、2 つのニューロンとその入力を示しています。

入力層、2 つの隠れ層、出力層を持つニューラル ネットワーク。2 つのニューロンがハイライト表示されています。1 つは最初の隠しレイヤにあり、もう 1 つは 2 番目の隠しレイヤにあります。最初の隠れ層にあるハイライト表示されたニューロンは、入力層にある両方の特徴から入力を受け取ります。2 番目の隠れ層にあるハイライト表示されたニューロンは、最初の隠れ層にある 3 つのニューロンのそれぞれから入力を受け取ります。

ニューラル ネットワークのニューロンは、脳や神経系の他の部分にあるニューロンの挙動を模倣したものです。

N グラム

#seq
#language

N 個の単語の順序付きシーケンス。たとえば、truly madly は 2 グラムです。順序に関連性があるため、「マッドリー トゥルー」と「真にマッドリー」は 2 グラムが異なります。

N この種類の N グラムの名前
2 バイグラムまたは 2 グラム ランチを食べる、ディナーを食べる
3 トライグラムまたは 3 グラム 3 匹の盲目のネズミを食べすぎ、
4 4 グラム 公園を散歩する、風の中のほこり、少年がレンズ豆を食べた、

自然言語理解モデルの多くは、ユーザーが次に入力または発話する単語を予測するために N グラムを使用します。たとえば、ユーザーが「スリーブラインド」を入力したとします。トライグラムに基づく NLU モデルは、ユーザーが次にマウスを入力することを予測します。

N グラムと、順序付けされていない単語の集合であるbag of words と対比します。

NLU

#language

Natural Language understanding の略語。

ノード(ディシジョン ツリー)

#df

ディシジョン ツリー内の任意の条件またはリーフ

2 つの条件と 3 つのリーフを含むディシジョン ツリー。

ノード(ニューラル ネットワーク)

#fundamentals

隠しレイヤにあるニューロン

ノード(TensorFlow グラフ)

#TensorFlow

TensorFlow グラフ内の演算。

雑音

大まかに言うと、データセット内のシグナルを隠すもの。ノイズはさまざまな方法でデータに導入されます。次に例を示します。

  • 評価担当者がラベル付けを間違える。
  • 人や器具によって特徴値が誤記録されたり、省略されたりする。

非バイナリ条件

#df

3 つ以上の結果を含む条件。たとえば、次の非バイナリ条件には 3 つの結果があります。

3 つの結果につながる条件(number_of_legs = ?)。1 つの結果(number_of_legs = 8)は、spider という名前のリーフになります。2 番目の結果(number_of_legs = 4)では、犬という名前のリーフが返されます。3 番目の結果(number_of_legs = 2)では、penguin という名前の葉が生成されます。

ノンリニア

#fundamentals

足し算とかけ算だけでは表現できない、2 つ以上の変数間の関係。線形関係は線で表すことができます。非線形関係は線で表すことはできません。たとえば、それぞれが 1 つの特徴を 1 つのラベルに関連付ける 2 つのモデルについて考えてみましょう。左側のモデルは線形で 右側のモデルは非線形です。

2 つのプロット。1 つのプロットは直線なので、これは線形の関係になります。2 つ目のプロットは曲線なので、非線形の関係になります。

無回答バイアス

#fairness

選択バイアスをご覧ください。

非定常性

#fundamentals

1 つ以上のディメンション(通常は時間)にわたって値が変化する特徴。たとえば、次のような非定常性の例を考えてみます。

  • 特定の店舗で販売されている水着の数は、季節によって変動します。
  • 特定の地域で収穫される特定の果物の量は、年間の大半はゼロですが、短期間では多い場合があります。
  • 気候変動により、年間平均気温が変化しています。

定常性と対比します。

正規化

#fundamentals

大まかに言うと、変数の実際の値範囲を標準的な値範囲に変換するプロセス。以下に例を示します。

  • -1 ~+1
  • 0~1
  • 正規分布

たとえば、ある特徴の実際の値範囲が 800 ~ 2,400 であるとします。特徴量エンジニアリングの一環として、実際の値を標準的な範囲(-1 ~+1 など)に正規化できます。

正規化は、特徴量エンジニアリングにおける一般的なタスクです。通常、特徴ベクトルのすべての数値特徴がほぼ同じ範囲を持つ場合、モデルのトレーニングが高速になり、予測の精度が向上します。

特異点検知

新しい(新しい)サンプルがトレーニング セットと同じ分布から得られるかどうかを判断するプロセス。つまり、トレーニング セットでトレーニングした後、特異点検出は新しいサンプル(推論中または追加のトレーニング中)が外れ値かどうかを判断します。

外れ値検出と対比してください。

数値データ

#fundamentals

整数または実数として表される特徴。たとえば、住宅評価モデルでは、住宅の面積(平方フィートまたは平方メートル単位)を数値データとして表すことが考えられます。特徴を数値データとして表すことは、特徴の値がラベルと数学の関係にあることを示します。つまり、住宅の平方メートル数は、おそらく住宅の価格となんらかの数学的関係があります。

すべての整数データを数値データとして表す必要があるわけではありません。たとえば、世界の一部地域の郵便番号は整数です。ただし、整数の郵便番号をモデルで数値データとして表すべきではありません。これは、20000 の郵便番号が 10000 の 2 倍(または半分)有効ではないためです。さらに、郵便番号によって不動産の価値は異なりますが、郵便番号 20000 の不動産の価値は、郵便番号 10000 の不動産の価値の 2 倍であるとは限りません。郵便番号はカテゴリデータとして表す必要があります。

数値特徴は、連続特徴とも呼ばれます。

NumPy

Python で効率的な配列演算を提供する オープンソースの数学ライブラリpandas は NumPy 上に構築されています。

O

目標

アルゴリズムが最適化しようとしている指標。

目的関数

モデルで最適化の対象となる数式または指標。たとえば、線形回帰の目的関数は、通常は平均二乗損失です。したがって、線形回帰モデルをトレーニングする場合、トレーニングは平均二乗損失を最小限に抑えることを目的としています。

目的関数を最大化することが目標となる場合もあります。たとえば、目的関数が精度の場合、目標は精度を最大化することです。

損失もご覧ください。

斜めの状態

#df

ディシジョン ツリーにおいて、複数の特徴を含む条件。たとえば、高さと幅の両方が特徴の場合、次の条件は斜めになります。

  height > width

軸に平行な条件と対比します。

オフライン

#fundamentals

static と同義です。

オフライン推論

#fundamentals

モデルが予測のバッチを生成し、それらの予測をキャッシュに保存(保存)するプロセス。これにより、アプリはモデルを再実行することなく、キャッシュから推定予測にアクセスできます。

たとえば、4 時間に 1 回局所の天気予報(予測)を生成するモデルについて考えてみましょう。各モデルを実行すると、各地域の天気予報がすべてキャッシュに保存されます。天気アプリはキャッシュから天気予報を取得します。

オフライン推論は静的推論とも呼ばれます。

オンライン推論と対比します。

ワンホット エンコーディング

#fundamentals

カテゴリデータをベクトルとして表すと、次のようになります。

  • 1 つの要素が 1 に設定されます。
  • その他の要素はすべて 0 に設定されます。

ワンホット エンコーディングは、有効な値のセットが有限である文字列または識別子を表現するためによく使用されます。たとえば、Scandinavia という名前のカテゴリ特徴に取り得る値が 5 つあるとします。

  • 「デンマーク」
  • 「スウェーデン」
  • ノルウェー
  • フィンランド
  • アイスランド

ワンホット エンコーディングでは、5 つの値のそれぞれを次のように表すことができます。

country ベクトル
「デンマーク」 1 0 0 0 0
「スウェーデン」 0 1 0 0 0
ノルウェー 0 0 1 0 0
フィンランド 0 0 0 1 0
アイスランド 0 0 0 0 1

ワンホット エンコーディングにより、モデルは 5 つの国のそれぞれに基づいて異なる接続を学習できます。

特徴を数値データとして表す方法は、ワンホット エンコーディングに代わる方法です。残念ながら、スカンジナビア諸国を数字で表すことはおすすめしません。たとえば、次の数値表現を考えてみましょう。

  • "Denmark" は 0 です
  • "Sweden" は 1
  • 「Norway」は 2 です
  • 「Finland」は 3
  • 「アイスランド」は 4

数値エンコードでは、モデルは未加工の数値を数学的に解釈し、その数値でトレーニングを試みます。しかし、アイスランドはノルウェーの 2 倍(半分)ではないので、モデルは奇妙な結論を導き出します。

ワンショット学習

オブジェクトの分類によく使用される ML のアプローチで、1 つのトレーニング サンプルから効果的な分類器を学習するように設計されています。

少数ショット学習ゼロショット学習もご覧ください。

ワンショット プロンプト

#language
#生成 AI

大規模言語モデルがどのように応答すべきかを示す 1 つの例を含むプロンプト。たとえば、次のプロンプトには、大規模言語モデルがどのようにクエリに応答するかを示す 1 つの例が含まれています。

1 つのプロンプトの構成要素 メモ
指定された国の公式通貨は何ですか? LLM に回答してほしい質問。
フランス: EUR 一例です。
インド: 実際のクエリ。

ワンショット プロンプトと以下の用語を比較対照してください。

1 対すべて

#fundamentals

N 個のクラスでの分類問題の場合、N 個の個別のバイナリ分類器(可能な結果ごとに 1 つのバイナリ分類器)で構成されるソリューション。たとえば、サンプルを動物、野菜、鉱物に分類するモデルの場合、1 対 1 のソリューションでは、次の 3 つのバイナリ分類器が提供されます。

  • 動物と動物ではない
  • 野菜かそうでないか
  • 鉱物か非鉱物か

online

#fundamentals

dynamic と同義です。

オンライン推論

#fundamentals

オンデマンドでの予測の生成。たとえば、アプリが入力をモデルに渡し、予測のリクエストを発行するとします。オンライン推論を使用するシステムは、モデルを実行して予測をアプリに返すことにより、リクエストに応答します。

オフライン推論と対比します。

オペレーション(op)

#TensorFlow

TensorFlow において、テンソルを作成、操作、または破棄するプロシージャ。たとえば、行列乗算は、2 つのテンソルを入力として受け取り、1 つのテンソルを出力として生成する演算です。

オプタックス

JAX 用の勾配処理および最適化ライブラリ。Optax は、独自の方法で組み合わせてディープ ニューラル ネットワークなどのパラメトリック モデルを最適化できる構成要素を提供することで、研究を促進しています。その他の目標:

  • コア コンポーネントの読み取り可能で十分にテストされた効率的な実装を提供する。
  • 低レベルの材料をカスタム オプティマイザー(またはその他の勾配処理コンポーネント)に結合できるようにすることで、生産性を向上させます。
  • 誰でも簡単に貢献できるようにすることで、新しいアイデアの採用を加速する。

オプティマイザー

勾配降下法アルゴリズムの特定の実装。よく使用されるオプティマイザーは次のとおりです。

  • AdaGrad。適応型勾配降下法の略です。
  • Adam(ADAptive with Momentum)の略です。

外グループ均一性バイアス

#fairness

態度、価値観、性格などの特性を比較する際に、グループ外のメンバーがグループ内メンバーよりも類似していると考える傾向。「グループ内」は定期的にやり取りするユーザーを指し、「グループ外」は普段やり取りしていないユーザーを指します。外部グループに関する属性を入力するようにユーザーに依頼してデータセットを作成すると、それらの属性は、参加者がグループ内の人物に対してリストする属性よりも微妙で、固定観念に富む可能性があります。

たとえば、リリプット家は、建築様式、窓、ドア、サイズのわずかな違いを引用して、他のリリプット家の家について詳しく説明するかもしれません。しかし、同じリリプト族は、ブロブディンナギ族は全員同じ家に住んでいると宣言するだけかもしれません。

外部グループ均一性バイアスは、グループ アトリビューション バイアスの一種です。

グループ内バイアスもご覧ください。

外れ値検出

トレーニング セット外れ値を特定するプロセス。

特異点検知とは対照的です。

考慮する

他のほとんどの値から遠い値。ML では、次のいずれかが外れ値になります。

  • 平均からの標準偏差が約 3 を超える値を持つ入力データ。
  • 絶対値が高い重み
  • 実際の値から比較的遠い予測値。

たとえば、widget-price が特定のモデルの特徴であるとします。平均 widget-price が 7 ユーロ、標準偏差 1 ユーロとします。したがって、12 ユーロまたは 2 ユーロの widget-price を含む例は、それぞれの価格が平均から標準偏差 5 つであるため、外れ値とみなされます。

外れ値は多くの場合、入力ミスや入力ミスが原因で発生します。それ以外の場合、外れ値は間違いではありません。結局のところ、平均から標準偏差 5 つ離れている値はまれですが、不可能になることはほとんどありません。

多くの場合、外れ値はモデルのトレーニングで問題を引き起こします。クリッピングは、外れ値を管理する方法の一つです。

OOB 評価(OOB 評価)

#df

ディシジョン ツリーを、そのディシジョン ツリーのトレーニング中に使用されないサンプルに対してテストすることで、ディシジョン フォレストの品質を評価するメカニズム。たとえば次の図では、システムが各ディシジョン ツリーを約 3 分の 2 の例でトレーニングし、残りの 3 分の 1 の例に対して評価しています。

3 つのディシジョン ツリーで構成されるディシジョン フォレスト。1 つのディシジョン ツリーでは、3 分の 2 のサンプルでトレーニングを行い、残りの 3 分の 1 を OOB 評価に使用します。2 つ目のディシジョン ツリーは前のディシジョン ツリーとは異なるサンプルの 3 分の 2 でトレーニングし、前のディシジョン ツリーとは異なる 3 分の 1 を OOB 評価に使用します。

バッグ外評価は、交差検証メカニズムの計算効率的で控えめな近似です。交差検証では、交差検証ラウンドごとに 1 つのモデルがトレーニングされます(たとえば、10 回の交差検証では 10 個のモデルがトレーニングされます)。OOB 評価では、1 つのモデルをトレーニングします。バギングではトレーニング中に各ツリーから一部のデータが除外されるため、OOB 評価ではそのデータを使用して交差検証を近似できます。

出力層

#fundamentals

ニューラル ネットワークの「最終」レイヤ。出力レイヤに予測が含まれます。

次の図は、入力レイヤ、2 つの隠しレイヤ、出力レイヤがある小規模なディープ ニューラル ネットワークを示しています。

入力層が 1 つ、隠れ層が 2 つ、出力層が 1 つあるニューラル ネットワーク。入力レイヤは 2 つの特徴で構成されています。最初の隠れ層は 3 つのニューロンで構成され、2 番目の隠れ層は 2 つのニューロンで構成されています。出力レイヤは単一のノードで構成されます。

過剰適合

#fundamentals

トレーニング データmodelとほぼ一致するモデルmodelを作成して、モデルが新しいデータに対して正しい予測を行えなくなる。

正則化により過学習を削減できます。大規模で多様なトレーニング セットでトレーニングすることでも、過学習を減らすことができます。

オーバーサンプリング

よりバランスのとれたトレーニング セットを作成するために、クラス不均衡なデータセット内の少数派クラスを再利用する。

たとえば、バイナリ分類の問題を考えてみましょう。ここで、過半数クラスと少数派クラスとの比が 5,000:1 です。データセットに 100 万のサンプルが含まれている場合、データセットには少数派クラスのサンプルが約 200 個しか含まれておらず、効果的なトレーニングを行うにはサンプルが少なすぎる可能性があります。この不備を克服するには、この 200 のサンプルを複数回オーバーサンプリング(再利用)して、有用なトレーニングに十分なサンプルが得られる可能性があります。

オーバーサンプリングを行う際は、過学習に注意する必要があります。

アンダーサンプリングとは対照的です。

P

パックされたデータ

データをより効率的に保存するためのアプローチ。

パックされたデータは、圧縮形式を使用するか、より効率的なアクセスを可能にするその他の方法でデータを保存します。パックされたデータを使用すると、データへのアクセスに必要なメモリ量と計算量が最小限に抑えられ、トレーニングの高速化とモデルの推論の効率化が可能になります。

パックデータは、データの拡張正則化などの他の手法と併用されることが多く、モデルのパフォーマンスをさらに向上させます。

pandas

#fundamentals

numpy 上に構築された列指向のデータ分析 API。TensorFlow を含む多くの機械学習フレームワークは、入力として pandas データ構造をサポートしています。詳細については、pandas のドキュメントをご覧ください。

パラメータ

#fundamentals

モデルがトレーニング中に学習する重みバイアス。たとえば、線形回帰モデルでは、パラメータは次の式のバイアス(b)とすべての重み(w1w2 など)で構成されます。

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

一方、ハイパーパラメータは、ユーザー(またはハイパーパラメータ ターニング サービス)がモデルに提供する値です。たとえば、学習率はハイパーパラメータです。

パラメータ効率調整

#language
#生成 AI

大規模な事前トレーニング済み言語モデル(PLM)を完全な微調整よりも効率的に微調整する一連の手法。パラメータ効率調整でファインチューニングするパラメータは、フルファインチューニングよりもはるかに少ないのが一般的ですが、フルファインチューニングで構築された大規模言語モデルと同等(またはほぼ同じ)のパフォーマンスを発揮する大規模言語モデルが生成されます。

パラメータ効率調整と以下を比較対照します。

パラメータ効率調整は、パラメータ効率ファインチューニングとも呼ばれます。

パラメータ サーバー(PS)

#TensorFlow

分散設定でモデルのパラメータを追跡するジョブ。

パラメータの更新

トレーニング中にモデルのパラメータを調整するオペレーション。通常は勾配降下法の 1 回の反復の中で行われます。

偏導関数

1 つの変数を除くすべてを定数とみなされる導関数。 たとえば、x に関する f(x, y) の偏導関数は、f の導関数で、x のみの関数とみなされます(つまり、y を一定に維持します)。x に関する f の偏導関数は、x がどのように変化するかにのみ焦点を当て、方程式の他のすべての変数を無視します。fff

参加バイアス

#fairness

「無回答バイアス」と同義です。選択バイアスをご覧ください。

パーティショニング戦略

変数を複数のパラメータ サーバーに分割するアルゴリズム。

パックス

複数の TPU アクセラレータ チップ スライスまたは Pod にまたがるような大規模なニューラル ネットワーク モデルのトレーニング用に設計されたプログラミング フレームワーク。

Pax は JAX 上に構築された Flax 上に構築されています。

ソフトウェア スタック内での Pax の位置を示す図。Pax は JAX 上に構築されています。Pax 自体は 3 つのレイヤで構成されています一番下のレイヤには、TensorStore と Flax が含まれています。中央のレイヤには Optax と Flaxformer が含まれています。最上位レイヤには、Praxis Modeling Library が含まれています。Fiddle は Pax 上に構築されています。

パーセプトロン

1 つ以上の入力値を取り、入力の加重合計に対して関数を実行して、単一の出力値を計算するシステム(ハードウェアまたはソフトウェア)。ML では、関数は通常、ReLUシグモイドtanh など非線形です。たとえば、次のパーセプトロンは、シグモイド関数を使用して 3 つの入力値を処理します。

$$f(x_1, x_2, x_3) = \text{sigmoid}(w_1 x_1 + w_2 x_2 + w_3 x_3)$$

次の図では、パーセプトロンが 3 つの入力を受け取り、それぞれがパーセプトロンに入る前に重みによって変更されています。

3 つの入力を受け取り、それぞれに個別の重みを乗算するパーセプトロン。パーセプトロンは単一の値を出力します。

パーセプトロンは、ニューラル ネットワークニューロンです。

公演

次の意味を持つ多重用語:

  • ソフトウェア エンジニアリングにおける標準的な意味。つまり ソフトウェアの実行速度は どのくらい(または効率的か)か
  • ML における意味。ここでは、パフォーマンスから、このmodelはどの程度正しいかという問いに対する答えが得られます。つまり、モデルの予測はどの程度適切か、ということです。

順列の変数の重要度

#df

特徴の値を並べ替えたのモデルの予測誤差の増加を評価する変数の重要度のタイプ。並べ替え変数の重要度は、モデルに依存しない指標です。

パープレキシティ

モデルmodelがタスクをどの程度適切に遂行しているかを示す尺度の一つです。たとえば、ユーザーがスマートフォンのキーボードで入力している単語の最初の数文字を読み取り、補完する可能性のある単語のリストを提供するとします。このタスクのパープレキシティ(P)は、ユーザーが入力しようとしている実際の単語をリストに含めるために提供する必要があるおおよその推測数です。

パープレキシティは、次のように交差エントロピーと関係があります。

$$P= 2^{-\text{cross entropy}}$$

pipeline

ML アルゴリズムを取り巻くインフラストラクチャ。パイプラインには、データの収集、トレーニング データファイルへのデータの保存、1 つ以上のモデルのトレーニング、本番環境へのモデルのエクスポートが含まれます。

パイプライン処理

#language

モデル並列処理の一形態。モデルの処理が連続するステージに分割され、各ステージが異なるデバイスで実行されます。ステージが 1 つのバッチを処理している間、前のステージは次のバッチで作業できます。

ステージングされたトレーニングもご覧ください。

PJIT

コードを分割して複数のアクセラレータ チップで実行する JAX 関数。ユーザーが pjit に関数を渡すと、同等のセマンティクスを持つものの、複数のデバイス(GPU または TPU コアなど)で実行される XLA 計算にコンパイルされる関数が返されます。

pjit では、SPMD パーティション分割を使用することで、書き換えることなく計算をシャーディングできます。

2023 年 3 月に、pjitjit に統合されました。詳細については、分散配列と自動並列化をご覧ください。

PLM

#language
#生成 AI

事前トレーニング済み言語モデルの略語。

pmap

さまざまな入力値を使用して、基盤となる複数のハードウェア デバイス(CPU、GPU、または TPU)で入力関数のコピーを実行する JAX 関数。pmap は SPMD に依存します。

policy

#rl

強化学習では、エージェント状態からアクションへの確率的マッピング。

プーリング

#image

以前の畳み込み層によって作成された行列をより小さな行列に縮小する。プーリングでは通常、プールされた領域全体の最大値または平均値を取得します。たとえば、次の 3x3 マトリックスがあるとします。

3x3 行列 [[5,3,1], [8,2,5], [9,4,3]]。

プーリング演算は、畳み込み演算と同様に、その行列をスライスに分割し、その畳み込み演算をストライドでスライドします。たとえば、プーリング演算によって畳み込み行列が 1x1 のストライドで 2x2 のスライスに分割されたとします。次の図に示すように、4 つのプーリング オペレーションが行われます。各プーリング オペレーションで、そのスライス内の 4 つの最大値が選択されるとします。

入力行列は 3x3 で、値は [[5,3,1], [8,2,5], [9,4,3]] です。入力行列の左上の 2x2 サブ行列は [[5,3], [8,2]] であるため、左上のプーリング演算により値 8(5、3、8、2 の最大値)が生成されます。入力行列の右上の 2x2 サブ行列は [[3,1], [2,5]] であるため、右上のプーリング演算により値 5 が生成されます。入力行列の左下の 2x2 サブ行列は [[8,2], [9,4]] であるため、左下のプーリング演算では値 9 が生成されます。入力行列の右下の 2x2 サブ行列は [[2,5], [4,3]] であるため、右下のプーリング演算により値 5 が生成されます。まとめると、プーリング演算により 2 × 2 の行列 [[8,5], [9,5]] が得られます。

プーリングにより、入力行列の翻訳不変性を適用できます。

ビジョン アプリケーション用のプーリングは、より正式には空間プーリングと呼ばれています。通常、時系列アプリケーションでは、プーリングを「時間プーリング」と呼びます。やや形式的には、プーリングは「サブサンプリング」または「ダウンサンプリング」と呼ばれることもあります。

位置エンコード

#language

シーケンス内のトークンの位置に関する情報をトークンのエンベディングに追加する手法。Transformer モデルでは、位置エンコードを使用して、シーケンスのさまざまな部分間の関係をより深く理解します。

位置エンコードの一般的な実装では、正弦関数を使用します。(具体的には、正弦関数の頻度と振幅は、シーケンス内のトークンの位置によって決定されます)。この手法により、Transformer モデルは位置に基づいてシーケンスのさまざまな部分に対応することを学習できます。

陽性クラス

#fundamentals

テスト対象のクラス。

たとえば、がんモデルの陽性クラスは「tumor」かもしれません。メールの分類器で陽性のクラスが「迷惑メール」であることもあります。

陰性クラスとは対照的です。

後処理

#fairness
#fundamentals

モデルの実行後にモデルの出力を調整する。後処理を使用して、モデル自体を変更することなく、公平性の制約を適用できます。

たとえば、属性のすべての値で真陽性率が同じであることを確認することで、なんらかの属性の機会の平等が維持されるように分類しきい値を設定して、バイナリ分類器に後処理を適用できます。

PR AUC(PR 曲線下面積)

分類しきい値のさまざまな値に対して(再現率、適合率)ポイントをプロットすることによって取得される、補間された適合率 / 再現率曲線の下の面積。PR AUC は、その計算方法によっては、モデルの平均適合率と同等になる場合があります。

実践

Pax のコア高パフォーマンス ML ライブラリ。Praxis はよく「レイヤライブラリ」と呼ばれます。

Praxis には、Layer クラスの定義だけでなく、次のようなサポート コンポーネントの大部分も含まれています。

Praxis は Model クラスの定義を提供します。

precision

次の質問に答える分類モデルの指標。

モデルが陽性クラスを予測したとき、予測のうち何パーセントが正しかったでしょうか。

式は次のとおりです。

$$\text{Precision} = \frac{\text{true positives}} {\text{true positives} + \text{false positives}}$$

ここで

  • 真陽性とは、モデルが陽性クラスを正しく予測したことを意味します。
  • 偽陽性は、モデルが陽性クラスを誤って予測したことを意味します。

たとえば、モデルが 200 件の陽性予測を行ったとします。これら 200 件の陽性の予測のうち、

  • 150 が真陽性でした。
  • 50 件が偽陽性でした。

次のような場合があります。

$$\text{Precision} = \frac{\text{150}} {\text{150} + \text{50}} = 0.75$$

accuracyrecall を比較します。

適合率と再現率の曲線

さまざまな分類しきい値における適合率再現率の曲線。

予測

#fundamentals

モデルの出力。次に例を示します。

  • バイナリ分類モデルの予測は、陽性クラスまたは陰性クラスのいずれかです。
  • マルチクラス分類モデルの予測は 1 つのクラスです。
  • 線形回帰モデルの予測は数値です。

予測バイアス

予測の平均がデータセット内のラベルの平均からどの程度離れているかを示す値。

ML モデルのバイアスという用語や、倫理と公平性におけるバイアスと混同しないでください。

予測 ML

標準的な(「クラシック」)ML システム。

予測 ML という用語には正式な定義はありません。この用語は、生成 AI基づかない ML システムのカテゴリを区別するものです。

予測同等性

#fairness

公平性指標。特定の分類器の適合率率が、検討中のサブグループで同等であるかどうかをチェックします。

たとえば、大学の受け入れを予測するモデルは、リリプット派とブロブディン人派の適合率が同じであれば、国籍の予測同等性を満たします。

予測パリティは、予測レートパリティとも呼ばれます。

予測同等性の詳細については、「公平性の定義の説明」(セクション 3.2.1)をご覧ください。

予測率の同等性

#fairness

予測パリティの別名。

前処理

#fairness
モデルのトレーニングに使用する前にデータを処理する。前処理は、英語辞書に存在しない英語テキスト コーパスから単語を削除するだけの簡単なものから、機密性の高い属性と相関する属性をできるだけ多く排除するようにデータポイントを再表現するような複雑なものになります。前処理は、公平性の制約を満たすのに役立ちます。

事前トレーニング済みモデル

#language
#image
#生成 AI

トレーニング済みのモデルまたはモデル コンポーネント(エンベディング ベクトルなど)。事前トレーニング済みのエンベディング ベクトルをニューラル ネットワークにフィードすることもあります。また、事前にトレーニングされたエンベディングに依存せずに、モデルがエンベディング ベクトル自体をトレーニングする場合もあります。

事前トレーニング済み言語モデルという用語は、事前トレーニングが実施されている大規模言語モデルを指します。

事前トレーニング

#language
#image
#生成 AI

大規模なデータセットでのモデルの初期トレーニング。一部の事前トレーニング済みモデルは扱いにくいため、通常は追加のトレーニングによって改良する必要があります。たとえば、ML のエキスパートは、膨大なテキスト データセット(Wikipedia の全英語ページなど)で大規模言語モデルを事前にトレーニングできます。結果として得られるモデルは、事前トレーニングの後、次のいずれかの手法でさらに細かく調整できます。

先入観

データに関するトレーニングを開始する前に、データについて自分が何を信じているか。たとえば、L2 正則化は、重みは小さく、通常は 0 を中心として分散されるべきであるという従来の信念に基づいています。

確率的回帰モデル

特徴重みだけでなく、それらの重みの不確実性も使用する回帰モデル。確率的回帰モデルは、予測とその予測の不確実性を生成します。たとえば、確率的回帰モデルでは、標準偏差 12、325 の予測が生成される場合があります。確率的回帰モデルの詳細については、tensorflow.org の Colab をご覧ください。

確率密度関数

特定の値を持つデータサンプルの頻度を特定する関数。データセットの値が連続した浮動小数点数の場合、完全一致はめったに発生しません。ただし、確率密度関数を値 x から値 y に「統合」integratingすると、x から y までのデータサンプルの予想頻度が得られます。

たとえば、平均が 200、標準偏差が 30 の正規分布について考えてみましょう。211.4 ~ 218.7 の範囲内にあるデータサンプルの予想される頻度を求めるには、211.4 ~ 218.7 の正規分布に対する確率密度関数を積分します。

プロンプト

#language
#生成 AI

大規模言語モデルに入力として入力されたテキスト。モデルが特定の方法で動作するように条件付けます。プロンプトは、フレーズのように短くても、任意の長さ(小説のテキスト全体)にすることもできます。プロンプトは、次の表に示すように複数のカテゴリに分類されます。

プロンプトのカテゴリ メモ
質問 ハトの飛行速度は?
手順 アービトラージについての面白い詩を書いて。 大規模言語モデルに何かを行うよう求めるプロンプト。
マークダウン コードを HTML に変換します。例:
マークダウン: * リスト項目
HTML: <ul> <li>リスト項目</li> </ul>
このサンプル プロンプトの最初の文は指示です。プロンプトの残りの部分は例です。
ロール Physics で博士号を取得するための ML トレーニングに勾配降下法が使用される理由を説明する。 文の最初の部分は指示です。「to a PhD in Physics」というフレーズは役割部分です。
モデルを完成させるための部分的な入力 英国首相の所在地は 部分入力プロンプトは、(この例のように)突然終了することも、アンダースコアで終了することもできます。

生成 AI モデルは、テキスト、コード、画像、エンベディング、動画など、ほとんどあらゆるものを使用してプロンプトに応答できます。

プロンプト ベースの学習

#language
#生成 AI

特定のモデルの機能。任意のテキスト入力(プロンプト)に応じて動作を適応させることができます。一般的なプロンプト ベースの学習パラダイムでは、大規模言語モデルがプロンプトに応答してテキストを生成します。たとえば、ユーザーが次のプロンプトを入力するとします。

ニュートンの運動の第 3 法則を要約して。

プロンプト ベースの学習が可能なモデルは、以前のプロンプトに応答するように特別にトレーニングされていません。むしろ、このモデルは物理学に関する多くの事実、一般的な言語ルールについて多く、一般的に有用な回答を構成する内容について多くのことを「認識」しています。この知識があれば、(うまくいけば)有用な回答を提供するには十分です。一部のプロンプト ベースの学習システムでは、人間による追加のフィードバック(「その回答が複雑すぎました」、「リアクションは何ですか?」など)を使用して、回答の有用性を徐々に向上させることができます。

プロンプト設計

#language
#生成 AI

プロンプト エンジニアリングと同義です。

プロンプト エンジニアリング

#language
#生成 AI

大規模言語モデルから望ましいレスポンスを引き出すプロンプトを作成する技術。プロンプト エンジニアリングは人間が行います。適切に構造化されたプロンプトを作成することは、大規模言語モデルから有用なレスポンスを実現するための不可欠な要素です。プロンプト エンジニアリングは、次のようなさまざまな要因に左右されます。

有用なプロンプトの作成方法の詳細については、プロンプト設計の概要をご覧ください。

プロンプト設計は、プロンプト エンジニアリングと同義です。

プロンプト調整

#language
#生成 AI

システムが実際のプロンプトの先頭に付加される「接頭辞」を学習するパラメータ効率調整メカニズム。

プロンプト調整のバリエーションの一つ(プレフィックス チューニングとも呼ばれます)では、すべてのレイヤで接頭辞を付加します。一方、ほとんどのプロンプト調整では、入力レイヤに接頭辞を追加するだけです。

プロキシラベル

#fundamentals

データセットで直接利用できないラベルを近似するために使用するデータ。

たとえば、従業員のストレスレベルを予測するモデルをトレーニングする必要があるとします。データセットには多くの予測特徴が含まれていますが、ストレスレベルというラベルは含まれていません。ストレスレベルの代理ラベルとして「職場での事故」を選択します。結局のところ、ストレスが強い従業員は落ち着いている従業員よりも多くの事故に遭います。実際に使用されているのか、職場での事故は複数の理由で 上下する場合があります

2 つ目の例として、「雨が降っていますか?」をデータセットのブール値ラベルにしたいが、データセットに雨のデータが含まれていないとします。写真がある場合は、「雨が降っているか」の代理ラベルとして、傘を携帯している人の画像を設定するとよいでしょう。これは適切なプロキシラベルでしょうか?おそらく可能ですが、文化によっては雨よりも日差しから守るために傘を持っていく傾向があります。

多くの場合、プロキシラベルは不完全なものです。可能であれば、プロキシラベルではなく実際のラベルを選択します。ただし、実際のラベルがない場合は、最も恐ろしいプロキシラベルの候補を慎重に選択し、プロキシラベルを選択してください。

プロキシ(機密属性)

#fairness
機密属性の代用となる属性。たとえば、個人の郵便番号は、所得、人種、民族の代用として使用できます。

純関数

出力が入力のみに基づいており、副作用がない関数。具体的には、純粋な関数はグローバル状態(ファイルの内容や関数の外部の変数の値など)を使用または変更しません。

純粋な関数を使用してスレッドセーフなコードを作成できます。これは、モデルmodelコードを複数のアクセラレータ チップmodelにシャーディングする場合に役立ちます。

JAX の関数変換メソッドでは、入力関数が純粋な関数である必要があります。

Q

Q 関数

#rl

強化学習において、状態アクションを実行し、特定のポリシーに従う場合に予想されるリターンを予測する関数。

Q 関数は状態 - 行動値関数とも呼ばれます。

Q ラーニング

#rl

強化学習において、ベルマンの式を適用して、エージェントマルコフ決定プロセスの最適な Q 関数を学習できるようにするアルゴリズム。マルコフ決定プロセスは環境をモデル化します。

分位数

分位点バケットの各バケット。

分位点のバケット化

各バケットに同じ(またはほぼ同じ)数の例が含まれるように、特徴の値をバケットに分散します。たとえば、次の図では 44 ポイントを 4 つのバケットに分割し、それぞれに 11 ポイントが含まれています。図の各バケットに同じ数のポイントが含まれるように、一部のバケットは異なる幅の x 値にまたがっています。

44 個のデータポイントを、それぞれ 11 ポイントの 4 つのバケットに分割。
          各バケットに含まれているデータポイントの数は同じですが、一部のバケットには他のバケットよりも幅広い特徴値が含まれています。

量子化

以下のいずれかの方法で使用される可能性がある過多な用語:

  • 特定の特徴分位点バケットを実装する。
  • 保存、トレーニング、推論を高速化するためにデータを 0 と 1 に変換する。ブール値データは他の形式よりもノイズやエラーに対して堅牢であるため、量子化によってモデルの正確性を高めることができます。量子化手法には、丸め、切り捨て、ビニングなどがあります。
  • モデルのパラメータを格納するために使用されるビット数を減らす。たとえば、モデルのパラメータが 32 ビット浮動小数点数として保存されるとします。量子化により、これらのパラメータが 32 ビットから 4、8、または 16 ビットに変換されます。量子化によって次のものが削減されます。

    • コンピューティング、メモリ、ディスク、ネットワークの使用量
    • 述語の推測に要する時間
    • 消費電力

    ただし、量子化によってモデルの予測の正確性が低下することがあります。

キュー

#TensorFlow

キューデータ構造を実装する TensorFlow オペレーション。通常は I/O で使用されます。

R

RAG

#fundamentals

取得拡張生成の略語。

ランダム フォレスト

#df

ディシジョン ツリーアンサンブル。各ディシジョン ツリーは、バギングなどの特定のランダムノイズでトレーニングされます。

ランダム フォレストはデシジョン フォレストの一種です。

ランダム ポリシー

#rl

強化学習では、アクションをランダムに選択するポリシー

ランキング

アイテムのリストの並べ替えを目的としている教師あり学習の一種。

ランク(順序)

クラスを降順で分類する ML 問題におけるクラスの順序位置。たとえば、行動ランキング システムでは、犬の報酬を最も高い(ステーキ)から最も低い(しおれたケール)にランク付けできます。

階数(テンソル)

#TensorFlow

テンソルの次元数。たとえば、スカラーはランク 0、ベクトルはランク 1、行列はランク 2 です。

rank (ordinality) と混同しないでください。

評価者

#fundamentals

ラベルを指定する人間。「Annotator」は評価者の別名です。

recall

次の質問に答える分類モデルの指標。

グラウンド トゥルース陽性クラスの場合、モデルは何パーセントの予測を陽性クラスと正しく識別したか。

式は次のとおりです。

\[\text{Recall} = \frac{\text{true positives}} {\text{true positives} + \text{false negatives}} \]

ここで

  • 真陽性とは、モデルが陽性クラスを正しく予測したことを意味します。
  • 偽陰性とは、モデルが陰性クラスを誤って予測したことを意味します。

たとえば、正解が陽性のクラスであるサンプルに対してモデルが 200 件の予測を行ったとします。これら 200 件の予測のうち、

  • 180 が真陽性でした。
  • 20 件は偽陰性でした。

次のような場合があります。

\[\text{Recall} = \frac{\text{180}} {\text{180} + \text{20}} = 0.9 \]

レコメンデーション システム

#recsystems

各ユーザーに対し、大規模なコーパスから比較的少数の望ましいアイテムを選択するシステム。たとえば、動画レコメンデーション システムでは、100,000 本の動画のコーパスから 2 本の動画をおすすめする場合があります。1 人のユーザーには「Casablanca」と「The Philadelphia Story」、もう 1 人のユーザーには「Wonder Woman」と「Black Panther」を選択します。動画レコメンデーション システムは、次のような要素に基づいておすすめ動画を提示します。

  • 類似のユーザーが評価または視聴した映画。
  • ジャンル、監督、俳優、ターゲット層...

正規化線形ユニット(ReLU)

#fundamentals

次の動作をする活性化関数

  • 入力が負またはゼロの場合、出力は 0 です。
  • 入力が正の場合、出力は入力と等しくなります。

次に例を示します。

  • 入力が -3 の場合、出力は 0 です。
  • 入力が +3 の場合、出力は 3.0 です。

ReLU のプロットを次に示します。

2 本の直線のデカルト プロット。最初の線の y 値は 0 で、x 軸に沿って -infinity,0 から 0,-0 まで続きます。2 行目は 0,0 から始まります。この直線の傾きは +1 で、0,0 から +infinity,+infinity になります。

ReLU は、非常に一般的な活性化関数です。ReLU は、単純な動作にもかかわらず、ニューラル ネットワークが特徴ラベル間の非線形関係を学習できるようにします。

回帰型ニューラル ネットワーク

#seq

意図的に複数回実行されるニューラル ネットワーク。各実行の一部が次の実行にフィードされます。具体的には、前回の実行の隠しレイヤが、次の実行で同じ隠しレイヤに入力の一部を提供します。再帰型ニューラル ネットワークは、シーケンスの評価に特に有用です。これにより、隠れ層はシーケンスの前の部分でのニューラル ネットワークの実行から学習できます。

たとえば次の図は、4 回実行される再帰型ニューラル ネットワークを示しています。最初の実行で隠しレイヤで学習した値は、2 回目の実行で同じ隠しレイヤへの入力の一部になります。同様に、2 回目の実行で隠しレイヤで学習した値は、3 回目の実行で同じ隠しレイヤへの入力の一部になります。このようにして、再帰型ニューラル ネットワークは個々の単語の意味だけでなく、シーケンス全体の意味を徐々にトレーニングして予測します。

4 つの入力単語を処理するために 4 回実行される RNN。

回帰モデル

#fundamentals

非公式に、数値予測を生成するモデル。(これに対して、分類モデルはクラス予測を生成します)。たとえば、すべて回帰モデルは次のとおりです。

  • 特定の住宅の価格(423,000 ユーロなど)を予測するモデル。
  • 特定の樹木の寿命(23.2 年など)を予測するモデル。
  • 特定の都市で今後 6 時間に降る雨量を予測するモデル(例: 0.18 インチ)。

一般的な回帰モデルには次の 2 種類があります。

  • 線形回帰。ラベル値が特徴に最も適合する直線を検出します。
  • ロジスティック回帰。これは、通常、システムがクラス予測にマッピングする確率を 0.0 ~ 1.0 の範囲で生成します。

数値予測を出力するすべてのモデルが回帰モデルであるわけではありません。場合によっては、数値予測は、たまたま数値クラス名を持つ単なる分類モデルになります。たとえば、数値の郵便番号を予測するモデルは分類モデルであり、回帰モデルではありません。

正則化

#fundamentals

過学習を減らすメカニズム。一般的な正則化の種類は次のとおりです。

正則化は、モデルの複雑さに対するペナルティとして定義することもできます。

正則化率

#fundamentals

トレーニング中の正則化の相対的な重要度を指定する数値。正則化率を上げると過学習は軽減されますが、モデルの予測能力が低下する可能性があります。逆に、正則化率を減らすか省略すると、過学習が増加します。

強化学習(RL)

#rl

最適なポリシーを学習するアルゴリズム ファミリー。その目標は、環境とやり取りする際のリターンを最大化することです。たとえば、ほとんどのゲームでは、勝利が最大の報酬になります。 強化学習システムは、最終的に勝利につながり、最終的に負けにつながる一連のゲームの動きを評価することで、複雑なゲームをプレイすることに長けています。

人間からのフィードバックを用いた強化学習(RLHF)

#生成 AI
#rl

人間の評価者からのフィードバックを使用して、モデルのレスポンスの品質を向上させます。たとえば、RLHF メカニズムでは、モデルのレスポンスの品質を 👍? または spreadsheet の絵文字で評価するようユーザーに要求できます。システムは、そのフィードバックに基づいて将来のレスポンスを調整できます。

ReLU

#fundamentals

正規化線形ユニットの略語。

リプレイ バッファ

#rl

DQN のようなアルゴリズムで、エクスペリエンスのリプレイで使用する状態遷移を保存するためにエージェントが使用するメモリ。

レプリカ

トレーニング セットまたはモデルのコピー。通常は別のマシン上にあります。たとえば、システムはデータ並列処理を実装するために次の戦略を使用できます。

  1. 既存のモデルのレプリカを複数のマシンに配置します。
  2. トレーニング セットの異なるサブセットを各レプリカに送信する。
  3. パラメータの更新を集約します。

報告バイアス

#fairness

行動、結果、特性について人が書く頻度は、現実世界の頻度や、ある特性があるクラスの個人の特徴である度合いを反映していません。報告バイアスは ML システムが学習する データの構成に影響を与える可能性があります

たとえば、書籍では「笑い」という単語が「呼吸」よりも多く使われています。本のコーパスから笑いと呼吸の相対的な頻度を推定する ML モデルでは、呼吸よりも笑顔のほうが一般的であると判断される可能性があります。

「bank」が

データを有用な特徴にマッピングするプロセス。

ランキングの見直し

#recsystems

レコメンデーション システムの最終ステージ。スコア付けされた項目は、他の(通常は ML 以外の)アルゴリズムに従って再採点されます。再ランキングでは、スコアリング フェーズで生成されたアイテムのリストが評価され、次のようなアクションが行われます。

  • ユーザーが購入済みのアイテムを除外する。
  • 新鮮なアイテムのスコアを上昇させる。

検索拡張生成(RAG)

#fundamentals

大規模言語モデル(LLM)の出力を、モデルのトレーニング後に取得した知識ソースで根拠づけることで品質を向上させる手法。RAG は、トレーニング済みの LLM が信頼できるナレッジベースやドキュメントから取得した情報にアクセスできるようにすることで、LLM の応答の精度を向上させます。

検索拡張生成を使用する一般的な動機は次のとおりです。

  • モデルによって生成された回答の事実の精度を高める。
  • モデルがトレーニングされていない知識にアクセスできるようにする
  • モデルが使用する知識の変更
  • モデルで出典を引用できるようにする。

たとえば、化学アプリが PaLM API を使用して、ユーザークエリに関連するサマリーを生成するとします。アプリのバックエンドがクエリを受信すると、バックエンドは:

  1. ユーザーのクエリに関連するデータを検索(取得)します。
  2. ユーザーのクエリに、関連する化学データを追加(「拡張」)します。
  3. 追加データに基づいてサマリーを作成するよう LLM に指示します。

return

#rl

強化学習では、特定のポリシーと特定の状態が与えられた場合、そのリターンは、エージェント状態からエピソードの終わりまでにポリシーに従うときに受け取ると期待するすべての報酬の合計です。エージェントは、報酬の取得に必要な状態遷移に応じて報酬を割引することで、予想される報酬の遅延に対処します。

したがって、割引係数が \(\gamma\)で、 \(r_0, \ldots, r_{N}\)がエピソード終了までの報酬を示す場合、返品の計算は次のようになります。

$$\text{Return} = r_0 + \gamma r_1 + \gamma^2 r_2 + \ldots + \gamma^{N-1} r_{N-1}$$

報奨

#rl

強化学習では、環境によって定義されている、状態行動を行った数値結果。

リッジ正則化

L2 正則化と同義です。リッジ正則化という用語は純粋な統計のコンテキストでより頻繁に使用されますが、L2 正則化は ML でより頻繁に使用されます。

RNN

#seq

再帰型ニューラル ネットワークの略語。

ROC(受信機動作特性)曲線

#fundamentals

バイナリ分類におけるさまざまな分類しきい値での真陽性率偽陽性率のグラフ。

ROC 曲線の形状は、陽性クラスと陰性クラスを分離するバイナリ分類モデルの能力を示唆しています。たとえば、バイナリ分類モデルで、すべての負のクラスとすべての正のクラスが完全に分離されているとします。

右側に 8 つの正例、左側に 7 つの負の例がある数直線。

上のモデルの ROC 曲線は次のようになります。

ROC 曲線。X 軸は偽陽性率、Y 軸は真陽性率です。この曲線は逆 L 字型になります。この曲線は(0.0,0.0)から始まり、(0.0,1.0)までまっすぐに伸びます。この場合、曲線は (0.0,1.0) から (1.0,1.0) になります。

対照的に、次の図は、負のクラスと正のクラスをまったく分離できない不適切なモデルの未加工のロジスティック回帰値をグラフ化しています。

正例と負の分類が完全に混在した数直線。

このモデルの ROC 曲線は次のようになります。

ROC 曲線。実際には、(0.0,0.0) から (1.0,1.0) までの直線です。

一方、現実の世界では、ほとんどのバイナリ分類モデルで陽性クラスと陰性クラスがある程度分離されますが、通常は完璧ではありません。したがって、一般的な ROC 曲線は両極の中間にあります。

ROC 曲線。X 軸は偽陽性率、Y 軸は真陽性率です。ROC 曲線は、コンパス ポイントを西から北に横断する揺れた円弧に近いものです。

理論的には、ROC 曲線上の(0.0,1.0)に最も近いポイントが理想的な分類しきい値を識別します。ただし、理想的な分類しきい値の選択には、他にもいくつかの現実的な問題があります。たとえば、偽陰性は偽陽性よりもはるかに大きな問題を引き起こすことがあります。

AUCAUC という数値指標は、ROC 曲線を単一の浮動小数点値に要約したものです。

ロール プロンプト

#language
#生成 AI

生成 AI モデルのレスポンスの対象グループを特定するプロンプトのオプション部分。ロール プロンプトが表示されない場合、大規模言語モデルは質問者にとって有用かどうか、あるいは有用でない可能性のある回答を提供します。ロール プロンプトを使用すると、大規模言語モデルは、特定の対象者にとってより適切で有用な回答を提供できます。たとえば、次のプロンプトのロール プロンプト部分は太字で表示されています。

  • 経済学の博士号を取得するためにこの記事を要約してください。
  • 10 歳の子どもの潮流の仕組みを説明する。
  • 2008 年の金融危機について説明してください。小さな子どもやゴールデン レトリバーに対して、自然な言葉で話しかけてください。

ルート

#df

ディシジョン ツリーの開始ノード(最初の条件)。慣例として、図ではルートをディシジョン ツリーの一番上に配置します。次に例を示します。

2 つの条件と 3 つのリーフを含むディシジョン ツリー。開始条件(x > 2)がルートです。

ルート ディレクトリ

#TensorFlow

TensorFlow チェックポイントのサブディレクトリと複数のモデルのイベント ファイルをホストするために指定するディレクトリ。

二乗平均平方根誤差(RMSE)

#fundamentals

平均二乗誤差の平方根。

回転不変性

#image

画像分類問題で、画像の向きが変化しても画像を正常に分類するアルゴリズムの能力。たとえば、アルゴリズムはテニスラケットが上、横向き、下を向いているかどうかを識別できます。回転不変性は必ずしも望ましいものではありません。たとえば、逆さまの 9 は 9 に分類すべきではありません。

翻訳不変性サイズ不変性もご覧ください。

決定係数

ラベルの変動の程度が個々の特徴または特徴セットに起因する度合いを示す回帰指標。R 二乗は 0 ~ 1 の値で、次のように解釈できます。

  • R の 2 乗が 0 の場合は、ラベルの変動が特徴セットによるものではないことを意味します。
  • R の 2 乗が 1 の場合、ラベルのバリエーションがすべて特徴セットによるものであることを示します。
  • 0 ~ 1 の R の二乗は、特定の特徴または特徴セットからラベルの変動をどの程度予測できるかを示します。たとえば、R の 2 乗が 0.10 の場合、ラベルの分散の 10% が特徴セットに起因していることを意味し、R の 2 乗が 0.20 の場合、20% が特徴セットによるものであることを示します。

R 二乗は、モデルが予測した値とグラウンド トゥルース間のピアソン相関係数の 2 乗です。

S

サンプリング バイアス

#fairness

選択バイアスをご覧ください。

置換によるサンプリング

#df

同じアイテムを複数回選択できる候補アイテムのセットからアイテムを選択するメソッド。「置換あり」とは、各選択の後に、選択されたアイテムが候補アイテムのプールに戻されることを意味します。逆の手法である「置換なしのサンプリング」では、候補アイテムを 1 回だけ選択できます。

たとえば、次のフルーツ セットについて考えてみましょう。

fruit = {kiwi, apple, pear, fig, cherry, lime, mango}

システムが最初の項目として fig をランダムに選択したとします。置換ありのサンプリングを使用する場合、システムは次のセットから 2 番目の項目を選択します。

fruit = {kiwi, apple, pear, fig, cherry, lime, mango}

はい。これは前と同じセットであるため、システムが再度 fig を選択する可能性があります。

置換なしのサンプリングを使用する場合、一度選択されたサンプルを再度選択することはできません。たとえば、システムが最初のサンプルとして fig をランダムに選択した場合、fig を再度選択することはできません。したがって、システムは次の(リダクションされた)セットから 2 番目のサンプルを選択します。

fruit = {kiwi, apple, pear, cherry, lime, mango}

SavedModel

#TensorFlow

TensorFlow モデルの保存と復元に推奨される形式。SavedModel は、言語に依存しない復元可能なシリアル化形式です。これにより、上位レベルのシステムとツールで TensorFlow モデルを生成、使用、変換できます。

詳細については、TensorFlow プログラマー ガイドの保存と復元の章をご覧ください。

割安便

#TensorFlow

モデルのチェックポイントの保存を担当する TensorFlow オブジェクト

スカラー

ランク 0 のテンソルとして表現できる単一の数値または単一の文字列。たとえば、次のコード行は、それぞれ TensorFlow で 1 つのスカラーを作成します。

breed = tf.Variable("poodle", tf.string)
temperature = tf.Variable(27, tf.int16)
precision = tf.Variable(0.982375101275, tf.float64)

スケーリング

ラベルや特徴値の範囲をシフトする任意の数学変換や手法。一部の形式のスケーリングは、正規化などの変換に非常に役立ちます。

ML で有用なスケーリングの一般的な形式には、次のものがあります。

  • 線形スケーリングでは、通常、減算と除算を組み合わせて元の値を -1 ~+1、または 0 ~ 1 の数値に置き換えます。
  • 対数スケーリング。元の値を対数に置き換えます。
  • Z スコアの正規化。元の値を、その特徴の平均からの標準偏差の数を表す浮動小数点値に置き換えます。

scikit-learn

人気のあるオープンソースの ML プラットフォーム。scikit-learn.org をご覧ください。

スコアリング

#recsystems

レコメンデーション システムの一部。候補生成フェーズで生成された各アイテムの値またはランキングを提供します。

選択バイアス

#fairness

データで観測されたサンプルと観測されなかったサンプルとの間に体系的な差異を生み出す選択プロセスによる、サンプリング データから導き出された結論のエラー。選択バイアスには、次のような形態があります。

  • カバレッジ バイアス: データセットに表示される母集団が、ML モデルで予測を行っている母集団と一致しない。
  • サンプリング バイアス: データはターゲット グループからランダムに収集されません。
  • 非回答バイアス(参加バイアスとも呼ばれます): 特定のグループのユーザーは、他のグループのユーザーとは異なる割合でアンケートをオプトアウトします。

たとえば、映画の楽しさを予測する ML モデルを作成するとします。トレーニング データを収集するため、映画を観る劇場の最前列のすべての人にアンケートを手渡します。一見すると、これはデータセットを収集する合理的な方法に思えるかもしれませんが、この形式のデータ収集では、次の形式の選択バイアスが発生する可能性があります。

  • カバレッジ バイアス: 映画を見ることを選択した母集団からサンプリングした場合、モデルの予測は、映画に対するそのレベルの関心をまだ表現していない人に対して一般化されない可能性があります。
  • サンプリング バイアス: 目的の母集団(映画に登場するすべての人)からランダムにサンプリングするのではなく、最前列の人々のみをサンプリングしました。最前列の人は、他の列の人よりも映画に関心を持っている可能性があります。
  • 無回答バイアス: 一般的に、強い意見を持つ人は、マイルドな意見の人よりもオプション アンケートに頻繁に回答する傾向があります。映画のアンケートはオプションであるため、回答は通常の(ベル型の)分布よりもバイモーダル分布を形成する可能性が高くなります。

セルフ アテンション(セルフ アテンション レイヤとも呼ばれます)

#language

一連のエンベディング(トークン エンベディングなど)を別のエンベディングのシーケンスに変換するニューラル ネットワーク レイヤ。出力シーケンスの各エンベディングは、アテンション メカニズムを介して入力シーケンスの要素からの情報を統合することで構築されます。

自己注意の「自身」の部分とは、他のコンテキストではなく、自身に関係するシーケンスを指します。自己注意は、Transformer の主要な構成要素の 1 つであり、「query」、「key」、「value」などの辞書検索用語を使用します。

自己注意レイヤは、単語ごとに 1 つの入力表現のシーケンスから始まります。単語の入力表現は単純なエンベディングでもかまいません。入力シーケンス内の各単語について、ネットワークは単語シーケンス全体の各要素に対する単語の関連性をスコアリングします。関連性スコアにより、その単語の最終的な表現に他の単語の表現がどの程度組み込まれたかが決まります。

たとえば、次の文について考えてみましょう。

動物は疲れていたため、通りを渡りませんでした。

次の図(Transformer: A Novel Neural Network Architecture for Language Understanding より)は、代名詞 it に対するセルフ アテンション レイヤのアテンション パターンを示しています。各行の濃さは、各単語が表現にどの程度貢献しているかを示しています。

次の文が 2 回出現しています。「動物は疲れていたため、通りを横断しませんでした。1 つの文の代名詞が、別の文の 5 つのトークン(The、Animal、street、it、ピリオド)に接続されています。代名詞 it と Animal という単語の間の線が最も強いです。

セルフ アテンション レイヤでは、「それ」に関連する単語がハイライト表示されます。この場合、アテンション レイヤは、参照する可能性のある単語を強調することを学習し、動物に最も高い重みを割り当てます。

n 個のトークンのシーケンスに対して、セルフアテンションは一連のエンベディング n を、シーケンス内の各位置で 1 回ずつ変換します。

アテンションマルチヘッド セルフ アテンションもご覧ください。

自己教師あり学習

ラベルのないサンプルからサロゲートラベルを作成して、教師なし ML の問題を教師あり ML の問題に変換する一連の手法。

BERT などの一部の Transformer ベースのモデルでは、自己教師あり学習が使用されます。

自己教師ありトレーニングは、半教師あり学習のアプローチです。

自己トレーニング

自己教師あり学習の一種で、次の条件がすべて当てはまる場合に特に役立ちます。

セルフ トレーニングでは、モデルの改善が止まるまで次の 2 つのステップを繰り返します。

  1. 教師あり ML を使用して、ラベル付きサンプルでモデルをトレーニングします。
  2. ステップ 1 で作成したモデルを使用して、ラベルのないサンプルに対して予測(ラベル)を生成し、信頼度が高いサンプルを、予測ラベルを持つラベル付きサンプルに移動します。

ステップ 2 を繰り返すたびに、ステップ 1 のトレーニングに使用するラベル付きサンプルが追加されることに注意してください。

半教師あり学習

ラベルがあるサンプルとないサンプルがあるデータでモデルをトレーニングする。半教師あり学習の手法の 1 つは、ラベルのないサンプルのラベルを推定し、推定されたラベルでトレーニングして新しいモデルを作成することです。半教師あり学習は、ラベルの取得には費用がかかるものの、ラベルなしのサンプルがたくさんある場合に役立ちます。

自己トレーニングは、半教師あり学習の手法の一つです。

機密属性

#fairness
法的、倫理的、社会的、個人的な理由で特別な考慮がなされる人間の属性。

感情分析

#language

統計アルゴリズムまたは ML アルゴリズムを使用して、サービス、プロダクト、組織、トピックに対するグループの全体的な姿勢(ポジティブかネガティブか)を判断する。たとえば、自然言語理解を使用すると、アルゴリズムで大学コースのテキスト フィードバックの感情分析を行い、学生が一般的にコースをどの程度気に入っているか、または低く評価しているかを判断できます。

シーケンス モデル

#seq

入力に順次依存性があるモデル。たとえば、以前に視聴した一連の動画から次に視聴される動画を予測します。

シーケンス ツー シーケンス タスク

#language

トークンの入力シーケンスをトークンの出力シーケンスに変換するタスク。たとえば、次の 2 種類の一般的なシーケンス ツー シーケンス タスクがあります。

  • 翻訳者:
    • 入力シーケンスの例: 「大好き」
    • 出力シーケンスの例: 「Je t'aime」。
  • 質問応答:
    • 入力シーケンスの例: 「ニューヨーク市に車は必要ですか?」
    • 出力シーケンスの例: 「いいえ。車は自宅に置いてください。」

サービングです

トレーニング済みモデルを、オンライン推論またはオフライン推論で予測を提供できるようにするプロセス。

形状(テンソル)

テンソルの各次元内の要素の数。シェイプは整数のリストとして表されます。たとえば、次の 2 次元テンソルの形状は [3,4] です。

[[5, 7, 6, 4],
 [2, 9, 4, 8],
 [3, 6, 5, 1]]

TensorFlow は行優先(C スタイル)形式を使用して次元の順序を表現するため、TensorFlow の形状は [4,3] ではなく [3,4] になります。つまり、2 次元の TensorFlow Tensor では、形状は[行数、列数]となります。

シャード

#TensorFlow
#GoogleCloud

トレーニング セットまたはモデルの論理区分。通常、なんらかのプロセスで、またはパラメータを(通常は)同じサイズのチャンクに分割してシャードを作成します。その後、各シャードは異なるマシンに割り当てられます。

モデルのシャーディングはモデル並列処理と呼ばれ、データのシャーディングはデータ並列処理と呼ばれます。

収縮

#df

過学習を制御する勾配ブーストハイパーパラメータ。勾配ブーストの縮小は、勾配降下法学習率に似ています。収縮率は 0.0 ~ 1.0 の小数値です。収縮の値が小さいほど、収縮の値が大きくなる場合よりも過学習が削減されます。

シグモイド関数

#fundamentals

入力値を制約された範囲(通常は 0 ~ 1 または -1 ~+1)に「押しつぶ」する数学関数。つまり、任意の数(2、100 万、負の 10 億など)をシグモイドに渡すことができ、出力は引き続き制約された範囲内になります。シグモイド活性化関数のプロットは次のようになります。

x 値が領域 -infinity から + 正の値を取り、y 値がほぼ 0 からほぼ 1 の範囲にまたがる 2 次元曲線プロット。x が 0 の場合、y は 0.5 である。曲線の傾きは常に正で、最大の傾きは 0.0.5 で、x の絶対値が増加するにつれて傾きは徐々に減少します。

ML におけるシグモイド関数は、次のような用途があります。

類似性尺度

#clustering

クラスタリング アルゴリズムで、2 つの例の類似度(どの程度類似しているか)を判断するために使用される指標。

単一プログラム / 複数データ(SPMD)

異なるデバイス上の異なる入力データに対して同じ計算を並列に実行する並列処理手法。SPMD の目標は、結果をより迅速に得ることです。これは、並列プログラミングの最も一般的なスタイルです。

サイズの不変性

#image

画像分類問題で、画像のサイズが変化しても画像を正常に分類するアルゴリズムの能力。たとえば、消費ピクセルが 2M と 200K のどちらでも猫を識別できます。ただし、優れた画像分類アルゴリズムであっても、サイズの不変性には実質的な上限があります。たとえば、アルゴリズム(または人間)が 20 ピクセルしかない猫の画像を正しく分類する可能性は低くなります。

並進不変回転不変もご覧ください。

スケッチ

#clustering

教師なし ML では、サンプルに対して予備的な類似度分析を行うアルゴリズムのカテゴリです。スケッチ アルゴリズムでは、 局所性重視のハッシュ関数を使用して、類似している可能性が高いポイントを特定し、バケットにグループ化します。

スケッチにより、大規模なデータセットでの類似度の計算に必要な計算量が削減されます。データセット内のサンプルのペアごとに類似度を計算するのではなく、各バケット内のポイントのペアごとに類似度を計算します。

スキップグラム

#language

n-gram。元のコンテキストから単語を省略(またはスキップ)できます。つまり、N の単語が元々は隣接していなかった可能性があります。より正確には、「k-skip-n-gram」は k 単語までスキップされた可能性がある n-gram です。

たとえば、「クイック ブラウン キツネ」には次のような 2 グラムがあります。

  • 「クイック」
  • "クイック ブラウン"
  • 「brown fox」

「1-skip-2-gram」とは、間に最大 1 つの単語がある単語のペアです。 したがって、「クイック ブラウン キツネ」には次のような 1 スキップ 2 グラムが含まれます。

  • "the brown"
  • 「クイック キツネ」

また、スキップされる単語が 1 単語未満であるため、2 グラムはすべて 1 スキップ 2 グラムになります。

スキップグラムは、単語の周囲のコンテキストをより深く理解するのに役立ちます。この例では、「fox」は 1-skip-2-grams のセットでは「quick」と直接関連していましたが、2-g-gram のセットではありませんでした。

スキップグラムは、単語埋め込みモデルのトレーニングに役立ちます。

Softmax

#fundamentals

マルチクラス分類モデルに含まれる可能性のある各クラスの確率を決定する関数。確率は合計で 1.0 になりますたとえば、次の表は、ソフトマックスがさまざまな確率を分散する方法を示しています。

画像は... 確率
0.85
0.13
0.02

ソフトマックスは「完全ソフトマックス」とも呼ばれます。

候補のサンプリングとは対照的です。

ソフト プロンプト調整

#language
#生成 AI

リソースを大量に消費する微調整なしで、特定のタスク用に大規模言語モデルをチューニングするための手法。ソフト プロンプト調整では、モデル内のすべての重みを再トレーニングする代わりに、プロンプトを自動的に調整して同じ目標を達成します。

テキスト プロンプトの場合、ソフト プロンプトの調整では通常、追加のトークン エンベディングをプロンプトに追加し、バックプロパゲーションを使用して入力を最適化します。

ハード プロンプトには、トークン エンベディングではなく実際のトークンが含まれます。

スパースな特徴

#language
#fundamentals

値が主にゼロまたは空である特徴。たとえば、単一の 1 値と 100 万 0 値を含む特徴はスパースです。一方、高密度の特徴は、ゼロや空以外の値が大半を占めます。

ML では、かなりの数の特徴がスパースな特徴です。通常、カテゴリ特徴はスパースな特徴です。たとえば、森にある 300 種類の樹木のうち、1 つのサンプルでカエデの木だけを識別できます。動画ライブラリにある何百万本もの動画のうち、1 つの例で「カサブランカ」だけを識別することもあります。

モデルでは通常、ワンホット エンコーディングでスパースな特徴を表現します。ワンホット エンコードが大きい場合は、効率を高めるために、ワンホット エンコードの上にエンベディング レイヤを配置できます。

スパース表現

#language
#fundamentals

スパースな特徴にゼロ以外の要素の位置のみを格納します。

たとえば、species という名前のカテゴリ特徴によって、特定の森林の 36 種の樹木が識別されたとします。さらに、各が 1 つの種のみを識別すると仮定します。

各サンプルの樹種を表すために、ワンホット ベクトルを使用できます。ワンホット ベクトルには、1 つの 1(この例の特定の樹種を表す)と 35 の 0(この例には含まれていない 35 の樹種を表す)が含まれます。そのため、maple のワンホット表現は次のようになります。

位置 0 ~ 23 に値 0、位置 24 に値 1、位置 25 ~ 35 に値 0 がそれぞれ保持されるベクトル。

または、スパース表現では単に特定の種の位置を識別します。maple が位置 24 にある場合、maple のスパース表現は次のようになります。

24

スパース表現は、ワンホット表現よりもはるかに簡潔です。

スパース ベクトル

#fundamentals

値がほぼ 0 のベクトル。スパースな特徴スパース性もご覧ください。

スパース性

ベクトルまたは行列内でゼロ(または null)に設定されている要素の数を、そのベクトルまたは行列の合計エントリ数で割った値。たとえば、98 個のセルにゼロが含まれている 100 要素の行列を考えてみましょう。スパース性の計算は次のとおりです。

$$ {\text{sparsity}} = \frac{\text{98}} {\text{100}} = {\text{0.98}} $$

特徴スパース性は特徴ベクトルのスパース性を指し、モデルのスパース性はモデルの重みのスパース性を意味します。

空間プーリング

#image

プーリングをご覧ください。

スプリット

#df

ディシジョン ツリーにおける、条件の別名。

スプリッター

#df

ディシジョン ツリーのトレーニング中に、各ノードで最適な条件を見つけるルーチン(およびアルゴリズム)です。

SPMD

single program / Multiple data(単一プログラム / 複数データ)の略語。

ヒンジ損失の 2 乗

ヒンジ損失の 2 乗。ヒンジ損失を 2 乗すると、通常のヒンジ損失よりも外れ値に厳しいペナルティが課されます。

二乗損失

#fundamentals

L2 損失と同義です。

段階的なトレーニング

#language

一連の個別のステージでモデルをトレーニングする戦術。目標は、トレーニング プロセスのスピードアップと、モデルの品質向上のいずれかです。

以下に、プログレッシブ スタッキング アプローチを示します。

  • ステージ 1 には 3 つの隠れレイヤ、ステージ 2 には 6 つの隠れレイヤ、ステージ 3 には 12 個の隠れレイヤがあります。
  • ステージ 2 では、ステージ 1 の 3 つの隠れ層で学習した重みでトレーニングを開始します。ステージ 3 では、ステージ 2 の 6 つの隠れ層で学習した重みでトレーニングを開始します。

3 つのステージがあり、ステージ 1、ステージ 2、ステージ 3 というラベルが付けられています。各ステージに含まれるレイヤ数は異なります。ステージ 1 には 3 つのレイヤ、ステージ 2 には 6 つのレイヤ、ステージ 3 には 12 のレイヤが含まれています。ステージ 1 の 3 つのレイヤが、ステージ 2 の最初の 3 つのレイヤになります。同様に、ステージ 2 の 6 つのレイヤがステージ 3 の最初の 6 レイヤになります。

パイプライン処理もご覧ください。

state

#rl

強化学習では、環境の現在の構成を表すパラメータ値。エージェントアクションの選択に使用します。

状態アクション値関数

#rl

Q 関数と同義です。

static

#fundamentals

なんらかの処理が連続的ではなく 1 回実行されること。静的とオフラインという用語は同義語です。ML における静的とオフラインの一般的な使用方法は次のとおりです。

  • 静的モデル(またはオフライン モデル)は、一度トレーニングされた後、しばらく使用されるモデルです。
  • 静的トレーニング(またはオフライン トレーニング)は、静的モデルをトレーニングするプロセスです。
  • 静的推論(またはオフライン推論)は、モデルが一度に予測のバッチを生成するプロセスです。

[動的] と対比します。

静的推論

#fundamentals

オフライン推論と同義です。

定常性

#fundamentals

値が 1 つ以上のディメンション(通常は時間)にわたって変化しない特徴。たとえば、2021 年と 2023 年の値がほぼ同じである特徴は、定常性を示します。

実際には、静止している特徴はほとんどありません。安定性と同義の特徴(海面など)でさえも、時間の経過とともに変化します。

非定常性と対比してください。

ステップ

1 つのバッチのフォワードパスとバックワード パス。

フォワードパスとバックプロダクションの詳細については、バックプロパゲーションをご覧ください。

ステップサイズ

学習率と同義です。

確率的勾配降下法(SGD)

#fundamentals

バッチサイズが 1 の勾配降下法アルゴリズム。つまり、SGD はトレーニング セットから均一にランダムに選択された 1 つのサンプルを使用してトレーニングを行います。

ストライド

#image

畳み込み演算またはプーリングでは、次の一連の入力スライスの各次元におけるデルタ。たとえば、次のアニメーションは、畳み込み演算中の(1,1)ストライドを示しています。したがって、次の入力スライスは、前の入力スライスの 1 つ右の位置から開始します。演算が右端に到達すると、次のスライスは左端まで達しますが、1 つ下の位置まで来ます。

入力 5x5 行列と 3x3 畳み込みフィルタ。ストライドは (1,1) であるため、畳み込みフィルタが 9 回適用されます。最初の畳み込みスライスは、入力行列の左上の 3x3 サブ行列を評価します。2 番目のスライスでは、上-中央の 3x3 サブマトリックスを評価します。3 つ目の畳み込みスライスは、右上の 3x3 サブ行列を評価します。4 番目のスライスは、左中央の 3x3 サブマトリックスを評価します。5 番目のスライスでは、中央の 3x3 サブマトリックスが評価されます。6 番目のスライスでは、右中央の 3x3 サブマトリックスを評価します。7 番目のスライスでは、左下の 3x3 サブマトリックスを評価します。8 番目のスライスでは、下と中央の 3x3 サブマトリックスを評価します。9 番目のスライスでは、右下の 3x3 サブマトリックスを評価します。

上記の例は 2 次元のストライドを示しています。入力行列が 3 次元の場合、ストライドも 3 次元になります。

構造的リスクの最小化(SRM)

2 つの目標のバランスを取るアルゴリズム:

  • 最も予測的なモデルを構築する必要性(最小損失など)。
  • モデルをできるだけシンプルに保つ必要性(たとえば、強力な正則化)。

たとえば、トレーニング セットの損失 + 正則化を最小限に抑える関数は、構造的リスク最小化アルゴリズムです。

これとは対照的に、経験的リスク最小化

サブサンプリング

#image

プーリングをご覧ください。

サブワード トークン

#language

言語モデルでは、単語の部分文字列であるトークン(単語全体の場合もあります)。

たとえば、「itemize」のような単語は、「item」(語根)と「ize」(接尾辞)に分割され、それぞれが独自のトークンで表されます。一般的でない単語をサブワードと呼ばれる部分に分割すると、言語モデルは、接頭辞や接尾辞など、単語のより一般的な構成部分に対して動作できるようになります。

逆に、「going」のような一般的な単語は分割されず、1 つのトークンで表される場合があります。

概要

#TensorFlow

TensorFlow では、特定のステップで計算される 1 つまたは複数の値。通常はトレーニング中にモデル指標を追跡するために使用されます。

教師あり機械学習

#fundamentals

modelとそれに対応するmodelからモデルmodelをトレーニングする。教師あり ML は、一連の質問とそれに対応する回答を調べて主題を学ぶことに似ています。質問と回答の対応付けをマスターすると、生徒は同じトピックに関する未知の新しい質問に対して回答できるようになります。

教師なし機械学習と比較してください。

合成特徴

#fundamentals

入力特徴の中に存在しないが、1 つ以上の特徴から組み立てられた特徴。合成特徴を作成する方法は次のとおりです。

  • 連続する特徴を範囲ビンにバケット化する。
  • 特徴クロスを作成する。
  • 1 つの特徴値と他の特徴値との乗算(または除算)、または単独で。たとえば、ab が入力特徴である場合、合成特徴の例を次に示します。
    • ab
    • a2
  • 超越関数を特徴値に適用する。たとえば、c が入力特徴の場合、合成特徴の例を次に示します。
    • sin(c)
    • ln(c)

正規化またはスケーリングのみで作成された特徴は合成特徴とはみなされません。

T

T5

#language

2020 年に Google AI によってテキストからテキストへの転移学習モデル。T5 は、Transformer アーキテクチャに基づく、非常に大規模なデータセットでトレーニングされたエンコーダ - デコーダ モデルです。テキストの生成、言語の翻訳、会話形式での質問への回答など、さまざまな自然言語処理タスクで効果的です。

T5 の名前は、「Text-to-Text Transfer Transformer」の 5 つの T に由来しています。

T5X

#language

大規模な自然言語処理(NLP)モデルを構築してトレーニングするために設計されたオープンソースの機械学習フレームワーク。T5 は、T5X コードベース(JAXFlax 上にビルド)に実装されます。

表形式の Q 学習

#rl

強化学習では、状態アクションのすべての組み合わせに対して Q 関数を格納するテーブルを使用して、Q 学習を実装します。

ターゲット

ラベルと同義です。

ターゲット ネットワーク

#rl

ディープ Q ラーニングでは、メインのニューラル ネットワークの安定した近似値であり、メインのニューラル ネットワークが Q 関数またはポリシーを実装します。その後、ターゲット ネットワークによって予測された Q 値でメイン ネットワークをトレーニングできます。したがって、メイン ネットワークが単独で予測した Q 値でトレーニングするときに発生するフィードバック ループを回避できます。このフィードバックを回避することで、トレーニングの安定性が向上します。

タスク

ML の手法を使用して解決できる問題。以下に例を示します。

温度

#language
#image
#生成 AI

モデルの出力のランダム性の度合いを制御するハイパーパラメータ。温度が高いほどランダム出力は多くなり、温度を低くするとランダム出力は少なくなります。

最適な温度を選択できるかどうかは、特定のアプリケーションと、モデル出力の望ましいプロパティによって異なります。たとえば、クリエイティブな出力を生成するアプリケーションを作成する際に、おそらく温度を上げます。逆に、画像やテキストを分類するモデルを構築する場合は、モデルの精度と一貫性を向上させるために温度を下げる可能性があります。

温度はソフトマックスでよく使用されます。

時間データ

さまざまな時点で記録されたデータです。たとえば、各日に記録された冬用コートの売上は時間データになります。

Tensor

#TensorFlow

TensorFlow プログラムの主要なデータ構造。テンソルは N 次元(N が非常に大きくてもよい)データ構造であり、一般的にはスカラー、ベクトル、または行列です。テンソルの要素は、整数値、浮動小数点値、文字列値のいずれかを保持できます。

TensorBoard

#TensorFlow

1 つ以上の TensorFlow プログラムの実行中に保存されたサマリーを表示するダッシュボード。

TensorFlow

#TensorFlow

大規模な分散型 ML プラットフォーム。この用語は、Dataflow グラフの一般的な計算をサポートする TensorFlow スタックのベース API レイヤも表します。

TensorFlow は主に ML に使用されますが、Dataflow グラフを使用した数値計算を必要とする ML 以外のタスクにも TensorFlow を使用できます。

TensorFlow Playground

#TensorFlow

さまざまなハイパーパラメータがモデル(主にニューラル ネットワーク)のトレーニングにどのように影響するかを可視化するプログラム。 http://playground.tensorflow.org にアクセスして TensorFlow Playground を試す。

TensorFlow Serving

#TensorFlow

トレーニング済みモデルを本番環境にデプロイするためのプラットフォーム。

TPU(Tensor Processing Unit)

#TensorFlow
#GoogleCloud

ML ワークロードのパフォーマンスを最適化するアプリケーション固有の集積回路(ASIC)。これらの ASIC は、複数の TPU チップとして TPU デバイスにデプロイされます。

テンソル ランク

#TensorFlow

ランク(テンソル)を参照してください。

テンソル形状

#TensorFlow

テンソルに含まれる要素の数(次元数)。たとえば、[5, 10] テンソルの形状はある次元では 5、別の次元では 10 です。

テンソルサイズ

#TensorFlow

テンソルに含まれるスカラーの総数。たとえば、[5, 10] Tensor のサイズは 50 です。

TensorStore

大規模な多次元配列を効率的に読み書きするためのライブラリ

終了条件

#rl

強化学習では、エージェントが特定の状態に達した場合や、状態遷移のしきい値を超えた場合など、エピソードを終了するタイミングを決定する条件。たとえば、三目並べ(別名: 三目並べ)では、プレーヤーが 3 つの連続したスペースをマークするか、すべてのスペースをマークすると、エピソードが終了します。

test

#df

ディシジョン ツリーにおける、条件の別名。

テスト損失

#fundamentals

テストセットに対するモデルの損失を表す指標モデルmodelを構築する場合、通常はテストの損失を最小限に抑えるようにします。これは、トレーニングの損失検証の損失が低い場合よりも、テスト損失が低いほど品質シグナルが強いためです。

テストの損失とトレーニングの損失または検証の損失との間に大きなギャップがある場合は、正則化率を増やす必要がある可能性があります。

テストセット

トレーニング済みのモデルのテスト用に予約されたデータセットのサブセット。

従来は、データセットのサンプルを次の 3 つの異なるサブセットに分割していました。

データセット内の各サンプルは、前述のサブセットのいずれか 1 つのみに属している必要があります。たとえば、1 つのサンプルがトレーニング セットとテストセットの両方に属してはなりません。

トレーニング セットと検証セットはどちらもモデルのトレーニングと密接に関係しています。テストセットはトレーニングと間接的に関連付けられるだけであるため、テスト損失は、トレーニングの損失または検証損失よりもバイアスが少なく、品質の高い指標です。

テキストスパン

#language

テキスト文字列の特定のサブセクションに関連付けられた配列インデックス スパン。たとえば、Python 文字列 s="Be good now"good という単語は、3 から 6 のテキストスパンを占有します。

tf.Example

#TensorFlow

ML モデルのトレーニングや推論に使用する入力データを記述するための標準の プロトコル バッファ

tf.keras

#TensorFlow

TensorFlow に統合された Keras の実装。

しきい値(ディシジョン ツリー用)

#df

軸に平行な条件では、特徴の比較対象となる値です。たとえば、次の条件のしきい値は 75 です。

grade >= 75

時系列分析

#clustering

時間データを分析する ML と統計のサブフィールド。分類、クラスタリング、予測、異常検出など、さまざまな種類の ML の問題には時系列分析が必要です。たとえば、時系列分析を使用して、過去の販売データに基づいて冬用コートの将来の売上を月別に予測できます。

タイムステップ

#seq

再帰型ニューラル ネットワーク内の「アンロールされた」セル 1 つ。たとえば、次の図は 3 つのタイムステップを示しています(下付き文字 t-1、t、t+1 が付いています)。

回帰型ニューラル ネットワークの 3 つのタイムステップ最初のタイムステップの出力は、2 番目のタイムステップに入力されます。2 番目のタイムステップの出力は、3 番目のタイムステップに入力されます。

token

#language

言語モデルで、モデルのトレーニングと予測に使用されるアトミック単位。通常、トークンは次のいずれかです。

  • たとえば「dogs like cats」というフレーズは、「dogs」、「like」、「cats」という 3 つの単語トークンで構成されています。
  • たとえば、「バイクの魚」というフレーズは、9 つの文字トークンで構成されています。(空白もトークンの 1 つとしてカウントされます)。
  • 1 つの単語が 1 つのトークンまたは複数のトークンになります。サブワードは、語根、接頭辞、接尾辞で構成されます。たとえば、サブワードをトークンとして使用する言語モデルでは、「dogs」という単語を 2 つのトークン(ルートの単語「dog」と複数形の接尾辞「s」)として認識する可能性があります。同じ言語モデルでは、1 つの単語「taller」が 2 つのサブワード(ルート単語「tall」と接尾辞「er」)として認識される可能性があります。

言語モデル以外のドメインでは、トークンは他の種類の原子単位を表すことができます。たとえば、コンピュータ ビジョンでは、トークンがイメージのサブセットである場合があります。

Tower

ディープ ニューラル ネットワーク(それ自体がディープ ニューラル ネットワーク)のコンポーネント。場合によっては、各タワーが独立したデータソースから読み取りを行います。これらのタワーは、その出力が最終レイヤに結合されるまで独立した状態を維持します。他のケース(たとえば、多くの Transformerエンコーダデコーダのスタック/タワー内)では、タワーが相互に相互接続しています。

TPU

#TensorFlow
#GoogleCloud

Tensor Processing Unit の略語。

TPU チップ

#TensorFlow
#GoogleCloud

ML ワークロード用に最適化された、高帯域幅メモリを内蔵したプログラム可能な線形代数アクセラレータ。複数の TPU チップが TPU デバイスにデプロイされます。

TPU デバイス

#TensorFlow
#GoogleCloud

複数の TPU チップ、高帯域幅ネットワーク インターフェース、システム冷却ハードウェアを備えたプリント回路基板(PCB)。

TPU マスター

#TensorFlow
#GoogleCloud

ホストマシン上で実行される中央の調整プロセス。データ、結果、プログラム、パフォーマンス、システムの健全性に関する情報を TPU ワーカーと送受信します。また、TPU マスターは、TPU デバイスのセットアップとシャットダウンも管理します。

TPU ノード

#TensorFlow
#GoogleCloud

特定の TPU タイプを持つ Google Cloud 上の TPU リソース。TPU ノードは、ピア VPC ネットワークから VPC ネットワークに接続します。TPU ノードは、Cloud TPU API で定義されたリソースです。

TPU Pod

#TensorFlow
#GoogleCloud

Google データセンター内の TPU デバイスの特定の構成。TPU Pod 内のすべてのデバイスは、専用の高速ネットワークを介して相互に接続されています。TPU Pod は、特定の TPU バージョンで使用できる TPU デバイスの最大構成です。

TPU リソース

#TensorFlow
#GoogleCloud

お客様が作成、管理、または使用する Google Cloud 上の TPU エンティティ。たとえば、TPU ノードTPU タイプは TPU リソースです。

TPU スライス

#TensorFlow
#GoogleCloud

TPU スライスは、TPU Pod 内の TPU デバイスの小数部分です。TPU スライス内のすべてのデバイスは、専用の高速ネットワークで相互に接続されています。

TPU タイプ

#TensorFlow
#GoogleCloud

特定の TPU ハードウェア バージョンを持つ 1 つ以上の TPU デバイスの構成。TPU タイプは、Google Cloud で TPU ノードを作成するときに選択します。たとえば、v2-8 TPU タイプは、8 コアの単一の TPU v2 デバイスです。v3-2048 TPU タイプには、256 個のネットワーク TPU v3 デバイスと合計 2,048 コアがあります。TPU タイプは、Cloud TPU API で定義されているリソースです。

TPU ワーカー

#TensorFlow
#GoogleCloud

ホストマシンで実行され、TPU デバイスで ML プログラムを実行するプロセス。

トレーニング

#fundamentals

モデルを構成する理想的なパラメータ(重みとバイアス)を決定するプロセス。トレーニング中、システムはを読み取り、徐々にパラメータを調整します。トレーニングでは、各例が数回から数十億回まで使用されます。

トレーニングの損失

#fundamentals

特定のトレーニングのイテレーションにおけるモデルの損失を表す指標。たとえば、損失関数が「平均二乗誤差」であるとします。10 回目の反復処理のトレーニング損失(平均二乗誤差)は 2.2 で、100 回目の反復処理のトレーニング損失は 1.9 であるとします。

損失曲線は、トレーニングの損失と反復処理の回数をプロットします。損失曲線から、トレーニングに関する次のヒントが得られます。

  • 傾きが下がっている場合は、モデルが改善していることを意味します。
  • 傾きが上向きであれば、モデルが悪化していることを意味します。
  • 傾きがフラットであれば、モデルが収束に達したことを意味します。

たとえば、次のやや理想的な損失曲線は次のようになります。

  • 最初の反復処理で急激な下降傾向が見られる。これは、モデルの迅速な改善を意味します。
  • トレーニングの終了近くまで徐々に平坦化する(ただし、まだ下降傾向にある)。これは、最初の反復処理時よりもやや遅いペースでモデルの改善が継続されることを意味します。
  • トレーニングの終盤に向かって平坦な勾配。収束を示唆している。

トレーニングの損失と反復処理のプロット。この損失曲線は急な下向きの傾きから始まります。傾きは、傾きがゼロになるまで徐々に平坦になります。

トレーニングの損失は重要ですが、一般化もご覧ください。

トレーニング サービング スキュー

#fundamentals

トレーニング中のモデルのパフォーマンスと、同じモデルのサービング中のパフォーマンスの差。

トレーニング セット

#fundamentals

モデルのトレーニングに使用されるデータセットのサブセット。

従来、データセット内の例は、次の 3 つの異なるサブセットに分割されます。

理想的には、データセット内の各サンプルは、前述のサブセットの 1 つのみに属している必要があります。たとえば、1 つのサンプルがトレーニング セットと検証セットの両方に属してはなりません。

軌道

#rl

強化学習において、エージェント状態遷移のシーケンスを表すタプルのシーケンス。各タプルは、特定の状態遷移の状態、アクション報酬、次の状態に対応します。

転移学習

ある ML タスクから別の ML タスクに情報を転送する。たとえば、マルチタスク学習では、タスクごとに異なる出力ノードを持つディープモデルなど、1 つのモデルが複数のタスクを解決します。転移学習では、単純なタスクのソリューションからより複雑なタスクに知識を転送する場合や、データが多いタスクからデータが少ないタスクに知識を転送する場合があります。

ほとんどの ML システムは、単一のタスクを解決します。転移学習は、1 つのプログラムで複数のタスクを解決できる AI への一歩です。

Transformer

#language

Google で開発されたニューラル ネットワーク アーキテクチャ。自己注意 メカニズムを利用して、畳み込み再帰型ニューラル ネットワークに依存せずに、一連の入力エンベディングを一連の出力エンベディングに変換します。Transformer は自己注意レイヤのスタックとみなすことができます。

Transformer には次のいずれかを含めることができます。

エンコーダは、一連のエンベディングを同じ長さの新しいシーケンスに変換します。エンコーダは N 個の同一レイヤで構成され、各レイヤには 2 つのサブレイヤがあります。この 2 つのサブレイヤが入力エンベディング シーケンスの各位置に適用され、シーケンスの各要素が新しいエンベディングに変換されます。最初のエンコーダ サブレイヤは、入力シーケンス全体の情報を集約します。2 番目のエンコーダ サブレイヤは、集計された情報を出力エンベディングに変換します。

デコーダは、一連の入力エンベディングを一連の出力エンベディング(場合によっては異なる長さ)に変換します。デコーダには 3 つのサブレイヤを持つ N 個の同一レイヤが含まれ、そのうちの 2 つはエンコーダのサブレイヤに似ています。3 番目のデコーダ サブレイヤは、エンコーダの出力を取得し、セルフ アテンション メカニズムを適用してエンコーダから情報を収集します。

Transformer の概要については、ブログ投稿「Transformer: A Novel Neural Network Architecture for Language Understanding」をご覧ください。

並進不変性

#image

画像分類問題で、画像内のオブジェクトの位置が変化しても画像を正常に分類するアルゴリズムの能力。たとえば、フレームの中心かフレームの左端かにかかわらず、アルゴリズムは犬を識別できます。

サイズ不変性回転不変性もご覧ください。

トライグラム

#seq
#language

N グラム(N=3 の場合)。

真陰性(TN)

#fundamentals

モデルが陰性クラスを正しく予測する例。たとえば、モデルは特定のメール メッセージは迷惑メールではないと推論し、そのメール メッセージは実際には迷惑メールではないと推測します。

真陽性(TP)

#fundamentals

モデルが陽性クラスを正しく予測する例。たとえば、モデルは特定のメール メッセージが迷惑メールであると推測し、そのメール メッセージは実際には迷惑メールであると推測します。

真陽性率(TPR)

#fundamentals

recall と同義です。具体的には、次のことが求められます。

$$\text{true positive rate} = \frac{\text{true positives}} {\text{true positives} + \text{false negatives}}$$

真陽性率は ROC 曲線の y 軸です。

U

(機密属性に対する)

#fairness

機密属性が存在するものの、トレーニング データに含まれていない状況。機密性の高い属性はデータの他の属性と相関関係にあることが多いため、機密性の高い属性を認識していない状態でトレーニングされたモデルでも、その属性に関してさまざまな影響があるか、その他の公平性に関する制約に違反する可能性があります。

学習不足

#fundamentals

モデルがトレーニング データの複雑さを完全にキャプチャしていないため、予測能力が低いモデルmodelを作成する。学習不足を引き起こす可能性のある問題には次のようなものがあります。

  • 間違った特徴のセットでトレーニングする。
  • エポックが少なすぎるか、学習率が低すぎる場合。
  • 正則化率が高すぎるトレーニング。
  • ディープ ニューラル ネットワークにおける隠れ層が少なすぎる。

アンダーサンプリング

クラス不均衡データセットマジョリティクラスからを削除して、よりバランスの取れたトレーニング セットを作成する。

たとえば、過半数クラスとマイノリティ クラスの比率が 20:1 のデータセットについて考えてみましょう。このクラスの不均衡を克服するには、少数派クラスのサンプルの 10 分の 1 のみで構成されるトレーニング セットを作成します。これにより、トレーニング セットのクラス比は 2:1 になります。アンダーサンプリングにより よりバランスのとれた トレーニングセットの方が優れたモデルを生成できますまた、このバランスの取れたトレーニング セットには、効果的なモデルをトレーニングするためのサンプルが不十分な場合があります。

オーバーサンプリングとは対照的です。

単方向

#language

テキストの対象セクションの前のテキストのみを評価するシステム。一方、双方向システムでは、テキストの対象セクションの前後にあるテキストの両方が評価されます。詳しくは、双方向をご覧ください。

一方向言語モデル

#language

言語モデル。確率を、ターゲット トークンの後ではなく前にあるトークンのみに基づいて決定します。双方向言語モデルとは対照的です。

ラベルなしの例

#fundamentals

特徴量を含むが、ラベルを含まない例。たとえば、次の表は、住宅評価モデルの 3 つの例を示しています。それぞれに 3 つの特徴がありますが、住宅価格はありません。

寝室の数 浴室数 住宅の年数
3 2 15
2 1 72
4 2 34

教師あり ML では、モデルはラベル付きサンプルでトレーニングし、ラベルなしサンプルで予測を行います。

半教師あり学習と教師なし学習では、トレーニング中にラベルなしのサンプルが使用されます。

ラベルのないサンプルとラベル付きのサンプルを対比してください。

教師なし ML

#clustering
#fundamentals

モデルmodelをトレーニングして、データセット(通常はラベルのないデータセット)内のパターンを見つけます。

教師なし ML の最も一般的な用途は、データを類似したサンプルのグループにクラスタ化することです。たとえば、教師なし機械学習アルゴリズムでは、音楽のさまざまな特性に基づいて曲をクラスタ化できます。生成されたクラスタは、他の ML アルゴリズム(音楽レコメンデーション サービスなど)への入力として使用できます。クラスタリングは、有用なラベルが不足している場合、または存在しない場合に役立ちます。たとえば、不正使用対策や不正行為などのドメインでは、クラスタが人間によるデータの理解を深めるのに役立ちます。

教師あり ML と対比します。

アップリフト モデリング

マーケティングで一般的に使用されるモデリング手法で、「個人」に対する「治療」の「因果効果」(別名「増分効果」)をモデル化します。次に 2 つの例を示します。

  • 医師は、アップリフト モデリングを使用して、患者(個人の)の年齢と病歴に応じて、医療処置(治療)による死亡率の減少(因果効果)を予測する場合があります。
  • マーケティング担当者は、アップリフト モデリングを使用して、個人(個人)に対する広告(トリートメント)による購入の可能性(因果効果)の増加を予測できます。

増加率モデリングでは、一部のラベル(バイナリ処理のラベルの半分など)が常に欠落する点で、分類回帰とは異なります。たとえば、患者は治療を受ける場合としない場合があります。したがって、患者が治るかどうかは、この 2 つの状況のどちらか一方のみでしか観察できません(両方は認められません)。増加率モデルの主な利点は、観測できない状況に対する予測(反事実的条件)を生成し、それを使用して因果効果を計算できることです。

アップウェイト

ダウンサンプリングした係数と等しいダウンサンプリングされたクラスに重みを適用します。

ユーザー マトリックス

#recsystems

レコメンデーション システムでは、行列分解によって生成されるエンベディング ベクトル。ユーザーの好みに関する潜在的シグナルを保持します。ユーザー マトリックスの各行には、1 人のユーザーのさまざまな潜在的シグナルの相対的な強度に関する情報が保持されます。たとえば、映画のおすすめシステムについて考えてみましょう。このシステムでは、ユーザー マトリックス内の潜在的なシグナルは、各ユーザーの特定のジャンルへの関心を表す場合もあれば、複数の要素にわたる複雑なインタラクションを伴う解釈が難しいシグナルである場合もあります。

ユーザー マトリックスには、潜在的な特徴ごとの列とユーザーごとの行があります。つまり、ユーザー マトリックスの行数は、因数分解されるターゲット マトリックスと同じです。たとえば、100 万人のユーザーによる映画のおすすめシステムの場合、ユーザー マトリックスは 100 万行になります。

V

排除できます。

#fundamentals

モデルの品質の初期評価。検証では、モデルの予測の品質を検証セットと照らし合わせて確認します。

検証セットはトレーニング セットと異なるため、検証で過学習を防ぐことができます。

検証セットに照らしてモデルを評価する 1 回目のテストで、テストセットに照らしてモデルを評価すると、2 回目のテストと考えることができます。

検証損失

#fundamentals

トレーニングの特定の反復処理における検証セットに対するモデルの損失を表す指標

一般化曲線もご覧ください。

検証セット

#fundamentals

トレーニング済みのモデルに対して初期評価を行うデータセットのサブセット。通常、トレーニング済みのモデルを検証セットに照らして評価してから、テストセットでモデルを評価します。

従来は、データセットのサンプルを次の 3 つの異なるサブセットに分割していました。

理想的には、データセット内の各サンプルは、前述のサブセットの 1 つのみに属している必要があります。たとえば、1 つのサンプルがトレーニング セットと検証セットの両方に属してはなりません。

値の補完

欠損値を許容可能な代替値に置き換えるプロセス。値がない場合は、例全体を破棄するか、値の補完を使用して例を救済できます。

たとえば、1 時間ごとに記録されることが想定される temperature 特徴を含むデータセットについて考えてみましょう。しかし、特定の 1 時間は温度の読み取りができませんでした。このデータセットのセクションは次のとおりです。

タイムスタンプ Temperature
1680561000 10
1680564600 12
1680568200 missing
1680571800 20
1680575400 21
1680579000 21

システムは、補完アルゴリズムに応じて、欠落している例を削除するか、欠落している温度を 12、16、18、20 として代入できます。

消失勾配問題

#seq

一部のディープ ニューラル ネットワークの初期の隠れ層の勾配は、驚くほど平坦(低レベル)になる傾向があります。勾配を低くするほど、ディープ ニューラル ネットワークのノードの重みに対する変更が小さくなり、学習がほとんどまたはまったくなくなります。勾配消失の問題に苦しむモデルのトレーニングは、困難または不可能になります。長短期記憶セルがこの問題に対処しています。

勾配爆発問題と比較してください。

変数の重要度

#df

モデルに対する各特徴の相対的な重要度を示す一連のスコア。

たとえば、住宅価格を見積もるディシジョン ツリーについて考えてみましょう。このディシジョン ツリーでサイズ、年齢、スタイルの 3 つの特徴を使用するとします。3 つの対象物の変数の重要度のセットが {size=5.8, age=2.5, style=4.7} と計算された場合、ディシジョン ツリーでは年齢やスタイルよりもサイズが重要になります。

さまざまな重要度の指標があり、ML エキスパートはモデルのさまざまな側面について知ることができます。

変分オートエンコーダ(VAE)

#language

入力と出力の不一致を利用して入力の変更バージョンを生成するオートエンコーダの一種。変分オートエンコーダは生成 AI に役立ちます。

VAE は、確率モデルのパラメータを推定するための手法である変分推論に基づいています。

ベクトル

数学や科学の分野ごとに意味が異なる非常に多重になった用語。ML 内では、ベクトルには 2 つの特性があります。

  • データ型: 通常、ML のベクトルは浮動小数点数を保持します。
  • 要素数: ベクトルの長さまたは次元です。

たとえば、8 つの浮動小数点数を保持する特徴ベクトルについて考えてみましょう。この特徴ベクトルの長さまたは次元は 8 です。多くの場合、ML のベクトルには膨大な数の次元があります。

さまざまな種類の情報をベクトルとして表すことができます。次に例を示します。

  • 地表の任意の位置は 2 次元のベクトルとして表すことができます。一方の次元は緯度、他方の次元は経度です。
  • 500 銘柄それぞれの現在の価格は、500 次元ベクトルとして表すことができます。
  • 有限数のクラスにわたる確率分布は、ベクトルとして表すことができます。たとえば、3 つの出力色(赤、緑、黄)のいずれかを予測するマルチクラス分類システムでは、ベクトル (0.3, 0.2, 0.5)P[red]=0.3, P[green]=0.2, P[yellow]=0.5 を意味するように出力されます。

ベクトルは連結できるため、さまざまなメディアを 1 つのベクトルとして表すことができます。一部のモデルでは、多くのワンホット エンコーディングを連結して操作します。

TPU などの専用プロセッサは、ベクトルに対して数学演算を実行するように最適化されています。

ベクトルは、階数 1 のテンソルです。

W

ワッサーシュタイン損失

生成されたデータの分布と実際のデータの間のアースムーバーの距離に基づく、敵対的生成ネットワークで一般的に使用される損失関数の 1 つ。

weight

#fundamentals

モデルに別の値を乗算する値。トレーニングは、モデルの理想的な重みを決定するプロセスです。推論は、学習した重みを使用して予測を行うプロセスです。

加重交互最小二乗(WALS)

#recsystems

レコメンデーション システム行列分解の際に目的関数を最小化するアルゴリズム。これにより、欠落しているサンプルのダウンウェイトが可能になります。WALS は、行分解と列分解を交互に行うことで、元の行列と再構成の間の加重二乗誤差を最小限に抑えます。これらの各最適化は、最小二乗凸最適化によって解決できます。詳細については、レコメンデーション システム コースをご覧ください。

加重合計

#fundamentals

関連するすべての入力値に、対応する重み付けを掛けた合計。たとえば、関連する入力が以下で構成されているとします。

入力値 入力重み
2 -1.3
-1 0.6
3 0.4

加重合計は次のようになります。

weighted sum = (2)(-1.3) + (-1)(0.6) + (3)(0.4) = -2.0

加重合計は、活性化関数の入力引数です。

ワイドモデル

通常、多くのスパース入力特徴を持つ線形モデル。このようなモデルは、出力ノードに直接接続する多数の入力を持つ特別なタイプのニューラル ネットワークであるため、「ワイド」と呼んでいます。多くの場合、ワイドモデルはディープモデルよりもデバッグと検査が簡単です。ワイドモデルでは隠れ層で非線形性を表現できませんが、ワイドモデルでは特徴交差バケット化などの変換を使用して、さまざまな方法で非線形性をモデル化できます。

ディープモデルとは対照的です。

ニューラル ネットワークの特定のレイヤに含まれるニューロンの数。

群衆の知恵

#df

大規模なグループ(「群衆」)の意見や推定値を平均化すると、多くの場合、驚くほど良い結果が得られます。たとえば、大きな瓶に入ったゼリー豆の数を推測するゲームについて考えてみましょう。ほとんどの推測は不正確ですが、すべての推測の平均は、驚くほど瓶に入っているジャムの実際の数に近いことが経験的に示されています。

アンサンブルとは、ソフトウェアに例える大衆の知恵です。個々のモデルの予測が非常に不正確であっても、多くのモデルの予測を平均すると、多くの場合、驚くほど良い予測が生成されます。たとえば、個々のディシジョン ツリーでは予測の精度が下がるかもしれませんが、ディシジョン フォレストでは予測の精度が非常に高くなります。

単語の埋め込み

#language

単語セット内の各単語をエンベディング ベクトル内で表現します。つまり、各単語を 0.0 ~ 1.0 の浮動小数点値のベクトルとして表現します。意味が類似した単語は、意味が異なる単語よりも表現が類似します。たとえば、ニンジン、セロリ、キュウリはすべて比較的類似した表現であり、飛行機、サングラス、歯磨き粉の表現とは大きく異なります。

X

XLA(高速線形代数)

GPU、CPU、ML アクセラレータ用のオープンソースの ML コンパイラ。

XLA コンパイラは、PyTorchTensorFlowJAX などの一般的な ML フレームワークからモデルを取得し、GPU、CPU、ML アクセラレータなどのさまざまなハードウェア プラットフォームで高パフォーマンスの実行に向けてモデルを最適化します。

Z

ゼロショット学習

機械学習のトレーニングの一種で、モデルは、まだトレーニングされていないタスクの予測を推測します。つまり、モデルにはタスク固有のトレーニングが 1 つも与えられず、そのタスクに対して推論を行うように求められます。

ゼロショット プロンプト

#language
#生成 AI

大規模言語モデルの応答方法の例を示していないプロンプト次に例を示します。

1 つのプロンプトの構成要素 メモ
指定された国の公式通貨は何ですか? LLM に回答してほしい質問。
インド: 実際のクエリ。

大規模言語モデルは、次のいずれかで応答します。

  • ルピー
  • INR
  • ルピー(インド)
  • ルピー
  • インド ルピー

すべての選択肢が正解ですが、特定の形式を使用したい場合もあります。

ゼロショット プロンプトと以下の用語を比較対照してください。

Z スコアの正規化

#fundamentals

未加工の特徴値を、その特徴の平均からの標準偏差の数を表す浮動小数点値に置き換えるスケーリング手法。たとえば、平均が 800 で標準偏差が 100 の特徴について考えてみましょう。次の表は、Z スコアの正規化によって未加工の値が Z スコアにどのようにマッピングされるかを示しています。

未加工の値 Z スコア
800 0
950 +1.5
575 -2.25

ML モデルは、未加工の値ではなく、その特徴の Z スコアでトレーニングします。