SOFTWARE 2.0 David Parker€¦ · WHAT IS SOFTWARE 2.0? •Andrej Karpathy, Director of AI, Tesla...
Transcript of SOFTWARE 2.0 David Parker€¦ · WHAT IS SOFTWARE 2.0? •Andrej Karpathy, Director of AI, Tesla...
SOFTWARE 2.0David Parker
Software Engineer -Microsoft
SPRING 2019
• CSD 439 – Big Data Application Development
• Basically learn how solve cool problems at scale…
ABOUT THE SPEAKER
SKYNET
Source: [19]
AMAZON GO
Source: [21]
Source: [13]Source: [12]
Source: [11]Source: [10]
CUURENT MAJOR ACHIEVEMENTS WITH AI AND MACHINE LEARNING
WHAT IS SOFTWARE 2.0?
• Andrej Karpathy, Director of AI, Tesla Identified a fundamental paradigm shift in how we build software
• He calls this shift, “Software 2.0”
• Emerging trend in industry that is rapidly advancing our ability to solve problems
• “AI is the new electricity” (Andrew Ng)
HOW WE BUILD SOFTWARE TODAY
• Decompose large problems into smaller, easier problems to solve
Source: [1]
• This process of an explicit description of problem solving steps is what we will call Software 1.0
• Software 1.0 is the technology stack
we have become accustom to
SOFTWARE 1.0
Source: [2]
SOFTWARE 1.0
• Great for problems that are well defined, i.e.
• TCP/IP Stack: layered stack of protocols to facilitate reliable data transfer over the internet
• Computer Graphics: geometric shapes to 2D pixels on a screen
• Some tasks are too hard for Software 1.0
• Consider the problem of image recognition
Sobel
Source: [4]
DECOMPOSE?
COMPUTER SEES PIXELS
Pixels:
[255, 0, 0]
[152, 52, 86]
…
[200, 100, 1]
[ 0, 50, 9]
DIFFERENT PERSPECTIVES
Source: [7]
DIFFERENT PERSPECTIVES
Source: [7]
CONV NETS
• The problem of image recognition is easily solved using Convolutional Neural Networks (CNNs aka Conv Nets)
Source: [5]
COMPUTER VISION CHART
Source: [3]
WHAT IS A NEURAL NETWORK?
• A data structure that connects the outputs of nodes to inputs of new nodes in a layered fashion
• Inspired by biological neural networks, like the ones in our brains
y = activate(w1*x1 + w2*x2 + w3*x3)
Source: [5]
WHAT IS A NEURAL NETWORK?
• Chain the outputs of the perceptrons to inputs of others
Source: [6]
PROGRAMS FROM DATA
Source: [8]
PROGRAMS FROM DATA
PROGRAMS FROM DATA
PROGRAMS FROM DATA
PROGRAMS FROM DATA
PROGRAMS FROM DATA
P
CONCLUSION?
Source: [20]
Q*BERT
Q*BERT
QUICK RECAP
• Software 1.0 was about explicitly engineering systems
• Software 2.0 is about finding programs through optimization i.e. directed search using training data as the guide
NOT EXACTLY…
• Still many limitations that need to be overcome… more on that in a bit
Source: [9]
PROGRAMS FROM DATA
• Learning programs from data means we need… more data
• “Accumulating a nice, varied, large, clean dataset for all the different tasks you want to do, and worrying about all the edge cases and massaging it is where most of the action is” (Andrej Karpathy, 2018).
SOFTWARE 2.0 TOOLCHAIN
• Does not yet exist..
• Companies are investing in it
• But what does it look like?
SOFTWARE 2.0 TOOLCHAIN
Source: [15]Source: [14]
?
Zoph, Barret; Le, Quoc V. (2016-11-04). "Neural Architecture Search with Reinforcement Learning". arXiv:1611.01578
SOFTWARE 2.0 TOOLCHAIN
Source: [18]
OPEN ISSUES AND CONCERNS
• It’s not all rainbows and butterflies…
?
Source: [16]
Bus Noise
OPEN ISSUES AND CONCERNS
• It’s not all rainbows and butterflies…
Source: [16]
Bus Noise
OPEN ISSUES AND CONCERNS
• It’s not all rainbows and butterflies…
OstrichBus Noise
Source: [16]
OPEN ISSUES AND CONCERNS• What is the minimum pixels that
need to be changed in order to perform this adversarial attack?
OPEN ISSUES AND CONCERNS• What is the minimum pixels that
need to be changed in order to perform this adversarial attack?
• One.
OPEN ISSUES AND CONCERNS• What is the minimum pixels that
need to be changed in order to perform this adversarial attack?
• One.
Source: [17]
ECONOMIC OPPORTUNITIES • Blue River Technology
• Founded by a couple of Stanford students
• Uses object detection to identify weeds and selectively sprays herbicide
ECONOMIC OPPORTUNITIES • Reduces the amount of herbicide
used by 90% = less cost to farmers and combats herbicide resistance
• Sold to John Deere for $300mil
CLOSING REMARKS
• Software 2.0 doesn’t “replace” Software 1.0. It simply gives us a new tool for solving problems.
CLOSING REMARKS
• Software 2.0 doesn’t “replace” Software 1.0. It simply gives us a new tool for solving problems.
• “Practice makes perfect for a pretty good local minimum”. – David Parker, just now.
THANK YOU.
Q & A
MEDIA SOURCES• [1] https://codehs.gitbooks.io/apjava/content/static/karel/movie_diagram.png
• [2] https://pixabay.com/en/source-code-code-programming-c-583537/
• [3] https://www.youtube.com/watch?v=zywIvINSlaI&t=305s
• [4] https://www.pexels.com/photo/adorable-animal-cat-cute-358464/
• [5] https://towardsdatascience.com/build-your-own-convolution-neural-network-in-5-mins-4217c2cf964f
• [6] https://chatbotslife.com/how-neural-networks-work-ff4c7ad371f7
• [7] https://www.petmd.com/cat/behavior/evr_ct_what-does-it-mean-when-a-cat-wags-tail
• [8] https://alykhantejani.github.io/images/gradient_descent_line_graph.gif
• [9] https://xkcd.com/1838/
• [10] https://www.shellypalmer.com/2016/03/alphago-vs-not-fair-fight/
• [11] https://www.inverse.com/article/35449-elon-musk-dota-2-openai-the-international-dendi-1v1
• [12] https://research.nvidia.com/sites/default/files/pubs/2017-10_Progressive-Growing-of/karras2018iclr-paper.pdf
• [13] https://www.engadget.com/2016/01/25/tesla-autopilot-promo-shows-what-it-can-do-for-your-commute/
• [14] https://danielmiessler.com/blog/the-difference-between-decompilers-disassemblers-debuggers-and-hex-editors/
• [15] https://www.rsipvision.com/wp-content/uploads/2015/04/Slide5.png
• [16] https://arxiv.org/pdf/1312.6199.pdf
• [17] https://arxiv.org/pdf/1710.08864.pdf
• [18] https://poloclub.github.io/ganlab/
• [19] https://www.marketwatch.com/story/this-is-what-happens-when-skynet-from-terminator-takes-over-the-stock-market-2018-02-14
• [20] https://medium.com/@karpathy/software-2-0-a64152b37c35
• [21] https://www.amazon.com/b?ie=UTF8&node=16008589011