📊

AI前処理の難易度 — テキスト、画像、オーディオ、ビデオ、3Dの順に難しくなる

model(input)は1行だが、そのinputを作る前処理は分野ごとに全く違う

AI推論は全部この構造:

processed_input = preprocess(raw_data)   # ← 分野ごとに違う
output = model(processed_input)          # ← 常に同じ
result = postprocess(output)             # ← 分野ごとに違う


レベル1:テキスト — トークン化(★☆☆☆☆)

最も簡単。ここから始めるべき。

tokens = tokenizer("こんにちは")["input_ids"]
# → [2, 32942]  — ルックアップテーブル、それだけ

なぜ簡単:1Dシーケンス、離散整数、決定的、データが小さい。

レベル2:テーブルデータ — 正規化(★★☆☆☆)

すでに数値。スケーリングするだけ。

レベル3:画像 — リサイズ+正規化(★★☆☆☆)

tensor = preprocess(Image.open("cat.jpg"))  # [3, 224, 224]

テキストより難しい理由:連続値、データが大きい、正規化統計量が必要。

レベル4:オーディオ — STFT+メル(★★★★☆)

log_mel = torch.log(MelSpectrogram(...)(wav) + 1e-9)

難しい理由:フーリエ変換の理解が必要、モデル固有ハイパーパラメータ、非直感的な周波数ドメイン。

レベル5:ビデオ — フレーム+時間軸(★★★★☆)

画像前処理×Nフレーム+時間次元+サンプリング戦略。

レベル6:3D/点群(★★★★★)

最も難しい:不規則データ、順序不変、座標系整合、未成熟なエコシステム。

学習順序

  1. テキスト → 2. 画像 → 3. オーディオ → 4. ビデオ → 5. 3D

テキストはmodel(input)までの距離が最も短い。だからAI入門はテキストが正解。

キーコンセプト

1

テキスト(★☆☆☆☆)— トークン化はルックアップテーブル。文字列→整数配列。最も簡単

2

画像(★★☆☆☆)— リサイズ+正規化。[3, 224, 224]テンソルに変換

3

オーディオ(★★★★☆)— STFT+メルフィルターバンク+ログスケール。フーリエ変換の理解が必要

4

ビデオ(★★★★☆)— フレームサンプリング+画像前処理×Nフレーム+時間次元

5

3D(★★★★★)— 点群正規化+FPS+座標系整合。最も難しい

ユースケース

AI学習ロードマップ — テキスト→画像→オーディオ→ビデオ→3Dの順に勉強 プロジェクト難易度判断 — 扱うデータタイプで前処理の複雑度を予測 前処理パイプライン設計 — 各分野の標準前処理パターンを把握