Skip to content
This repository has been archived by the owner on Sep 25, 2024. It is now read-only.

Latest commit

 

History

History
251 lines (155 loc) · 8.25 KB

slides.md

File metadata and controls

251 lines (155 loc) · 8.25 KB

title: YYCjs - Back To The Future output: index.html theme: theme controls: false logo: theme/logo.png

--

YYCJS presents: Back To The Future

--

Brought to you by

-- presenter

Eric Kryski

Eric Kryski

-- presenter

Kevin Barabash

Kevin Barabash

-- presenter

David Luecke

David Luecke

-- sponsors

Our Sponsors

Assembly

Village Brewery

Startup Calgary

PetroFeed

--

Last year

--

This year

  • YYCJS developer survey (2014, 2015)
  • Similar general curriculum
  • We are going to be putting together swag packages
  • Job board
  • Special events

--

Artificial Intelligence

Robots with Brains

"the science and engineering of making intelligent machines"

--

What's out there?

--

--

--

JIBO - The world's first family robot

Jibo

  • Developed by Cynthia Lynn Breazeal, director of the "Personal Robot Group" at MIT
  • Top 5 funded campaign on Indigogo
  • Combines research in machine-human interaction with technologies like voice- and face recognition, spoken language and behaviour driven machine learning

--

--

Google Translate Android app

Google image translate

--

<iframe style="width: 80%; height: 70%; margin: 0 auto; display: block;" src="//www.youtube.com/embed/YvUk4EBV2FI" frameborder="0" allowfullscreen></iframe>

--

--

Watson is an artificially intelligent computer system capable of answering questions posed in natural language.

  • Beat Jeopardy! champions in February 2010
  • Now supports physicians in patient treatment
  • January 9th 2014 announcement of Watson cloud-delivered services:
    • Watson Discovery Advisor
    • Watson Analytics
    • Watson Explore

--

--

100 billion neurons X 200 firings per second X 1000 connections per firing = 20 million billion calculations per second = 20 petaFLOPS

The human brain

--

Artificial Neural Networks

In machine learning, artificial neural networks (ANNs) are a family of statistical learning algorithms inspired by biological neural networks (the central nervous systems of animals, in particular the brain).

ANNs are generally presented as systems of interconnected "neurons" which can compute values from inputs, and are capable of machine learning as well as pattern recognition thanks to their adaptive nature.

--

Data processing

  • Any machine learning systems accuracy depends on its input data.
  • Input data (state vector) might need to be pre-processed to get the best results.

Sobel edge detection

--

JavaScript Neural Networks

  • BrainJS - Neural networks in JavaScript
  • ConvNetJS - Deep learning in your browser
  • SynapticJS - An architecture-free neural network library for node.js and the browser

--

BrainJS

Neural networks in JavaScript

// Color contrast training
var net = new brain.NeuralNetwork();

net.train([{
  input: { r: 0, g: 0, b: 0 },
  output: { white: 1 }
}, {
  input: { r: 1, g: 1, b: 1 },
  output: { black: 1 }
}]);

var output = net.run({
  r: 0.2,
  g: 0.2,
  b: 0.2
});

// -> { white: 0.81, black: 0.18 }

--

Touch gestures

Complex touch gestures are hard to implement imperatively.

Let's see if we can train BrainJS to recognize them.

Chappi Demo 1

Chappi Demo 2

--

State vector

Chappi Demo 1

  • Retrieve network training data from server
  • Normalize each touchmove or mousemove event X/Y into a number between 0 and 1 (divide by canvas width and height)
  • Put all points into one big array
    • If less than 100 data points, fill with 0s
    • If more than 100 data points, cut off at 100
  • Let network make a prediction
  • Record the training data on the server
  • Re-train the neural network

--

References

Online:

Books: