正規化がモデルの学習と精度を向上させる仕組みを探る。最小値・最大値スケーリング、Zスコア標準化、Ultralytics におけるその役割について学ぶ。
正規化はデータ前処理における基本技術であり、数値属性を標準範囲に再スケーリングする手法である。機械学習(ML)の文脈では、データセットにはしばしば異なる尺度を持つ特徴量が含まれる——例えば年齢範囲(0~100)と所得水準(0~100,000)などである。 こうした不均衡を放置すると、 最適化アルゴリズムが大きな値に偏り、 収束が遅くなり、性能が低下する可能性があります。 データを正規化することで、エンジニアは 各特徴量が最終結果に比例して寄与することを保証し、 ニューラルネットワークがより効率的に学習できるようにします。
データを変換する標準的な方法はいくつかあり、それぞれが異なる分布やアルゴリズムの要件に適しています。
正規化は、様々な産業における高性能AIシステムのパイプラインにおける標準的なステップである。
深層学習で見られる類似の前処理やアーキテクチャ用語と正規化を区別することが重要である。
コンピュータビジョンでは、正規化はパイプラインの最初のステップとなることが多い。以下の Python 例は、NumPy を用いて画像データを手動で正規化する方法を示しています。この処理は、Ultralytics データローダー内ではトレーニング時に自動的に行われます。
import numpy as np
# Simulate a 2x2 pixel image with values ranging from 0 to 255
raw_image = np.array([[0, 255], [127, 64]], dtype=np.float32)
# Apply Min-Max normalization to scale values to [0, 1]
# This standardizes the input for the neural network
normalized_image = raw_image / 255.0
print(f"Original Range: {raw_image.min()} - {raw_image.max()}")
print(f"Normalized Range: {normalized_image.min()} - {normalized_image.max()}")
未来の機械学習で、新たな一歩を踏み出しましょう。