masterclass de introducción a Inteligencia Artificial utilizando las APIs de Google elaborada a partir de la de Mario Ezquerro en GDG La Rioja.
Impartida dentro de las actividades de la Agenda Digital de La Rioja por AERTIC
2. Un poco de historia
Aristótoles – reglas de la lógica
Ctesebio de Alejandría - máquina autocontrolada - regulador de flujo de agua
3. Alan Turing
Consiguió descifrar los códigos de la máquina enigma
(Sistema criptográfico de Alemania en la II Guerra Mundial)
De User Messybeast on
en.wikipedia - Trabajo
propio, CC BY 2.5,
https://commons.wikime
dia.org/w/index.php?curi
d=3879813
4. Test de Turing
Propone una prueba en la que un ordenador es capaz
de mantener una conversación sin que el interlocutor
sepa si habla con un humano o con un ordenador
2014
9. Inteligencia Artificial en La Rioja (I)
- Seguridad informática
“detección de patrones de fraude”
- Formación
“recomendaciones de cursos óptimos”
- Selección de personal
“recomendaciones de perfiles óptimos”
10. Inteligencia Artificial en La Rioja (II)
We track, analyse and gather your brand
performance in audiovisual
environments.
Statistics, videos and reports together in
one smart solution.
12. How Can You Get Started with
Machine Learning?
Mario Ezquerro Juan Nieto
@Mario_Ezquerro @juannietogarcia
@GDGLaRioja
13. How Can You Get Started with Machine Learning?
Three ways, with varying complexity:
(1) Use a Cloud-based or Mobile API (Vision, Natural Language,
etc.)
(2) Use an existing model architecture, and retrain it or fine tune
on your dataset
(3) Develop your own machine learning models for new
problems
More
flexible,
but more
effort
required
17. Faces
Faces, facial landmarks, emotions
OCR
Read and extract text, with
support for > 10 languages
Label
Detect entities from furniture to
transportation
Logos
Identify product logos
Landmarks & Image Properties
Detect landmarks & dominant
color of image
Safe Search
Detect explicit content - adult,
violent, medical and spoof
Cloud Vision API
18. API Usage: Detect Objects in an Image
Image Detected
Items
Vision API
Create JSON
request with the
image or pointer
to an image
Process
the JSON
response
Call the
REST API1 2 3
20. Cloud Natural Language API
Extract sentence, identify parts of
speech and create dependency parse
trees for each sentence.
Identify entities and label by types such
as person, organization, location, events,
products and media.
Understand the overall sentiment of a
block of text.
Syntax Analysis Entity Recognition
Sentiment Analysis
21. Cloud Speech API
Automatic Speech Recognition
(ASR) powered by deep learning
neural networking to power your
applications like voice search or
speech transcription.
Recognizes over 80
languages and variants
with an extensive
vocabulary.
Returns partial
recognition results
immediately, as they
become available.
Filter inappropriate
content in text results.
Audio input can be captured by an application’s
microphone or sent from a pre-recorded audio
file. Multiple audio file formats are supported,
including FLAC, AMR, PCMU and linear-16.
Handles noisy audio from many
environments without requiring
additional noise cancellation.
Audio files can be uploaded in the
request and, in future releases,
integrated with Google Cloud
Storage.
Automatic Speech Recognition Global Vocabulary Inappropriate Content
Filtering
Streaming Recognition
Real-time or Buffered Audio Support Noisy Audio Handling Integrated API
25. Face API
faces, facial landmarks,
eyes open, smiling
Barcode API
1D and 2D barcodes
Text API
Latin-based text / structure
Common Mobile Vision API
Support for fast image and video on-device detection and tracking.
26. Googly Eyes Android App
Video credit Google
1. Create a face detector for facial landmarks (e.g., eyes)
3. For each face, draw the eyes
FaceDetector detector = new FaceDetector.Builder()
.setLandmarkType(FaceDetector.ALL_LANDMARKS)
.build();
SparseArray<Face> faces = detector.detect(image);
for (int i = 0; i < faces.size(); ++i) {
Face face = faces.valueAt(i);
for (Landmark landmark : face.getLandmarks()) {
// Draw eyes
2. Detect faces in the image
28. Easy to use Java API
image detected
items
Detector
1.Create a detector object
2.detectedItems = detector.detect(image)
Photo credit developers.google.com/vision
33. Mobile Vision: Codelabs and Samples
Googly Eyes Code Sample
github.com/googlesamples/android-vision/tree/master/visionSamples/googly-eyes
Codelabs
codelabs.developers.google.com/codelabs/face-detection/
codelabs.developers.google.com/codelabs/mobile-vision-ocr/
Mobile Vision Developers
developers.google.com/vision/
GitHub Code Samples
github.com/googlesamples/android-vision
Stack Overflow
Find and ask questions under the android-vision tag.
34. Label Detection
Detect objects such as dog, flower,
human, in the video
Shot Change Detection
Detect scene changes within the video
Video Segmentation
Segment long-running videos to provide
annotations for specified time segments
Integrated REST API
Request one or more annotation types
per image
Regionalization
Specify a region where processing will
take place (for regulatory compliance)
Face Detection
Detect faces throughout the length
of the video
Video Intelligence API
35. Open source Machine
Learning library
Especially useful for
Deep Learning
For research and production
Apache 2.0 license
42. Data Flow Graphs
Computation is defined as a directed acyclic graph
(DAG) to optimize an objective function
Graph is defined in high-level language (Python)
Graph is compiled and optimized
Graph is executed (in parts or fully) on available low
level devices (CPU, GPU)
Data (tensors) flow through the graph
TensorFlow can compute gradients automatically
43. Architecture
Core in C++
Different front ends
Python and C++ today, community may add more
Core TensorFlow Execution System
CPU GPU Android iOS ...
C++ front end Python front end ...
45. tensorflow.org
github.com/tensorflow
Want to learn more?
Udacity class on Deep Learning, goo.gl/iHssII
Guides, codelabs, videos
MNIST for Beginners, goo.gl/tx8R2b
TF Learn Quickstart, goo.gl/uiefRn
TensorFlow for Poets, goo.gl/bVjFIL
ML Recipes, goo.gl/KewA03
TensorFlow and Deep Learning without a PhD, goo.gl/pHeXe7
What's Next