前提
画像分類のタスクを,Pytorchで実装したCNNで行っています.
疑問
データセットの正規化を行いたいのですが,**「平均・標準偏差に何を渡すべきなのか」**が分からないため,教えて頂きたいです.
torchvision.transformsのNormalizeに渡すmean
とstd
の値です.
Python
1transform = transforms.Compose([ 2 transforms.ToTensor(), 3 transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) 4])
これまで
使用するデータセットの全画像のRGBチャネルごとの平均・標準偏差を出し,それを用いていました.(値は以下になります)
平均:(0.251, 0.266, 0.228)
標準偏差:(0.189, 0.189, 0.190)
疑問発生
しかし,ここのサイトで,
Normalize(平均, 標準偏差):平均と標準偏差を決めて正則化(RGBのとり得る値を「-1から1」に)
※今回はNormalizeで平均と分散を「0.5」としました。正則化されたデータは「(元のデータ – 平均) / (標準偏差)」で求まるので、平均を0.5としたことで「元の0.5のデータは0」になり、標準偏差を0.5にしたことで「取り得る値の範囲を2倍」にできるというわけです。
と解説されていました.
これを受けて,これまで使用していた値を用いた場合,正規化後どうなるのか想像できません.
正規化という処理をきちんと理解していないための質問になりますが,回答よろしくお願い致します….
回答1件
あなたの回答
tips
プレビュー