SlideShare a Scribd company logo
大域的探索から局所的探索へ
データ拡張 (Data Augmentation)を用いた学習の探索テクニック
学習中にデータを切り替えることで精度を向上させる
背景
● Deep Neural Networksは画像認識など幅広い領域で高いパフォーマンスを達成してきているが、何千ものパラメ
ータを持つ複雑なモデルを限られた学習データで学習することは難しい
● 新しいデータを集めることなく学習データを用いて人工的にデータを生成することで、学習データの多様性を向
上させ、モデルのロバスト性を向上させる手法としてデータ拡張が用いられる
標準的なデータ拡張手法: 縮尺やアスペクト比の調整、ランダムクロップ、水平反転など
複雑なデータ拡張手法: Mixup、Cutout、Cutmixなど
データ拡張 (Data Augmentation)とは
データが足りない データを加工して使いまわす
データ拡張
拡張データ 拡張データ
訓練誤差が増加して汎化誤差が良くなる?
● 機械学習では、オーバーフィッティングに気をつけながら訓練誤差を小さくし、
汎化誤差の小さいモデルを作成する (訓練誤差が小さい → 汎化誤差が小さくなる)
● 一方、データ拡張では、純粋な学習データだけ用いたとき学習よりも訓練誤差が
大きくなる傾向がある (ときには、汎化誤差より大きくなることも)
● 学習時に訓練誤差が大きくなっても、テスト時には拡張データが存在しない純粋
なデータなので、汎化誤差が小さくなれば問題ない
汎化誤差
小 大
訓練誤差 小 ○ ✕
大 ○ ✕
● 論文
○ タイトル: Data Augmentation Revisited: Rethinking the
Distribution Gap between Clean and Augmented Data
○ 2019年
● 内容
○ データ拡張の新しい戦略であるRefined Data Augmentationを提案
○ 既存のデータ拡張手法のほとんどを改善
○ データ拡張による探索とデータ拡張をしない場合の探索について考
察
論文
● 問題
○ 元データと拡張データの分布の差がモデルの収束を阻害している
○ データ拡張によって、相対的に影響が小さい特徴が無視されてしまう可能性がある
● 提案手法
○ Refined Data Augmentation
● モデル学習を2つのステージに分割
○ 学習の序盤では元データと拡張データを両方使用
○ 学習の終盤では元データのみを使用
提案手法
拡張データ 元データ 元データ
学習序盤 学習終盤
学習終盤では
拡張データを使わない
Refined Data Augmentaionの訓練誤差と汎化誤差
手法概要
● データ拡張の手法としてMixupとAutoAugmentを使用
● 最初の400 epochは拡張したデータを元データに混ぜて学習
● 最後の50 epochは元データのみで学習
結果
● 400 epoch目以降でテストデータに対する誤差が改善
そもそもデータ拡張の役割とは?
● データ拡張は、データの特徴の平均化と分散の正則化に対応
● 影響が大きい特徴はできるだけ保存され、影響が小さい特徴はデータ拡張後
に大きく変更される可能性がある
● データ拡張は事前知識によって関数空間に何らかの制約を与える正則化とし
て機能しており、モデルが主要な特徴に集中することを可能にする (e.g. 数字
画像では水平反転などは使われない)
特徴が残るように
データ拡張
事前知識により
やらないデータ拡張
✕
訓練誤差の等高線図
● データ拡張によって左図(データ拡張なし)から右図(データ拡張あり)で局所
最適の数が減少
→ データ拡張で大域最適への収束が容易になる
● Refined Data Augmentaionでは右図(データ拡張あり)で大域的に探索をし
た後、左図(データ拡張なし)でより詳細な探索をする
データ拡張なし データ拡張あり
実験: 正解率の比較
● 提案手法はほとんどの場合精度向上
○ 特にMixupにおいて、standard data
augmentationを用いてモデルをrefineするこ
とはCIFAR100で精度を大きく向上
● 他にも交差エントロピー誤差の調査やepoch数とオ
ーバフィッティングや物体検知における有効性に
ついての実験は論文を参照
まとめ
● データ拡張とは、機械学習で十分なデータがないときに、オリジナルデータ
を加工することでデータを増やす手法
● データ拡張は、データの特徴の平均化と分散の正則化に対応
● Refined Data Augmentationでは、学習序盤でデータ拡張を使い、学習の終
盤ではオリジナルデータのみ使用するという戦略を取る
● Refined Data Augmentationによって、データ拡張を用いて大きな特徴を捉
える大域的な探索をした後、細かい特徴を捉える局所的な探索ができる
● 既存のデータ拡張手法に適用することができ、多くの場合で精度を上げるこ
とができた
チャンネル紹介
● チャンネル名: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル
● URL: https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg
● チャンネルの内容
○ 経営・データサイエンス・開発に関する情報を発信しています。
○ 例: アジャイル開発、データパイプライン構築、AIで使われるアルゴリズム4種類など
● noteでも情報発信しています → https://note.com/kenichiro
APPENDIX
様々なData Augmentation手法
Mixup
・二つのサンプルをピクセルレベルで線形に組み合わせることによって別画像を生成
・いくつかの変異手法も存在
Cutout
・
Cutmix
・MixupとCutoutの複合
AutoAugment
・強化学習ベースの検索アルゴリズムで最善のdata augmentation戦略を探索
Population Based Augmentation
・Augmentation policy scheduleを探索
Fast AutoAugment
・各policyでtrainingすることを避けることでAutoAugmentを高速化
data augmentationの定式化
Mixupで生成されるx, y
Cutmixで生成されるx, y
Augmentationの仕組みの再考
Mixupで生成されるx, y
Cutmixで生成されるx, y
Augmentationの仕組みの再考
data augmentationの恩恵は2種類考えられる
・経験損失が小さくなること
・augmented dataが大きくなること
Refinementの効果
定義
● T1: AutoAugmentを用いて学習させるepoch数
● T2: refinementを行うepoch数
結果
● refinementがaccuracyを著しく向上させている
● augmented dataに対するオーバーフィッティングを抑制
Augmentationの仕組みの再考
data augmentationの恩恵は2種類考えられる
・経験損失が小さくなること
・augmented dataが大きくなること
数式関連
data augmentationにおけるmajor featureとminor featureの扱い
epochごとのエラー曲線
Mixupを除去したepochごとのテストエラー曲線
400 epochでのMixupの除去ではrefinementは起きていない
SVD
・Mixupベースの手法とAutoAugment手法では異なる傾向を示す
・考察: Mixupベースの手法は主にクラス間距離に影響を与えるが、
・AutoAugmentはより多くの特徴を導入して、普遍性を誘導する
交差エントロピー誤差
● clean dataとaugmented dataの分布gapを量的に評価するためにcross entropy (CE)を計
算
○ Mixupがclean dataとaugmented dataの間に最も大きな差異を生んだ
Tiny-ImageNetとImageNetの分類精度
● Tiny-ImageNetとImageNet両方のデータセットで、提案手法が通常のデータ拡張よりも優れて
いる結果となった
物体検知への展望
物体検知での結果
● 事前学習させたMixupとAutoAugmentのモデルは分類タスクでは高い性能を試したが、物体検出タ
スクではオリジナルに劣る結果
● Refinementを行った事前学習モデルは、行わなかったモデルだけでなく、オリジナルモデルよりも
高いmean average precision (mAP)となった
考察
● 分類と違い、物体検出では位置に関する追加の特徴量が必要
● データ拡張は位置に関する特徴量を小さなものとして扱う
● 物体検出には適さない複雑なデータ拡張手法であってもrefinementによってモデルの性能が向上す
る可能性

More Related Content

What's hot

What's hot (20)

[DL輪読会]Progressive Growing of GANs for Improved Quality, Stability, and Varia...
[DL輪読会]Progressive Growing of GANs for Improved Quality, Stability, and Varia...[DL輪読会]Progressive Growing of GANs for Improved Quality, Stability, and Varia...
[DL輪読会]Progressive Growing of GANs for Improved Quality, Stability, and Varia...
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
 
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向
 
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
 
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
 
[DL輪読会]BANMo: Building Animatable 3D Neural Models from Many Casual Videos
[DL輪読会]BANMo: Building Animatable 3D Neural Models from Many Casual Videos[DL輪読会]BANMo: Building Animatable 3D Neural Models from Many Casual Videos
[DL輪読会]BANMo: Building Animatable 3D Neural Models from Many Casual Videos
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
 
動画認識サーベイv1(メタサーベイ )
動画認識サーベイv1(メタサーベイ )動画認識サーベイv1(メタサーベイ )
動画認識サーベイv1(メタサーベイ )
 
[DL輪読会]DropBlock: A regularization method for convolutional networks
[DL輪読会]DropBlock: A regularization method for convolutional networks[DL輪読会]DropBlock: A regularization method for convolutional networks
[DL輪読会]DropBlock: A regularization method for convolutional networks
 
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
 
【DL輪読会】Patches Are All You Need? (ConvMixer)
【DL輪読会】Patches Are All You Need? (ConvMixer)【DL輪読会】Patches Are All You Need? (ConvMixer)
【DL輪読会】Patches Are All You Need? (ConvMixer)
 

Similar to 大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック

Similar to 大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック (11)

Kerasを用いた3次元検索エンジン@TFUG
Kerasを用いた3次元検索エンジン@TFUGKerasを用いた3次元検索エンジン@TFUG
Kerasを用いた3次元検索エンジン@TFUG
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題
 
Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Laye...
Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Laye...Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Laye...
Outrageously Large Neural Networks:The Sparsely-Gated Mixture-of-Experts Laye...
 
3 d object recognition
3 d object recognition3 d object recognition
3 d object recognition
 
20230116_5つのデジタル力.pptx
20230116_5つのデジタル力.pptx20230116_5つのデジタル力.pptx
20230116_5つのデジタル力.pptx
 
エッジコンピューティングのための圧縮画像認識
エッジコンピューティングのための圧縮画像認識エッジコンピューティングのための圧縮画像認識
エッジコンピューティングのための圧縮画像認識
 
文献紹介:Multi-dataset Training of Transformers for Robust Action Recognition
文献紹介:Multi-dataset Training of Transformers for Robust Action Recognition文献紹介:Multi-dataset Training of Transformers for Robust Action Recognition
文献紹介:Multi-dataset Training of Transformers for Robust Action Recognition
 
【No.11】20230116_セミナー資料例(後編).pptx
【No.11】20230116_セミナー資料例(後編).pptx【No.11】20230116_セミナー資料例(後編).pptx
【No.11】20230116_セミナー資料例(後編).pptx
 
[DL輪読会]PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metr...
[DL輪読会]PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metr...[DL輪読会]PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metr...
[DL輪読会]PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metr...
 
【DL輪読会】GradMax: Growing Neural Networks using Gradient Information
【DL輪読会】GradMax: Growing Neural Networks using Gradient Information【DL輪読会】GradMax: Growing Neural Networks using Gradient Information
【DL輪読会】GradMax: Growing Neural Networks using Gradient Information
 
【DL輪読会】Prompting Decision Transformer for Few-Shot Policy Generalization
【DL輪読会】Prompting Decision Transformer for Few-Shot Policy Generalization【DL輪読会】Prompting Decision Transformer for Few-Shot Policy Generalization
【DL輪読会】Prompting Decision Transformer for Few-Shot Policy Generalization
 

More from 西岡 賢一郎

More from 西岡 賢一郎 (20)

Amazon SageMaker Foundation Modelsで事前学習済みモデルを利用する
Amazon SageMaker Foundation Modelsで事前学習済みモデルを利用するAmazon SageMaker Foundation Modelsで事前学習済みモデルを利用する
Amazon SageMaker Foundation Modelsで事前学習済みモデルを利用する
 
Amazon SageMaker Ground Truthを使って手動のラベル付けを簡略化する
Amazon SageMaker Ground Truthを使って手動のラベル付けを簡略化するAmazon SageMaker Ground Truthを使って手動のラベル付けを簡略化する
Amazon SageMaker Ground Truthを使って手動のラベル付けを簡略化する
 
Amazon SageMakerのNotebookからJobを作成する
Amazon SageMakerのNotebookからJobを作成するAmazon SageMakerのNotebookからJobを作成する
Amazon SageMakerのNotebookからJobを作成する
 
リモートワークで知っておきたい コミュニケーション時の過大な期待
リモートワークで知っておきたい コミュニケーション時の過大な期待リモートワークで知っておきたい コミュニケーション時の過大な期待
リモートワークで知っておきたい コミュニケーション時の過大な期待
 
リモートワークで意識すべき7つのこと
リモートワークで意識すべき7つのことリモートワークで意識すべき7つのこと
リモートワークで意識すべき7つのこと
 
Amazon SageMaker ML Governance 3つの機能紹介
Amazon SageMaker ML Governance 3つの機能紹介Amazon SageMaker ML Governance 3つの機能紹介
Amazon SageMaker ML Governance 3つの機能紹介
 
Feature StoreのOnline StoreとOffline Storeの違いについて理解する
Feature StoreのOnline StoreとOffline Storeの違いについて理解するFeature StoreのOnline StoreとOffline Storeの違いについて理解する
Feature StoreのOnline StoreとOffline Storeの違いについて理解する
 
機械学習の特徴量を管理するAmazon SageMaker Feature Store
機械学習の特徴量を管理するAmazon SageMaker Feature Store機械学習の特徴量を管理するAmazon SageMaker Feature Store
機械学習の特徴量を管理するAmazon SageMaker Feature Store
 
機械学習用のデータを準備する Amazon SageMaker Data Wrangler - ノーコードで前処理から学習まで
機械学習用のデータを準備する Amazon SageMaker Data Wrangler - ノーコードで前処理から学習まで機械学習用のデータを準備する Amazon SageMaker Data Wrangler - ノーコードで前処理から学習まで
機械学習用のデータを準備する Amazon SageMaker Data Wrangler - ノーコードで前処理から学習まで
 
Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習
 
Amazon SageMakerでscikit-learnで作ったモデルのEndpoint作成
Amazon SageMakerでscikit-learnで作ったモデルのEndpoint作成Amazon SageMakerでscikit-learnで作ったモデルのEndpoint作成
Amazon SageMakerでscikit-learnで作ったモデルのEndpoint作成
 
Amazon AthenaでSageMakerを使った推論
Amazon AthenaでSageMakerを使った推論Amazon AthenaでSageMakerを使った推論
Amazon AthenaでSageMakerを使った推論
 
Amazon Athenaで独自の関数を使う Amazon Athena UDF - AthenaでTweetの感情分析
Amazon Athenaで独自の関数を使う Amazon Athena UDF - AthenaでTweetの感情分析Amazon Athenaで独自の関数を使う Amazon Athena UDF - AthenaでTweetの感情分析
Amazon Athenaで独自の関数を使う Amazon Athena UDF - AthenaでTweetの感情分析
 
未来のカタチ x AI
未来のカタチ x AI未来のカタチ x AI
未来のカタチ x AI
 
TorchDataチュートリアル解説
TorchDataチュートリアル解説TorchDataチュートリアル解説
TorchDataチュートリアル解説
 
Amazon SageMaker JumpStart
Amazon SageMaker JumpStartAmazon SageMaker JumpStart
Amazon SageMaker JumpStart
 
Amazon SageMaker Studio Lab紹介
Amazon SageMaker Studio Lab紹介Amazon SageMaker Studio Lab紹介
Amazon SageMaker Studio Lab紹介
 
Amazon SageMaker Canvasを使ったノーコード機械学習
Amazon SageMaker Canvasを使ったノーコード機械学習Amazon SageMaker Canvasを使ったノーコード機械学習
Amazon SageMaker Canvasを使ったノーコード機械学習
 
PMFを目指すプロダクト開発組織が組織拡大するときににやるべきこと
PMFを目指すプロダクト開発組織が組織拡大するときににやるべきことPMFを目指すプロダクト開発組織が組織拡大するときににやるべきこと
PMFを目指すプロダクト開発組織が組織拡大するときににやるべきこと
 
H2O Waveを使ったAIアプリケーション作成入門
H2O Waveを使ったAIアプリケーション作成入門H2O Waveを使ったAIアプリケーション作成入門
H2O Waveを使ったAIアプリケーション作成入門
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (11)

5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 

大域的探索から局所的探索へデータ拡張 (Data Augmentation)を用いた学習の探索テクニック

Editor's Notes

  1. 今回は「大域的探索から局所的探索へ、データ拡張を用いた学習の探索テクニック」というテーマでお話します。 データ拡張やデータオーグメンテーションと呼ばれる技術は、データを人工的に増やすことにより機械学習の精度を上げることができるため、ディープニューラルネットワークで学習するときなどによく使われています。 データ拡張の手法は様々存在しているのですが、今回は学習途中でデータを切り替えることにより精度向上できる技術について紹介します。 データのより深い活用のために役立つ知識となるので、ぜひ最後までご視聴ください。 このチャンネルでは、機械学習などのデータサイエンスの研究の話や、経営や開発の話をしていきます。 興味のある方はぜひチャンネル登録をお願いします。
  2. ではまず、データ拡張とは何かについて説明します。 ディープニューラルネットワークは、画像認識など幅広い領域で高いパフォーマンスを出せるようになってきています。 しかし、多くのパラメータを持つ複雑なモデルであるディープニューラルネットワークは、学習に大量のデータを必要とするため、十分な量のデータを用意することが大きな課題となっています。 そこで、十分なデータがないのであれば、すでにあるデータから人工的にデータを作ってしまえばいいというのがデータ拡張の考え方です。 画像を左右反転させたり、ノイズを入れたり、色相を変えたりすることで、1つのデータから複数のデータを作成していきます。 データ拡張では、MixupやCutoutなどの複雑なデータ拡張手法も登場しており、注目されている研究領域の1つです。
  3. データ拡張は加工したデータを使用するため、訓練誤差が大きくなる傾向があります。 ここで少しだけ訓練誤差と汎化誤差について説明します。 機械学習では、テスト用のデータを用いた汎化誤差が小さいモデルを作成することを大きな目的の1つをします。 汎化誤差を小さくするために、オーバーフィッティングに気をつけながら訓練誤差を小さくするように学習します。 学習データで当てはまりのよいモデルであれば、テストデータでも当てはまりが良くなるであろうということですね。 しかし、データ拡張では、データ拡張をしない元データよりも訓練誤差が大きくなる傾向があります。 データ拡張をすると、訓練誤差が大きくなるが、汎化誤差が小さくなるということが起きているということですね。 機械学習では、訓練誤差をいくら小さくしても汎化誤差が大きければ使えないモデルになりますが、訓練誤差がいくら大きくても汎化誤差が小さければ使えるモデルになります。 あくまでも未知のデータでの予測精度の高さが求められるということですね。
  4. 今回の動画では、データ拡張とデータの分布を再考した2019年に投稿された論文を解説します。 この論文では、データ拡張の新しい戦略であるRefined Data Augmentationが提案されています。 Refined Data Augmentationでは、学習途中の簡単なデータの切り替えで既存のデータ拡張手法のほとんどを改善することができます。 また、データ拡張によってどのようにパラメータ探索が変わるかを、訓練誤差の分布とともに論文内で説明がされています。 それでは、さっそく解説していきます。
  5. 従来のデータ拡張では、2つの問題があります。 1つは元データとデータ拡張により得られたデータの分布の差がモデルの収束を阻害するということ。 もう1つが、データ拡張によって、相対的に影響が小さな特徴が無視されてしまう可能性があるということです。 これらの問題に対応するために、この論文ではRefined Data Augmentationという手法が提案されています。 Refined Data Augmentationでは、学習を2つのステージに分けています。 まず学習の前半では元データとデータ拡張によって得られたデータを使って学習します。 そして、学習がある程度進んだ段階で、データ拡張によって得られたデータを取り除き、元のデータだけで学習をします。 学習の終盤で元データのみを使うことにより、元データに含まれる影響の小さな特徴をモデルの調整の最終段階で反映していくイメージです。 シンプルな戦略なので、非常に簡単ですね。
  6. では、さっそくですが、実際にMixupとAutoAugmentという2つのデータ拡張の手法に対して、Refined Data Augmentationを適用した結果を紹介します。 ここにある図が訓練誤差と汎化誤差の推移を表しています。 縦軸が誤差で、横軸がEpoch数となります。 赤い線が訓練誤差になっており、赤の実線が元の学習データの訓練誤差、赤の破線がデータ拡張によって得られた学習データの訓練誤差を表しています。 データ拡張によって得られた学習データの訓練誤差が元の学習データの訓練誤差よりも誤差が大きいことが分かります。 そして、緑の線が汎化誤差を表しています。 緑の線の値が小さくなればなるほど、よい機械学習のモデルと言うことができます。 400epochにある黒い破線は、Refined data augmentationによるデータの切り替えのタイミングを表しており、このタイミングでデータ拡張によって得られたデータを学習から取り除いています。 そのため、赤い破線のデータ拡張によって得られた学習データの訓練誤差は400epoch以降はなくなっています。 この図を見ると、黒い破線のデータの切替のタイミングで、汎化誤差を表す緑の線が400epoch以降で下がっていることがわかります。 つまり、refined data augmentationによる戦略の変更でパフォーマンスが改善したということですね。
  7. Refined data augmentationが有効そうであるということがわかったところで、そもそもデータ拡張がなんの役に立っているかを解説をします。 データ拡張は、データの特徴の平均化と分散の正則化の役割を持ちます。 左下の猫の画像から拡張された画像のように、データ拡張では判別した物体の特徴を残すようにデータを加工します。 つまり、この例でいうと、猫だと判別できるような画像になるようにデータ拡張をしています。 言い換えると、猫が判別できるというような大まかな特徴だけ保存し、猫の判別に必要のない他の小さな特徴を取り除いたデータを作成するということです。 データ拡張では、判別したいものが判別できないものとなってしまっては意味がないため、事前知識による制約が必要となります。 例えば、数字データの場合は、水平反転すると全く別の物となるという事前知識があるため、水平反転を行いません。 まとめると、データ拡張は、事前知識を用いてデータを加工して増やし、それを学習に活かすことで、大まかな特徴を抽出するという役割を持っています。
  8. 冒頭の説明で、データ拡張によって訓練誤差が大きくなるという話がありましたが、実際の訓練誤差の分布を等高線で表すと下の図のようなものとなります。 左の図がデータ拡張なしの訓練誤差の分布で、右の図がデータ拡張ありの訓練誤差の分布です。 データ拡張のありなしで、訓練誤差が変わっていることが分かると思います。 左のデータ拡張なしでは、局所最適解が複数あるのに対して、右のデータ拡張ありでは局所最適の数が減っており、大域的に最適な探索が容易になっていることが分かります。 Refined Data Augmentationでは、右の図のデータ拡張の分布で大域的な探索を行った後、左図のデータ拡張なしの分布で局所的な探索を行っているということになります。
  9. 次に、論文にある実験結果の1つを紹介します。 右にある表が実験結果になっていて、左の2列が通常のデータ拡張の正解率、右の2列が今回提案されているRefined data augmentationでの正解率を表しています。 左2列と右2列を比較して、正解率が高かった部分が太字となっており、正解率がほとんど変わらなかった部分は、太字になっていません。 この表を見て分かるように、右2列のRefined data augmentationがほとんどの場合で正解率が向上しています。 この結果より、多くの場合で、データ拡張を途中でなくすことに意味があると言えそうですね。 この他にも論文では、交差エントロピー誤差の調査やepoch数とオーバーフィッティングの関係の調査、物体検知における有効性を調べた実験なども紹介されています。 興味のある方は、元の論文をぜひ読んでみてください。 Refined data augmentationはシンプルな戦略であるけれど、既存のアルゴリズムを改善して良い精度が出ているので、今後の拡張が期待できそうですね。
  10. まとめをします。 データ拡張とは、十分なデータがないときにオリジナルのデータから加工した人口データを作り出す手法で、画像認識の分野などで多く使われています。 データ拡張は、データの特徴の平均かと分散の正則化に対応しており、データの大まかな特徴を捉えることに貢献しています。 そして、今回の動画のメインテーマであるデータ拡張の新しい戦略であるRefined Data Augmentationでは、学習の終盤でデータ拡張によって得られたデータを取り除いて学習をします。 Refined Data Augmentationでは、最初に大域的な探索、最後に局所的な探索を行うことで、マイナーな特徴をモデルに組み込むことが可能になります。 Refined Data Augmentationは、既存のデータ拡張手法に簡単に組み込むことができ、多くの場合で精度を上げることができたということを紹介しました。 データ拡張の世界はまだまだ発展中なので、これからも面白そうな手法が出たら解説していきたいと思います。
  11. 最後にチャンネルの紹介をさせてください。 このチャンネルでは、経営やデータサイエンスや開発の話をしていきます。 聞きたい話のリクエストも募集中です。 もし、この動画が役に立ったら高評価とチャンネル登録をお願いいたします。
  12. Rの値が大きいほどclean dataとaugmented dataの差異が大きいことを表す AugmentationとRefinementを比較するとMixupが最も改善している
  13. 最後に物体検知における展望についてお話します。 下にある表が物体検知によるmean Average Presicionを表しています。 Standardとなっているものが、データ拡張をしていないもの