David Parker SOFTWARE 2.0 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]
CUURENT MAJOR ACHIEVEMENTS WITH AI AND MACHINE LEARNING Source: [10] Source: [11] Source: [12] Source: [13]
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]
SOFTWARE 1.0 • 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 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: [14] Source: [15] 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… ? Bus Noise Source: [16]
OPEN ISSUES AND CONCERNS • It’s not all rainbows and butterflies… Bus Noise Source: [16]
OPEN ISSUES AND CONCERNS • It’s not all rainbows and butterflies… Ostrich Bus 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 •
Recommend
More recommend