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
Making Sense of Neural Network Training
Search
John Estropia
February 20, 2018
Technology
0
80
Making Sense of Neural Network Training
Presented at Pivotal Labs, Tokyo (2018/2/20)
John Estropia
February 20, 2018
Tweet
Share
More Decks by John Estropia
See All by John Estropia
WWDC Party Intro to CoreStore
johnestropia
0
63
Making an Efficient Deploy Bot
johnestropia
0
440
Creating Keyboard Extensions
johnestropia
0
75
My journey taming Core Data: An intro to the CoreStore library
johnestropia
0
160
Fun with Swift 4 KeyPaths
johnestropia
1
650
Pairs JP Team's iOS Deployment
johnestropia
0
940
Making Slackbots deploy iOS apps for you
johnestropia
2
220
OSSの作法(本題)
johnestropia
0
80
Other Decks in Technology
See All in Technology
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.6k
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
330
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
2
920
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
110
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
120
実装で解き明かす並行処理の歴史
zozotech
PRO
1
620
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
170
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
350
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
300
o11yで育てる、強い内製開発組織
_awache
3
130
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
110
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
470
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
GitHub's CSS Performance
jonrohan
1032
470k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Documentation Writing (for coders)
carmenintech
75
5k
Rails Girls Zürich Keynote
gr2m
95
14k
We Have a Design System, Now What?
morganepeng
53
7.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
A designer walks into a library…
pauljervisheath
209
24k
How to Ace a Technical Interview
jacobian
280
24k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Transcript
Making Sense of Neural Network Training Pivotal (2018/02/20)
@JohnEstropia Developer since 2008 (mostly Mobile apps) Principal Engineer @
Other hobby projects http://github.com/JohnEstropia/CoreStore
Today's talk My motivation with Machine Learning Rundown of Neural
Networks in image recognition Some interesting insights
Why I started using ML
Who's that Pokemon? PokeRater's image processing
Optical Character Recognition (Tesseract) PokeRater's image processing
Current solution
Current (incomplete) solution
Other issues with traditional OCRs Infinite possibilities of misreads PLKACHUʢPIKACHUʣ
ϏΨνϡϫʢϐΧνϡʣ Non-English OCRs are not reliable Pokemon names are in 9 languages
Neural Networks
"Charmander" Neurons = Cells
"Pikachu" Neurons = Cells
"Pikachu" "Charmander" Neurons = Weights (of features)
Neurons = Weights (of features) *Clip: The Game Theorists (Youtube
channel)
Neurons = Weights (of features) Features extracted using Convolution filters
Training a Neural Network
Common Neural Network Creation Flow Front-end Back-end Model
Common Neural Network Creation Flow Front-end: - Training code (usually
Python) - Loads and processes all training images - Template codes are abundant! (most NNs are set up very similarly)
Common Neural Network Creation Flow Back-end: Computes and builds the
"weights" network
Common Neural Network Creation Flow Model file: What apps will
use Example: Core ML
Insights on Neural Network Concepts
Training a Neural Network Teaching a kid From here on
we’ll call Neural Network “N-chan”
Tons of images (100~ each) "Pikachu" "Charmander"
Training data =~ Flash cards
Teaching = Repetition Takes about a day on decent-sized data
size GPU hardware is recommended
Repetitions → Misunderstandings Depending on our training data (or lack
thereof), N-chan may misunderstand some things “Overfitting” Three
Countering Overfitting: “Dropout” Randomly force N-chan to “forget” a learned
item Good example: Math Exams memorizing is not necessarily a good thing
Countering Overfitting: Optimizers Tweak the "learning rate" Example: N-chan is
studying for an exam Read all book chapters then take a mock exam (slow but extensive) Take a mock exam then check the answers (trial and error)
Countering Overfitting: Optimizers 0% accuracy 100% accuracy loss (noise) loss
(noise) loss (noise) speed = learning rate
Today's Key Points Neural Networks are better at analyzing unknown
data than traditional image recognition systems (ex: OCR) Many template projects for training Neural Networks exist (esp. Keras) Training Neural Networks is like teaching a kid
References https://shibberu.com/2016/04/26/ma-490-deep-learning/ https://www.youtube.com/watch?v=ZCPauvMxV7Q&t=568s https://blog.keras.io/building-powerful-image-classification- models-using-very-little-data.html https://adeshpande3.github.io/A-Beginner%27s-Guide-To- Understanding-Convolutional-Neural-Networks/ http://cs231n.github.io/convolutional-networks/#overview
Thanks!