Sei sulla pagina 1di 12

Análisis de la IA en específico del machine learning

Investigando las fuentes primarias sobre el tema de la IA y el machine learning, se encontró


un libro que resumen las distintas posturas frente al machine learning, a la vez que nos
permite ver de manera general y sistémica el funcionamiento de este tipo de Inteligencia
artificial. En su libro Introduction to Machine Learning, Alex Smola and S.V.N.
Vishwanathan, no s resumen el funcionamiento, los conceptos y los desarrollos de la IA del
machine learning.

Se empieza por dar una descripción del libro, que a la vez es una guía de lo que es el
Machine learning. A continuación se vera la estructura usada en el libro:

Camberra, August, 2008

1 INTRODUCCION

La IA ha tenido gran desarrollo en los últimos años, en especial el Mchine learning. Por
esto, el siguiente texto pretende aclarar los conceptos, usos y teorías bajo los cuales esta
tecnología opera.
1.1 MUESTRA DE APRENDIZAJE AUTOMATICO

Empezando por las aplicaciones, los datos que manejan, finalmente se llega a la
generalidad de los problemas de machine learning para no volver a cometer los mismos
errores. En este ultimo punto es donde el machine learning tiene capacidad de lidiar con
problemas pasados, de resolverlos y cada vez mas irlos evitando.

1.2 APLICACIONES

Las paginas web en los buscadores de Google, los links asociados entre paginas web, los
escritos en dos idiomas distintos para aprender a traducir, los reconocimientos faciales a
partir de imagen o video, categorías de recomendaciones en Amazon, reconocimiento de
voz, reconocimiento de la escritura a mano, control de motores a reacción, avatares en los
juegos, marketing, robots, etc. Todas estas son aplicaciones del machine learning. Sin
embargo en el fondo puede ocurrir un problema de clasificación para que el machine
learning pueda hacer bien su trabajo.

1.3 DATOS

Los problemas de machine learning se pueden caracterizar según el tipo de datos que se
usa. De esta manera las soluciones a unos problemas pueden servir para otros, por la
similitud de los tipos de datos. Algunas formas de clasificar los datos son:

Lists: listas de información que pueden tener variables dependiendo lo que se neceite usar
de la base de datos.

Sets: o conjuntos de datos, sirven para agrupar datos que tienen alguna relación importante
para la solución de un problema.

Matrices: muestra relaciones de pares de datos.

Imágenes: se pueden considerar como matrices, coherencia geométrica y lineal (ya que
ocupan un espacio)

Video: es una matriz en tres dimensiones, además que debe tener una coherencia espacial y
temporal.

Trees and Graphs: se usan para ver relaciones entre conjuntos de objetos, arboles que
refinan o categorizan mas en profundidad un tema.

Strings: se desarrolla en la bioinformática y el análisis del procesamiento del lenguaje.

Estructuras compuestas: tenemos una estructura donde se asimilan varios tipos de datos en
una misma relación, un ejemplo la pagina web (texto, imagen, video, gráficos etc.)

1.4 PROBLEMAS
Partiendo de varios problemas de cada categoría antes descrita, se llega a la generalización
de problemas, los cuales se resulven por medio de plantillas objetivas.

Clasificación binaria: respuesta a la pregunta dado un patrón x extraído de un dominio X,


estimar qué valor asumirá una variable aleatoria binaria asociada y ∈ {± 1}. Por ejemplo,
dadas imágenes de manzanas y naranjas, podríamos querer decir si el objeto en cuestión es
una manzana o una naranja.

Clasificación multiclase: es la extencion de la clasificación binaria. La principal diferencia


es que ahora y ∈ {1,. . . , n} puede asumir un rango de diferentes valores. Por ejemplo,
podríamos querer clasificar un documento de acuerdo con el idioma en que fue escrito
(inglés, francés, alemán, español, Hindi, japonés, chino...)

Estimación estructurada: se asume que las categorías tienen una estrucvtura adicional que
puede usarse. Por ejemplo, al intentar clasificar páginas web, y podría ser una permutación,
cuando intentar unir objetos, realizar filtros colaborativos o clasificar documentos en un
entorno de recuperación.

Regresión: Aquí el objetivo es estimar una variable de valor real y darle R dado un patrón
x. Por ejemplo, podríamos querer estimar el valor de unas acciones al día siguiente, el
rendimiento de una fábrica de semiconductores dado el proceso actual, el contenido de
hierro de o dadas mediciones de espectroscopia de masas, o la frecuencia cardíaca de un
atleta.

Novelty detection: Describe el problema de determinar observaciones "inusuales" dado un


conjunto de mediciones pasadas. Claramente, la elección de lo que debe considerarse
inusual es muy subjetiva.

1.5 TEORIA PROBABILISTICA

Para resolver estos problemas es necesario crear unlenguaje que pueda ayudar a entender y
resolver los problemas.

1.5.1 VARIABLES ALEATORIAS

La probabilidad de que 1 caiga de 6 números en el dado, se puede moldear según un


modelo probabilístico, en este caso cada número tiene 1/6 de probabilidad.

1.5.2 DISTRIBUCION

Aquí se asocia la aleatoriedad con los posibles valores que pueda tener. De esta manera se
encuentra un rango donde oscila el valor que puede suceder.

1.5.3 MEDIA Y VARIANZA


Se mide lo el resultado que es mas probable obtener, a la vez de la cantidad de variación de
un dato obtenido a otro, para asi saber la distancia de los datos o de las cantidades de los
datos mas probables.

1.5.4 MARGINACION, INDEPENDENCIA, CONDICIONAMIENTO Y REGLA DE


BAYES

Dadas dos variables aleatorias X e Y, uno puede escribir su densidad conjunta p (x, y).
Dada la densidad conjunta, se puede recuperar p (x) integrando.

1.6 ALGORITMOS BASICOS

Cuatro son los algoritmos básicos que podrían usarsen en Machine learning: Naive Bayes,
vecinos más cercanos, el clasificador medio y el Perceptron, que puede usarse para resolver
un problema de clasificación binaria.

1.6.1 NAIVE BAYES

En un sentido amplio, los modelos de Naive Bayes son una clase especial de algoritmos de
clasificación de Machine Learning. Se basan en una técnica de clasificación estadística
llamada “teorema de Bayes”. En ellos se asume que las variables predictores son
independientes entre sí. En otras palabras, que la presencia de una cierta característica en un
conjunto de datos no está en absoluto relacionada con la presencia de cualquier otra
característica.

1.6.2 ESTIMASDORES DE VECINOS CERCANOS

En su forma básica asigna la etiqueta de su vecino más cercano a una observación x. Por lo
tanto, todo lo que necesitamos para implementarlo es una medida de distancia d (x, x0)
entre pares de observaciones. Tenga en cuenta que esta distancia ni siquiera necesita ser
simétrico Esto significa que los clasificadores vecinos más cercanos pueden ser
extremadamente flexible.

1.6.3 CLASIFICACION SIMPLE

Podemos usar geometría para diseñar otro algoritmo de clasificación simple para nuestro
problema. Por simplicidad, suponemos que las observaciones x ∈ R, tal como la
representación en bolsa de palabras de los correos electrónicos.
1.6.4 PERCEPTRON

Por medio de un ejemplo, un usuario puede querer tener resultados instantáneos cada vez
que llega un nuevo correo electrónico y le gustaría que el sistema aprenda de inmediato
desde correcciones hasta errores que comete el sistema. Para superar estas dos dificultades,
uno podría imaginar trabajar con siguiente protocolo: a medida que llegan los correos
electrónicos, nuestro algoritmo los clasifica como spam o no spam, y el usuario
proporciona comentarios sobre si la clasificación es correcto o incorrecto. Esta
retroalimentación se utiliza para mejorar el rendimiento.

1.6.5 K MEANS

Todos los algoritmos que discutimos hasta ahora son supervisados, es decir, suponen que
los datos de entrenamiento etiquetados están disponibles. En muchas aplicaciones esto es
demasiado esperar el etiquetado puede ser costoso, propenso a errores o, a veces,
imposible. En tales casos, uno tiene que recurrir al aprendizaje no supervisado. Un
algoritmo prototípico de aprendizaje no supervisado es K-means, que es el algoritmo de
agrupamiento. Dado X = {x1,. . . , xm} el objetivo de K-means es dividirlo en k grupos de
manera que cada punto en un grupo sea similar a puntos de su propio grupo que con puntos
de algún otro grupo.

2. DENSITY ESTIMATION

A menudo, los resultados del sistema con el que estamos tratando pueden ser variables
aleatorias de valor continuo en lugar de binarias, posiblemente incluso con rango
desconocido. Por ejemplo, cuando se trata de determinar el promedio Salar a través de un
cuestionario que necesitamos determinar cuántas personas es necesario preguntar para
obtener un cierto nivel de confianza. Para responder a estas preguntas necesitamos discutir
teoremas de límites. Ellos dicen nosotros por cuánto promedios sobre un conjunto de
observaciones pueden desviarse de las expectativas correspondientes y cuántas
observaciones debemos estimar una cantidad de probabilidades de manera confiable.
2.1 LEYES FUNDAMENTALES

La Ley de Grandes Números desarrollada por Bernoulli en 1713 es una de las bloques de
construcción fundamentales del análisis estadístico. Establece que promedios sobre un
número de observaciones convergen a sus expectativas dado un número suficientemente
grande de observaciones y dados ciertos supuestos sobre el independencia de estas
observaciones. Viene en dos sabores: el débil y La ley fuerte.

2.2 FUNCION CARACTERISTICA

Por razones históricas, sus aplicaciones a las distribuciones se llaman funciones


características, que discutiremos en esta sección. En sus cimientos se encuentran las
herramientas estándar. del análisis funcional y el procesamiento de señales.

Para sumas de varias variables aleatorias, la función característica es el producto de las


funciones características individuales. Esto nos permite probar tanto

La ley débil de los grandes números y el teorema del límite central para una ilustración
probando la convergencia en el dominio de Fourier. Prueba [Ley débil de grandes números]
En el centro de nuestro análisis se encuentra una expansión de Taylor de lo exponencial.

2.3 LIMITES DE LA COLA

En la práctica, nunca tenemos acceso a un número infinito de observaciones. Por lo tanto

el teorema del límite central no se aplica pero es solo una aproximación al situación real.
Por ejemplo, en el caso de los dados, podríamos querer decir límites de los peores casos
para sumas finitas de variables aleatorias para determinar por cómo tanto la media empírica
puede desviarse de su expectativa. Esos límites no solo será útil para promedios simples
sino para cuantificar el comportamiento de estimadores más sofisticados basados en un
conjunto de observaciones. Los límites que discutimos a continuación difieren en la
cantidad de conocimiento que asumir sobre las variables aleatorias en cuestión. Por
ejemplo, solo podríamos conocer su media. Esto lleva a la desigualdad de Gauss-Markov.
Si sabemos su media y su varianza podemos establecer un límite más fuerte, la desigualdad
de Chebyshev.

2.4 ESTIMACION DE PARAMETROS

Es evidente que es crucial elegir un buen ancho de los datos, claramente, un núcleo que es
demasiado ancho excederá cualquier limite de detalle que puede haber en la densidad. Por
otro lado, un muy estrecho el núcleo no será muy útil, ya que solo podrá hacer
declaraciones sobre los lugares donde realmente observamos datos. Además, está la
cuestión de elegir una función de núcleo adecuada, el hecho de que exista una gran
variedad de ellos que podría sugerir un problema. En la práctica, este no es el caso y, en
cambio, la elección de un ancho de datos adecuado es mucho más vital para buenas
estimaciones. En otra palabras, el tamaño importa, la forma es secundaria. El problema es
que no sabemos qué ancho de núcleo es mejor para los datos. Si el problema es
unidimensional, podríamos esperar poder mirar el tamaño de los datos en dimensiones
superiores este enfoque falla.

2.5 ESTIMACION

En muchos problemas estadísticos, el desafío es estimar los parámetros de interés. Por


ejemplo, en el contexto de familias exponenciales, podemos querer para estimar un
parámetro X tal que esté cerca del parámetro "verdadero" X. En la distribución. Si bien el
problema es completamente general, describiremos los pasos relevantes para obtener
estimaciones para el caso especial de la exponencial familia. Esto se hace por dos razones:
en primer lugar, las familias exponenciales son un caso especial importante y
encontraremos variantes ligeramente más complejas sobre el razonamiento en capítulos
posteriores del libro. En segundo lugar, son de una forma suficientemente simple que
podemos mostrar una gama de técnicas diferentes. En aplicaciones más avanzadas, solo un
pequeño subconjunto de esos métodos puede ser prácticamente factible. De ahí que las
familias exponenciales nos brinden un trabajo, ejemplo basado en el cual podemos
comparar las consecuencias de una serie de diferentes técnicas.

2.6 MUESTREO

Hasta ahora consideramos el problema de estimar la probabilidad subyacente densidad,


dado un conjunto de muestras extraídas de esa densidad. Ahora pasemos a el problema
inverso, es decir, cómo generar variables aleatorias dada la densidad de probabilidad
subyacente. En otras palabras, queremos diseñar al azar una variable. Esto es útil por varias
razones:

Podemos encontrar distribuciones de probabilidad donde la optimización sobre parámetros


de modelo adecuados es esencialmente imposible y donde es igualmente imposible obtener
una expresión cerrada de la distribución. En estos casos aún puede ser posible realizar
muestreos para dibujar ejemplos del tipo de datos que esperamos ver del modelo. Los
modelos gráficos donde surge este problema. En segundo lugar, suponga que estamos
interesados en probar el rendimiento de un enrutador de red bajo diferentes condiciones de
carga. En lugar de introducir el enrutador en desarrollo en una red en vivo y causando
estragos, uno podría estimar la densidad de probabilidad del tráfico de red bajo diversas
condiciones de carga y construir un modelo. El comportamiento de la red se puede simular
utilizando un modelo probabilístico. Esto implica extraer variables aleatorias de una
distribución de probabilidad estimada.

2.7 OPTIMIZACION
En la base de muchos algoritmos de machine learning está encontrar los parámetros del
modelo que minimizan una función de coste dados los datos de entrenamiento. Este
problema de optimización es clave ya que si tenemos garantizada su solución podremos
encontrar los parámetros que minimizan el error.

Las claves para que este problema de optimización sea tratable son que se trate de un
problema de optimización convexa y que se pueda resolver en tiempo polinómico. Si un
problema de optimización es convexo sabemos que si existe un mínimo local este será un
mínimo global, el conjunto de mínimos globales es convexo y para cada función
estrictamente convexa si la función tiene un mínimo el mínimo es único. Por ejemplo,
hemos generado en Python la función de Rosenbrock usando matplotlib y mplot3d para
visualizar el gráfico en 3D. La función Rosenbrock es una función no convexa empleada
para probar algoritmos de optimización.

Por lo tanto para redes neuronales de más capas y nodos, como es el caso del Deep
Learning, la optimización se complica y no tenemos garantizado que usando descenso por
gradiente lleguemos a un mínimo global. Surge la duda de si tenemos este problema de
optimización cómo es posible que en muchas tareas el uso de modelos de deep learning ha
permitido alcanzar errores muy bajos.

2.8 CONSEJOS PRÁCTICOS

Algunas reglas simples pueden ayudar a reutilizar el código: implementación correcta de un


algoritmo de optimización eficiente es a la vez lento y propenso a errores. Por lo tanto, en
la medida de lo posible, use bibliotecas existentes. Existen varias bibliotecas de
optimización de clase alta tanto comerciales como de código abierto. Problemas sin
restricciones: para la minimización sin restricciones de un suave función convexa LBFGS.

En muchas situaciones prácticas el método de gradiente espectral también es muy


competitivo. También tiene la ventaja adicional de ser fácil de implementar. Si la función a
minimizar no es uniforme, entonces los métodos de paquete son preferibles. Entre las
diferentes formulaciones, el algoritmo Bundle Trust tiende a ser bastante robusto.

Problemas restringidos: para problemas restringidos es muy importante para entender la


naturaleza de las restricciones. Igualdad simple (Ax = b) y las restricciones de caja (l ≤ x ≤
u) son más fáciles de manejar que las no restricciones lineales generales. Si la función
objetivo es suave, el conjunto de restricciones Ω es simple, y las proyecciones ortogonales
PΩ son fáciles de calcular, luego proyectadas espectralmente gradiente es el método de
elección. Si el problema de optimización es un QP o un LP, entonces los solucionadores
especializados tienden a ser mucho más rápidos que los generales solucionadores de
propósito.
Problemas a gran escala: si su vector de parámetros es de alta dimensión, entonces
considerar el descenso coordinado especialmente si el unidimensional. La búsqueda de
líneas a lo largo de una coordenada se puede llevar a cabo de manera eficiente. Si el
objetivo la función se compone de una suma de un gran número de términos, considere el
descenso de gradiente estocástico. Aunque ambos algoritmos no garantiza una solución
muy precisa, la experiencia práctica demuestra que para problemas de aprendizaje
automático a gran escala, esto rara vez es necesario.

Dualidad: a veces problemas que son difíciles de optimizar en el primario puede volverse
más simple en el dual. Por ejemplo, si la función objetivo es fuertemente convexo pero no
liso, su conjugado Fenchel es liso con un Gradiente continuo de Lipschitz.

https://alex.smola.org/drafts/thebook.pdf

p.151

ALGUNAS REFLEXIONAS SOBRE MACHINE LEARNING A PARTIR DEL


COLOMBIA 4.0

linkedIA

Varias reflexiones a partir del Colombia 4.0, el cual tuvo lugar el día 25 de septiembre de
2019.
Empezamos con la conferencia sobre etiquetado de datos para modelos de IA, llamada
Data labeling for IA. La cual estuvo a cargo de la directora de la empresa de Linkedai. Se
empieza hablando sobre el procesamiento de imágenes, por detección de la forma de un
objeto y se le da una categoría a dicho objeto.

Hay otras formas de detección de objetos en las imágenes, por ejemplo la detección
semántica, por medio de la imagen, se puede saber qué tipos de objetos hay en la imagen. A
la vez las cajas 2D, las cuales son las mas usadas para detección de objetos, encerrando al
objeto en una caja y saber donde se encuentra en una imagen. Los polígonos son detección
de objetos por sus formas. Las polilineas son líneas límites que dan una guía por ejemplo a
los carros automáticos. También existen los puntos que se adecuan a una imagen y en su
variación se puede notar los cambios de una imagen a otra (rasgos de las caras etc.),
finalmente, existen las palabras claves las cuales se suelen usar en chatbots.

Pero y ¿los datos? Aquí aparece el problema de la insuficiencia de datos: el problema de los
datos privados, sensibles, datos costosos o inaccesibles. El ejemplo del carro autónomo, el
cual aun no cuenta con suficiente información para poner un carro inteligente en las vías
comunes.

De esta forma surgen los datos sintéticos, los cuales son simulaciones del mundo real. Con
esto se puede mejorar el dataset de imágenes. En los carros autónomos se ha usado este tipo
de datos. El ejemplo del carro de Google a recorrido 8.000 millas en vías, pero a la vez han
recorrido muchos kilómetros por medio de simulaciones, por ejemplo el juego GTA.
También se ha usado un dataset sobre historiales pasados para prever que puede pasar a
futuro, para finalmente detectar el cáncer. Por medio de redes adversarias se generó mas
datos sintéticos que ayudo a reducir la probabilidad de falsos diagnósticos.

A la vez por medio de los fake videos se genera data que ayuda a prever casos que aun no
han pasado y recrearlos, para cuando llegue el momento se actue debidamente, en el caso
de los carros autónomos crear una situación que pueda pasar.

Aparecen asi varios problemas. ¿Se puede solo basarse en datos sintéticos y dejar de lado la
realidad?, ¿puede solo los datos reales ser suficientes para llegar a un buen resultado?,
¿Cómo hacer para que la IA, en especial machine learning aprenda de forma correcta por
medio del etiquetado de datos? De esta manera la conferencia da varias luces sobre la
importancia de los datos y los distintos modos de obtenerlos, a la vez de recrearlos y de
ponerlos a prueba.

LA MAGIA DE IA EN LA INDUSTRIA AUDIOVISUAL

Para los desarrolladores de contenido es importante la IA, en especial el machine learning


ya que usan capas para su desarrollo. Estas capas se interrelacionan con información, la
cual crean realidades virtuales y replican las emociones o los rasgos faciales, por ejemplo
en digitag, que es un laboratorio que escanea la cara, los movimientos la luz y las sombras
etc. A la vez se puede pasar de esta tecnología a los avatars, pasando de los datos de los
movimientos de la cara y el cuerpo, se crean nuevos caracteres o avatars que se pueden
llevar a contenidos de cine y video en tiempo real.

Para la corrección de imágenes y videos, este mismo sistema funciona ya que la IA aprende
de los distintos tonos de luz y de sombra, logrando los acabados post foto o post video, para
así mejorar los contenidos digitales. Pero de esta tecnología se ha llegado a los deepfakes,
donde se interponen caras de personas en videos. Esto se ha convertido en un problema de
la identidad, del copyright y de los posibles problemas legales y éticos que surgirían.

Esto es un problema social desde las redes sociales y en momentos reales, pues cualquier
persona se puede adueñar de estos medios y generar falsa información. Se crea toda verdad
llegando a un momento de la duda sobre toda información.

Esta misma tecnología se puede utilizar para hacer que una persona en video pareciera que
habla en el idioma que queramos. Pues luego de recolectar la información de los
movimientos de la cara, se puede llegar a recrear un movimiento de la cara que corresponda
a lo que se quiere decir en un nuevo idioma. A la vez, la noticia del faceapp la cual hacia
que los rostros se envejecieran bastante, sin embargo el problema de fondo es que se estaba
usando estas aplicaciones para generar una gran base de datos, estamos ahora en el mercado
de la innovación.

El problema que surge es ¿Cómo usar el machine learning de tal manera que no vaya en
contra del libre desarrollo de la personalidad, la identidad, la libertad y el uso adecuado de
nuestros datos?, ¿Cómo lograr desarrollar un machine learning que tenga en cuenta la
realidad, la objetividad y el desarrollo adecuado, para que así se pueda llegar a un producto
digital sano?, ¿Cómo lidiar con la libertad del acceso a la tecnología y el buen uso y
desarrollo de la misma? Esta conferencia nos hace reflexionar sobre todos estos aspectos,
pero a la vez nos hace pensar en que la tecnología puede lidiar con los problemas y
ayudarnos a desarrollar esas ideas que tanto anhelamos, a la vez de empezar a persivir la
creatividad y el arte de otras formas, extendiendo el talento humano a la tecnología para
potenciarlo aún más.

Potrebbero piacerti anche