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
Kotlinで機械学習:VGG16モデルで犬猫判断
Search
Lukas
October 23, 2017
Technology
0
1.2k
Kotlinで機械学習:VGG16モデルで犬猫判断
Using deeplearning4j to distinguish between Cats and Dogs
Lukas
October 23, 2017
Tweet
Share
More Decks by Lukas
See All by Lukas
Using Rust to Process ILDA (Laser Video) Files
lukasjapan
0
510
Help me, Obi-Wan Kenobi - A webpack tale
lukasjapan
0
150
Controlling a Laser with the Raspberry Pi
lukasjapan
0
360
Making a Template Engine for Kotlin
lukasjapan
0
710
Building a Weather Station with the RaspberryPi
lukasjapan
0
87
サーバーサイドkotlinは怖くない:Kotlin ✖︎ Spring Boot
lukasjapan
0
110
Other Decks in Technology
See All in Technology
最近のラズピッピいじり / 20250308-rpijam-13th-birthday
akkiesoft
0
200
Oracle Cloud Infrastructure IaaS 新機能アップデート 2024/12 - 2025/02
oracle4engineer
PRO
0
150
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
早くて強い「リアルタイム解析基盤」から広げるマルチドメイン&プロダクト開発
plaidtech
PRO
1
200
プロダクト開発者目線での Entra ID 活用
sansantech
PRO
0
310
Amazon Bedrock Knowledge basesにLangfuse導入してみた
sonoda_mj
2
400
Platform Engineering for Private Cloud
cote
PRO
0
100
貧民的プログラミングのすすめ
kakehashi
PRO
2
360
AIは脅威でなくチャンス。 AIと共に進化するエンジニアの成長戦略 / geeksai-2025-spring
carta_engineering
0
230
社内でKaggle部を作って初学者育成した話
daikon99
1
230
Microsoft_20250311_できるつくれるAIAgent.pdf
iotcomjpadmin
0
180
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
310
Featured
See All Featured
Building an army of robots
kneath
303
45k
RailsConf 2023
tenderlove
29
1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Agile that works and the tools we love
rasmusluckow
328
21k
Site-Speed That Sticks
csswizardry
4
430
Into the Great Unknown - MozCon
thekraken
35
1.7k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
A better future with KSS
kneath
238
17k
Building Adaptive Systems
keathley
40
2.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Code Review Best Practice
trishagee
67
18k
Documentation Writing (for coders)
carmenintech
69
4.6k
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