A Gentle Introduction to Computer Science for Artificial Intelligence

by
David Nader P.
2019
Main Concepts in CS: Algorithms, Machines, and Systems
Milestones in Computer Science
Active (inter-disciplinary) fields
Artificial Intelligence
Computer Science Influencers
Main Concepts in CS: Machines, Systems, and Algorithms



Main Concepts in CS
Etymology: Computer -> Computation -> Counting
Ref: https://en.wikipedia.org/wiki/Abacus#/media/File:Boulier1.JPG

Abacus: 2700–2300 BCE in Sumer

Quipu: First Millenium CE in the Andes
Main Concepts in CS
Computer Science is:
- theory
- engineering
- experimentation
of Machines!

Main Concepts in CS
1) Machine: Enabling computations
Ref: https://en.wikipedia.org/wiki/Turing_machine_gallery#/media/File:Turing_machine_1.JPG
Main Concepts in CS
2) System: components and subcomponents interacting each other for a goal

Main Concepts in CS
Computer Science is:
- theory
- engineering
- experimentation
of Machines!




Main Concepts in CS
3) Algorithm: Muhammad ibn Musa al-Khwarizmi
What should I do to withdraw money from an ATM?
- Look for an ATM
- Identify the card input
- ...
- ...
- 1 Select the amount...

Main Concepts in CS
Computer Science Influencers
Computer Science Influencers
Ada Lovelace and Charles Babbage
Analytical Engine - 1810s
Bernulli Numbers Program - 1840s


Can Machines Think?
A.M Turing - 1950

Computer Science Influencers
Alan Turing


- Cryptoanalysis
- Computational Biology
- Turing Test
- Artificial Machines
Computer Science Influencers
Konrad Zuse and Akira Nakashima (switching circuit theory)

Zuse-z3: First Fully Automatic Digital Computer (1949)
Computer Science Influencers
John von Neumann and the von Neumann architecture

- Game Theory
- Set theory
- Lattice Theory
- Math formulation of Quantum Mechanics
- Entropy
- Mathematical Economics
- Fluid Dynamics
- Cellular Automaton, DNA and Universal Constructor
Computer Science Influencers

Computer Science Influencers
Computer Science Influencers
"Programming a Computer for Playing Chess" -Shannon
50
"Computing Machinary and Intelligence" -Turing
55
"Artificial Intelligence" workshop -McCarthy
"Logic Theorist" first AI program -Newell, Simon, & Shaw
59
"Machine Learning"-Samuel
84
97
09
11
17

18
Computer Science Influencers
"Programming a Computer for Playing Chess" -Shannon
50
"Computing Machinary and Intelligence" -Turing
55
"Artificial Intelligence" workshop -McCarthy
"Logic Theorist" first AI program -Newell, Simon, & Shaw
59
"Machine Learning"-Samuel

65
-Weizenbaum
84
"AI winter"-Shanck & Minsky

DeepBlue vs Kasparov

97
09
11
17

18
Computer Science Influencers
"Programming a Computer for Playing Chess" -Shannon
50
"Computing Machinary and Intelligence" -Turing
55
"Artificial Intelligence" workshop -McCarthy
"Logic Theorist" first AI program -Newell, Simon, & Shaw
59
"Machine Learning"-Samuel

65
-Weizenbaum
84
"AI winter"-Shanck & Minsky

DeepBlue vs Kasparov

97
09
Driverless Car by Google


11
Virtual Assistant -Siri by Apple
17

AlphaGo by
DeepMind

Dialog Agents (learning how to negotiate)
18
Turing Award to Deep Learning work
Computer Science Influencers
ACM Turing Award 2018: For conceptual and engineering breakthroughs that have made deep neural networks a critical component of computing



Yoshua Bengio
Geoffrey Hinton
Yann LeCun
Milestones in Computer Science
Analytical engine
- 1837: Mechanical general-purpose computer

Ref: https://en.wikipedia.org/wiki/Analytical_Engine#/media/File:AnalyticalMachine_Babbage_London.jpg
Milestones in Computer Science
Binary Logic
- 1854: Boolean Algebra
Ref: https://en.wikipedia.org/wiki/George_Boole

Milestones in Computer Science
Enigma
- Crypto machine of German military during WW2
Ref: https://en.wikipedia.org/wiki/File:Enigma.jpg

Milestones in Computer Science
Digital Revolution
- 50. - 70s: Third Industrial Revolution
- Internet users: 3.9 billion (49.5% of world population in 2016)
Ref: https://en.wikipedia.org/wiki/File:Internet_map_1024.jpg

Milestones in Computer Science
Programming Languages
- Punched cards (40s)
- Machine Language (1000111)
- High-Level Language (e.g., java, c, c++, cobol, scala)

Milestones in Computer Science
Computer Graphics
- 60s: Verne Hudson and William Fetter of Boeing
- Computer-generated imaginary (CGI)
Ref: https://en.wikipedia.org/wiki/Computer_graphics#/media/File:Blender_2.45_screenshot.jpg


Milestones in Computer Science
Artificial Intelligence
- 50s: Newell, Simon, McCarthy, Minsky, Samual
- Intelligence demonstrated by Machines

Milestones in Computer Science
Object Recognition
CNNs-2012
Artificial Intelligence

Artificial Intelligence

Machine Learning

Deep Learning


Analytical Programming
Having the inputs, outputs, and the conditions to compute them
Artificial Intelligence
Having the inputs and outputs, but the conditions are unknown


Analytical Programming





Cats
Dogs


George
Processing Features
Identify light/dark pixels
Identify edges
Identify combinations of edges


Identify facial
features
Recognition
Coding Features
Cats




Dogs


George

Image Processing


Cats
Dogs
George


Problem:
Manual
Feature Extraction

Solution:
Represenational Learning


Universal Approximation Theorem

Neural Networks + Gradient Descent + GPU

Deep Learning (classifier)




Cats
Dogs

Deep Learning (training)




Cats
Dogs

Dogs

Backpropagation
Deep Learning (inference)

Cats: 5%

Dogs: 95%


"DL is essentially a new style of programming -differentiable programming- and the field is trying to work out the reusable constructs in this style. We have some: convolution, pooling, LSTM, GAN, VAE, etc" -- Thomas G. Dietterich


DL Applications


Image Generation

Face2Face or Facial Reenactment

Video Generation


Facial Recognition


Object Detection

Sentiment Analysis

Self-Play


Image Classification

Driverless Cars (Planes, Boats, Drones....)

Natural Language Processing

Neural Machine Translation

Limits of AI (approach)

Adversarial Attacks

"The Book of Why" -Judea Pearl (2018)

Main AI Techniques


"The Book of Why" -Judea Pearl (2018)

Judea Pearl (2018)
Reinforcement Learning


Judea Pearl (2018)
Machines are not able to compute retrospections (yet!)
"General Artificial Intelligence"
Neural Nets are Complex Systems
- Interpretability: Why is NN producing those results?
- Understandability: Why does deep learning work so well?
- Towards Biologically Plausible Deep Learning

Limits of AI (ethics)

Job Automation: Amazon Go

Self-awareness

Autonomous
Weapons
AI- Bias
No privacy and Total Surveillance

Active (inter-disciplinary) fields
Active (inter-disciplinary) fields
Medicine


Computer vision identifies signs of early Alzheimer's up to 6 years before clinical diagnosis
Active (inter-disciplinary) fields
Chemistry

"(...) predicting the material properties for new material candidates ... undiscovered compounds (...)"
Active (inter-disciplinary) fields
Physics

Finding patterns on LHC data
Determining particle properties (Higgs boson)
Active (inter-disciplinary) fields
History


"(...) humanity researchers can use these AI-parsed texts to search for specific words in a book, see how a popular narrative changed over time, analyze the evolution of the language ... (...)"
Active (inter-disciplinary) fields
Arts


Active (inter-disciplinary) fields
Arts
Edmond de Belamy, from La Famille de Belamy
generative Adversarial Network print, on canvas, 2018, signed with GAN model loss function in ink by the publisher, from a series of eleven unique images, published by Obvious Art, Paris, with original gilded wood frame
S. 27 ½ x 27 ½ in (700 x 700 mm.)

Deep Learning
for Software Engineering


Dogs

Deep Learning (generator)


Learning How to Generate Source Code




Software Engineering Automation



Summary
Embrace Computer Science

Embrace Computer Science

Enable Computational Thinking

Embrace Computer Science and AI

Enable Computational Thinking

Look for opportunities to apply AI

Embrace Computer Science and AI

Enable Computational Thinking

Look for opportunities to apply AI

Preserve Ethical Behavior
Thanks!
(?)
here books recommendations:



journalclubAI
By David Nader Palacio
journalclubAI
- 368