Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
”良い”データセット構築を考える
Search
Yoshioka Lab (Keio CSG)
December 17, 2023
4
790
”良い”データセット構築を考える
良いデータセット構築について汎化性能の概念から実データセット例まで見ながら考える
Yoshioka Lab (Keio CSG)
December 17, 2023
Tweet
Share
More Decks by Yoshioka Lab (Keio CSG)
See All by Yoshioka Lab (Keio CSG)
LLM時代の半導体・集積回路
kentaroy47
1
490
高精度、高効率アナログCompute-in-Memory回路に向けて
kentaroy47
2
270
LiDARセキュリティ最前線
kentaroy47
0
440
論文を読むコツ/Paper reading
kentaroy47
0
220
アナログが世界を救う? アナログコンピューティングの応用と課題
kentaroy47
0
710
A 0.7V 12b 160MS/s 12.8fJ/conv-step Pipelined-SAR ADC in 28nm CMOS with Digital Amplifier Technique
kentaroy47
0
45
吉岡研究室紹介(2022年度)
kentaroy47
0
2.6k
信頼されるLiDARに向けて
kentaroy47
0
980
A 20ch TDC/ADC Hybrid SoC for 240x96-pixel 10%-Reflection <0.125%-Precision 200m-Range-Imaging LiDAR with Smart Accumulation Technique
kentaroy47
0
380
Featured
See All Featured
For a Future-Friendly Web
brad_frost
175
9.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
KATA
mclloyd
29
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Why Our Code Smells
bkeepers
PRO
334
57k
Building Your Own Lightsaber
phodgson
103
6.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
The Language of Interfaces
destraynor
154
24k
Practical Orchestrator
shlominoach
186
10k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Transcript
1 © 2019 Kentaro Yoshioka 汎化性能と過学習とは • 汎化性能とは: ◦ モデルが未知のデータも上手く予測できるか
◦ 機械学習における最も重要な指標 • 過学習とは: ◦ 学習データに過度に適応してしまい汎化性能を失ったモデル
2 © 2019 Kentaro Yoshioka 汎化性能と過学習とは • 汎化性能とは: ◦ モデルが未知のデータも上手く予測できるか
◦ 機械学習における最も重要な指標 • 過学習とは: ◦ 学習データに過度に適応してしまい汎化性能を失ったモデル 学習データ 未知データ 次郎 次郎 ラーメン ラーメン ラーメン 次郎 ??
3 © 2019 Kentaro Yoshioka 汎化性能と過学習とは • 汎化性能とは: ◦ モデルが未知のデータも上手く予測できるか
◦ 機械学習における最も重要な指標 • 過学習(Overfitting)とは: ◦ 学習データに過度に適応してしまい汎化性能を失ったモデル
4 © 2019 Kentaro Yoshioka 汎化性能と過学習とは • 汎化性能とは: ◦ モデルが未知のデータも上手く予測できるか
◦ 機械学習における最も重要な指標 • 過学習(Overfitting)とは: ◦ 学習データに過度に適応してしまい汎化性能を失ったモデル
5 © 2019 Kentaro Yoshioka 汎化性能と過学習とは • 汎化性能とは: ◦ モデルが未知のデータも上手く予測できるか
◦ 機械学習における最も重要な指標 • 過学習(Overfitting)とは: ◦ 学習データに過度に適応してしまい汎化性能を失ったモデル
6 © 2019 Kentaro Yoshioka データセット構築方法 • どうやって評価するの? • →交差検証法(cross-validation)
◦ データを学習に使用するデータ(train)と検証に使用するデータ(validation)に 分割 ◦ 大体4:1くらい?(肌感覚) ◦ →検証データはモデルにとっては未知。未知データに対する性能を評価可能 検証データ
7 © 2019 Kentaro Yoshioka データセット構築方法 • どうやって評価するの? • →交差検証(cross-validation)
◦ データを学習に使用するデータ(train)と検証に使用するデータ(validation)に 分割
8 © 2019 Kentaro Yoshioka データセット構築方法 • どうやって評価するの? • →交差検証(cross-validation)
◦ データを学習に使用するデータ(train)と検証に使用するデータ(validation)に 分割 Validationデータセットに過学習してるんじゃないの?
9 © 2019 Kentaro Yoshioka データセット構築方法 • Train-Validation-Testデータセット分割 ◦ 事業で使えるか判定するならばこれくらい必要..
• 検証データでモデル性能をチューニング • 最終性能は更に未知データであるテストデータで評価 学習データ 検証データ テストデータ
10 © 2019 Kentaro Yoshioka データセット構築方法 • Train-Validation-Testデータセット分割 ◦ 事業で使えるか判定するならばこれくらい必要..
• 検証データでモデル性能をチューニング • 最終性能は更に未知データであるテストデータで評価 学習データ 検証データ テストデータ Test精度
11 © 2019 Kentaro Yoshioka データセット構築方法 • データセットはどう分割する? ◦ ランダム?
◦ データ収集場所に応じて? 学習データ 検証データ テストデータ
12 © 2019 Kentaro Yoshioka データセット構築方法 • 例えば工場A,B,C,Dでデータを取得し、将来的に全工場で動かすモデルを 作成したい場合 ◦
Train: 工場A,B ◦ Validation: 工場C ◦ Test:工場D データ取得サイト毎に分割するのが良い →サイトに依らない汎用的な特徴を学習できている
13 © 2019 Kentaro Yoshioka データセット構築方法 • センサから5/1-7/31まで機器データを取得した。 • 品質を推論できるモデルを学習する
14 © 2019 Kentaro Yoshioka “良い”データセット構築例 • 日付でSplitするのが良い 5/1 7/31
Train Val Test →日付に依らない汎用的な特徴を学習できている
15 © 2019 Kentaro Yoshioka “良くない”データセット構築例 • ランダム分割 ◦ 未来のTrainデータも学習してしまうため、本質的には
TestやValデータが未知でなくなってしまう ◦ →リークとも呼ばれる 5/1 7/31 Train Val Test →未来の特徴が利用でき、不必要に高い精度が出てしまう Train Train Val
16 © 2019 Kentaro Yoshioka データセット構築事例 • 悪い例 ◦ よく見る“ディープラーニングで日経平均を予測してみた”
◦ → 精度80%達成 ◦ ほんと?(本当なら大金持ち)
17 © 2019 Kentaro Yoshioka データセット構築事例 • 悪い例 ◦ よく見る“ディープラーニングで日経平均を予測してみた”
◦ → 精度80%達成 ◦ ほんと?(本当なら大金持ち) 問題点: X+10日間のデータを使い、X+11日目の結果を予測する タスクで精度を導出している。 単に移動平均を出力するだけでそれっぽい結果が 得られてしまう。 本来ならば90日間を学習、次の90日を予測と データセットを分けないといけない。
18 © 2019 Kentaro Yoshioka データセット構築事例 • 産総研 “深層学習による赤外線画像のカラー化技術を開発” ◦
プレスリリース https://www.aist.go.jp/aist_j/press_release/pr2020/pr20200206/pr20200206.html 赤外モノクロ画像からカラー化可能なモデルを開発! 精度高い。 →赤外光は輝度情報しかないため原理的にはカラー化 できないはずだが。。?
19 © 2019 Kentaro Yoshioka データセット構築事例 • 産総研 “深層学習による赤外線画像のカラー化技術を開発” ◦
プレスリリース (https://www.aist.go.jp/aist_j/press_release/pr2020/pr20200206/pr20200206.html ) 疑問点: 学習、評価において可視光カラー画像と 赤外画像の対象物が同一 →つまり学習/評価データは同一 学習対象物をたまたまきれいにマッピングできる表現を モデルが学習してしまった? 対象物が未知であるとカラー化精度は悪化する? →このような評価が必要
20 © 2019 Kentaro Yoshioka データセット構築事例 • Kaggle “Airbus Ship
Detection Challenge” ◦ 航空写真から船を検出するチャレンジ 問題点: 評価データは学習データをシフトしたデータであることが判明 →つまり学習/評価データは同一 シフト量を推定すれば満点取得可能。 評価データ作成をケチると正当なモデル評価ができなくなる一例
21 © 2019 Kentaro Yoshioka データセット構築事例 • Kaggle “Bengali Handwritten
Grapheme Classification” ◦ https://www.kaggle.com/c/bengaliai-cv19 ベンガル語の手書き文字判別コンテスト ベンガル語は三種類の部首の組み合わせ 合計組み合わせは13000通りあるが、全部をデータ セット化するのは困難。 チャレンジ: 未知の組み合わせに対応できるモデルを構築でき るか?
22 © 2019 Kentaro Yoshioka データセット構築事例 • Kaggle “Bengali Handwritten
Grapheme Classification” ◦ https://www.kaggle.com/c/bengaliai-cv19 ベンガル語の手書き文字判別コンテスト 学習データ:全ての部首を含むが、組み合わせは数 千通りのみ。 評価データ:未知なる組み合わせのもので評価 優勝者: 文字データから手書き風データをGANで生成し、学 習データを拡充しモデルを学習。 →GANのデータ水増しは有効!
23 © 2019 Kentaro Yoshioka データセット構築事例 • Kaggle “Global Wheat
Detection” ◦ https://www.kaggle.com/c/global-wheat-detection 小麦(wheat head)検出。 学習データ ヨーロッパ、アメリカのデータ 評価データ アジア(中国、日本、オーストラリア)のデータ チャレンジ: 未知の地域の小麦も検出できるモデルを作成できるか?
24 © 2019 Kentaro Yoshioka Take home message • “正しい“データセット整備に必要な知識を駆け足で説明
◦ 汎化性能と過学習 ◦ データセットの分割 ◦ 交差検証、テストセット ◦実施例を見て考察した