
この回でつかむこと
データ拡張の利点と、ラベルが変わる危険を説明できる。
画像を変形して学習例を増やすって何だろう?
Data Augmentation(データ拡張)は、学習画像の見え方を変えて例を増やす方法です。ただし、数字の6を180度回すなど、意味が変わる変形は使えません。

ROBORONが少し傾いたら、別のロボットだと思われちゃう?

同じものなら、角度や明るさが少し違っても分かるように練習できるんだよ。

ただし、変形で正解ラベルが変わる場合は避けます。

あおい わっ、縦線を回したら横線! 正解の名前も変わるね。
変形しても正解が保たれるか、題材ごとに確認する。 Data Augmentation(データ拡張)は、学習画像の見え方を変えて例を増やす方法です。ただし、数字の6を180度回すなど、意味が変わる変形は使えません。
import torch
image = torch.zeros(5,5)
image[:,1] = 1
print(image)
print(torch.flip(image,dims=[1]))なぜそうなる? 横方向を反転させています。線の位置は変わりますが、線であることは同じです。
学習側だけに適用する
評価用画像までランダムに変形すると、比較の条件が揺れます。まずは学習用のみに拡張を適用しましょう。
torch.manual_seed(2)
augmented = torch.flip(image,dims=[1]) if torch.rand(()) < 0.5 else image
print(augmented.shape)ここに注目 形は同じでも位置が変わります。乱数のシードを固定すると再現しやすくなります。
予想して、理由を話そう
答えを選んで、説明を確かめよう。外れても発見が一つ増えるよ。
答えを選ぶと理由が表示されます。
Colabで試してみよう
コードの実行はColaboratoryの実行環境で行います。まずノートブックを保存し、Colabで「ファイル → ノートブックをアップロード」から開いてください。上から順に実行し、最後に値を変えてみましょう。
保存ボタンを押しても画面は切り替わりません。通常はブラウザの「ダウンロード」フォルダに .ipynb が保存されます。見つからない場合はダウンロード履歴を確認してください。Colabの実習は小さな例から始められます。
身近な技術とつなげてみよう

AI先生:自転車の写真を少し明るくしても自転車。でも左右反転が危険な標識もあるよ。
この回の重要な用語
本文で出会った言葉を、ここで意味と一緒に振り返ろう。上の「ことばの窓」からも説明を開けるよ。
- データ拡張
- 学習データへ意味を保つ変形を加え、見え方を増やす方法です。
- ラベル
- 学習例につけた正解の種類です。
- シード
- 乱数の出方を再現するための初期値です。