Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kotlinで機械学習:VGG16モデルで犬猫判断
Search
Lukas
October 23, 2017
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kotlinで機械学習:VGG16モデルで犬猫判断
Using deeplearning4j to distinguish between Cats and Dogs
Lukas
October 23, 2017
More Decks by Lukas
See All by Lukas
Using Rust to Process ILDA (Laser Video) Files
lukasjapan
0
600
Help me, Obi-Wan Kenobi - A webpack tale
lukasjapan
0
200
Controlling a Laser with the Raspberry Pi
lukasjapan
0
580
Making a Template Engine for Kotlin
lukasjapan
0
790
Building a Weather Station with the RaspberryPi
lukasjapan
0
120
サーバーサイドkotlinは怖くない:Kotlin ✖︎ Spring Boot
lukasjapan
0
150
Other Decks in Technology
See All in Technology
Mastering Agentic Development: Harness Engineering for Effective Coding Agents
konippi
3
660
大阪オフィスに Unitree Go2 がやってきたので Physical AI やってみた
dafujii
0
180
猫でもわかるKiro Web
kentapapa
1
160
AIエージェントを安全で速い現場監督にする:Jev・Obsidian・メタハーネス
x5gtrn
PRO
0
140
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
170
Amazon Bedrock Agents ClassicからAmazon Bedrock AgentCoreへ移行した際、ガードレール設定が2箇所に割れた話
matsunobu
0
160
20260930_Gemma4_Hands-on
tsho
0
180
形式手法を使って仕様をコーディングしよう
mikanichinose
0
150
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
830
SQL Server 2025 最適化されたロック
odashinsuke
0
110
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
790
OpenClawでAzure DevOpsのWiki更新を自動化する - クラウドAIだけでは届かない場所へ
yutakaosada
0
130
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.3k
How STYLIGHT went responsive
nonsquared
100
6.3k
Music & Morning Musume
bryan
48
7.4k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
How to Talk to Developers About Accessibility
jct
2
560
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Chasing Engaging Ingredients in Design
codingconduct
0
340
Design in an AI World
tapps
1
340
HDC tutorial
michielstock
2
930
The Invisible Side of Design
smashingmag
301
52k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Transcript
Kotlinで機械学習 VGG16モデルで犬猫判断 どこでもKotlin #3 2017/10/23 エムスリー株式会社 Lukas Prasuhn
自己紹介 - M3のSoftware Engineer - 日本歴12年のドイツ人 - Java経験が少ない → いきなりKotlin
- Kotlin以外の得意言語 - C++ (C++11まで) - PHP5 - Github: https://github.com/lukasjapan - Twitter: @cvguy84 - RaspberryPiをイジるのが好き - モデル1 は 1台 - モデル3 は 3台
(私にとっての)Kotlinとは - めちゃ書きやすいJava - Kotlin/Javaの関係 - KotlinはJavaの考え方より柔らかい - KotlinはJavaの資産を多く使っている -
Kotlinの目的はJavaを使いやすくするため - Javaを尊敬しながら、Kotlinの利用者が急増
ディープラーニングとは - 機械学習の一種 - ニューラルネットワーク(NN)を使用 - 手法のざっくり説明 - 答えを知っている入力データは大量ある -
NNに入力データ+それに対する答えを学習させる - 他の入力データに対して答えが出力可能になる 行列計算で答えを出 せる 学習させる時は行列 の値を調整する
VGG16のモデル(NN) - 下記の問題を解くために作られたNN - 入力データは画像 - 答えはラベル1000個に対する「自信度」 - ラベルはimage-net.orgが定義 -
金魚 - ノートパソコン - 飛行機 - ビーグル - ... - 比較的にシンプルで優秀 - 16レイヤー
ラベルから犬猫判断 - 画像は犬?猫? - image-net.orgのラベルを見たら - Egyptian_cat, Persian_cat, cougar, …
- French_bulldog, toy_terrier, … - 判断提案1 - cat, dogであるラベル(手動判断)の自信度を見る - 1000個もある - 自信度が低い場合、どうする? - 写真にヒントある? - 骨 → 犬、ネズミ → 猫、... - 判断提案2 - VGG16ラベル → 犬猫関係を学習させる!
犬猫判断できるNNを作成 - 犬猫写真+答えを大量DL(kaggle.com) - 全写真のVGG16ラベルを判定 - VGG16ラベル+答え(犬、猫)を新NNに学習させる - そして連続判定 -
写真 → VGG16 → 新NN → 犬、猫の「自信度」 VGG16の1000個ラベル の「自信度」 犬に対する「自信度」 猫に対する「自信度」
ようやくKotlin登場! - 実装は何言語? - 機械学習世界ではPythonが強い - どこでもKotlin! 機械学習分野でもKotlin! - deeplearning4j
- Javaのディープラーニングライブラリー - Skymind社がサポート(Softbankと共同) - これからPepperに入るかも - 当然だがKotlinで問題なく使える - 公式サンプルコードにも.ktファイルを目撃
deeplearning4jのモデルZOO - 有名なモデルを提供 - VGG16もある - 学習済みモデルがDL可 - 最初の実行時にモデルを裏でDL -
~490MB
ここでKotlinの一つのアピールポイント - outputはINDArray型である - deeplearning4j所属ライブラリの行列フォーマット - 扱いにくい(数学視点重視) - 答えは一行の行列で表す -
Kotlinの拡張関数でList<Double>に置き換える - Kotlinの便利機能は直感的に使える - sort, map, ...
犬猫NNの実装 - 公式サンプルコードを自分のニーズに合わせて、モデルを作成 - VGG16ラベル+答えで学習させる - 学習済みモデルを保存(Serialize) - 答えは下記のように定義 -
猫の場合:100%猫、0%犬 - 犬の場合:0%猫、100%犬 https://github.com/lukasjapan catsvsdogsgame
犬猫判断の実装 - 保存モデルをDeserialize - VGG16モデルで得たラベルを入力 - 犬猫それぞれの自信度出力
デモ(というかゲーム!) - TwitterAPIで #m3kt #catsdogs ハッシュタグを監視 - ツイートのプロフィール写真で犬猫判断を行う - 結果はAPIで呟く
@cvguy84 - おまけでVGG16モデルの判断も教える - 「自信度」が高くなるプロフィール写真が勝つ ヒント:どうしても勝ちたい場合は、プロフィール写真を犬または猫に変える https://github.com/lukasjapan catsvsdogsgame
最後に - http://www.fast.aiのディープラーニングコース - 機械学習世界で有名な「Jeremy Howard」が無料提供 - Youtube動画 - プログラマー向け
- 数学的なことももちろん教えている - Python/Keras/... - 今日の内容はLesson 1+2
#m3kt #catsdogs ぜひ呟いてみてね! https://github.com/lukasjapan catsvsdogsgame