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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Masato MIWADA
October 19, 2024
Technology
70
0
Share
畳み込みニューラルネットワークによる画像分類について
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
70
河川流計測における画像解析技術の実用化
masato_miwada
1
60
河川流計測における画像解析技術の実用化
masato_miwada
0
42
偏りのある時系列データの分類について
masato_miwada
0
75
慣性センサログの効果的な可視化と分類手法について
masato_miwada
0
52
t-SNE(t分布型確率的近傍埋め込み法)による高次元データの可視化について
masato_miwada
0
75
Other Decks in Technology
See All in Technology
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
210
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
240
Google Cloud Next '26 の裏でこっそりリリースされたCloud Number Registry & Cloud Hub コスト分析 を試してみた
hikaru1001
0
160
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.4k
ボトムアップの改善の火を灯し続けろ!〜支援現場で学んだ、消えないための3つの打ち手〜 / 20260509 Kazuki Mori
shift_evolve
PRO
2
570
ハーネスエンジニアリング入門
hatyibei
0
100
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
290
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
240
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
5
4k
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
4
1.9k
エージェント時代の UIとAPI、CLI戦略
coincheck_recruit
0
150
20260428_Product Management Summit_Loglass_JoeHirose
loglassjoe
4
7.1k
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
110
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
210
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
270
Marketing to machines
jonoalderson
1
5.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
900
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
70
39k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Statistics for Hackers
jakevdp
799
230k
Thoughts on Productivity
jonyablonski
76
5.1k
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