機械学習の用語集

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

A

アブレーション

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

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

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

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

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

A/B テスト

2 つ(または複数)の手法(A と B)を比較する統計的方法。通常、A は既存の手法、B は新しい手法です。A/B テストでは、どちらの手法のパフォーマンスが優れているかを判断できるだけでなく、差に統計的有意性があるかどうかも判断されます。

A/B テストでは通常、2 つの手法で 1 つの指標を比較します。たとえば、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 値が -無限大から + 正の範囲に及び、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 を示しています。

正式には、ML は AI のサブフィールドです。しかし近年、AI と ML という用語を同じ意味で使用する組織もあります。

Attention、

#language

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

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

属性

#fairness

機能と同義。

ML の公平性において、属性は個人に関連する特性を指すことがよくあります。

属性サンプリング

#df

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

AUC(ROC 曲線の下の面積)

#fundamentals

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

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

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

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

6 つの正例と 6 つの負例からなる数直線。
          一連の例は、正、負、正、負、正、負、正、負、正、負、負です。

はい。前のモデルの AUC は 0.5 です。0.0 ではありません。

ほとんどのモデルは、この 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 ベースの画像モデルは、単一のフォワードパスで画像を生成し、ステップを反復しないため、通常は自己回帰ではありません。ただし、一部の画像生成モデルは段階的に画像を生成するため、自己回帰的です。

予備損失

損失関数は、ニューラル ネットワークモデルのメイン損失関数と組み合わせて使用します。重みがランダムに初期化される初期のイテレーションでトレーニングを加速するのに役立ちます。

補助損失関数は、有効な勾配を前のレイヤに push します。これにより、勾配消失の問題に対処して、トレーニング中の収束が促進されます。

平均適合率

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

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

軸に揃えられた条件

#df

ディシジョン ツリーで、1 つの特徴のみを含む条件。たとえば、エリアが特徴の場合、軸揃えの条件は次のようになります。

area > 200

傾斜条件」も参照してください。

B

誤差逆伝播法

#fundamentals

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

ニューラル ネットワークのトレーニングには、次の 2 パスサイクルを何度も反復処理する必要があります。

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

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

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

計算の用語では、誤差逆伝播法は計算からのチェーンルールを実装します。つまり、誤差逆伝播法では、各パラメータに関して誤差の偏微分係数が計算されます。

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

バギング

#df

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

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

言葉のバッグ

#language

フレーズまたはパッセージ内の単語の表現。順序は関係ありません。たとえば、bag of words は次の 3 つのフレーズを同じように表します。

  • 犬がジャンプする
  • 犬をジャンプさせる
  • 犬がジャンプする

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

  • 1 の場合は単語の存在を示します。
  • バッグの中に単語が出現する回数。たとえば、フレーズが「マルーンの犬はマルーンの毛皮を持つ犬です」の場合、マルーンは両方とも 2 と表され、他の単語は 1 と表されます。
  • その他の値(単語がバッグに出現する回数の対数など)。

ベースライン

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

特定の問題に対して、ベースラインを使用すると、モデル デベロッパーは、新しいモデルが有用であるために達成する必要がある最小の期待パフォーマンスを定量化できます。

batch

#fundamentals

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

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

バッチ推論

#TensorFlow
#GoogleCloud

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

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

バッチ正規化

隠れ層での活性化関数の入力または出力の正規化。バッチ正規化には次の利点があります。

バッチサイズ

#fundamentals

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

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

  • Stochastic Gradient Descent(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-learning を作成します。

\[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 の概要については、オープン ソーシング 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

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

バイグラム

#seq
#language

N=2 である N グラム

バイナリ分類

#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

レコメンデーション システムによって選択された最初のレコメンデーション セット。たとえば、100,000 冊の書籍を取り扱っている書店について考えてみましょう。候補生成フェーズでは、特定のユーザーに適した書籍のリスト(たとえば 500 冊)を大幅に減らします。しかし 500 冊の本でさえ、ユーザーにおすすめするには多すぎます。その後の、よりコストのかかるレコメンデーション システムのフェーズ(スコアリング再ランキングなど)では、これらの 500 個のレコメンデーションははるかに小さく、より有用なレコメンデーション セットになります。

受験者サンプリング

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

  • ビーグル
  • 残りのネガティブクラスのランダムなサブセット(ネコ、ロリポップ、フェンスなど)。

正のクラスが常に適切な正の強化を得る限り、負のクラスは頻度の低い負の強化から学習でき、これは実際に経験的に観測されるという考え方です。

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

カテゴリデータ

#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 つのクラスがスパムと非スパムの場合があります。
  • 犬種を識別するマルチクラス分類モデルのクラスは、プードル、ビーグル、パグなどです。

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

分類モデル

#fundamentals

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

  • 入力文の言語を予測するモデル(フランス語、スペイン語 イタリア語?)。
  • 樹木の種類(Maple、オーク?Baobab など)?
  • 特定の病状の陽性または陰性のクラスを予測するモデル。

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

一般的な分類モデルには次の 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 個
  • クラス「purple」のラベル: 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 に分類され、他のセントロイドに最も近いデータポイントはクラスタ 2 に分類されます。

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

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

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

共同適応

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

協調フィルタリング

#recsystems

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

コンセプト ドリフト

特徴とラベルの間の関係の変化。コンセプト ドリフトが起こると、モデルの品質が低下します。

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

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

  • 車重量
  • エンジン圧縮
  • 感染タイプ

ラベルは次のいずれかになります。

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

しかし、「燃料効率の高い車」のコンセプトは常に変化しています。1994 年に「低燃費」とラベル付けされた自動車モデルは、2024 年にはほぼ確実に「非燃料効率」とラベル付けされます。コンセプト ドリフトの問題があるモデルは、時間の経過とともに、有用性の低い予測を行う傾向があります。

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

商品の状態(condition)

#df

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

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

条件はスプリットまたはテストとも呼ばれます。

[] で条件をコントラストにします。

関連項目:

打ち合わせ

#language

幻覚と同義。

技術的には、幻覚よりも混同の方がより正確な用語でしょう。しかし、ハルシネーションが最初に普及しました。

構成

モデルのトレーニングに使用する初期プロパティ値を割り当てるプロセスには、次のものがあります。

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

確証バイアス

#fairness

既存の信念や仮説を裏付ける方法で情報を探し、解釈し、好意的に捉え、記憶する傾向。ML デベロッパーは、既存の信念を裏付ける結果に影響を与える方法で、誤ってデータを収集またはラベル付けする可能性があります。確証バイアスは暗黙的バイアスの一種です。

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

混同行列

#fundamentals

分類モデルによる正しい予測と誤った予測の数をまとめた NxN テーブル。たとえば、バイナリ分類モデルについて、次の混同行列について考えてみましょう。

腫瘍(予測) がん以外(予測)
がん(グラウンド トゥルース) 18(TP) 1(FN)
がん以外(グラウンド トゥルース) 6(FP) 452(TN)

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

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

マルチクラス分類問題の混同行列は、誤りのパターンを特定するのに役立ちます。たとえば、3 種類のアヤメ(Virginica、Versicolor、Setosa)を分類する 3 クラスのマルチクラス分類モデルについて、次の混同行列について考えてみましょう。グラウンド トゥルースがバージニカであった場合、混同行列は、このモデルが 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 から bull までの距離が、ewe(メスヒツジ)から(オス ヒツジ)またはメスからオスまでの距離に類似するように、英語の単語を表現できます。コンテキスト化された言語のエンベディングでは、英語話者は「牛」を「牛」または「雄牛」を意味する場合があることを認識できます。

コンテキスト ウィンドウ

#language
#生成 AI

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

連続的な特徴

#fundamentals

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

離散特徴とは対照的です。

便宜的サンプリング

簡単なテストを実行するために、科学的に収集されていないデータセットを使用する。後で、科学的に収集されたデータセットに切り替える必要があります。

収束

#fundamentals

反復のたびに、loss 値がほとんどまたはまったく変化しなかったときに到達する状態。たとえば、次の損失曲線は、約 700 回の反復で収束することを示しています。

デカルト プロット。X 軸は損失です。Y 軸はトレーニングの反復回数です。最初の数回のイテレーションで損失が非常に大きくなりますが、急激に低下しています。約 100 回のイテレーション後も損失は減少し続けていますが、かなり緩やかなペースで進んでいます。約 700 回のイテレーション後、損失は平坦なままです。

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

ディープ ラーニングでは、最終的に降順になるまでの多くの反復処理で、損失値が一定またはほぼそのままになることがあります。損失値が一定で長期間続くと、一時的に誤った収束感を感じることがあります。

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

凸関数

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

U 字型曲線。各曲線には最小点が 1 つあります。

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

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

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

凸最適化

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

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

凸集合

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

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

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

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

畳み込み

#image

数学では、さりげなく言うと 2 つの関数が混ざり合っています。ML では、畳み込みフィルタと入力行列を混合して重みをトレーニングします。

多くの場合、ML における「畳み込み」という用語は、畳み込み演算または畳み込み層を指す短縮形です。

畳み込み演算を行わないと、ML アルゴリズムは大規模なテンソル内の各セルに対して、個別の重みを学習する必要があります。たとえば、2K x 2K の画像でトレーニングした ML アルゴリズムでは、400 万個の異なる重みを見つけなければなりません。畳み込みにより、ML アルゴリズムは畳み込みフィルタ内のすべてのセルの重みを見つけるだけでよいため、モデルのトレーニングに必要なメモリが大幅に削減されます。畳み込みフィルタが適用されると、フィルタが各セルに乗算されるように、単にセル間で複製されます。

畳み込みフィルタ

#image

畳み込み演算を行う 2 つの操作者のうちの 1 つ。(もう一つのアクターは入力マトリックスのスライスです)。畳み込みフィルタは、入力行列と同じランクを持つが、形状が小さい行列です。たとえば、28x28 の入力行列の場合、フィルタは 28x28 未満の任意の 2 次元行列になります。

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

畳み込み層

#image

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

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

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

2 つの行列を示すアニメーション。最初の行列は 5 行 5 行列です。[[128,97,53,201,198], [35,22,25,200,195], [37,24,28,197,182], [33,28,92,195,179], [10,79], [31,7]2 番目の行列は 3 行 3 行列です。[[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,40,207]

次のような 2x2 の畳み込みフィルタを考えてみます。

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

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

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

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

cost

loss と同義。

共同トレーニング

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

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

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

反事実的公平性

#fairness

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

反事実的公平性の詳細については、When Worlds Collide: Integrating さまざまな反事実的仮定を公平性に組み込むをご覧ください。

対象範囲のバイアス

#fairness

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

クラッシュ ブラッサム

#language

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

評論家

#rl

Deep Q-Network と同義。

交差エントロピー

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

交差検証

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

累積分布関数(CDF)

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

D

データ分析

サンプル、測定、可視化について検討し、データについて理解する。データ分析は、データセットを最初に受け取ってから最初のモデルmodelを構築する前に特に役立ちます。また、システムのテストを理解し、問題をデバッグするうえでも重要です。

データの拡張

#image

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

DataFrame

#fundamentals

メモリ内のデータセットを表す一般的な pandas データ型。

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

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

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

データ並列処理

モデル全体を複数のデバイスに複製し、入力データのサブセットを各デバイスに渡すトレーニングまたは推論をスケーリングする方法。データ並列処理では、非常に大きなバッチサイズでトレーニングと推論を行うことができます。ただし、データ並列処理では、すべてのデバイスに収まる十分な大きさのモデルが必要です。

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

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

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

#fundamentals

元データのコレクション。通常は(ただしそれに限定されません)次のいずれかの形式で編成されます。

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

Dataset API(tf.data)

#TensorFlow

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

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

決定境界

バイナリクラスモデルが学習したクラス間の区切り文字、またはマルチクラス分類問題。たとえば、バイナリ分類問題を表す次の画像では、決定境界は Orange クラスと Blue クラスのフロンティアです。

クラス間で明確に定義された境界。

デシジョン フォレスト

#df

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

判定しきい値

分類しきい値と同義。

ディシジョン ツリー

#df

階層的に編成された一連の条件conditionsリーブconditionsで構成される教師あり学習モデル。たとえば、次の図はディシジョン ツリーです。

5 つのリーフにつながる、階層的に配置された 4 つの条件で構成されるディシジョン ツリー。

デコーダ

#language

一般に、処理された高密度な内部表現から、より未加工、スパース、または外部表現に変換する ML システム。

デコーダは、多くの場合、大規模なモデルのコンポーネントであり、エンコーダと頻繁にペアになります。

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

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

ディープモデル

#fundamentals

複数の隠れ層を含むニューラル ネットワーク

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

ワイドモデル」も参照してください。

ネットワークでよく

ディープモデルと同義。

Deep Q-Network(DQN)

#rl

Q 学習における、Q 関数を予測するディープ ニューラル ネットワーク

Critic は Deep Q-Network の類義語です。

ユーザー属性の同等性

#fairness

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

たとえば、グラブダブドリブ大学にリリプット語とブロブディングナギ語の両方を適用する場合、平均的に一方のグループが他方よりも有望であるかどうかにかかわらず、入学を許可されたリリプット語のパーセンテージとブロブディングナギー系の学生のパーセンテージが同じであれば、人口統計の同等性が達成されます。

一方、等価オッズ機会の平等では、分類結果を集約して機密性の高い属性に依存できますが、指定された特定のグラウンド トゥルース ラベルの分類結果が機密性の高い属性に依存することは許可されません。人口統計の同等性を最適化する際のトレードオフの可視化については、よりスマートな ML による差別への攻撃をご覧ください。

ノイズ除去

#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」。

深さ方向の分離可能な畳み込み(分離可能畳み込みとも略称)は、標準的な 3D 畳み込みを、より計算効率が高い 2 つの個別の畳み込み演算に分解します。1 つ目は深さ 1(n x n x 1)の深さ方向 x 1、次に長さはポイント(長さ)です。

詳細については、Xception: Depthwise Separable Convolutions を使用したディープ ラーニングをご覧ください。

派生ラベル

プロキシラベルと同義。

デバイス

#TensorFlow
#GoogleCloud

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

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

差分プライバシー

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

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

次元削減

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

寸法

次のいずれかの定義を持つ過負荷の用語:

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

    • スカラーの次元は 0 です(例: ["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

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

たとえば、Lilliputian のミニチュア住宅ローンの利用資格を判断するアルゴリズムで、送付先住所に特定の郵便番号が含まれている場合に、「不適格」に分類される可能性が高くなります。ビッグ エンディアン リリプティアンのほうが、この郵便番号の送付先住所を持つ可能性が高い場合、このアルゴリズムによってさまざまな影響が生じる可能性があります。

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

さまざまな扱い

#fairness

サブジェクトのデリケートな属性をアルゴリズムによる意思決定プロセスに要素として考慮し、サブグループごとに扱いが異なる。

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

一方、異なる影響は、サブグループに対するアルゴリズムによる決定が、そのサブグループがモデルへの入力であるかどうかにかかわらず、社会的影響の格差に焦点を当てています。

での精製

#生成 AI

1 つのモデルmodel(教師)のサイズを、元のモデルの予測を可能な限り忠実にエミュレートする小さなモデル(生徒model)に縮小するプロセス。model抽出が役立つのは、大規模なモデル(教師)よりも小規模なモデルに 2 つの主要なメリットがあるからです。

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

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

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

蒸留を以下の用語と比較、対比してください。

配信

特定の特徴またはラベルのさまざまな値の頻度と範囲。分布は特定の値の確率を取得します。

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

  • 左のグラフは、富裕さのべき乗法分布と、その富を持つ人の数を比較したものです。
  • 右側は、その身長を持つ人の数に対する身長の正規分布です。

2 つのヒストグラム。一方のヒストグラムはべき乗法則の分布を示しています。X 軸は富に、Y 軸は富を持つ人々の人数を示しています。ほとんどの人は富裕さがほとんどなく、少数の富を持つ人もいます。もう 1 つのヒストグラムは、X 軸に身長、Y 軸にその身長を持つ人の数を示す正規分布を示しています。ほとんどの人は平均に近いところに集まっています。

各特徴とラベルの分布を理解すると、値を正規化し、外れ値を検出する方法を決定するのに役立ちます。

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

除分割クラスタリング

#clustering

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

ダウンサンプリング

#image

次のいずれかを意味する過負荷の用語:

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

DQN

#rl

Deep Q-Network の略語。

ドロップアウト正則化

正則化の一種。ニューラル ネットワークのトレーニングに役立ちます。ドロップアウト正則化では、1 つの勾配ステップで、ネットワーク レイヤ内の一定数のユニットをランダムに選択することが削除されます。脱落する単位が多いほど、正則化は強力になります。これは、より小さなネットワークの指数関数的に大規模なアンサンブルをエミュレートするためにネットワークをトレーニングすることに似ています。詳細については、Dropout: A Simple Way to Prevent Neural Networks をご覧ください。

動的

#fundamentals

頻繁に、または継続的に行われること。動的とオンラインという用語は ML の類義語です。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" を挿入)

Einsum 表記

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

NumPy は、一般的な Einsum 実装を提供します。

エンベディング レイヤ

#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 の樹木種ごとにエンベディング ベクトルを学習する必要があるとします。次に示す配列は、バオバブの木のエンベディング ベクトルです。

0.0 ~ 1.0 の浮動小数点数を持つ 12 個の要素の配列。

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

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

経験累積分布関数(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) * log (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.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

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

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

グルブドブドリブ大学がリルプット派とブロブディングナギー派の両方を厳格な数学プログラムに認めているとします。Lilliputians の中等学校では、数学クラスの堅牢なカリキュラムを提供しており、大多数の学生が大学プログラムの基準を満たしています。Brobdingnagians の中学校では数学の授業をまったく行っていないため、資格を持つ生徒が大幅に少なくなっています。資格の学生がリリプート派かブロブディンナー派かに関係なく、同様に入学を許可される可能性が等しければ、国籍(リリプート派またはブロブディンナージ派)の優先ラベルが「承諾済み」の場合、機会の平等は満たされます。

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

表 1. リルプット出願者(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%

上記の例では、資格のある Lilliputians と Brobdingnagians のどちらでも、入学が許可される確率が 50% であるため、資格を持つ学生が受け入れられる機会の平等を満たしています。

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

  • 人口学的平等性: リリプート派とブロブディンナギー派の入学が認められる割合は異なります。リリプート派の学生の 48% が入学を許可される一方、ブロブディンナーギア派の学生では 14% しか入学を認められていません。
  • 均等なオッズ: リルプット派の学生とブロブディンナー派の学生は、入学同じ確率で認められますが、不適格のリリプート派とブロブディンナギー派の学生はどちらも拒否される確率が同じであるという追加の制約は満たされません。不適格な Lilliputian の拒否率は 70% で、不適格の Brobdingnagians の拒否率は 90% です。

機会の平等の詳細については、教師あり学習における機会の平等をご覧ください。また、機会の平等を重視して最適化する際のトレードオフを図で確認するには、「よりスマートな ML で差別に取り組む」をご覧ください。

均等オッズ

#fairness

モデルが陽性クラス正のクラス負のクラス(一方またはもう一方だけではない)の両方に関して、モデルが機密属性のすべての値について結果を同等に予測しているかどうかを評価するための公平性指標。つまり、真陽性率偽陰性率の両方がすべてのグループで同じである必要があります。

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

たとえば、グルブドゥブドリブ大学がリルプット派とブロブディングナギー派の両方を厳格な数学プログラムに受け入れているとします。Lilliputians の高等学校では数学クラスの堅牢なカリキュラムを提供しており、大多数の学生が大学プログラムの資格を有しています。ブロブディングナギアンの高校では数学の授業をまったく行っていないため、資格を持つ生徒が大幅に少なくなっています。応募者がリルプット派かブロブディンナーギア派かに関係なく、資格があればプログラムへの参加が認められる可能性が等しくなり、資格を満たさない場合も却下される可能性が同程度に等しいという条件で満たされます。

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

表 3: リルプット出願者(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%

資格がある Lilliputian と Brobdingnagian の学生が入学を認める確率はどちらも 50% で、不適格の Lilliputian と Brobdingnagian の学生が拒否される確率は 80% であるため、オッズの均等になります。

平等化オッズは、「教師あり学習における機会の平等」で次のように正式に定義されています。「predictor ___」は、以下のとおり。

Estimator

#TensorFlow

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

評価

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

説明します

#fundamentals

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

  • ラベル付きの例は、1 つ以上の特徴と 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 つのバケットの 1 つの温度を表す「気分予測」モデルについて考えてみましょう。

  • freezing
  • chilly
  • temperate
  • warm

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

  • still
  • light
  • windy

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

または、気温と風速の特徴クロスを作成することもできます。この合成特徴には次の 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

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

[0.92, 0.56]

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

各例で指定する特徴ベクトルの値は異なります。したがって、次の例の特徴ベクトルは次のようになります。

[0.73, 0.49]

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

[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 一例です。
英国: GBP 別の例を見てみましょう。
インド: 実際のクエリ。

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

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

フィドル

#language

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

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

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

フィドルは、グルーコードの呼び出し構造を未評価かつ可変の形式でキャプチャします。

ファインチューニング

#language
#image
#生成 AI

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

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

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

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

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

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

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

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

亜麻

#language

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

亜麻性

#language

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

ワーキングゲート

#seq

セル内の情報フローを規制する長短期記憶セルの一部。フォーゲット ゲートは、セル状態から破棄する情報を決定することでコンテキストを維持します。

フルソフトマックス

ソフトマックスと同義です。

一方、候補サンプリングでは、

全結合層

隠しレイヤ。各ノードは、後続の隠れ層内のすべてのノードに接続されます。

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

関数の変換

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

1 階

ガン

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

一般化

#fundamentals

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

一般化曲線

#fundamentals

トレーニング損失検証損失の両方を、反復処理数の関数としてプロットします。

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

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

一般化線形モデル

ガウスノイズに基づく最小二乗回帰モデルを、ポアソンノイズやカテゴリノイズなど、他の種類のノイズに基づく他のタイプのモデルに一般化します。一般化された線形モデルの例を以下に示します。

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

一般化線形モデルには、次のような特性があります。

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

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

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

新しいデータを作成するシステム。ジェネレータはデータを作成し、識別器は作成されたデータが有効か無効かを判断します。

生成 AI

#language
#image
#生成 AI

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

  • 複雑
  • 一貫性がある
  • オリジナル

たとえば 生成 AI モデルは高度なエッセイや 画像を生成できます

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

予測 ML も参照してください。

生成モデル

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

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

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

p(examples)

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

識別モデルは、

ジェネレータ

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

識別モデルは、

ジニ不純物

#df

エントロピーに似た指標。スプリッターは、Gini 不純度またはエントロピーから導出された値を使用して、分類ディシジョン ツリー条件を構成します。情報利得はエントロピーから導出されます。gini 不純物に由来する指標と同義で広く受け入れられている用語はありませんが、この名前のない指標は、情報利得と同じくらい重要です。

ジニ不純度は、ギニ指数(または単にギニ)とも呼ばれます。

ゴールデン データセット

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

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

GPT(Generative Pre-trained 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}$ の損失勾配を予測するようにトレーニングされた弱いモデルです。

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

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

グラデーションのクリップ

#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 つのバケットに複数の種類の樹木を含めることもできます。たとえば、ハッシュ化することで、遺伝的に異なる 2 種類のバオバブとレッドカエデを同じバケットに入れることができます。いずれにせよ、選択した数のバケットに大規模なカテゴリセットをマッピングするには、ハッシュ化が依然として有効な方法です。ハッシュ化は、決定論的な方法で値をグループ化することで、多数の可能な値を持つカテゴリ特徴をはるかに少ない数の値に変換します。

ヒューリスティック

問題に対するシンプルで迅速に実装されたソリューション。たとえば「ヒューリスティックにより、86% の精度を達成しました。ディープニューラルネットワークに切り替えたところ 精度は 98%になりました”

隠れ層

#fundamentals

入力レイヤ(特徴)と出力レイヤ(予測)の間のニューラル ネットワークのレイヤ。各隠れ層は 1 つ以上のニューロンで構成されています。たとえば、次のニューラル ネットワークには 2 つの隠れ層が含まれています。最初の層には 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 の債務不履行率の高かった履歴条件が無関係な場合でも、コミュニティ A のローンを承認する可能性が低くなる可能性があります。

ホールドアウト データ

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

主催者

#TensorFlow
#GoogleCloud

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

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

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

ハイパーパラメータ

#fundamentals

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

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

超平面

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

I

ID

独立および同分布の略語。

画像認識

#image

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

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

不均衡なデータセット

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

暗黙のバイアス

#fairness

人間のマインドモデルと記憶に基づいて、自動的に関連付けや仮定を立てる。暗黙的なバイアスは、以下に影響する可能性があります。

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

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

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

補完

値の補完の短縮形。

公平性に関する指標の非互換性

#fairness

公平性の概念の中には、相互に相反するものがあり、同時に満たすことができないものもあります。そのため、すべての ML の問題に適用できる、公平性を定量化するための単一の普遍的な指標はありません。

これをやめる気になるかもしれませんが、公平性の指標に互換性がないからといって、公平性への取り組みが実りがないということにはなりません。むしろ、公平性は、ユースケースに特有の悪影響を回避することを目的に、特定の ML 問題のコンテキストに沿って定義しなければならないことを示唆しています。

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

コンテキスト内学習

#language
#生成 AI

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

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

#fundamentals

変化しない分布から取得されたデータ。描画される各値は、以前に描画された値に依存しません。ID とは、ML の理想的な気体です。これは有用な数学的構成要素ですが、現実世界ではほとんど存在しません。たとえば、ウェブページへの訪問者の分布は、短い時間枠に分布する場合があります。つまり、その短い時間枠内で分布は変化せず、あるユーザーの訪問は別のユーザーの訪問とは無関係です。ただし、期間を長くすると、ウェブページの訪問者に季節的な差異が生じることがあります。

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

個人の公平性

#fairness

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

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

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

推論

#fundamentals

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

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

推論パス

#df

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

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

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

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

3 つの太い矢印は、推論パスを示しています。

情報利得

#df

ディシジョン フォレストでは、ノードのエントロピーサンプルの重み付きノード数ノードのエントロピーはそのノード内の例の エントロピーです

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

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

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

  • 子ノードの加重エントロピー合計 = (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]

推論で、家スタイルの特徴の値が tudorcolonialcape のいずれかの場合、この条件は Yes と評価されます。住宅スタイルの対象物の値がそれ以外(ranch など)の場合、この条件は「いいえ」と評価されます。

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

インスタンス

example と同義。

指示チューニング

#生成 AI

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

以下と比較対照します。

解釈可能性

#fundamentals

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

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

ML モデルを解釈するには、Learning Interpretability Tool(LIT)を使用します。

評価者間合意

タスクを実施するときに人間の評価者が同意する頻度の測定値。評価担当者が同意しない場合、タスクの手順の改善が必要になることがあります。 アノテーター間の合意や評価者間の信頼性とも呼ばれます。コーエンのカッパもご覧ください。これは、評価者間の一致の最も一般的な測定値の一つです。

Intersection over union(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 中央値は、セントロイドからサンプルまでの マンハッタン距離に依存します。この距離は、各ディメンションの絶対差分の合計です。たとえば、(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

実際のラベル値とモデルが予測する値との差の二乗を計算する損失関数。たとえば、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 になります。1 つの外れ値が 16 個のうち 9 個を占めることに注意してください。

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

平均二乗誤差は、サンプルあたりの平均 L2 損失です。二乗損失は L2 損失の別名です。

L2 正則化

#fundamentals

重みの二乗の合計に応じて重みにペナルティを課す正則化の一種。L2 正則化は、外れ値の重み(正の値または負の値が大きいもの)を 0 に近く、0 には近づけないようにするのに役立ちます。値が 0 に非常に近い特徴はモデルに残りますが、モデルの予測にあまり影響しません。

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

対照的に、L1 正則化です。

ラベル

#fundamentals

教師あり ML における、の「解答」または「結果」の部分。

ラベル付きサンプルは、1 つ以上の特徴と 1 つのラベルで構成されます。たとえば、スパム検出データセットでは、ラベルは「Spam」または「Not Spam」のいずれかになります。降雨データセットでは、ラベルは特定の期間に降った雨の量である場合があります。

ラベル付きサンプル

#fundamentals

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

寝室の数 浴室数 築年数 住宅価格(ラベル)
3 2 15 345,000 ドル
2 1 72 179,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 Layers API の関数と同じです。

#df

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

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

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

Learning Interpretability Tool(LIT)

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

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

学習率

#fundamentals

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

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

最小二乗回帰

L2 損失を最小化することでトレーニングされた線形回帰モデル。

リニア

#fundamentals

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

線形関係のプロットは線です。

nonlinear」は対照的です。

線形モデル

#fundamentals

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

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

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

線形回帰

#fundamentals

次の両方に該当する ML モデルのタイプ。

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

線形回帰とロジスティック回帰を比べます。また、回帰と分類を対比します。

ライト

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

LLM

#language

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

ロジスティック回帰

#fundamentals

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

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

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

  • 72% の確率でスパム
  • メールが迷惑メールではない確率は 28%。

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

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

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

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

ロジット

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

ログ損失

#fundamentals

バイナリロジスティック回帰で使用される損失関数

対数オッズ

#fundamentals

ある事象が発生する確率の対数。

長・短期記憶(LSTM)

#seq

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

LoRA

#language
#生成 AI

Low-Rank Adaptability の略語。

損失

#fundamentals

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

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

損失アグリゲータ

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

損失曲線

#fundamentals

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

損失とトレーニングのイテレーションのデカルトグラフ。最初のイテレーションで損失が急激に減少し、その後徐々に低下し、最後のイテレーションで傾きが平坦になっています。

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

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

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

損失関数

#fundamentals

トレーニングまたはテスト中に、サンプルのバッチに対する損失を計算する数学関数。損失関数は、良い予測を行うモデルの方が、不正確な予測を行うモデルよりも小さい損失しか返しません。

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

さまざまな種類の損失関数が存在します。構築するモデルの種類に適した損失関数を選択してください。次に例を示します。

損失表面

重みと損失のグラフ。勾配降下法の目的は、損失表面が極小となる重みを見つけることです。

低ランクの適応性(LoRA)

#language
#生成 AI

大規模言語モデルのパラメータのサブセットのみをファインチューニングするパラメータ効率調整を実行するためのアルゴリズム。LoRA には次の利点があります。

  • モデルのすべてのパラメータをファインチューニングする必要がある手法よりも高速にファインチューニングできます。
  • ファインチューニングされたモデルでの推論の計算コストを削減します。

LoRA でチューニングされたモデルは、予測の品質を維持または改善します。

LoRA を使用すると、モデルの複数の専用バージョンが可能になります。

LSTM

#seq

長・短期記憶の略称。

M

機械学習

#fundamentals

入力データからモデルトレーニングするプログラムまたはシステム。トレーニング済みモデルは、モデルのトレーニングに使用された分布と同じ分布から作成された新しい(未知の)データから有用な予測を行うことができます。

ML はこれらのプログラムやシステムに関する 研究分野を指す場合もあります

多数派クラス

#fundamentals

クラス不均衡なデータセットでより一般的なラベル。たとえば、99% の陰性ラベルと 1% の陽性ラベルを含むデータセットの場合、陰性ラベルはマジョリティ クラスです。

少数派」は対照的です。

マルコフ決定プロセス(MDP)

#rl

マルコフ特性が保持される仮定のもとで、一連の状態を移動するために決定(またはアクション)が行われる意思決定モデルを表すグラフ。強化学習では、このような状態間の遷移によって数値の報酬が返されます。

マルコフの性質

#rl

特定の環境のプロパティ。状態遷移は、現在の状態とエージェントのアクションに潜む情報によって完全に決定されます。

マスク言語モデル

#language

トークン候補がシーケンス内で空白を補う確率を予測する言語モデル。たとえば、マスクされた言語モデルでは、次の文の下線を置き換える候補単語の確率を計算できます。

帽子の ____ が戻ってきた。

文献では下線の代わりに「MASK」という文字列が一般的に使用されています。次に例を示します。

帽子の「マスク」が戻ってきた。

最新のマスク言語モデルのほとんどは双方向です。

matplotlib

オープンソースの Python 2D プロット ライブラリ。matplotlib を使用して、ML のさまざまな側面を可視化できます。

行列分解

#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 はブラック パンサーが好きかということです。最初の行と 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 システムが最適化を試みる指標です。

Metrics 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 の特定の数字を手動で書き込んだ方法を示しています。各画像は 28 x 28 の整数の配列として保存されます。各整数は 0 ~ 255 のグレースケール値です。

MNIST は ML の正規のデータセットであり、新しい ML アプローチのテストによく使用されます。詳しくは、 手書き数字の MNIST データベースをご覧ください。

モダリティ

#language

大まかなデータのカテゴリ。たとえば、数字、テキスト、画像、動画、音声は 5 つの異なるモダリティです。

model

#fundamentals

一般に、入力データを処理して出力を返す数学的構造。言い換えると、モデルとは、システムが予測を行うために必要なパラメータと構造のセットのことです。教師あり ML では、モデルは入力としてを受け取り、出力として予測を推測します。教師あり機械学習では モデルは若干異なります次に例を示します。

モデルを保存、復元、コピーできます。

教師なし ML ではモデルも生成されます。これは通常、入力例を最も適切なクラスタにマッピングできる関数です。

モデルの容量

モデルが学習できる問題の複雑さ。モデルが学習できる問題が複雑であるほど、モデルのキャパシティは高くなります。モデルのキャパシティは、通常、モデル パラメータの数に応じて増加します。分類器の容量の正式な定義については、VC ディメンションをご覧ください。

モデルのカスケード

#生成 AI

特定の推論クエリに最適なモデルmodelを選択するシステム。

非常に大規模な(多数のパラメータ)ものから、はるかに小さい(パラメータの数が非常に少ない)モデルまで、モデルのグループを想像してみてください。非常に大規模なモデルは、小規模なモデルよりも推論時により多くの計算リソースを消費します。ただし、非常に大規模なモデルは通常、小規模なモデルよりも複雑なリクエストを推測できます。モデルのカスケードでは、推論クエリの複雑さを決定し、推論を実行するための適切なモデルを選択します。モデル カスケードの主な動機は、一般的に小さいモデルを選択し、複雑なクエリに対しては大きいモデルのみを選択することで、推論費用を削減することです。

小規模なモデルがスマートフォンで実行され、そのモデルの大規模なバージョンがリモート サーバーで実行されているとします。適切なモデルのカスケードでは、小さなモデルで単純なリクエストを処理し、リモートモデルのみを呼び出して複雑なリクエストを処理することで、費用とレイテンシが削減されます。

モデルルーターもご覧ください。

モデル並列処理

#language

1 つのモデルmodelのさまざまな部分を異なるデバイスmodelに配置するトレーニングまたは推論をスケーリングする方法。モデル並列処理により、大きすぎて単一のデバイスに収まらないモデルが可能になります。

モデル並列処理を実装するために、システムは通常、次のことを行います。

  1. モデルを小さな部分にシャーディング(分割)します。
  2. これらの小さな部分のトレーニングを複数のプロセッサに分散します。各プロセッサは、モデルの独自の部分をトレーニングします。
  3. 結果を結合して 1 つのモデルを作成します。

モデル並列処理によってトレーニングが遅くなる。

データ並列処理もご覧ください。

モデルルーター

#生成 AI

モデル カスケードでの推論modelに最適なモデルmodelを決定するアルゴリズム。modelモデルルーター自体は通常、与えられた入力に最適なモデルを選択する方法を徐々に学習する ML モデルです。ただし、モデルルーターが、より単純な ML 以外のアルゴリズムである場合もあります。

モデルのトレーニング

最適なmodelを決定するプロセス。

モメンタム

学習ステップが現在のステップの導関数だけでなく、直前のステップの導関数にも依存する高度な勾配降下アルゴリズム。モメンタムでは、物理学の運動量と同様に、経時的な勾配の指数関数的に加重された移動平均を計算します。Momentum は学習が局所的な最小値に 留まることを防ぐ場合があります

マルチクラス分類

#fundamentals

教師あり学習における分類の問題で、データセットに 3 種類以上クラスのラベルが含まれる問題。たとえば、Iris データセットのラベルは、次の 3 つのクラスのいずれかにする必要があります。

  • アヤメ属セトサ
  • アイリス バージニカ
  • アイリス ベルシカラー

新しいサンプルでアヤメの種類を予測する、虹彩データセットでトレーニングされたモデルは、マルチクラス分類を実行しています。

一方、厳密に 2 つのクラスを区別する分類問題はバイナリ分類モデルです。たとえば、迷惑メールか迷惑メールではないかを予測するメールモデルは、バイナリ分類モデルです。

クラスタリングの問題では、3 つ以上のクラスタを指します。

多クラス ロジスティック回帰

マルチクラス分類の問題でロジスティック回帰を使用する。

マルチヘッド セルフ アテンション

#language

入力シーケンスの位置ごとに自己アテンション機構を複数回適用するセルフ アテンションの拡張。

Transformers は、マルチヘッド セルフ アテンションを導入しました。

マルチモーダル モデル

#language

入力や出力に複数のモダリティが含まれるモデル。たとえば、画像とテキスト キャプション(2 つのモダリティ)の両方を特徴として受け取り、テキスト キャプションが画像にどの程度適しているかを示すスコアを出力するモデルについて考えてみましょう。つまり、このモデルの入力はマルチモーダルであり、出力はユニモーダルです。

多項分類

マルチクラス分類と同義。

多項回帰

多クラス ロジスティック回帰と同義。

マルチタスク

単一のモデルmodelが複数のタスクmodelを実行するようにトレーニングされる ML 手法。

マルチタスク モデルは、さまざまなタスクに適したデータでトレーニングすることによって作成されます。これにより、モデルはタスク間で情報を共有することを学習できるため、より効果的な学習が可能になります。

多くの場合、複数のタスク用にトレーニングされたモデルは一般化能力が高く、さまざまな種類のデータを処理する際により堅牢になります。

N

NaN トラップ

トレーニング中にモデル内の 1 つの数値が NaN になり、モデル内の他の多くの数値が最終的に NaN になる場合。

NaN は「いいえ」の略です。「Number」の略語です。

自然言語理解

#language

ユーザーの入力内容や発言に基づいてユーザーの意図を判断します。 たとえば、検索エンジンは自然言語理解を使用し、ユーザーの入力内容や発言に基づいてユーザーが検索している内容を判断します。

陰性クラス

#fundamentals

バイナリ分類では、一方のクラスを正、もう一方を負と呼びます。陽性クラスはモデルがテストする対象またはイベントであり、陰性クラスは他の可能性です。次に例を示します。

  • 医学的検査の陰性クラスは「がんでない」かもしれません。
  • メール分類器のネガティブクラスは「迷惑メールではない」かもしれません。

一方、ポジティブ クラスは、

ネガティブ サンプリング

候補サンプリングと同義。

ニューラル アーキテクチャ検索(NAS)

ニューラル ネットワークのアーキテクチャを自動的に設計する手法。NAS アルゴリズムにより、ニューラル ネットワークのトレーニングに必要な時間とリソースを削減できます。

NAS では通常、以下のものが使用されます。

  • 検索スペース。可能なアーキテクチャのセットです。
  • フィットネス関数。特定のタスクで特定のアーキテクチャがどの程度良好に機能するかを測定します。

NAS のアルゴリズムは、少数のアーキテクチャから始めて、どのアーキテクチャが有効かを学習するにつれて徐々に検索スペースを拡大します。フィットネス関数は通常、トレーニング セットに対するアーキテクチャのパフォーマンスに基づいており、アルゴリズムは通常、強化学習手法を使用してトレーニングされます。

NAS のアルゴリズムは、画像の分類、テキスト分類、機械翻訳などのさまざまなタスクに適した高パフォーマンスのアーキテクチャを見つけるのに有効であることが証明されています。

ニューラル ネットワークの

#fundamentals

少なくとも 1 つの非表示レイヤmodelを含むモデルmodelディープ ニューラル ネットワークは、複数の隠れ層を含むニューラル ネットワークの一種です。たとえば、次の図は 2 つの隠れ層を含むディープ ニューラル ネットワークを示しています。

入力層、2 つの隠れ層、1 つの出力層を持つニューラル ネットワーク。

ニューラル ネットワーク内の各ニューロンは、次のレイヤのすべてのノードに接続します。たとえば、上の図では、最初の隠れ層にある 3 つのニューロンが、2 番目の隠れ層にある 2 つのニューロンの両方に別々に接続されています。

コンピュータに実装されたニューラル ネットワークは、脳や他の神経系の神経ネットワークと区別するために人工ニューラル ネットワークと呼ばれることもあります。

一部のニューラル ネットワークでは、異なる特徴量とラベルとの間の非常に複雑な非線形関係を模倣できます。

畳み込みニューラル ネットワーク回帰ニューラル ネットワークもご覧ください。

ニューロン

#fundamentals

ML において、ニューラル ネットワーク隠れ層内にある個別の単位。各ニューロンは次の 2 段階のアクションを実行します。

  1. 入力値に対応する重みを乗じた加重合計を計算します。
  2. 入力として加重合計を活性化関数に渡します。

最初の隠れ層のニューロンは、入力層の特徴値からの入力を受け入れます。最初の隠れ層以降の隠れ層のニューロンは、前の隠れ層のニューロンからの入力を受け入れます。たとえば、2 番目の隠れ層のニューロンは、最初の隠れ層のニューロンからの入力を受け入れます。

次の図は、2 つのニューロンとその入力を示しています。

入力層、2 つの隠れ層、1 つの出力層を持つニューラル ネットワーク。2 つのニューロン(最初の隠れ層と 2 番目の隠れ層にあるニューロン)がハイライト表示されています。最初の隠れ層でハイライト表示されたニューロンは、入力レイヤの両方の特徴からの入力を受け取ります。2 番目の隠れ層でハイライト表示されたニューロンは、最初の隠れ層にある 3 つのニューロンのそれぞれから入力を受け取ります。

ニューラル ネットワークのニューロンは、脳や神経系の他の部分のニューロンの挙動を模倣しています。

N グラム

#seq
#language

N 単語の順序付きシーケンス。たとえば、truly madly は 2 グラムです。順序には関連性があるため、「madly real」と「truly madly」は別の 2 グラムです。

N この種の N グラムの名前
2 バイグラムまたは 2 グラム 行く、行く、ランチを食べる、ディナーを食べる
3 トライグラムまたは 3 グラム 食べすぎ、目が覚めた 3 匹のネズミ、鐘の死、
4 4 グラム 公園を歩く、風に吹いた塵、少年はレンズ豆を食べた

多くの自然言語理解モデルは、N グラムを使用して、ユーザーが次に入力または発話する単語を予測します。たとえば、ユーザーが「スリーブラインド」と入力したとします。トライグラムに基づく NLU モデルは、ユーザーが次に「マウス」と入力すると予測する可能性があります。

N グラムと、順序付けられていない単語の集合であるバッグ オブ ワードを対比します。

NLU

#language

自然言語理解の略語。

ノード(ディシジョン ツリー)

#df

ディシジョン ツリーで、任意の条件またはリーフ

2 つの条件と 3 つのリーフを持つディシジョン ツリー。

ノード(ニューラル ネットワーク)

#fundamentals

隠れ層ニューロン

ノード(TensorFlow グラフ)

#TensorFlow

TensorFlow グラフ内の演算。

雑音

大まかに言うと、データセット内のシグナルを不明瞭にするもの。ノイズはさまざまな方法でデータに導入されます。次に例を示します。

  • 評価担当者はラベル付けを誤る。
  • 人間と計器が特徴値の記録を誤る、または省略している。

ノンバイナリー状態

#df

3 つ以上の結果を含む条件。たとえば、次のノンバイナリの条件には、次の 3 つの結果が考えられます。

3 つの結果を引き起こす条件(number_of_legs = ?)。1 つの結果(number_of_legs = 8)は、スパイダーという名前のリーフにつながります。2 番目の結果(number_of_legs = 4)は、犬という名前の葉を返します。3 番目の結果(number_of_legs = 2)では、penguin という名前の葉が導き出されます。

非線形

#fundamentals

加算と乗算だけでは表現できない 2 つ以上の変数間の関係。線形関係は直線で表現でき、非線形関係は直線で表現できません。たとえば 2 つのモデルがそれぞれ 1 つの特徴を 1 つのラベルに関連付けるとします左側のモデルは線形で 右側のモデルは非線形です

2 つのプロット。一方のプロットは直線であるため、これは直線関係です。もう 1 つのプロットは曲線なので、これは非線形の関係です。

無回答バイアス

#fairness

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

非定常性

#fundamentals

1 つ以上のディメンション(通常は時間)で値が変化する特徴。たとえば、次のような非定常性について考えてみましょう。

  • 特定の店舗で販売されている水着の数は、季節によって異なります。
  • 特定の地域で収穫される果物の量は、ほぼ一年を通してゼロですが、短期間だけ多くなります。
  • 気候変動により、年間平均気温は変化しています。

一方、定常性とは対照的です。

正規化

#fundamentals

大まかに言うと、変数の実際の値範囲を標準の値範囲に変換するプロセスです。次に例を示します。

  • -1 ~+1
  • 0~1
  • 正規分布

たとえば、特定の特徴の実際の値の範囲が 800 ~ 2,400 であるとします。特徴量エンジニアリングの一環として、実際の値を -1 ~+1 などの標準範囲に正規化できます。

正規化は、特徴量エンジニアリングで一般的なタスクです。通常、特徴ベクトル内のすべての数値特徴がほぼ同じ範囲である場合、モデルのトレーニングが速くなり、より適切な予測が生成されます。

特異点検知

新しい(新しい)サンプルがトレーニング セットと同じ分布から得られたかどうかを判断するプロセス。つまり、トレーニング セットでトレーニングした後、特異点検出は、新しいサンプル(推論または追加のトレーニング)が外れ値であるかどうかを判断します。

外れ値検出」も参照してください。

数値データ

#fundamentals

整数または実数値として表される特徴量。たとえば、住宅の評価モデルでは、住宅の広さ(平方フィートまたは平方メートル)を数値データとして表します。特徴を数値データとして表現すると、特徴の値がラベルと数学的関係を持つことを示します。つまり、住宅の平方メートル数はおそらく、住宅の価値と数学的な関係があります。

すべての整数データを数値データとして表す必要はありません。たとえば、地域によっては郵便番号が整数である場合もありますが、モデルで整数の郵便番号を数値データとして表すことはできません。これは、郵便番号 20000 が郵便番号 10,000 の 2 倍(または半分)ではないためです。さらに、郵便番号によって不動産価格が異なりますが、郵便番号 20000 の不動産価値が、郵便番号 10000 の不動産価値の 2 倍の価値があるとは限りません。郵便番号はカテゴリデータとして表す必要があります。

数値特徴は連続特徴と呼ばれることもあります。

NumPy

Python で効率的な配列演算を行う オープンソースの数学ライブラリpandas は NumPy で構築されています。

O

目標

アルゴリズムが最適化しようとしている指標。

目的関数

モデルの最適化対象とする数式または指標。たとえば、線形回帰の目的関数は通常、平均二乗損失です。したがって、線形回帰モデルをトレーニングする場合、トレーニングは平均二乗損失を最小限に抑えることを目的としています。

目的関数を最大化することが目標である場合もあります。たとえば、目的関数が精度の場合、目標は精度を最大化することです。

損失もご覧ください。

傾斜条件

#df

ディシジョン ツリーで、複数の特徴を含む条件。たとえば、高さと幅の両方が特徴である場合、次の傾きは傾いている条件になります。

  height > width

軸揃えの条件」も参照してください。

オフライン

#fundamentals

静的と同義。

オフライン推論

#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 か国のそれぞれに基づいて異なる接続を学習できます。

特徴を数値データとして表現することは、ワンホット エンコードの代替手法です。残念ながら、スカンジナビアの国々を数値で表すことは好ましくありません。たとえば、次の数値表現について考えてみましょう。

  • "デンマーク": 0
  • 「スウェーデン」: 1
  • 「ノルウェー」は 2
  • 「フィンランド」: 3
  • 「アイスランド」は 4 である

数値エンコードの場合、モデルは未加工の数値を数学的に解釈し、その数値でトレーニングを試みます。しかし、アイスランドは実際にはノルウェーの 2 倍(または半分)ではないため、このモデルは奇妙な結論を導き出します。

ワンショット学習

1 つのトレーニング サンプルから効果的な分類器を学習するように設計された ML アプローチ。オブジェクト分類によく使用されます。

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

ワンショット プロンプト

#language
#生成 AI

大規模言語モデルがどのように応答すべきかを示す 1 つの例を含むプロンプトたとえば、次のプロンプトには、大規模言語モデルがどのようにクエリに応答するかを示す例の 1 つが含まれています。

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

ワンショット プロンプトを以下の用語と比較します。

1 対すべて

#fundamentals

N 個のクラスを持つ分類問題の場合、N 個の別々のバイナリ分類(考えられる結果ごとに 1 つのバイナリ分類器)で構成されるソリューションになります。たとえば、動物、野菜、鉱物としてサンプルを分類するモデルの場合、1 対 1 のソリューションでは、次の 3 つの別々のバイナリ分類器を提供します。

  • 動物か、動物ではないか
  • 野菜 vs 野菜なし
  • ミネラルと非ミネラル

online

#fundamentals

動的と同義。

オンライン推論

#fundamentals

オンデマンドで予測を生成する。たとえば、アプリがモデルに入力を渡し、予測をリクエストするとします。オンライン推論を使用するシステムは、モデルを実行して予測をアプリに返すことで、リクエストに応答します。

対照的なオフライン推論は、

オペレーション(op)

#TensorFlow

TensorFlow で、テンソルを作成、操作、または破棄するプロシージャ。たとえば、行列乗算は 2 つのテンソルを入力として受け取り、1 つのテンソルを出力として生成する演算です。

オプタックス

JAX 用の勾配処理および最適化ライブラリ。Optax は、ディープ ニューラル ネットワークなどのパラメトリック モデルを最適化するためにカスタムの方法で組み合わせ可能な構成要素を提供することで、研究を促進します。その他の目標:

  • コア コンポーネントが読みやすく、十分にテストされた、効率的な実装を実現する。
  • 低レベルの構成要素をカスタム オプティマイザー(または他の勾配処理コンポーネント)に組み合わせられるようにすることで、生産性を向上させる。
  • 誰でも簡単に貢献できるようにすることで、新しいアイデアの採用を加速する。

オプティマイザー

勾配降下法アルゴリズムの特定の実装。一般的なオプティマイザーは次のとおりです。

  • AdaGrad: ADAptive GRADient descent の略。
  • Adam は「ADAptive with Momentum」の略です。

群外の均一性バイアス

#fairness

態度、価値観、性格特性などの特性を比較する際に、グループ内のメンバーよりもグループ外のメンバーを類似しているとみなす傾向。グループ内では定期的に交流するユーザー、グループ外とは定期的に交流しないユーザーを指します。アウトグループに関する属性を提供するようユーザーに依頼してデータセットを作成する場合、それらの属性は、参加者がグループ内のユーザーについてリストする属性よりも、ニュアンスが少なく、固定観念である可能性があります。

たとえば、リリプート派の人は、建築様式、窓、ドア、大きさのわずかな違いを指摘して、他のリリプート人の家を詳細に説明する可能性があります。しかし、同じリルプティアンは単純に、ブロブディングナギン人は全員同じ家に住んでいると宣言するかもしれません。

グループ外の均一性バイアスは、グループ属性バイアスの一種です。

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

外れ値検出

トレーニング セット外れ値を特定するプロセス。

一方、特異点検知は重要です。

考慮する

他のほとんどの値から離れた値。ML では、次のいずれかが外れ値になります。

  • 値が平均からの標準偏差約 3 を超える入力データ。
  • 絶対値が大きい重み
  • 実際の値から比較的遠い予測値。

たとえば、widget-price が特定のモデルの特徴であるとします。平均 widget-price が 7 ユーロ、標準偏差が 1 ユーロであるとします。したがって、12 ユーロまたは 2 ユーロの widget-price を含む例は、それぞれの価格が平均から 5 標準偏差しているため、外れ値とみなされます。

外れ値の多くは入力ミスやその他の入力ミスが原因です。他のケースでは、外れ値は間違いではありません。平均から標準偏差が 5 つ離れている値は稀ですが、不可能はほとんどありません。

多くの場合、外れ値はモデルのトレーニングに問題を引き起こします。クリップは外れ値を管理する方法の一つです。

out-of-bag 評価(OOB 評価)

#df

ディシジョン ツリーを、そのディシジョン ツリーのトレーニングで使用しないと照らし合わせてテストすることで、ディシジョン フォレストの品質を評価するメカニズム。たとえば、次の図では、各ディシジョン ツリーが約 3 分の 2 のサンプルでトレーニングされ、残りの 3 分の 1 のサンプルに対して評価が行われます。

3 つのディシジョン ツリーで構成されるデシジョン フォレスト。1 つのディシジョン ツリーは 3 分の 2 のサンプルでトレーニングし、残りの 1/3 を OOB 評価に使用します。2 つ目のディシジョン ツリーは、前のディシジョン ツリーとは異なるサンプルの 3 分の 2 でトレーニングし、OOB 評価には前のディシジョン ツリーとは異なる 3 分の 1 のサンプルでトレーニングします。

バッグ外評価は、交差検証メカニズムの計算効率と保守的な近似値です。交差検証では、交差検証ラウンドごとに 1 つのモデルがトレーニングされます(たとえば、10 倍の交差検証で 10 個のモデルがトレーニングされます)。OOB 評価では、単一のモデルがトレーニングされます。バギングではトレーニング中に各ツリーから一部のデータが保留されるため、OOB 評価ではそのデータを使用して交差検証を概算できます。

出力層

#fundamentals

ニューラル ネットワークの「最終」レイヤ。出力レイヤには予測が含まれます。

次の図は、入力レイヤ、2 つの非表示レイヤ、1 つの出力レイヤがある小規模なディープ ニューラル ネットワークを示しています。

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

過学習

#fundamentals

モデルが新しいデータに対して正しい予測を行わないように、トレーニング データmodelとほぼ一致するモデルmodelを作成する。

正則化によって、過学習を減らすことができます。大規模で多様なトレーニング セットでトレーニングすると、過学習を減らすこともできます。

オーバーサンプリング

よりバランスの取れたトレーニング セットを作成するために、クラス不均衡なデータセット内の少数派クラスサンプルを再利用します。

たとえば、少数派クラスに対する過半数のクラスの比率が 5,000:1 のバイナリ分類問題を考えてみましょう。データセットに 100 万個のサンプルが含まれている場合、データセットには少数派のクラスの約 200 個のサンプルしか含まれていないため、効果的なトレーニングにはサンプルが少なすぎる可能性があります。この欠点を克服するために、200 のサンプルを複数回オーバーサンプリング(再利用)すると、有用なトレーニングに十分なサンプルが得られる可能性があります。

オーバーサンプリングを行う際は、過学習に注意する必要があります。

一方、アンダーサンプリングは有効です。

P

パックデータ

データをより効率的に保存するためのアプローチ。

パックされたデータは、圧縮形式を使用するか、より効率的にアクセスできるようになんらかの方法でデータを保存します。データをパックすることで、アクセスに必要なメモリ量と計算量が最小限に抑えられ、トレーニングの高速化とモデルの推論の効率化につながります。

パックデータは、データ拡張正則化などの他の手法で頻繁に使用され、モデルのパフォーマンスをさらに向上させます。

pandas

#fundamentals

numpy 上に構築された列指向のデータ分析 API。TensorFlow を含む多くの ML フレームワークは、入力として pandas データ構造をサポートしています。詳細については、pandas のドキュメントをご覧ください。

パラメータ

#fundamentals

モデルがトレーニング中に学習する重みバイアス。たとえば、線形回帰モデルでは、パラメータは次の式のバイアス(b)とすべての重み(w1w2 など)で構成されます。

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

一方、ハイパーパラメータは、ユーザー(またはハイパーパラメータ チューニング サービス)がモデルに指定する値です。たとえば、学習率はハイパーパラメータです。

パラメータ効率チューニング

#language
#生成 AI

大規模な事前トレーニング済み言語モデル(PLM)を完全なファインチューニングよりも効率的にファインチューニングするための一連の手法。パラメータ効率チューニングでは、通常、完全なファインチューニングよりもはるかに少ないパラメータがファインチューニングされますが、完全なファインチューニングで構築された大規模言語モデルと同等の(またはほぼ同じ)大規模言語モデルが生成されます。

パラメータ効率チューニングと以下を比較対照します。

パラメータ効率チューニングは、パラメータ効率ファインチューニングとも呼ばれます。

パラメータ サーバー(PS)

#TensorFlow

分散設定でモデルのパラメータを追跡するジョブ。

パラメータの更新

トレーニング中にモデルのパラメータを調整する操作。通常は勾配降下法の 1 回のイテレーション内で行われます。

偏微分係数

1 つの変数を除くすべての変数が定数とみなされる導関数。 たとえば、f(x, y)x に関する偏微分係数は、x のみの関数としてみなされる f の微分になります(つまり、y を一定に保ちます)。x に関する f の偏微分では、x がどのように変化するかに注目し、方程式内の他の変数はすべて無視します。

参加バイアス

#fairness

無回答バイアスと同義。選択バイアスをご覧ください。

パーティショニング戦略

パラメータ サーバー間で変数を分割するアルゴリズム。

パックス

複数の TPU アクセラレータ チップ スライスまたは Pod にまたがる大規模なニューラル ネットワーク モデルをトレーニングするために設計されたプログラミング フレームワーク。

Pax は、JAX 上に構築された Flax 上に構築されています。

ソフトウェア スタックにおける Pax の位置を示す図。Pax は JAX 上に構築されています。Pax 自体は 3 つのレイヤで構成されています。一番下のレイヤには TensorStore と Flax が含まれます。中央の層にはオプタックスとフラックスフォーマーが含まれています。最上位のレイヤには Praxis Modeling Library が含まれています。Fiddle は Pax 上に構築されています。

パーセプトロン

1 つ以上の入力値を受け取り、入力の加重合計に対して関数を実行し、単一の出力値を計算するシステム(ハードウェアまたはソフトウェア)。ML では、関数は ReLUReLUシグモイドReLUtanh など、一般的に非線形になります。たとえば、次のパーセプトロンはシグモイド関数を使用して 3 つの入力値を処理します。

$$f(x_1, x_2, x_3) = \text{sigmoid}(w_1 x_1 + w_2 x_2 + w_3 x_3)$$

次の図では、パーセプトロンは 3 つの入力を受け取り、それぞれがパーセプトロンに入る前に重みによって変更されています。

3 つの入力を受け取り、それぞれに個別の重みを乗算するパーセプトロン。Perceptron は単一の値を出力します。

パーセプトロンは、ニューラル ネットワークニューロンです。

公演

次の意味を持つ過負荷の用語:

  • ソフトウェア エンジニアリングにおける標準的な意味。つまり このソフトウェアは どのくらい速く(または効率的に)稼働しますか?
  • ML における意味。ここで、パフォーマンスは、このモデルmodelがどの程度正確かという質問に答えます。つまり モデルの予測がどの程度適切か ということです

並べ替え変数の重要度

#df

変数の重要度の一種で、特徴量の値を並べ替えた後にモデルの予測誤差の増加を評価します。並べ替え変数の重要度は、モデルに依存しない指標です。

パープレキシティ

モデルmodelがタスクをどの程度遂行しているかを示す尺度です。たとえば、ユーザーがスマートフォンのキーボードで入力している単語の最初の数文字を読み取り、候補となる単語のリストを提供するというタスクがあるとします。このタスクのパープレキシティ(P)は、ユーザーが入力しようとしている実際の単語をリストに含めるために必要な推測の数のおおよそです。

パープレキシティは、次のように交差エントロピーに関連しています。

$$P= 2^{-\text{cross entropy}}$$

pipeline

ML アルゴリズムを取り巻くインフラストラクチャ。パイプラインには、データの収集、トレーニング データファイルへのデータの保存、1 つ以上のモデルのトレーニング、本番環境へのモデルのエクスポートが含まれます。

パイプライン化

#language

モデル並列処理の一形態。モデルの処理が連続したステージに分割され、各ステージが別のデバイスで実行されます。ステージが 1 つのバッチを処理している間、前のステージは次のバッチで処理できます。

段階的なトレーニングもご覧ください。

プジット

コードを分割して複数のアクセラレータ チップで実行する JAX 関数。ユーザーが関数を pjit に渡すと、pjit は同等のセマンティクスを持つが、複数のデバイス(GPU や TPU コアなど)で実行される XLA 計算にコンパイルされた関数を返します。

pjit を使用すると、ユーザーは SPMD パーティショニング機能を使用して計算を書き直すことなくシャーディングできます。

2023 年 3 月に pjitjit と統合されました。詳細については、分散配列と自動並列化をご覧ください。

PLM

#language
#生成 AI

事前トレーニング済み言語モデルの略語。

Pmap

異なる入力値を持つ複数の基盤となるハードウェア デバイス(CPU、GPU、または TPU)で入力関数のコピーを実行する JAX 関数。pmap は SPMD に依存します。

policy

#rl

強化学習では、エージェント状態からアクションへの確率的マッピング。

プーリング

#image

以前の畳み込み層で作成された 1 つ以上の行列をより小さい行列に縮小する。プーリングでは通常、プールされた領域の最大値または平均値を取得します。たとえば、次の 3x3 マトリックスがあるとします。

3 行 3 行列 [[5,3,1], [8,2,5], [9,4,3]]。

プーリング演算は、畳み込み演算と同様に、行列をスライスに分割し、その畳み込み演算をストライド単位でスライドします。たとえば、プーリング演算で畳み込み行列を 1x1 ストライドの 2x2 スライスに分割するとします。次の図に示すように、4 つのプーリング オペレーションが行われます。各プーリング オペレーションで、そのスライスの 4 つの最大値が選ばれるとします。

入力行列は [[5,3,1], [8,2,5], [9,4,3]] の値を持つ 3x3 です。入力行列の左上の 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

特定の分類器について、検討中のサブグループの適合率が同等かどうかをチェックする公平性指標

たとえば、大学の受け入れを予測するモデルは、Lilliputians と Brobdingnagians の適合率が同じであれば、国籍の予測同等性を満たします。

予測パリティは、予測レートパリティとも呼ばれます。

予測パリティの詳細については、「公平性の定義の説明」(セクション 3.2.1)をご覧ください。

予測レートの同等性

#fairness

予測同等性の別名。

前処理

#fairness
モデルのトレーニングに使用する前にデータを処理する。前処理は、英語の辞書にない単語を英語のテキスト コーパスから削除するといった簡単なものもあれば、機密性の高い属性と相関する属性をできるだけ多く排除するようにデータポイントを再表現するような複雑なものもあります。前処理は、公平性の制約を満たすのに役立ちます。

事前トレーニング済みモデル

#language
#image
#生成 AI

すでにトレーニングされているモデルまたはモデル コンポーネント(エンベディング ベクトルなど)。場合によっては、事前にトレーニングされたエンベディング ベクトルをニューラル ネットワークにフィードします。また、事前トレーニング済みのエンベディングに依存せずに、モデルがエンベディング ベクトル自体をトレーニングすることもあります。

事前トレーニング済み言語モデルという用語は、事前トレーニングを経た大規模言語モデルを指します。

事前トレーニング

#language
#image
#生成 AI

大規模なデータセットでのモデルの初期トレーニング。一部の事前トレーニング済みモデルは扱いにくいため、通常は追加のトレーニングで改良する必要があります。たとえば、ML の専門家は、Wikipedia のすべての英語ページなどの大規模なテキスト データセットで大規模言語モデルを事前トレーニングする場合があります。事前トレーニングの後、結果として得られるモデルは、次のいずれかの手法でさらに絞り込むことができます。

信念

トレーニングを開始する前に、データについて信じていること。たとえば、L2 正則化は、重みが小さく、通常はゼロ付近で分散されるべきという以前の考えに基づいています。

確率的回帰モデル

回帰モデル: 各特徴量重みだけでなく、重みの不確実性も使用します。確率的回帰モデルは予測とその予測の不確実性を生成しますたとえば、確率的回帰モデルでは、標準偏差 12 で予測 325 が得られる場合があります。確率的回帰モデルの詳細については、tensorflow.org の Colab をご覧ください。

確率密度関数

特定の値を持つデータサンプルの頻度を識別する関数。データセットの値が連続する浮動小数点数の場合、完全一致が発生することはめったにありません。ただし、確率密度関数を値 x から値 yintegratingすると、x から y までのデータサンプルの頻度が予想されます。

たとえば、平均が 200、標準偏差が 30 の正規分布があるとします。211.4 ~ 218.7 の範囲内にあるデータサンプルの予想される頻度を決定するには、211.4 ~ 218.7 の正規分布の確率密度関数を統合します。

プロンプト

#language
#生成 AI

モデルが特定の動作をするように条件付けするために大規模言語モデルに入力として入力されたテキスト。プロンプトには、フレーズと同じくらい短いものや任意の長いもの(小説の全文など)があります。プロンプトは、次の表に示す複数のカテゴリに分類されます。

プロンプトのカテゴリ メモ
質問 ハトはどれくらいの速さで飛べますか?
手順 アービトラージについて面白い詩を書いて。 大規模言語モデルに何かを行うように求めるプロンプト。
マークダウン コードを HTML に変換します。例:
Markdown: * list item
HTML: <ul> <li>list item</li> </ul>
このサンプル プロンプトの最初の文は指示です。プロンプトの残りの部分が例です。
ロール 物理学の博士号を取得するための ML トレーニングで勾配降下法を使用する理由を説明します。 文の最初の部分は指示です。「to a Phys in Physics」というフレーズが役割部分です。
モデルへの入力の一部のみを完了 英国首相は 部分入力プロンプトは、この例のように突然終了することも、アンダースコアで終了することもできます。

生成 AI モデルは、テキスト、コード、画像、エンベディング、動画など、ほぼ何でもプロンプトに応答できます。

プロンプト型学習

#language
#生成 AI

任意のテキスト入力(プロンプト)に応じて動作を適応させることができる特定のモデルの機能。一般的なプロンプトベースの学習パラダイムでは、大規模言語モデルがプロンプトに応答してテキストを生成します。たとえば、ユーザーが次のプロンプトを入力したとします。

ニュートンの運動の第 3 法則を要約してください。

プロンプトベースの学習が可能なモデルは、以前のプロンプトに応答するように特別にトレーニングされていません。むしろ、このモデルは、物理学に関する多くの事実、一般的な言語ルールに関する多くの事実、一般的に有用な回答を構成する要素について多くを「知っている」ということです。その知識は、(うまくいけば)役に立つ答えを提供するのに十分です。人間による追加のフィードバック(「その回答は複雑すぎます。」、「反応は何ですか?」など)により、プロンプトベースの学習システムでは、回答の有用性を徐々に高めることができます。

プロンプト設計

#language
#生成 AI

プロンプト エンジニアリングと同義。

プロンプト エンジニアリング

#language
#生成 AI

大規模言語モデルから望ましいレスポンスを引き出すプロンプトを作成する技術。プロンプトエンジニアリングは 人間が行います適切に構造化されたプロンプトを作成することは、大規模言語モデルから有用なレスポンスを得るうえで不可欠な要素です。プロンプト エンジニアリングは、次のようなさまざまな要因に左右されます。

有用なプロンプトの作成方法の詳細については、プロンプト設計の概要をご覧ください。

プロンプト設計は、プロンプト エンジニアリングと同義です。

プロンプト調整

#language
#生成 AI

システムが実際のプロンプトに追加する「接頭辞」を学習するパラメータ効率調整メカニズム。

プロンプト チューニングのバリエーションの 1 つ(プレフィックス チューニングとも呼ばれます)は、すべてのレイヤでプレフィックスを付加することです。一方、ほとんどのプロンプト チューニングでは、入力レイヤにのみ接頭辞が追加されます。

プロキシラベル

#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 Operation。通常は I/O で使用されます。

R

RAG

#fundamentals

検索拡張生成の略語。

ランダム フォレスト

#df

ディシジョン ツリーアンサンブル。各ディシジョン ツリーは特定のランダムノイズでトレーニングされます(バギングなど)。

ランダム フォレストは、ディシジョン フォレストの一種です。

ランダム ポリシー

#rl

強化学習で、アクションをランダムに選択するポリシー

ランキング

アイテムのリストを並べ替えることを目的とした教師あり学習の一種。

順位(序数)

ML の問題におけるクラスの序数位置。クラスを降順に並べ替えます。たとえば、行動ランキング システムでは、犬の報酬を最高のもの(ステーキ)から低いもの(しおれたケール)にランク付けできます。

階数(テンソル)

#TensorFlow

テンソルの次元数。たとえば、スカラーはランク 0、ベクトルはランク 1、行列はランク 2 です。

ランク(序数)と混同しないでください。

評価者

#fundamentals

ラベルを提供する人間。「アノテーター」は評価担当者の別名です。

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

大規模なコーパスから各ユーザーに比較的小さな望ましいアイテムのセットを選択するシステム。たとえば、動画のレコメンデーション システムが 10 万本の動画のコーパスから 2 つの動画をおすすめし、あるユーザーには CasablancaThe Philadelphia Story を選択し、別のユーザーには Wonder WomanBlack 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.41 インチなど)。

一般的な回帰モデルには次の 2 種類があります。

  • 線形回帰。ラベル値を特徴に最も適合する線を検出します。
  • ロジスティック回帰。システムが通常、クラス予測にマッピングする 0.0 ~ 1.0 の確率を生成します。

数値予測を出力するすべてのモデルが回帰モデルであるわけではありません。場合によっては、数値予測が実際には単なる分類モデルであり、それがたまたま数値クラス名を持つことがあります。たとえば、数値の郵便番号を予測するモデルは、回帰モデルではなく分類モデルです。

正則化

#fundamentals

過学習を減らすメカニズム。よく使用される正則化のタイプは次のとおりです。

正則化は、モデルの複雑さに対するペナルティとしても定義できます。

正則化率

#fundamentals

トレーニング中の正則化の相対的な重要度を指定する数値。正則化率を上げると、過学習は減少しますが、モデルの予測能力が低下する可能性があります。逆に、正則化率を引き下げるか省略すると、過学習が増加します。

強化学習(RL)

#rl

環境とやり取りする際のリターンを最大化することを目標とする、最適なポリシーを学習するアルゴリズム ファミリー。たとえば、ほとんどのゲームの最終的な報酬は勝利です。強化学習システムは、最終的に勝利と敗北に至った前のゲームの動きのシーケンスを評価することで、複雑なゲームのプレイに精通するシステムになります。

人間からのフィードバックを用いた強化学習(RLHF)

#生成 AI
#rl

人間の評価者からのフィードバックを使用して、モデルのレスポンスの品質を向上させる。たとえば、RLHF メカニズムを使用して、モデルの回答の品質を fitbit または ⧖ の絵文字で評価するようユーザーに求めることができます。システムはそのフィードバックに基づいて今後のレスポンスを調整します。

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 曲線は 2 つの極端な中間になります。

ROC 曲線。X 軸は偽陽性率、Y 軸は真陽性率です。ROC 曲線は、コンパス ポイントを西から北に横断する揺れる円弧の近似値です。

理論的には、(0.0,1.0)に最も近い ROC 曲線上の点が、理想的な分類しきい値を特定します。ただし、理想的な分類しきい値の選択には、他にも現実的な問題がいくつかあります。たとえば、偽陰性は偽陽性よりもはるかに問題を引き起こす可能性があります。

AUCAUC と呼ばれる数値指標は、ROC 曲線を単一の浮動小数点値に要約したものです。

ロール プロンプト

#language
#生成 AI

生成 AI モデルのレスポンスのターゲット オーディエンスを識別するプロンプトのオプション部分。ロール プロンプトがない場合、大規模言語モデルは、質問者にとって有用な回答とは見なされない回答を提供します。ロール プロンプトを使用すると、大規模言語モデルは、特定の対象者にとってより適切で有用な回答を提供できます。たとえば、次のプロンプトのロール プロンプト部分は太字で表示されています。

  • 経済学の博士号を取得するためのこの記事を要約してください。
  • 10 歳の子どもの潮流がどのように変化するか説明する。
  • 2008 年の金融危機について説明します。小さい子どもやゴールデン レトリバーに、かんたん話しかける。

#df

ディシジョン ツリーの開始ノード(最初の条件)。慣例として、図ではルートをディシジョン ツリーの最上部に配置します。次に例を示します。

2 つの条件と 3 つのリーフを持つディシジョン ツリー。開始条件(x > 2)がルートです。

ルート ディレクトリ

#TensorFlow

複数のモデルの TensorFlow チェックポイント ファイルとイベント ファイルのサブディレクトリをホストするために指定するディレクトリ。

二乗平均平方根誤差(RMSE)

#fundamentals

平均二乗誤差の平方根。

回転不変性

#image

画像分類問題で、画像の向きが変わっても画像を正常に分類するアルゴリズムの能力。たとえば、テニスラケットが上向き、横向き、下のいずれであっても、アルゴリズムで識別できます。回転の不変性は必ずしも望ましいとは限りません。たとえば、逆さまの 9 を 9 として分類すべきではありません。

変換不変サイズの不変もご覧ください。

決定係数

個々の特徴または特徴セットによるラベルの変動の度合いを示す回帰指標。R 2 乗は 0 ~ 1 の値で、次のように解釈できます。

  • R 2 乗が 0 の場合、ラベルのバリエーションはいずれも機能セットによるものではないことを意味します。
  • R 2 乗が 1 の場合、ラベルのバリエーションがすべて特徴セットによるものであることを意味します。
  • 0 と 1 の間の R 二乗は、特定の特徴または特徴セットからラベルの変動をどの程度予測できるかを示します。たとえば、R 2 乗が 0.10 の場合は、ラベルの分散の 10% が特徴セットによるものであることを示し、0.20 であれば、20% が機能セットによるものであることを意味します。

R 2 乗は、モデルが予測した値と正解の間のピアソン相関係数の 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

一連のエンベディング(token エンベディングなど)を別のエンベディング シーケンスに変換するニューラル ネットワーク レイヤ。出力シーケンスの各エンベディングは、アテンション メカニズムによって入力シーケンスの要素からの情報を統合することによって構築されます。

自己注意の自己部分は、他のコンテキストではなく、自身に関与するシーケンスを指します。セルフ アテンションは、Transformer の主要な構成要素の 1 つで、query、key、value などの辞書ルックアップ用語を使用します。

自己注意レイヤは、単語ごとに 1 つずつ、一連の入力表現から始まります。単語の入力表現は単純なエンベディングにできます。ネットワークは、入力シーケンスの各単語について、単語シーケンス全体のすべての要素に対する単語の関連性をスコア付けします。関連性スコアにより、単語の最終的な表現に他の単語の表現がどの程度組み込まれているかが決まります。

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

動物は疲れすぎていたため、通りを渡らなかった。

次の図(Transformer: A Novel Neural Network Architecture for Language Understanding)は、代名詞「it」に対する自己注意レイヤのアテンション パターンを示しています。各行の濃い色は、各単語の表現にどの程度影響を及ぼしているかを示しています。

次の文は 2 回表示されます。「動物は疲れすぎていたため、通りを渡らなかった。行は、1 つの文の代名詞と、もう一つの文の 5 つのトークン(The、動物、ストリート、it、ピリオド)をつなぎます。代名詞と動物という単語の間の線が最も強くなります。

セルフ アテンション レイヤは、「it」に関連する単語をハイライト表示します。この場合、アテンション レイヤは、参照する可能性のある単語をハイライト表示するよう学習し、動物に最大の重みを割り当てます。

nn 個のトークンのシーケンスに対して、自己アテンションはエンベディングのシーケンスを n 回(シーケンスの各位置で 1 回ずつ)変換します。

アテンションマルチヘッド セルフ アテンションもご覧ください。

自己教師あり学習

ラベルなしの例からサロゲートラベルを作成することにより、教師なし ML 問題を教師あり ML 問題に変換する手法。

BERT などの一部の Transformer ベースのモデルは、自己教師あり学習を使用します。

自己教師ありトレーニングは、半教師あり学習アプローチです。

自己トレーニング

自己教師あり学習のバリアント。次のすべての条件に該当する場合に特に役立ちます。

自己トレーニングでは、モデルの改善が停止するまで、次の 2 つのステップを繰り返します。

  1. 教師あり ML を使用して、ラベル付きサンプルでモデルをトレーニングします。
  2. ステップ 1 で作成したモデルを使用して、ラベルなしのサンプルに対する予測(ラベル)を生成し、信頼度が高いサンプルを、予測ラベルを持つラベル付きサンプルに移動します。

ステップ 2 の各イテレーションごとに、ステップ 1 でトレーニングするラベル付きサンプルが追加されます。

半教師あり学習

ラベルが付いているデータとないサンプルがあるデータでモデルをトレーニングする。半教師あり学習の手法の 1 つは、ラベルのないサンプルのラベルを推測し、その推定ラベルでトレーニングして新しいモデルを作成することです。半教師あり学習は、ラベルの取得にコストがかかるものの、ラベルなしのサンプルが大量にある場合に役立ちます。

自己トレーニングは、半教師あり学習の手法の一つです。

機密属性

#fairness
法的、倫理的、社会的、個人的な理由で特別な考慮がなされる人間の属性。

感情分析

#language

統計的アルゴリズムまたは ML アルゴリズムを使用して、サービス、プロダクト、組織、トピックに対するグループの全体的な姿勢(ポジティブかネガティブか)を判断する。たとえば、自然言語理解を使用して、アルゴリズムで大学のコースからのテキスト フィードバックの感情分析を行い、学生がコースをどの程度好きまたは嫌いであるかを判断できます。

シーケンス モデル

#seq

入力が順次依存するモデル。たとえば、以前に視聴した一連の動画から、次に視聴する動画を予測します。

シーケンス ツー シーケンス タスク

#language

トークンの入力シーケンスをトークンの出力シーケンスに変換するタスク。たとえば、よく使用されるシーケンス ツー シーケンス タスクは次の 2 種類です。

  • 翻訳者:
    • 入力シーケンスの例: 「I love you」
    • 出力シーケンスの例: 「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 値が -無限大から + 正の範囲に及び、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 グラム。元のコンテキストから単語を省略(または「スキップ」)できます。つまり、N 個の単語が元々隣接していない可能性があることを意味します。より正確には、「k-skip-n-gram」は、最大 k 個の単語がスキップされた可能性がある N グラムです。

たとえば、「クイック ブラウン フォックス」の 2 グラムは次のようになります。

  • 「すばやく」
  • 「早い茶色」
  • "茶色のフォックス"

「1 スキップ 2 グラム」とは、間に最大 1 つの単語がある単語のペアです。したがって、「クイック ブラウン フォックス」は 1 スキップ 2 グラムとなります。

  • 「the brown」
  • 「quick fox」

さらに、スキップする単語が 1 つに満たない場合があるため、すべての 2 グラムは 1 スキップ 2 グラムでもあります。

スキップグラムは、単語の周囲のコンテキストをより深く理解するのに役立ちます。この例では、「fox」は 1-skip-2-grams のセットでは「quick」に直接関連していますが、2-gram のセットでは関連していませんでした。

スキップグラムは、単語のエンベディング モデルのトレーニングに役立ちます。

Softmax

#fundamentals

マルチクラス分類モデル内の可能性のある各クラスの確率を決定する関数。確率の合計は 1.0 になりますたとえば、次の表は、softmax がどのようにさまざまな確率を分散するかを示しています。

画像は... 確率
0.85
0.13
0.02

ソフトマックスは、フル ソフトマックスとも呼ばれます。

一方、候補サンプリングでは、

ソフト プロンプト チューニング

#language
#生成 AI

リソースを大量に消費するファインチューニングを行わずに、特定のタスク用に大規模言語モデルをチューニングする手法。ソフト プロンプト チューニングでは、モデル内のすべての重みを再トレーニングするのではなく、同じ目標を達成するためにプロンプトを自動的に調整します。

通常、ソフト プロンプト チューニングでは、テキスト プロンプトに対して追加のトークン エンベディングを追加し、誤差逆伝播を使用して入力を最適化します。

「ハード」プロンプトには、トークン エンベディングではなく実際のトークンが含まれます。

スパースな特徴

#language
#fundamentals

値がほぼ 0 または空の特徴。たとえば、1 つの値と 100 万個の値を含む特徴はスパースです。これに対して、密な特徴では、大部分がゼロや空の値ではありません。

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

値がほぼゼロであるベクトル。スパースな特徴量スパース性もご覧ください。

スパース性

ベクトルまたは行列内でゼロ(または null)に設定されている要素の数を、そのベクトルまたは行列内のエントリの総数で割った値。たとえば、98 個のセルにゼロが含まれる 100 個の要素からなる行列について考えてみましょう。スパース性の計算は次のとおりです。

$$ {\text{sparsity}} = \frac{\text{98}} {\text{100}} = {\text{0.98}} $$

特徴量のスパース性とは、特徴ベクトルのスパース性のことです。モデルのスパース性とは、モデルの重みのスパース性のことです。

空間プーリング

#image

プーリングをご覧ください。

スプリット

#df

ディシジョン ツリーで、条件の別の名前。

スプリッター

#df

ディシジョン ツリーのトレーニング中に、各ノードで最適な条件を見つけるルーチン(およびアルゴリズム)。

SPMD

単一プログラム / 複数データの略称。

ヒンジ損失の 2 乗

ヒンジ損失の 2 乗。二乗ヒンジの損失は、通常のヒンジの損失よりも外れ値に大きなペナルティを与えます。

二乗損失

#fundamentals

L2 損失と同義。

段階的なトレーニング

#language

一連の個別のステージでモデルをトレーニングする戦術。目標は、トレーニング プロセスの高速化か、モデル品質の向上のいずれかです。

プログレッシブ スタッキング アプローチの図を以下に示します。

  • ステージ 1 には 3 つの隠れ層、ステージ 2 には 6 つの隠れ層、ステージ 3 には 12 個の隠れ層があります。
  • ステージ 2 では、ステージ 1 の 3 つの隠れ層で学習した重みを使用してトレーニングを開始します。ステージ 3 では、ステージ 2 の 6 つの隠れ層で学習した重みを使用してトレーニングを開始します。

ステージ 1、ステージ 2、ステージ 3 というラベルが付いた 3 つのステージ。各ステージには異なる数のレイヤが含まれています。ステージ 1 には 3 つのレイヤ、ステージ 2 には 6 つのレイヤ、ステージ 3 には 12 個のレイヤが含まれています。ステージ 1 の 3 つのレイヤが、ステージ 2 の最初の 3 つのレイヤになります。同様に、ステージ 2 の 6 つのレイヤが、ステージ 3 の最初の 6 レイヤになります。

パイプライン処理もご覧ください。

state

#rl

強化学習では、エージェントアクションを選択するために使用する、環境の現在の構成を記述するパラメータ値。

state-action value 関数

#rl

Q 関数と同義。

static

#fundamentals

連続して行うのではなく、一度だけ実行されるもの。静的とオフラインという用語は同義語です。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 では、特定のステップで計算された値または値のセット。通常はトレーニング中にモデルの指標を追跡するために使用されます。

教師あり ML

#fundamentals

特徴modelとそれに対応するラベルmodelからモデルmodelをトレーニングします。教師あり ML は、一連の質問とそれに対応する回答を学習することで科目を学習することに似ています。質問と回答のマッピングを習得すると、生徒は同じトピックに関する新しい(未知の)質問に対して回答を提供できます。

教師なし 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

モデルの出力のランダム性の度合いを制御するハイパーパラメータ。温度が高いほどランダムな出力が得られ、温度が低いほどランダム出力は少なくなります。

最適な温度は、特定の用途やモデル出力の望ましいプロパティに応じて選択されます。たとえば、クリエイティブな出力を生成するアプリケーションを作成する場合、おそらく温度を上げます。逆に、画像やテキストを分類するモデルを構築する場合は、モデルの精度と整合性を向上させるために温度を下げます。

温度は多くの場合、ソフトマックスとともに使用されます。

時間データ

異なる時点で記録されたデータです。たとえば、1 年の各日に記録された冬用コートの売上は時間データになります。

Tensor

#TensorFlow

TensorFlow プログラムの主要なデータ構造。テンソルは N 次元(N が非常に大きい可能性がある)のデータ構造であり、通常はスカラー、ベクトル、または行列です。テンソルの要素では、整数値、浮動小数点値、文字列値を保持できます。

TensorBoard

#TensorFlow

1 つ以上の TensorFlow プログラムの実行中に保存されたサマリーを表示するダッシュボード。

TensorFlow

#TensorFlow

大規模な分散型 ML プラットフォーム。この用語は、Dataflow グラフでの一般的な計算をサポートする TensorFlow スタックの基本 API レイヤも指します。

TensorFlow は主に ML に使用されますが、Dataflow グラフを使用した数値計算を必要とする ML 以外のタスクにも使用できます。

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

Tensor に含まれるスカラーの総数。たとえば、[5, 10] テンソルのサイズは 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 つの単語トークンで構成されます。
  • 文字。たとえば、「bike fish」というフレーズは 9 文字のトークンで構成されます。(空白もトークンの 1 つとしてカウントされます)。
  • サブワードがあります。このサブワードでは、1 つの単語が 1 つのトークンまたは複数のトークンになります。サブワードは、語根、接頭辞、または接尾辞で構成されます。たとえば、サブ単語をトークンとして使用する言語モデルでは、「dogs」という単語を 2 つのトークン(根語の「dog」と複数形のサフィックス「s」)としてみなすことができます。同じ言語モデルでは、「taller」という 1 つの単語が 2 つのサブワード(ルート語の「tall」と接尾辞「er」)として認識される場合があります。

言語モデル以外のドメインでは、トークンは他の種類の原子単位を表すことができます。たとえば、コンピュータ ビジョンでは、トークンは画像のサブセットである場合があります。

Tower

それ自体がディープ ニューラル ネットワークであるディープ ニューラル ネットワークのコンポーネント。場合によっては、各タワーが独立したデータソースから読み取りを行い、これらのタワーは、出力が最終レイヤに結合されるまで独立しています。他のケースでは(たとえば、多くの TransformerEncoderDecoder スタック/Tower の場合)、タワーは相互に相互接続します。

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 つのプログラムで複数のタスクを解決できる AI に向けた一歩です。

Transformer

#language

Google が開発したニューラル ネットワーク アーキテクチャは、セルフ アテンション メカニズムを使用して、畳み込み再帰型ニューラル ネットワークに依存することなく、入力エンベディングのシーケンスを出力エンベディングのシーケンスに変換します。Transformer は、自己注意レイヤのスタックとして見ることができます。

Transformer には次のいずれかを含めることができます。

エンコーダは、エンベディングのシーケンスを同じ長さの新しいシーケンスに変換します。エンコーダには N 個の同じレイヤが含まれ、各レイヤには 2 つのサブレイヤが含まれます。これらの 2 つのサブレイヤは、入力エンベディング シーケンスの各位置に適用され、シーケンスの各要素が新しいエンベディングに変換されます。最初のエンコーダ サブレイヤは、入力シーケンス全体からの情報を集約します。2 番目のエンコーダ サブレイヤは、集計情報を出力エンベディングに変換します。

デコーダは、入力エンベディングのシーケンスを出力エンベディングのシーケンス(長さが異なる可能性があります)に変換します。また、デコーダには 3 つのサブレイヤを持つ N 個の同じレイヤが含まれており、そのうちの 2 つはエンコーダのサブレイヤに類似しています。3 番目のデコーダ サブレイヤは、エンコーダの出力を受け取り、自己注意メカニズムを適用して、そこから情報を収集します。

ブログ投稿 Transformer: 言語理解のための新しいニューラル ネットワーク アーキテクチャでは、Transformers の概要を紹介しています。

翻訳不変性

#image

画像分類の問題で、画像内のオブジェクトの位置が変化しても画像を正常に分類するアルゴリズムの能力。たとえば、犬がフレームの中央や左端のどちらにいる場合でも、アルゴリズムは犬を識別できます。

サイズ不変性回転不変性もご覧ください。

トライグラム

#seq
#language

N=3 である N グラム

真陰性(TN)

#fundamentals

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

真陽性(TP)

#fundamentals

モデルが陽性のクラス正しく予測する例。たとえば、特定のメール メッセージが迷惑メールであり、そのメール メッセージが実際には迷惑メールであるとモデルが推測します。

真陽性率(TPR)

#fundamentals

再現率と同義。具体的には、次のことが求められます。

$$\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 アルゴリズム(音楽レコメンデーション サービスなど)への入力になります。クラスタリングは、有用なラベルが不足している場合や、ない場合に役立ちます。たとえば、不正使用対策や不正行為対策などの分野では、クラスタは人間がデータをより深く理解するのに役立ちます。

教師あり ML とは対照的です。

アップリフトモデリング

マーケティングで一般的に使用されるモデリング手法。「個人」に対する「トリートメント」の「因果効果」(または「増分効果」とも呼ばれます)をモデル化します。次に 2 つの例を示します。

  • 医師は増加率モデリングを使用して、患者(個人)の年齢と病歴に応じて医療処置(治療)の死亡率の減少(因果効果)を予測できます。
  • マーケティング担当者は、増加率モデリングを使用して、個人(個人)への広告(治療)に起因する購入の確率(因果効果)の増加を予測できます。

増加モデリングは、増加モデリングで一部のラベル(バイナリ処理のラベルの半分など)が常に欠落しているという点で、分類回帰とは異なります。たとえば、患者は治療を受けることも受けないこともできます。そのため、患者が治癒するかどうかは、この 2 つの状況のいずれか 1 つのみ(両方ではない)でのみ観察できます。増加モデルの主な利点は、観測されていない状況(反事実的)に対する予測を生成し、それを使用して因果効果を計算できることです。

アップウェイト

ダウンサンプリングした係数に等しい重みをダウンサンプリングされたクラスに適用します。

ユーザー マトリックス

#recsystems

レコメンデーション システムにおいて、ユーザーの好みに関する潜在シグナルを保持する行列分解によって生成されるエンベディング ベクトル。ユーザー マトリックスの各行には、1 人のユーザーのさまざまな潜在シグナルの相対的な強度に関する情報が保持されます。たとえば、映画のレコメンデーション システムについて考えてみましょう。このシステムでは、ユーザー マトリックス内の潜在シグナルは、各ユーザーの特定のジャンルへの関心を表す場合もあれば、複数の要因にわたる複雑な相互作用を含む解釈が難しいシグナルである場合もあります。

ユーザー マトリックスには、潜在する特徴の列とユーザーごとの行があります。つまり、ユーザー マトリックスの行数は、因数分解されるターゲット マトリックスと同じになります。たとえば、1,000,000 人のユーザーを対象とする映画のレコメンデーション システムの場合、ユーザー マトリックスは 1,000,000 行になります。

V

排除できます。

#fundamentals

モデルの品質の初期評価。検証では、モデルの予測の品質を検証セットに照らしてチェックします。

検証セットはトレーニング セットとは異なるため、検証は過学習を防ぐのに役立ちます。

検証セットに対するモデルの評価を最初のテストとして、テストセットに対するモデルの評価を 2 番目のテストとして考えることができます。

検証損失

#fundamentals

トレーニングの特定のイテレーションにおける検証セットに対するモデルの損失を表す指標

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

検証セット

#fundamentals

トレーニング済みのモデルに対して初期評価を行うデータセットのサブセット。通常、トレーニング済みモデルを検証セットに対して複数回評価してから、テストセットに対してモデルを評価します。

これまでは、データセット内のサンプルを次の 3 つの異なるサブセットに分割していました。

データセット内の各サンプルは、前述のサブセットのいずれか 1 つのみに属しているのが理想的です。たとえば、1 つの例がトレーニング セットと検証セットの両方に属してはなりません。

値の補完

欠損値を許容される代替値に置き換えるプロセス。値がない場合は、サンプル全体を破棄するか、値の補完を使用してサンプルを存続させます。

たとえば、1 時間ごとに記録されると想定される temperature 特徴を含むデータセットについて考えてみましょう。ただし、特定の時間については温度の読み取りができませんでした。以下は、データセットのセクションです。

タイムスタンプ 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 つの出力色(赤、緑、黄色)のいずれかを予測するマルチクラス分類システムでは、P[red]=0.3, P[green]=0.2, P[yellow]=0.5 を意味するベクトル (0.3, 0.2, 0.5) を出力できます。

ベクトルは連結できるため、さまざまなメディアを 1 つのベクトルとして表すことができます。一部のモデルは、多くのワンホット エンコーディングを連結して直接動作します。

TPU などの専用プロセッサは、ベクトルに対して算術演算を実行するように最適化されています。

ベクトルは、階数 1テンソルです。

W

ヴァッサーシュタイン損失

敵対的生成ネットワークでよく使用される損失関数の 1 つ。生成されたデータの分布と実際のデータの分布間の移動者の距離に基づきます。

重み

#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(Accelerated Linear Algebra)

GPU、CPU、ML アクセラレータ用のオープンソースの ML コンパイラ。

XLA コンパイラは、PyTorchTensorFlowJAX などの一般的な ML フレームワークのモデルを取得して、GPU、CPU、ML アクセラレータなどのさまざまなハードウェア プラットフォームで高いパフォーマンスで実行できるように最適化します。

Z

ゼロショット学習

ML トレーニングの一種で、モデルが、まだトレーニングされていないタスクの予測を推測します。つまり、モデルにはタスク固有のトレーニングのが与えられず、そのタスクの推論を行うように求められます。

ゼロショット プロンプト

#language
#生成 AI

大規模言語モデルにどのように応答させるかの例を提供しないプロンプト次に例を示します。

1 つのプロンプトを構成する要素 メモ
指定された国の公式通貨は何ですか? LLM に回答させたい質問。
インド: 実際のクエリ。

大規模言語モデルは、次のいずれかを返すことがあります。

  • ルピー
  • INR
  • ルピー(インド)
  • ルピー
  • インドルピー

すべての選択肢が正解ですが、特定の形式を希望するかもしれません。

ゼロショット プロンプトを以下の用語と比較します。

Z スコア正規化

#fundamentals

未加工の特徴値を、その特徴の平均からの標準偏差数を表す浮動小数点値に置き換えるスケーリング手法。たとえば、平均が 800、標準偏差が 100 の特徴について考えてみましょう。次の表は、Z スコアの正規化で未加工の値を Z スコアにマッピングする方法を示しています。

未加工の値 Z スコア
800 0
950 +1.5
575 -2.25

その後、ML モデルは未加工の値ではなく、その特徴の Z スコアを使用してトレーニングします。