📊
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/点群(★★★★★)
最も難しい:不規則データ、順序不変、座標系整合、未成熟なエコシステム。
学習順序
- テキスト → 2. 画像 → 3. オーディオ → 4. ビデオ → 5. 3D
テキストはmodel(input)までの距離が最も短い。だからAI入門はテキストが正解。
キーコンセプト
1
テキスト(★☆☆☆☆)— トークン化はルックアップテーブル。文字列→整数配列。最も簡単
2
画像(★★☆☆☆)— リサイズ+正規化。[3, 224, 224]テンソルに変換
3
オーディオ(★★★★☆)— STFT+メルフィルターバンク+ログスケール。フーリエ変換の理解が必要
4
ビデオ(★★★★☆)— フレームサンプリング+画像前処理×Nフレーム+時間次元
5
3D(★★★★★)— 点群正規化+FPS+座標系整合。最も難しい
ユースケース
AI学習ロードマップ — テキスト→画像→オーディオ→ビデオ→3Dの順に勉強
プロジェクト難易度判断 — 扱うデータタイプで前処理の複雑度を予測
前処理パイプライン設計 — 各分野の標準前処理パターンを把握