SOFTWARE 2.0 Software Engineer - Microsoft SPRING 2019 CSD 439 - - PowerPoint PPT Presentation

software 2 0
SMART_READER_LITE
LIVE PREVIEW

SOFTWARE 2.0 Software Engineer - Microsoft SPRING 2019 CSD 439 - - PowerPoint PPT Presentation

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]


slide-1
SLIDE 1

SOFTWARE 2.0

David Parker Software Engineer - Microsoft

slide-2
SLIDE 2

SPRING 2019

  • CSD 439 – Big Data Application Development
  • Basically learn how solve cool problems at scale…
slide-3
SLIDE 3

ABOUT THE SPEAKER

slide-4
SLIDE 4

SKYNET

Source: [19]

slide-5
SLIDE 5

AMAZON GO

Source: [21]

slide-6
SLIDE 6

Source: [13] Source: [12] Source: [11] Source: [10]

CUURENT MAJOR ACHIEVEMENTS WITH AI AND MACHINE LEARNING

slide-7
SLIDE 7

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)
slide-8
SLIDE 8

HOW WE BUILD SOFTWARE TODAY

  • Decompose large problems into smaller, easier problems to solve

Source: [1]

slide-9
SLIDE 9
  • 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]

slide-10
SLIDE 10

SOFTWARE 1.0

  • Great for problems that are well defined, i.e.
  • TCP/IP Stack: layered stack of protocols to facilitate reliable data transfer
  • ver the internet
  • Computer Graphics: geometric shapes to 2D pixels on a screen
slide-11
SLIDE 11
  • Some tasks are too hard for Software 1.0
  • Consider the problem of image recognition

Sobel Source: [4]

slide-12
SLIDE 12

DECOMPOSE?

slide-13
SLIDE 13

COMPUTER SEES PIXELS

Pixels: [255, 0, 0] [152, 52, 86] … [200, 100, 1] [ 0, 50, 9]

slide-14
SLIDE 14

DIFFERENT PERSPECTIVES

Source: [7]

slide-15
SLIDE 15

DIFFERENT PERSPECTIVES

Source: [7]

slide-16
SLIDE 16

CONV NETS

  • The problem of image recognition is easily solved using Convolutional Neural

Networks (CNNs aka Conv Nets)

Source: [5]

slide-17
SLIDE 17

COMPUTER VISION CHART

Source: [3]

slide-18
SLIDE 18

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]

slide-19
SLIDE 19

WHAT IS A NEURAL NETWORK?

  • Chain the outputs of the perceptrons to inputs of others

Source: [6]

slide-20
SLIDE 20

PROGRAMS FROM DATA

Source: [8]

slide-21
SLIDE 21

PROGRAMS FROM DATA

slide-22
SLIDE 22

PROGRAMS FROM DATA

slide-23
SLIDE 23

PROGRAMS FROM DATA

slide-24
SLIDE 24

PROGRAMS FROM DATA

slide-25
SLIDE 25

PROGRAMS FROM DATA

slide-26
SLIDE 26

P

slide-27
SLIDE 27

CONCLUSION?

Source: [20]

slide-28
SLIDE 28

Q*BERT

slide-29
SLIDE 29

Q*BERT

slide-30
SLIDE 30

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

slide-31
SLIDE 31

NOT EXACTLY…

  • Still many limitations that need to be overcome… more on that in a bit

Source: [9]

slide-32
SLIDE 32

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).

slide-33
SLIDE 33

SOFTWARE 2.0 TOOLCHAIN

  • Does not yet exist..
  • Companies are investing in it
  • But what does it look like?
slide-34
SLIDE 34

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

slide-35
SLIDE 35

SOFTWARE 2.0 TOOLCHAIN

Source: [18]

slide-36
SLIDE 36

OPEN ISSUES AND CONCERNS

  • It’s not all rainbows and butterflies…

?

Source: [16] Bus Noise

slide-37
SLIDE 37

OPEN ISSUES AND CONCERNS

  • It’s not all rainbows and butterflies…

Source: [16] Bus Noise

slide-38
SLIDE 38

OPEN ISSUES AND CONCERNS

  • It’s not all rainbows and butterflies…

Ostrich

Bus Noise Source: [16]

slide-39
SLIDE 39

OPEN ISSUES AND CONCERNS

  • What is the minimum pixels that

need to be changed in order to perform this adversarial attack?

slide-40
SLIDE 40

OPEN ISSUES AND CONCERNS

  • What is the minimum pixels that

need to be changed in order to perform this adversarial attack?

  • One.
slide-41
SLIDE 41

OPEN ISSUES AND CONCERNS

  • What is the minimum pixels that

need to be changed in order to perform this adversarial attack?

  • One.

Source: [17]

slide-42
SLIDE 42

ECONOMIC OPPORTUNITIES

  • Blue River Technology
  • Founded by a couple of Stanford

students

  • Uses object detection to identify

weeds and selectively sprays herbicide

slide-43
SLIDE 43

ECONOMIC OPPORTUNITIES

  • Reduces the amount of herbicide

used by 90% = less cost to farmers and combats herbicide resistance

  • Sold to John Deere for $300mil
slide-44
SLIDE 44

CLOSING REMARKS

  • Software 2.0 doesn’t “replace” Software 1.0. It simply gives us a new tool for

solving problems.

slide-45
SLIDE 45

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.

slide-46
SLIDE 46

THANK YOU.

slide-47
SLIDE 47

Q & A

slide-48
SLIDE 48

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