Skip to main content

用語集(はじめに目を通すと読みやすくなります)

このチュートリアルでは、機械学習や数値計算でよく出てくる用語をなるべくその場で説明していますが、「あれ、これ何だっけ?」というときの早見表として、よく使う用語をここにまとめておきます。Python やプログラミングに不慣れな方は、まず軽く目を通しておくと、本編がぐっと読みやすくなります。

プログラミング全般

用語簡単な説明
ライブラリ「便利な機能の詰め合わせパック」のこと。import で読み込んで使う。
APIライブラリが「こう呼び出してね」と決めている関数や書き方のセット。
インポート(importライブラリを自分のプログラムから使えるようにする宣言。
モジュールPython のファイル単位の機能のまとまり。
デコレータ(@hoge関数の上に @ で書いて、その関数を「ちょっと変身」させる仕組み。
オブジェクト指向データと処理を「オブジェクト」というかたまりで管理する書き方。
関数型プログラミング関数を中心に組み立て、状態の書き換えをなるべく避ける書き方。
副作用関数が「外の世界」に影響を与えること(変数の書き換え、画面出力など)。

数値計算・機械学習

用語簡単な説明
配列(array)数字をたくさん並べたもの。1 次元ならベクトル、2 次元なら行列。
スカラー1 つの数字(配列ではないもの)。
shape(形)配列の各次元の長さ。例:(32, 28, 28, 3) は「32 枚 × 28 × 28 × 3 チャンネル」。
dtype配列の要素の型。float32, int64 など。
テンソル多次元配列の別名。PyTorch ではこう呼ぶ。
勾配(gradient)関数の傾き。最適化で「どっち向きに進めば値が小さくなるか」を教えてくれる。
損失関数(loss)予測と正解のズレを表す数。これを小さくするのが学習。
エポック / ステップ学習を何回繰り返したかの単位。
バッチデータを少しずつまとめて処理する単位(例:32 サンプルを 1 バッチ)。

JAX 特有

用語簡単な説明
XLAGoogle 製の高性能な数値計算コンパイラ。JAX はこれで高速化する。
トレース(tracing)jit がコンパイル前に関数の中身を「下見」する処理。
PyTree配列を葉っぱとして持つ、入れ子になった辞書/タプル/リストなどの総称。
PRNG キー乱数を再現性高く扱うための「鍵」。JAX では明示的に持ち回る。
シャーディング(sharding)大きな配列を複数のデバイス(GPU/TPU)に分けて置く仕組み。
イミュータブル「変更不可」のこと。JAX の配列は基本的に書き換えられない。

困ったらこのページに戻ってきてくださいね。

➡️ 第1章 JAX とは何か