Presentation is loading. Please wait.

Presentation is loading. Please wait.

AI for Beginners from a Beginner

Similar presentations


Presentation on theme: "AI for Beginners from a Beginner"— Presentation transcript:

1 AI for Beginners from a Beginner

2 About me AI beginner tomas@florian.ca IT Consulting Complex networking
Cloud / Virtualization systems Cyber security

3 Demos What got me started down this path is impressive demos that I’ve seen in the last couple of years

4 Question Can anybody do this with now with open source software? Yes

5 Lay of the Land End user apps CLI apps Frameworks Libraries Research
Open Source Closed Cloud

6 Lay of the Land End user apps CLI apps Frameworks Libraries Research
Open Source Closed Cloud

7 Lay of the Land End user apps CLI apps Frameworks Libraries Research
Open Source Closed Cloud

8 Lay of the Land End user apps CLI apps Frameworks Libraries Research
Open Source Closed Cloud

9 Lay of the Land End user apps CLI apps Frameworks Libraries Research
Open Source Closed Cloud

10

11 Navigating Limits of AI
2x Demo Show Unwrap Howto Questions Navigating Limits of AI

12 Demo #1 Object Detection

13 Object Detection

14 Object Detection

15 Unwrap: Black Box ./flow --imgdir sample_img/ --model cfg/yolo.cfg --load bin/yolo.weights

16 Neural Network ./flow --imgdir sample_img/ --model cfg/yolo.cfg --load bin/yolo.weights

17 Neural Network Model Weights (pre-trained)
./flow --imgdir sample_img/ --model cfg/yolo.cfg --load bin/yolo.weights

18 Darkflow Dependency Stack
model weights darkflow TensorFlow OpenCV Python3 Anaconda Ubuntu VM i7 CPU, 4 GB RAM

19 Howto git clone https://github.com/thtrieu/darkflow
Create conda virtual env for the project conda create -n NAME python=3.6 source activate NAME Install dependencies conda install tensorflow cython numpy Add the repo with particular opencv version conda config --add channels conda-forge Install opencv conda install opencv Run setup python3 setup.py build_ext --inplace Download weight file for the model and place it in bin/ Run ./flow --imgdir sample_img/ --model cfg/yolo.cfg --load bin/yolo.weights

20 Questions?

21 Demo #2 Generative Adversarial Network (GAN)

22 ThisPersonDoesNotExist.com

23 Demo #2

24 Unwrap: Black Box

25 GAN Generative Adversarial Network
Pre trained generator network

26 Transparent Latent GAN
Pretrained network model Transparent latent GAN Python3 CUDA toolkit cuDNN Jupyter Anaconda Ubuntu VM 2 CPU,6 GB RAM, K80 GPU with 12GB RAM,50 GB Disk

27 Howto Git clone Prepare anaconda conda create -n NAME python=3.6 source activate NAME cd transparent_latent_gan Install dependencies conda install pip pip install -r requirements.txt conda install cudatoolkit conda install cudnn conda install jupyter Download pre-trained model (extract to same folder structure) Run notebook jupyter notebook Navigate to URL shown at startup + notebooks/transparent_latent_gan/src/notebooks/tl_gan_ipywidgets_gui.ipynb

28 Hardware Notes Google Compute Engine preemptive K80 ~$0.20 CAD / Hour
I used vanilla Ubuntu and installed Nvidia drivers on it myself Prebuilt images but more $ per hour (not preemptive) REMEMBER TO TURN IT OFF Nvidia GX 1060 (6 GB RAM … more is better) $300 Nvidia-smi

29 Expectations 80% of time dealing with building the stack
Poor documentation Missing/incompatible pre-trained models Dependency hell (much better with Anaconda) Unhelpful error messages 20% real AI work

30 Path of least resistance
Anaconda cuDNN 7 CUDA toolkit 9 Ubuntu 16.04 nVIDIA GPU > 6 GB RAM

31 You can do this now

32 Questions

33 Limits Too good to be true?

34 CSI zoom and enhance

35 CSI Zoom and Enhance for real

36 Zoom and Enhance

37 …Again

38 … Again

39 We got him – URL 937

40 We look up the registered owner
Cops go out Shoot the guy CSI Calgary saves the day Case closed

41 Let’s run the same image through a different model

42

43 Zoom and Enhance

44 What?

45 Wait … what?

46 Side by side

47

48

49 Different model will CONVINCINGLY lead you to a different conclusion

50 Which license plate was it?
Maybe URL 937 Maybe BBL 3698 Maybe SOMETHIN ELSE Even though we are seeing it in front of our own eyes there is a threshold at which AI can just make stuff up and make it look like the real thing

51 NN has learned to make convincing fakes
Those fakes may be rooted in reality or they may be purely hallucinated into existence The degree to which it’s rooted in reality depends on the data it’s been exposed to during training Garbage in – elaborate bullshit out

52 In the news: Woody Herrelson Look alike
The image of the suspect, taken from the surveillance footage, was extremely pixelated and turned up no results in Facial ID system Investigators used high-quality images of Harrelson found on Google and submitted them in place of the suspect's more pixelated image. The result ended in a match. An unidentified man was booked and charged for petty larceny.

53 So when is the AI apocolypse coming?

54 Sells well but the world doesn’t need more of it
Risk of AI Create AI that succeeds at producing output that is apparently super-intelligent, super accurate, and super trustworthy When in reality the output is elaborately disguised bullshit Sells well but the world doesn’t need more of it

55 GAN Limit Demo

56 How GAN works

57 How GAN works

58 Be aware of AI limits and use it within those limits
Use AI within it’s limits

59 Best Open Source AI in 2019 https://medium. mybridge

60 Presentation copy: lab.florian.ca tomas@florian.ca
Questions? Presentation copy: lab.florian.ca

61 Useful Links AI Cheat sheet

62 Other cool stuff Video Game graphics GAN Style GAN

63


Download ppt "AI for Beginners from a Beginner"

Similar presentations


Ads by Google