Hola, soy @samuelgil, Partner en JME Ventures.
Bienvenido a mi newsletter semanal, un lugar donde nos reunimos aquellos que creemos que la tecnología transforma juegos de suma cero en juegos de Suma Positiva.
El artículo de esta semana en Suma Positiva viene de la mano de Andrés Torrubia.
Mi red neuronal de inteligencia natural identifica a Andrés irremisiblemente con el concepto de inteligencia artificial.
No es ninguna sorpresa ya que Andrés:
Quedó el número uno en una competición a nivel mundial organizada por Alibaba por ver quién desarrollaba el mejor modelo de percepción para conducción autónoma. Puedes ver aquí una conferencia que dio explicando el enfoque que siguió.
Ha lanzado el Máster Ejecutivo en Inteligencia Artificial (del cual ya os he hablado alguna vez) en el que trata de ligar los mundos del software, la inteligencia artificial y los negocios.
Es el anfitrión del podcast Software 2.0, que gira en torno a todo lo relativo con la inteligencia artificial.
Además, tuve la suerte de haber sido coinversor con él en la compañía Reply.ai, que empleaba inteligencia artificial para automatizar tareas de atención al cliente y que acabó siendo adquirida por la americana Kustomer que a su vez fue adquirida por Facebook. Según me contaba Omar, uno de los fundadores, Andrés aportaba, además de su conocimiento técnico, su experiencia montando empresas tecnológicas y, sobre todo, su sentido común y ganas de ayudar. Tanto es así que se convirtió en esa primera persona a la que llamar cuando tienes algún problema o simplemente cuando necesitas desahogarte, algo a lo que aspiramos muchos inversores. Sospecho que Omar no es el único que tiene esta relación con Andrés.
Sin más, os dejo con el artículo de Andrés sobre lo que él ha llamado software 2.0.
Esta edición de Suma Positiva ha sido patrocinada por Google for Startups
La Bonilista, Dealflow y Suma Positiva se unen a Google for Startups para hablar del presente y futuro del ecosistema de startups.
Ya han pasado casi dos años desde que el mundo dio un giro. La forma de vivir, de trabajar y de hacer las cosas ha cambiado y, aunque poco a poco estamos volviendo a lo que antes conocíamos, muchos aspectos han venido para quedarse. ¿Qué han significado estos dos años para el ecosistema emprendedor? ¿Cuál es el futuro del trabajo ahora que hemos visto que el remoto funciona?
Muy pronto, nos uniremos a Google for Startups y a las comunidades de Dealflow y la Bonilista en un evento dinámico y con muchas oportunidades de networking, para debatir cómo han evolucionado las startups y las comunidades tecnológicas en este tiempo y cuáles son los desafíos y oportunidades que presenta 2022.
Casi dos años de eventos online significa mucho tiempo viéndonos a través de una pantalla, y ya tenemos ilusión de volver a interactuar en persona. Muy pronto, desvelaremos la fecha y localización de este meetup que esperamos signifique un nuevo comienzo.
Pre-regístrate ahora* para no perderte las novedades y te avisaremos cuando desvelemos la localización y fecha.
*Plazas limitadas que se asignarán en base a un criterio primero en llegar, primero en ser servido-
❤️ ¿Quieres patrocinar Suma Positiva? Toda la información aquí.
Software 2.0
por Andrés Torrubia
En el año 2011 Marc Andreessen anunciaba que el software estaba devorando el mundo. El software devoraba gradualmente el retail, el gigante Borders dejaba el terreno libre a Amazon, Kodak era sucedido por Instagram, y en casi todos los sectores se erigen empresas cuyo elemento diferenciador es el software.
Escribir software es un proceso relativamente lento que requiere la codificación expresa de todas las casuísticas que se puedan dar en cada situación.
Algo tan aparentemente sencillo como enviar una notificación en la aplicación de mensajería Slack tiene multitud de casos y subcasos que han de ser estudiados y programados explícitamente:
Podemos llamar a este tipo de software: software 1.0 -ojo que en definitiva es prácticamente la totalidad del software existente-.
A pesar de la complejidad que supone analizar e implementar toda la casuística para un problema concreto, las ventajas cuando se consigue son tan grandes que si la solución se puede automatizar mediante software 1.0, se acabará haciendo.
Vemos normal que industria tras industria sea transformada por software 1.0. Lo que quizás debería de sorprendernos es que esto haya sido posible a pesar de las limitaciones del software 1.0, e inevitablemente nos planteamos qué será posible cuando estas limitaciones sean superadas mediante la inteligencia artificial dando lugar al software 2.0.
¿Cuáles son las limitaciones del software 1.0?
El software 1.0 es ciego
Cuesta reconciliarse con la idea de que hasta aproximadamente el año 2012 los resultados que podrías esperar de un software de visión artificial ante una carretera podrían ser algo así:
Antes del 2012, la disciplina de visión por ordenador (computer vision) era prácticamente patrimonio exclusivo de proyectos de investigación. La irrupción de la inteligencia artificial moderna, basada en aprendizaje automático y redes neuronales profundas cambió ese panorama y para algunas tareas de visión los sistemas de inteligencia artificial no solo "ven", sino que "ven" mejor que nosotros.
El software 1.0 es analfabeto
El software 1.0 no entiende el lenguaje humano, ni sabe escribirlo. Desde los orígenes de la inteligencia artificial el tratamiento del lenguaje ha sido objeto de estudio, e incluso se marca como referencia para determinar si una inteligencia artificial puede exhibir comportamiento inteligencia indistinguible de una persona (el test de Turing).
Antes del 2019, casi cualquier aplicación que lidiara con lenguaje humano y exigiera un mínimo de comprensión semántica arrojaba resultados a menudo desastrosos. El lenguaje humano es muy difícil para un ordenador, contiene giros, ambigüedades, ironía, e incluso hay quien dice que exige sentido común para su dominio.
Sin embargo, un nuevo tipo de arquitectura basada en redes neuronales ha amplificado las capacidades de comprensión, traducción, clasificación e incluso generación de textos allanando el camino para que el software 2.0 sea capaz de leer y escribir (y que por extensión cambie la forma en la que interaccionamos con el software).
El software 1.0 es sordo
En el año 1997 salía al mercado la primera versión de Dragon NaturallySpeaking. Lo más normal es que no hayas sido usuario de software de dictado hasta hace pocos años, y es que hasta el año 2017 no existían. El sistema de dictado no era capaz de convertir en texto lo hablado por una persona con una precisión que nos invitara a usarlo regularmente (por debajo del 95% los errores son tan frecuentes, e.g. 1 palabra de cada 20, que terminas por no usarlo):
Al igual que pasó con la imagen, las redes neuronales han mejorado las prestaciones del software para tareas relacionadas con el audio como transcripción de textos o reconocimiento de sonidos, y aunque todavía no se puede considerar que los sistemas basados en redes neuronales superen consistentemente a los humanos en casi ningún ámbito, el software 2.0 empieza a oír.
El software 1.0 es rígido
El complicado diagrama que ilustra el ciclo de vida de las notificaciones en Slack especifica exactamente qué tiene que ocurrir en cada caso… siempre y cuándo esté descrito en ese diagrama.
Ante situaciones no capturadas por el diseño, datos anómalos o cambios de comportamiento del usuario, el software 1.0 no cambia su forma de actuar. Si queremos que un algoritmo se adapte, tenemos que re-escribirlo.
La rigidez del software 1.0 tiene dos aspectos: por un lado espera los sus datos de entrada de una forma muy específica (por ejemplo números con un determinado formato, un click de ratón en tal sitio, un tipo de evento determinado, etc.) siendo lo habitual que ni siquiera funcione si no se mantiene esas formas de entrada. El otro lado de la rigidez del software 1.0 consiste en que para cambiar su comportamiento hace falta alguien que lo reprograme, que suele ser costoso.
El software 2.0 mejora la rigidez en algunos aspectos. Imaginemos un sistema de reconocimiento de señales de tráfico para un coche autónomo que funciona mediante redes neuronales profundas (software 2.0). Si la DGT introduce una nueva señal de tráfico (por ejemplo relativa a coexistencia de la vía con patinetes), el sistema de reconocimiento de señales se puede adaptar relativamente rápido sin programar simplemente re-entrenando el sistema con imágenes de las nuevas señales. El software 2.0 sigue siendo más rígido que una persona (por sentido común deduciríamos lo que significa la señal del patinete sin necesidad de estudiar el nuevo código de circulación de la DGT con sus actualizaciones) pero es más flexible que el software 1.0 porque se puede adaptar "simplemente" con más datos.
Esta rigidez, que en el entorno más académico se puede asimilar a la baja capacidad de generalizar o proceder ante situaciones nuevas es todavía un hándicap para las técnicas modernas de inteligencia artificial. A pesar de que el software 2.0 se nutre de datos para funcionar, su funcionamiento con datos muy diferentes a los datos que ha visto sigue siendo un punto débil.
El software 1.0 está enclaustrado
El software 1.0 opera en el mundo digital, no en el mundo físico. Cuando un ordenador cobra capacidades físicas como el movimiento pasamos a llamarlo robot.
Hoy los robots están limitados tanto por las limitaciones del software como tal, como por las limitaciones de su hardware motor y los sensores que le ayudan a percibir su entorno.
La industria es uno de los mayores usuarios de robots, sin embargo casi todo el software industrial es rígido, sordo y casi siempre ciego; su ámbito de actuación está limitado a tareas repetitivas que -como el software 1.0- se tienen que programar de forma convencional.
De todas las limitaciones del software 1.0, dotar de movimiento y capacidades físicas al software en situaciones variadas es quizás una de las más complejas ya que quiere soluciones sólidas a los problemas de percepción y rigidez, como mínimo; por eso para usar robots actualmente tenemos que adaptar el entorno al robot, y no al revés (para evitar en vez de solucionar los problemas de percepción y rigidez).
El software 2.0 aspira a que en lugar de tener que adaptar el entorno al robot (como ocurre con software 1.0), el robot se pueda adaptar al entorno. A día de hoy el caso más emblemático de robótica es paradójicamente algo que mucha gente no asocia a un robot: la capacidad de conducción autónoma de los coches autónomos que aspiran a adaptarse a un entorno (las carreteras) pensadas por y para humanos mediante percepción (sensores de visión y/o lidar que nutren sistemas basados en redes neuronales) y mejor adaptabilidad conseguida con datos a escala posiblemente complementados con un tipo de aprendizaje que aprende de experiencias y no de datos (aprendizaje por refuerzo).
El nuevo software: la inteligencia artificial, software 2.0.
La inteligencia artificial es una disciplina con décadas de antigüedad. Sin embargo, cuando hoy hablamos de inteligencia artificial, en realidad es muy posible que estemos hablando de los resultados del aprendizaje automático y en concreto de redes neuronales profundas.
El software 2.0 sigue siendo software, hoy este software apoyado en aprendizaje automático y redes neuronales ya puede ver y escuchar, está empezando a leer y a escribir; y aunque aún sigue siendo rígido y enclaustrado va a permeabilizar muchas más áreas de la economía y la sociedad que el software 1.0.
El artículo "El software está devorando el mundo" del 2011 sigue vigente hoy, una década después. Casi toda la digitalización que hemos visto hasta ahora con software 1.0 se ha desarrollado con software ciego, sordo, analfabeto, enclaustrado y rígido.
Todos recordamos el tsunami que supuso la irrupción de internet y su desembarco en la economía a partir del año 2000. A veces fantaseo con la posibilidad de viajar al pasado y empezar todos esos proyectos basados en internet (con software 1.0) que lo han cambiado todo, pero salgo rápidamente del sueño sabiendo que la oportunidad que era internet en el año 2000 equivale hoy al software 2.0.
Gracias por leer Suma Positiva.
Si te ha gustado esta edición, no te olvides de dar al ❤️ y de compartirla por email o redes sociales con otras personas a las que les pueda gustar.
Si quieres patrocinar una próxima edición, aquí tienes toda la información.
Y la precisión del SW 1.0?
Lo consigue también el 2.0 o lo sustituye por una alta probabilidad?
En muchos contextos esta 100% precisión es imprescindible.
Y me pregunto: el SW 2.0 puede producir SW 100% preciso automáticamente?