Mostrando entradas con la etiqueta artificial intelligence. Mostrar todas las entradas
Mostrando entradas con la etiqueta artificial intelligence. Mostrar todas las entradas

domingo, 17 de febrero de 2019

"Estoy aprendiendo Tensorflow pero no entiendo, se me dificulta aprender"

La frase que da el título a este post es una frase que he escuchado ya varias veces en los últimos meses  y personalmente creo que no es problema del framework(o de otros similares con el mismo problema)  entonces espero con este post ayudar a través de ciertas recomendaciones a personas en esta situación .

Aun que en la actualidad(2019) Tensorflow se ha vuelto cada vez mas amigable y accesible integrando APIs de alto nivel como Keras esto no ha sido siempre así(cuando empece a usar TF en 2015 todo era bajo nivel salvo el wrapper "skflow" que buscaba dar a TF la sencillez en API de scikit-learn y que ahora ha sido integrado a TF en el subpaquete "contrib")y de todas maneras existen aún con APIs de alto nivel en algún momento nos podemos encontrar con operaciones de bajo nivel que pueden en un inicio parecer complicadas.

Y si el framework es tan popular,utilizado en la industria y en research y alimenta muchas de las aplicaciones inteligentes de la actualidad(la mayoría de AI de Google esta hecha con TF) por que pareciera aveces ser tan complicado de aprender? Posiblemente hayan muchas respuestas para esto, o tal vez ninguna pero mi opinión personal respecto a lo que he visto es que el problema esta en la falta de familiaridad con los conceptos matemáticos que Tensorflow nos permite implementar.

Es como querer aprender a usar una calculadora  para resolver ecuaciones sin tener claro que es una ecuación, para que buscamos resolverla y como interpretar la solución que la calculadora devuelve, y mas importante aún: como podemos aplicar la resolución de ecuaciones en problemas ,o bien pensemos en otro ejemplo en el cual  una calculadora permite calcular de manera rápida y sencilla una raíz cuadrada en lugar de hacerlo manualmente,pero si no conocemos el significado del resultado de esto y en que momento utilizarlo ,sus aplicaciones e interpretación , el aprender a hacerlo en la calculadora será de poco provecho y hasta confuso, esto a mi parecer pasa muchas veces con TF(y similares).

Tensorflow no es un framework como los que tradicionalmente usamos en desarrollo de software, es decir no esta orientado a la creación de aplicaciones web,móviles o similares si no es mas bien un Framework matemático orientado al desarrollo de aplicaciones numéricas por lo cual es importante conocer el significado de las operaciones que nos ayuda a realizar, de hecho en su propio nombre podemos ver la importancia que tiene la matemática en TF:


  • Tensor: objeto matemático(de álgebra lineal) que generaliza los objetos mas familiares: vectores y matrices 
  • Flow: Tensorflow se basa en un grafo de operaciones en el que cada nodo del grafo es una operación numérica y las aristas del grafo son tensores que FLUYEN de un nodo a otro.
Mi recomendación para personas que estén teniendo dificultad y confusión aprendiendo TF es primero aprender o refrescar la memoria respecto a los conceptos matemáticos y estadísticos subyacentes, esto hará que luego aprender TF sea mucho mas sencillo, intuitivo y se le encuentre un significado ,al final TF es solo una herramienta , o un medio para aplicar matemática utilizada en aplicaciones de machine learning, data science y  similares. 

Personalmente creo que esto se basa en 3 pilares que acá listo y para los cuales pongo enlaces a material útil para aprender o refrescar estos temas.:


  1. Algebra Lineal:
  2. Cálculo multivariable: si  no estas familiarizado con cálculo de una variable, el multivariable será más complicado de entender por lo cual sería recomendable antes de multivariable empezar con calculo diferencial, en ML no se utiliza mucho el cálculo integral por lo que se puede enfocar menor esfuerzo a este.
  3. Estadística y probabilidad: hay muchas cosas importantes de esto en data science pero considero que entender distribuciones de probabilidad, como interpretarlas, samplearlas(obtener muestras aleatorias  de estas), medirlas, calcularlas a partir de un conjunto de datos,  o comparar 2 (por ejemplo a través de entropía cruzada o divergencia de Kullback-Leibler) además de cosas como medir la correlación entre 2 variables, etc.

Espero con esto ayudar a personas que esten teniendo problemas con TF  o similares.


domingo, 21 de enero de 2018

Amarillismo en la inteligencia artificial: Sophia el primer robot ciudadano

Este post podría ser considerado la segunda parte o continuación de http://devongt.blogspot.com/2017/08/amarillismo-en-la-inteligencia.html

En las últimas semanas varios medios(incluidos varios medios populares como tech insider) han publicado noticias de “Sophia el primer robot ciudadano” que básicamente presentan como un robot que ha obtenido ciudadanía y lo anuncian como un robot que cuenta con lo que se conoce como “inteligencia artificial general”. Lamentablemente tanto Sophia como sus capacidades anunciadas son completamente falsas y crean en las personas ideas y expectativas falsas de lo que es la inteligencia artificial, sus alcances y capacidades y su estado actual como ciencia. Personalmente llevo algún tiempo ignorando(o incluso sintiendo cierto disgusto) al solo ver el nombre Sophia o su imágen en las noticias, pero algunas noticias en particular fueron las que hicieron que decidiera escribir esto :

  • Sophia es entrevistada en vivo por “Tech Insider”(https://www.youtube.com/watch?v=78-1MlkxyqI): en el video se puede ver claramente como el entrevistador lee las preguntas desde su celular, es decir que es una serie de preguntas programadas a las cuales el robot responde por que ya estaban planificadas. Esto no es bajo ninguna definición inteligencia artificial.
  • Sophia dice que su inteligencia artificial esta basada en emociones humanas(https://youtu.be/S5t6K9iwcdw?t=180) como : compasión, amabilidad y empatía. La inteligencia artificial actual se basa en modelos matemáticos y estadisticos de tareas específicas basandose en la racionalidad que consiste en realizar la acción mas adecuada (que maximiza o minimiza un resultado) bajo las percepciones del agente, no existe en la actualidad manera de integrar valores humanos o sentimientos en la inteligencia artificial .


Lo que me causa disgusto de el tema, es como los creadores de Sophia estan aprovechando que actualmente la inteligencia artificial es un tema de moda para exagerar y mentir acerca de sus capacidades , y no podemos negar que la mecatrónica de Sophia es impresionante y ha logrado gestos humanos grandiosos, pero de esto a que cuente con inteligencia artificial hay una gran mentira de por medio , y aún mas grande es la mentira de que cuente con AGI(inteligencia artificial general), emociones y sentimientos.Actualmente la AGI es solo un sueño con la que muchos entusiastas e investigadores fantasiamos(probablemente lo mas cerca a esto sea “reinforcement learning” pero aún RF esta lejísimos) , y el tener emociones en la inteligencia artificial es solo algo de ciencia ficción.

Por esto es extremadamente molesto como los medios se aprovechan de el boom y moda actual de AI ya que engañan a las personas, y hasta cierto punto las estafan dandoles expectativas falsas, incluso miedos no fundamentados, y personalmente creo que esto en algún momento puede frenar la investigación o adopción en la sociedad de productos basados en AI, incluso me atrevería a pensar en futuras manifestaciones de la sociedad en contra de AI por culpa de este amarilismo de los medios.

Personalmente creo que esto ocasiona algunos problemas como:
  • Crea en el público y sociedad en general miedos no fundamentados como: los robots se van a revelar y nos van a exterminar
  • Crea en publico técnico interesado el deseo de incursionar en AI para luego de una curva de aprendizaje bastante grande, darse cuenta que AI en la actualidad no es mas que estadística y matemática para crear modelos y funciones a partir de grandes sets de datos, y no lo que esperaban de robots verdaderamente inteligentes.


 Sophia no es mas que una marioneta mecatrónica ,pre-programada y controlada por inteligencia humana, no inteligencia artificial,no escucha, no entiende lo que le dicen, ni etiende lo que ella dice, no tiene emociones ni sentimientos.Que diferencia hay entre su inteligencia y la de un títere de circo? NINGUNA


Autor: Luis Leal