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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Masato MIWADA
October 19, 2024
Technology
74
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
畳み込みニューラルネットワークによる画像分類について
About image classification using convolutional neural networks
Masato MIWADA
October 19, 2024
More Decks by Masato MIWADA
See All by Masato MIWADA
画像による脳腫瘍の検出
masato_miwada
0
76
河川流計測における画像解析技術の実用化
masato_miwada
1
67
河川流計測における画像解析技術の実用化
masato_miwada
0
50
偏りのある時系列データの分類について
masato_miwada
0
80
慣性センサログの効果的な可視化と分類手法について
masato_miwada
0
56
t-SNE(t分布型確率的近傍埋め込み法)による高次元データの可視化について
masato_miwada
0
86
Other Decks in Technology
See All in Technology
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
310
LLMにもCAP定理があるという話
harukasakihara
0
380
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
Claude Codeをどのように キャッチアップしているか
oikon48
13
8.2k
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
350
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
170
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
620
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
250
On-behalf-of Token exchange with AgentCore Identity
hironobuiga
2
220
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
260
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
220
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
380
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
Are puppies a ranking factor?
jonoalderson
1
3.5k
Code Reviewing Like a Champion
maltzj
528
40k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Transcript
日本絵画に描かれた人物の 顔分類に機械学習で挑戦!! (ミワダ マサト) 三和田 将人
成果物について 学習期間:3日 試作品(精度が出るまで):10日 (13日) 現在の成績まで:10日(23日) 日本画に描かれた人物を複数クラスに分類する学習器(モデル)を深層学習で作成 正答率:Cross
Validation(CV) = 80.8%(Ensambled)、スコア:Leader Board (LB) = 0.8830 コンペの成績 順位 2位(34人中) 正答率(ACC): 77.5% コンペの成績:7 / 30クラス 順位 11位/34人 (上位4割以内)
成果物の作成について
データセットについて 画像データ:256x256, 24bit (学習データ:4,238枚、試験データ:1,060枚) • 画像の枚数が少ない(一般に分類一つあたり、最低、1,000枚は必要) • 全体的に男性の画像が多いなど、分類に偏りがある • 「女性×武士」は1枚しかない
• 見分けのつかない画像もある 出典:情報・システム研究機構 データサイエンス共同利用基盤施設 人文学オープン データ共同利用センター『顔コレデータセット』, DOI:10.20676/00000353.
データセットについて 画像データ:256x256, 24bit (学習データ:4,238枚、試験データ:1,060枚) • 画像の枚数が少ない(一般に分類一つあたり、最低、1,000枚は必要) • 全体的に男性の画像が多いなど、分類に偏りがある • 「女性×武士」は1枚しかない
• 男性×貴族と男性×武士の違いで見分けつかないものがある 出典:情報・システム研究機構 データサイエンス共同利用基盤施設 人文学オープン データ共同利用センター『顔コレデータセット』, DOI:10.20676/00000353. 男性×貴族 男性×武士
開発環境 ソフトウェア • Python 3.7.x • Tensorflow 2.x (-DirectML, -Metal)
• matplot lib 3.5.x • numpy 1.21.x • Pandas 2.0.x • Scikit-learn 1.4 アーキテクチャ:事前学習済みモデル(ImageNet) • mobile-net • DenseNet121 • VGG19 ハードウェア ⚫ Google Colab(無課金、T4GPU)× 3 (Linux) ⚫ Lenovo 「IdeaPad Flex 5 14ALC7 (2022年製)」 (Windows11 HOME) 演算装置:AMD Ryzen 7 5700U with Radeon Graphics 1.80 GHz • Frequency ( Base:1.8GHz, Max 4.3GHz ) • Cores : 8, Threads : 16, Cache : 4MB L2 / 8MB L3 ⚫ MacBook Air M1 2020 演算装置:Apple M1チップ • Frequency:3.2GHz • CPU Cores:8, GPU Cores:7
解析の流れ ⚫ 学習期間:3日 ⚫ 試作品(精度が出るまで):10日 (13日) ⚫ 現在の成績まで:10日(23日) 計算条件 ⚫
Epoch :50(Early Stopping) ⚫ ミニバッチサイズ : 50枚 ⚫ 最適化手法 : Adam(学習率 = 0.001) ⚫ データ拡張 : 水平反転、回転、拡縮 ⚫ 交差検証 : 9 回(層化K-分割交差検証)
畳み込みニューラルネットワーク(CNN)に ついて 東京大学 数理・情報教育研究センター, 二反田篤史, , 「3-4 深層学習の基礎と展望」, http://www.mi.u-tokyo.ac.jp/pdf/3-4_dl_basic_and_future.pdf, 2021
から
畳み込みニューラルネットワーク(CNN)に ついて 東京大学 数理・情報教育研究センター, 二反田篤史, , 「3-4 深層学習の基礎と展望」, http://www.mi.u-tokyo.ac.jp/pdf/3-4_dl_basic_and_future.pdf, 2021
から • ディープラーニングとは「深いニューラルネットワークでの最小二乗法」である (東京大学 松尾教授) • ディープラーニングとは「非線形問題における最適化」である。 • CNNとは、学習中に画像にフィルタリング処理に加え、特徴量を自動的に検出する ディープラーニングの一手法である。
心掛けたこと ⚫ 泥臭くても、「一歩、一歩」と確実に進めていく!! ⚫ 解答(過去の同じコンペの記事)をすぐに見ない!! ⚫ 理屈があっているなら、自分が選んだツールで結果を出す!! ⚫ 無課金で勝つ!!(与えられた環境を十分に活かす練習) 当初はラベルデータ(CSVファイル)からExcelでバッチファイルを作成し
て、学習用画像を各フォルダに振り分けデータセットを作成していた。 → 現在ではPythonでデータセットの作成可能。
苦労、実践したこと 開始時期 : CNNとはなんぞや? & なんでディープラーニングが良いのか? 実装時期 1. GPUメモリにデータが乗り切らず、精度がでない (クリア後、試作段階が完成)
→ ミニバッチでデータを分割し学習させる(TensorflowのimageDataGenerator型) 2. データ数が足りない。 → データ拡張(Data Augmentation:DA)を適用 3. 一回学習させた程度では、十分な精度を得られない。 → 交差検証(Cross Validation:CV)を導入 4. データに分布の偏りがある。 → CVの層化K-分割交差検証を用いる 5. 単体のモデルだけでは、どうしても6位までしかいけない → 複数のモデルを作成して、アンサンブル(多数決)をとる 正答率(ACC): 77.5%、LB:0.7764 コンペの成績:7 / 30クラス 順位 11位/34人 (上位4割以内)
苦労、実践したこと 開始時期 : CNNとはなんぞや? & なんでディープラーニングが良いのか? 実装時期 1. GPUメモリにデータが乗り切らず、精度がでない (クリア後、試作段階が完成)
→ ミニバッチでデータを分割し学習させる(TensorflowのimageDataGenerator型) 2. データ数が足りない。 → データ拡張(Data Augmentation:DA)を適用 3. 一回学習させた程度では、十分な精度を得られない。 → 交差検証(Cross Validation:CV)を導入 4. データに分布の偏りがある。 → CVの層化K-分割交差検証を用いる 5. 単体のモデルだけでは、どうしても6位までしかいけない → 複数のモデルを作成して、アンサンブル(多数決)をとる 正答率(CV): 80.8%、LB:0.8688 コンペの成績:4 / 30クラス 順位 6位/34人 (上位2割以内)
苦労、実践したこと 開始時期 : CNNとはなんぞや? & なんでディープラーニングが良いのか? 実装時期 1. GPUメモリにデータが乗り切らず、精度がでない (クリア後、試作段階が完成)
→ ミニバッチでデータを分割し学習させる(TensorflowのimageDataGenerator型) 2. データ数が足りない。 → データ拡張(Data Augmentation:DA)を適用 3. 一回学習させた程度では、十分な精度を得られない。 → 交差検証(Cross Validation:CV)を導入 4. データに分布の偏りがある。 → CVの層化K-分割交差検証を用いる 5. 単体のモデルだけでは、どうしても6位までしかいけない → 複数のモデルを作成して、アンサンブル(多数決)をとる 正答率(CV): 80.8%、LB:0.8830 コンペの成績:2 / 30クラス 順位 2位/34人 (上位1割以内)
モデル毎の損失関数の値と正答率の推移 Loss Accuracy mobile-net CV = 80.8% Time = 2hour
Loss Accuracy DenseNet121 CV =78.4% Time = 4.7hour Loss Accuracy VGG19 CV =76.0% Time = 10hour
今回の振返りと今後について ⚫ 結果を出したので過去のコンペ記事を解禁すると上位者は、「性別」と 「階級」で分けて学習器をそれぞれ複数作成し、2段階でアンサンブル をしていたようだった。 → 当時のLBは0.9000ポイント以降が上位をひしめき合っていたので、 自分の成績では3位以内に入れなかっただろう。 ⚫ 今回でDNNの一手法とツールの使い方がわかったので、他分野(信号
データなどの時系列分析やテキスト分析)にも広げたい。 ⚫ 一方で、これまで習得したテーブルデータと画像の機械学習について 複雑な課題に取り組みレベルを上げるとともに、直接的に企業へ売り 込める作品を製作していきたい。
売込みポイント ⚫ 新しい技術や概念を習得できる能力 大学院で培われた、技術開発の経験 ⚫ とにかく、早く、試作品を作成できる能力 公務員時代に培われた、手堅く進めて個々を積み上げる手法 (古い意味でのハック:Hack) ⚫ ざっくりと大枠を理解し、説明できる能力
学生時代からの心掛け ⚫ 仮説と検証を積み重ねる能力 これまでの人生で培ってきたもの
ご清聴ありがとうございました
参考にした情報源 公式情報 Tensorflow公式リファレンス(日、英) ・・・ https://www.tensorflow.org/ MicroSoft Learn(英) ・・・
https://learn.microsoft.com/en-us/windows/ai/directml/gpu-tensorflow-plugin Apple Developper(英) ・・・ https://developer.apple.com/metal/tensorflow-plugin/ ブログなど Qiita(日) ・・・ https://qiita.com/ teratail(日) ・・・ https://teratail.com/ Stack Overflow(日、英) ・・・ https://stackoverflow.com/ Kaggle(英) ・・・ https://www.kaggle.com/ Analytics Vidhya(英) ・・・ https://www.analyticsvidhya.com/blog/ Medium(英) ・・・ https://medium.com/ GitHub(日、英) ・・・ https://github.com