Dr. Gabriel Guerrero Sistemas Abiertos X Sistemas Abiertos ......Matemáticas para la Inteligencia...

Preview:

Citation preview

Matemáticas para la Inteligencia Artificial

Dr. Gabriel GuerreroSistemas Abiertos X Sistemas Abiertos S.C.saxsa2000@gmail.com

OBJETIVO

Construcción de aplicaciones basadas en Inteligencia Artificial¡Todos

queremos estar en el Roof

Garden del Burj Khalifa*!

Es decir, en la frontera del conocimiento generando aplicaciones de Inteligencia Artificial.

*Edificio mas alto del mundo Dubái, 828 m

Los países desarrollados tienen grandes adelantos en Inteligencia Artificial

En México, aún falta mucho!!

Pero nunca es tarde para acelerar el paso!!

Yo quiero hacer mi parte en Inteligencia Artificial,

pero...

¿por dónde empiezo?

Yo quiero hacer mi parte, como el colibrí en la Inteligencia Artificial,

pero ¿por dónde empiezo?

En general solo observamos lo visible en la superficie…

Pero los grandes arquitectos e ingenieros piensan en cimientos y excavaciones bajo tierra fuertes y

de calidad

Fundamentos de Matemáticas y

Estadística Álgebra Lineal y

Geometría Analítica Calculo Diferencial Optimización

Matemática Análisis Numérico Análisis Funcional Estadística Probabilidad CIMIENTOS

VectoresMatricesVectoresMatrices

EspaciosN dimensionales

EspaciosN dimensionales

Operador deconvoluciónOperador deconvolución

GradientesGradientes

Algoritmos demin y max

Algoritmos demin y max

AproximaciónDe polinomiosAproximaciónDe polinomios

Machine Learning

Algoritmos de ML supervisados

Algoritmos de ML no supervisados

CIMIENTOS

BayesBayes

RegresionLineal

RegresionLineal

DBSCANDBSCAN

ICAICA

Arboles de decisiónArboles de decisión

Refresionlogistica

Refresionlogistica

kNNkNN

SVMSVM

SVDSVD

PCAPCA

K-meansK-means

Herramientas

Linux Python Jupyter Hadoop MongoDB Spark TensorFlow Keras Bokeh Dash

CIMIENTOS

Aplicaciones basadas en:

Deep Learning

Redes Neuronales Artificiales

Redes Neuronales Convolutivas (CNN)

Redes Neuronales Recurrentes (RNN)

CIMIENTOS

Convolución

Una convolución es un operador matemático que transforma dos funciones f y g en una tercera función que en cierto

sentido representa la magnitud en la que se superponen f y una versión trasladada e invertida de g.

Tensor

En Matemáticas y Física, un tensor es una entidad algebraica de varios componentes, que generaliza los

conceptos de escalar, vector y matriz.

Siendo así:Un escalar es un tensor de orden 0, el cual tiene magnitud pero no dirección.

Un vector es un tensor de orden 1, el cual tiene magnitud y dirección

Una matriz es un tensor de orden 2, el cual tiene magnitud y dos direcciones.

Habiendo tensores de orden N.

Como una mejora y simplificación de DistBelief, Google crea un marco de trabajo con tensores denominado TensorFlow. Este sistema es un marco simbólico de manipulación de tensores para Python que admite auto diferenciación, lo que simplifica enormemente la implementación de nuevos modelos.

En 2015, Google ofrece TensorFlow como un sistema de código abierto y se inicia una nueva era del Aprendizaje Profundo.

TensorFlow tiene APIs disponibles en varios lenguajes de programación, para la construcción y ejecución de un grafo de TensorFlow. La API de Python es actualmente la más completa y la más fácil de usar.

El motor de procesamiento de tensores: TensorFlow

TensorFlow es una biblioteca de software de código abierto para computación numérica de alto rendimiento.

La arquitectura flexible de TensorFlow permite una fácil implementación en una variedad de plataformas como: CPU, GPU y TPU, en equipos de escritorio hasta clústeres de servidores y dispositivos móviles.

Hoy podemos pensar de forma coloquial, que CUDA con cuDNN son el “ensamblador” y TensorFlow con Keras es un lenguaje de alto nivel como Python, que ofrece una interfaz mas amigable, pero que en sus entrañas tiene los elementos del ensamblador!

TensorFlow

Inicio de IA1950~

1989Aplicación práctica

Yann Lecun

LeNet1990

2000-2010Sin gran impulsoPequeños grupos siguen trabajando

2011Dan Ciresan del IDSIA Propone

clasificación con RN y GPUś

2012-2015CV Computer VisionComputación para

imágenes

Geoffrey Hinton clasifica imágenes al 96% de éxito

2012

NVIDIA crea su interfaz de

programación de GPU’s 2007

*2007 - NVIDIA crea su interfaz de programacion de GPU’s *2010 - Surgimiento de GPU’s de costo mas accesible*2013 - NVIDIA licencia su tecnología gráfica (GPU’s)*Bibioteca cuDNN (CUDA Deep Neural Network), permite acelerar el cómputo en procesadores GPUs de las funciones de CUDA asociadas a Redes Neuronales con metodología de Aprendizaje Profundo (CUDA for Deep Neural Networks). *Actualmente – NVIDIA ofrece el conjunto de herramientas NVIDIA Deep Learning SDK

http://www.wangdali.net/nvgpu/gpu-roadmap-gtc-2015-memory-capacity/

En 2015 se crea Keras que es una bibliotecas fácil de usar que facilita la generación de aplicaciones con redes neuronales con Aprendizaje Profundo.

Keras es una biblioteca que ofrece modelos (model-level library) que proporciona bloques de construcción de alto nivel para desarrollar modelos de Aprendizaje Profundo.

Keras

DL = (ML)**N