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
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
460
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
1
530
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
1
630
安心して変更できるWebフロントエンドの作り方
pirosikick
4
2.1k
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
8
800
Sigmaユーザーのための有用リソース一挙公開 & Sigmaで使えるMCP #sigma_ucj /useful-resources-for-sigma-computing-users-and-mcps-with-sigma
shinyaa31
0
220
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
130
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
140
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
550
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
180
2026_devsumi_ozono.pdf
o3
3
460
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
670
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
230
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Unsuck your backbone
ammeep
672
58k
Amusing Abliteration
ianozsvald
1
290
Heart Work Chapter 1 - Part 1
lfama
PRO
9
36k
Ethics towards AI in product and experience design
skipperchong
2
370
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
790
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Designing Experiences People Love
moore
143
24k
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