Mi columna de esta semana en Invertia se titula «La reinvención de la máquina» (pdf), y es un intento de explicar en términos sencillos el funcionamiento de los algoritmos de machine learning, de una manera que no resulte intimidatoria, ahora que cada vez más dispositivos de electrónica de consumo incorporan procesadores o áreas concretas en su procesador específicamente destinadas a estos fines. El nuevo smartphone de Google, el Pixel 6, tiene un microprocesador separado del principal y dedicado en exclusiva al procesamiento de machine learning.
A medida que esta tendencia se materializa, estamos llevando a cabo una transformación muy interesante sin darnos cuenta: las máquinas que antes únicamente llevaban a cabo determinadas funciones derivadas de la programación que incorporaban o que les suministrábamos, van pasando lentamente a convertirse en máquinas capaces de aprender y adaptarse a determinadas situaciones, en función de los datos que son capaces de captar del contexto que les rodea.
Una reinvención de la computación clásica que abarca desde el funcionamiento de nuestras cámaras, que ahora son capaces de entender si queremos centrarnos en un área concreta de la imagen, desenfocar el fondo, o muchas cosas más; o si lo que se mueve delante del objetivo es un ladrón – y en ese caso activar la alarma de casa – o simplemente una mascota. Cada vez más, los ordenadores, o prácticamente cualquier objeto cotidiano si atendemos a la tendencia de incorporar electrónica a casi cualquier cosa, se convierten ya no en simples procesadores de datos, sino en elementos capaces de tomar decisiones.
Cada vez más, entender esta nueva dimensión de la computación marcará qué compañías son capaces de seguir siendo competitivas frente a un nuevo tipo de productos que representan, en apariencia, propuestas de valor similares, pero que en la práctica generan toda una nueva gama de prestaciones. Ofrecer al usuario determinadas opciones, priorizar ciertas apps o presentarlas en el momento adecuado está dejando de ser un conjunto de intentos torpes de generar satisfacción, para convertirse en algo que de verdad mejora la percepción que tenemos del producto. Y cada dispositivo, además, no tiene que procesar solo: puede alimentarse de los datos que el mismo usuario genera en otros dispositivos suyos, o incluso de la experiencia de otros usuarios.
Sin duda, una nueva dimensión. Veremos quién es capaz de extraerle más valor sin que sus usuarios se sientan espiados, intimidados o preocupados por su privacidad. Y veremos, también, de qué maneras lo presentan al mercado. Lo que sí parece claro es que la era de incorporar machine learning de manera casi rutinaria a todos los dispositivos ya está prácticamente aquí.
This post is also available in English in my Medium page, «Reinterpreting the machine«
Gracias por el artículo Enrique, es de los temas que más me interesan por el enorme impacto que tendrá en nuestras vidas la inteligencia artificial y a la vez uno de los que menos se.
Entender en profundidad como este cambio de paradigma en la computación va a funcionar no es fácil, pero me ha encantado la explicación en el artículo enlazado de MIT TR, «los ordenadores pasan de simplemente calcular números a tomar decisiones». Las implicaciones van a ser brutales según se vayan haciendo más capaces y ubicuos.
«no en simples procesadores de datos, sino en elementos capaces de tomar decisiones.» (EDans).
No podré verlo, pero me gustaría comprobar como los algoritmos se dan de golpes en lo que tengan «de cabeza», al comprobar como los programadores y los usuarios no serán capaces de llegarle a las suelas al cerebro humano. En cuanto a «ponerse en el lugar de».
Y no tanto por la enorme complejidad organizativa del cerebro humano, si no por la incapacidad manifiesta del cerebro humano de los megatecnólogos marvellianos, en comprender sus insuficiencias en la búsqueda de auténticos simuladores cerebrales.
Lo decía el Sócrates, no nos conocemos, ¿como coño vamos a conocer lo que nos rodea? Y curiosamente el fue el primero que pecó de tal abandono autoconsciente. Se centró en el conocimiento del universo y de nuestra relación con el (que si belleza, justicia, verdad…), pero se olvidó que era su cerebro precisamente, el que le daba vueltas a todo.
Y, desde luego, pocos programadores son capaces de ponerse en el punto de partida socrático, que luego vino a remachar el Descartes.
¡Porque lo de «tomar decisiones» tiene tela!
Esa maravilla de cerebro humano al que según usted nadie le llegará a la suela en cuanto a «ponerse en el lugar del otro», es el mismo que se está cargando el planeta y ha asesinado a millones de congéneres en infinidad de cruentas guerras (incluyendo dos mundiales).
Me temo que olvida que los algoritmos que rigen nuestro cerebro fueron optimizados por la evolución para que funcionaramos de manera óptima en unas ciertas condiciones que ya no existen. Hace más de 100.000 años que salimos de la sabana africana. Lea a Goleman y su inteligencia emocional.
Ahora estamos en otra cosa y, resulta que para esa otra cosa existen algoritmos mucho mejores y más especializados que los de nuestro rudimentario cerebro. Por qué no aprovecharlos?
Payasadas aparte como las que todos tenemos en mente, la realidad es que estamos ante el típico movimiento cíclico propiciado esta vez por google…
pongamos otro ejemplo, ahora decimos «ok google» y entonces activa un mecanismo para que la frase que sigue después se envíe para su procesamiento, debido a dos motivos, uno que el móvil o asistente no tiene la suficiente potencia para aplicar un motor de reconocimiento continuo y dos que no nos iban a estar escuchando todo el rato para ver que queriamos, si muchos amantes de los muñequitos animados en el móvil, o la propia google/nsa no tiene un patrón definido de que escuchar ( bomba, ataque, الجناح كبير) ahora le va a resulta fácil poner el listado de frases que alarmen a un sistema en el que propio yihadistamovil y que haya pagado sus perras para ser espiados, para tener el cojo móvil con coprocesador a su disposición
Menos gasto en servidores. Pero esto es solo uno de los usos, también podremos desenfocar fotos, …
Bienvenido el 8087 Release 2.
Por cierto
https://9to5google.com/2021/08/02/google-will-spend-more-on-marketing-the-pixel-6-series-than-any-made-by-google-phone-to-date/
Google will spend more on marketing the Pixel 6 series than any Made by Google phone to date
¿Estamos ante una prueba de concepto más o a una prueba de poderío en gastarse la pasta en marketing?
Enhorabuena a los premiados !!
Perdona que diga lo obvio, pero habría que ver cuánto se gastaron en marketing en otros modelos, para ponerlo en la medida correspondiente. Creo que yo nunca he visto publicidad de los Pixel…
Joder que no… siempre que sale uno, no hay blog de tecnologia (de los importantes) que no saque su articulo patrocinado… no me jodas…
Todos los de Webedia/weblogs sin ir mas lejos… :P
David
Pues cuando lo encuentres lo comentas, mientras tanto un ejemplo de lo que no han visto tus ojos…
https://www.wired.com/story/best-google-pixel-phone/
¿Que te crees que a wired le interesan los pixel de motu propio o hace el egipcio?
Pista: lee a Lua
Dejame que ya he cumplido mi cupo semanal de tocahuevos… XDD
Pero añadiria, que despues de todos esos blogs «importantes», vienen los sucedaneos con sus corta/pega y cambia un par de palabras (aunque estos, no cobran) XDDD
El que una máquina tome decisiones de acuerdo lo que pasa en su entorno no es nuevo. Desde hace años los ascensores «decidan» como dar preferencia a las peticiones de servicio, los actuales incluso «predicen» la probable petición que les hagan según la hora. Los semáforos «inteligentes», se auto regulan en función del tráfico.
Tomar «decisiones» es algo que hacían los primeros juegos de ajedrez mas modestos. Los robot hoy «aprende» el camino mas rápido para llevar la «mano» al un lugar determinado, no hay que programarlos, solo tu indicas a donde acaba el trayecto y ellos deciden cual es el giro de sus diferentes ejes más eficiente para llegar ahí.
. .
Como todo, las técnicas de machine learning y de IA evolucionan y se hacen cada vez mas comunes y poco a poco cubren mas campos,.
Pasa en todo, salvo si la evolución es muy precipitada, pasa desapercibida. ¿Cuántas cosas hace hoy con tu teléfono móvil, que hace solo 5 años no podía hacer?. Sin embargo ahora nos parece que el móvil no evoluciona como lo hacia al principio, que se esta estancando, aunque pagues con el el café, te diga cuanto tardara en llegar el autobús, y te diga cual es la ruta menos contaminante para ir a un sitio.
A ver, lo que no se puede hacer es una interpretación mágica de en qué consiste el Machine learning y llamarlo divulgación.
El Machine learning no implica ningún tipo de «entendimiento» ni «conocimiento» por parte del procesador del teléfono, se limita a aplicar un algoritmo de optimización de imágenes que hace más eficiente la GPU (Tarjeta Gráfica del teléfono, para legos) y que mejora la calidad de la fotos, como hacen montones de algoritmos diseñados para tal fin. es una simple optimización de esos algoritmos con un muestreo de imágenes de los que toma los valores óptimos.
Todo eso, sin entender ni una patata de lo que hace o el sentido de la vida.
El Machine Learning no se ha considerado nunca como IA en el sentido Fuerte del término, sino todo lo contrario, un sistema de optimización estadístico.
No hay ningún procesador de «Machine learning» o aprendizaje en el Pixel de Google, sencillamente se añadido una TPU, una parte de la CPU especializada en procesamiento matemático de «Tensores» (Un Buffer de memoria y una Unidad de cálculo de matrices), cálculos repetitivos, que aligeran la carga de la CPU principal de realizar esas tareas, simples, pero que requieren un cálculo más intensivo.
Obviamente, Enrique, aunque incide en el aspecto meramente estadístico del Machine learning en el artículo, nunca ha estudiado matemáticas, ni los algoritmos que subyacen bajo la etiqueta Machine learning (1952) (Algoritmos Bayesianos (1763), computación evolutiva y algoritmos genéticos (1970), p.ej.), por lo que hace una aproximación un poco más lírica y romántica del asunto.
No solo no hay ningún cambio «dimensional» sino que el Machine learning fuera de su aplicación y afinidad en los procesadores ASIC, empieza a estar un poco superado y «demodé».
Uno de los problemas de los términos tecnológicos que se ponen de moda, y que se ha dado con el Machine Learning, es que entre personas que no tienen esa base formativa, se pronuncian esas palabras como algo Mágico o resolutivo, como en su momento le paso al Big Data, y se acaban por relegar esas tecnologías y su aplicación real en las empresas al baúl de las cosas que no se entienden muy bien pero que hay que poner en el currículum.
Para extraerle valor a algo, primero hay que entenderlo. Y sinceramente, no hay profesionales en nuestro país para desarrollar muchas de las tecnologías más punteras en nuestras empresas.
(No, no se trata de solo de Informáticos de sistemas, maestros de Matemáticas de secundaria o programadores recién licenciados con un máster de tres meses en ML. Talento del duro, no de Jijona. Son nuestros camioneros de Uk.)
Telefónica gana más dinero vendiendo alarmas caseras que con el Machine Learning, por poner un botón de muestra.
Ale, rápido y corto.
—
Plas, plas, plas….
y de paso, a ver si empezamos a llamar «aprendizaje automatico» a la ML… al menos a determinados niveles… que la lengua castellana, es muy rica en terminos no tan «in» XDDDD
Exactamente !!
«“Cualquier tecnología suficientemente avanzada es indistinguible de la magia”
¿Por qué se siguen opinando las mismas payasadas sobre el aprendizaje automático»? El único rito mágico que hay, es el «algo-rito matemático»…
Lo de la toma de decisiones por parte de un algoritmo es un mito que hay que desterrar. Si apuntas la cámara del móvil y ahora este te avisa que es un «gatito» o un «perrito», no toma decisiones simplemente está ejecutando unas «fórmulas» que nos indicarán que la cámara está recogiendo a un «gatito» con un 99% de probabilidades, aunque sea tu prima Gertrudis despeinada. ¿Qué toma de descisiones es esa? . Lo mismo que te puede decir con un porcentaje muy alto de acierto que ese correo que acabas de recibir no es spam, aunque venga de Nigeria y seas el agraciado de una herencia…
Sin embargo «innovar» sobre que abanico de apps (p.ej. realidad aumentada) se posibilitan con un pixel con coprocesador lo dejamos para otro día. Santa paciencia !!
Por que lo llaman «cosa inteligente», cuando es simple estadistica??? :P
Quiero remarcar que explicar el machine learning para gente normal es un esfuerzo increíble, más aun si quieres/necesitas que tu audiencia se «quede con algo».
Mi experiencia durante mi doctorado en un ámbito ingenieril, pero no IT, me demuestra que el cambio metodológico es tan grande, que ni siquiera audiencias con fuerte base científica pueden cubrir el machine learning en un par de charlas informales. Se precisa de tiempo, esfuerzo y actitud.
Los problemas aparecen desde el principio: lo ven muy lejano a ellos, «esto es puro hype», «es demasiado esfuerzo», cómo llevar el problema a tierra… La terrible fase del preprocesado de los datos. Luego, el entendimiento de los conceptos básicos del machine learning: conjuntos de datos de entrenamiento y test, las métricas del error , generalización, clasificación y estimación… Es que es un mundo.
En mi opinión, El uso del machine learning es el mayor cambio en el método científico desde que existe. He encontrado algun que otro artículo sobre este tema, pero creo que no se ha incidido lo suficiente en ello.
No se por que lo consideras tan complicado, todo es ir variando las variables poco a poco hasta ver si das con el resultado que estas buscando. Lo llevan haciendo los artilleros toda la vida, disparan y si se quedan cortos suben un poco el ángulo del cañón, vuelven a dispara se quedan cortos suben otro poco se pasan bajan un poquito el ángulo.
¿Tu crees que es muy difícil de programar?
Ejem ejem…. yo era artillero (FDC, Fire Direction Center, vamos, calculador de tiro), piezas del 155/23… y no.. no funciona asi… incluso en el ejercito español, estamos mas avanzados (1985) que eso que tu comentas… XDDD
Eficacia de tiro del 98%
(cierto es, que si no hay blanco, se hace la «horquilla», pero son las menos veces)
¿Dónde quedaran las tomas de decisiones, no racionales? ¿las impulsivas? ¿aquellas que contra la racionalidad, tomamos porque sabemos que son lo mejor? ¿las tomadas por sentimientos, más que por raciocinio?.
Estoy de acuerdo en que vamos a vivir unos avances inmensos en torno a la inteligencia artificial y que muchos de ellos, nos harán la vida más cómoda, pero creo que deben ir acompañados de una evolución social/económica. La automatización por ejemplo puede ser una ventaja si nos permite disponer y disfrutar de más tiempo libre, pero en cambio puede ser un gran problema, si genera pobreza y desigualdad social.
Creo que tenemos la capacidad técnica para avanzar, pero quizás nos falta ese mismo avance como especie.
Cada vez vivimos en un planeta mas deshumanizado y polarizado, donde la inteligencia artificial puede desequilibrar esa frágil balanza entre tocar la gloria o la mierda (con perdón).
Llevo unos días probando Github Copilot de Open AI para JavaScript: el sistema que permite obtener código de programación explicando con unas pocas palabras qué es lo que quieres y que actualmente se encuentra en fase beta.
Así por ejemplo si le pido:
delete all characters in a string after the last occurrence of a given char
Obtengo:
var str = 'Hello World';
var index = str.lastIndexOf(' ');
str = str.substring(0, index);
console.log(str);
Lo cual es verdaderamente sorprendente. Eso si, para que funcione bien es imprescindible utilizar un lenguaje extremadamente preciso. Supone una forma completamente diferente de comunicarse con el ordenador y, bien utilizado, puede ahorrar mucho tiempo.
Es importante comentar que, sin conocimientos de programación, la herramienta tiene una utilidad mucho más limitada por lo que creo que el nombre de «copilot» (copiloto) le viene al pelo. Es como tener un asistente con memoria de elefante y ejemplos para cualquier cosa.
La magia existe !!
Proceso
1. Pones en el buscador
«python delete all characters in a string after the last occurrence of a given char»
2. Primer resultado
«https://stackoverflow.com/questions/904746/how-to-remove-all-characters-after-a-specific-character-in-python
Y no estás atado a OpenAI, ni VC, ni a un lenguaje concreto…
# Supongamos separador ‘…’
text = ‘some string… this part will be removed.’
head, sep, tail = text.partition(‘…’)
Ya, pero si te fijas. el resultado que has obtenido no es correcto. Yo le pido eliminar todo lo que hay después de la última ocurrencia, no de la primera.
(Palomitas…) :P
Cuando me hablan de IA yo pienso en el neurótico HAL 9000, en Skynet exterminando a la humanidad o en Roy Batty, que habia visto cosas que jamás creeríamos; pero no en un algorimo que distingue fotos de perritos y gatitos. IA es el hype del momento, como hace unos años lo fue Big Data. Machine Learning me parece mas apropiado.
Lo que Google y otros están metiendo en sus aparatos es un chip para procesar mas rápido los modelos de deep learning que sus científicos de datos previamente han desarrollado. Las CPU normales no están diseñadas para realizar operaciones matriciales del tipo de las que se requieren en las redes neuronales; por eso se empezaron a utilizar las GPU de los ordenadores, que son muy buenas en ese tipo de operaciones.
Pero por el hecho de meter o no ese chip, el telefono no es mas inteligente ni aprende nada. Simplemente, es más rápido. La «inteligencia» sigue en los modelos que son propiedad de Google y en las personas que han desarrollado esos modelos