Capítulo 1. Breve introducción a la IA de perímetro

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

¡Bienvenido a bordo! En este capítulo haremos un recorrido exhaustivo por el mundo de la IA de perímetro. Definiremos los términos clave, aprenderemos qué diferencia a la "IA de perímetro" de otras IA y exploraremos algunos de los casos de uso más importantes. Nuestro objetivo en este capítulo es responder a estas dos importantes preguntas:

  • ¿Qué es la IA de perímetro?

  • ¿Por qué iba a necesitarlo?

Definición de términos clave

Cada área de la tecnología tiene su propia taxonomía de palabras de moda, y la IA de perímetro no es diferente. De hecho, el término IA de perímetro es la unión de dos palabras de moda, fusionadas en un poderoso término. A menudo se oye junto a sus hermanos, aprendizaje automático integrado y TinyML.

Antes de seguir adelante, será mejor que dediquemos algún tiempo a definir estos términos y a comprender lo que significan. Puesto que estamos tratando con palabras de moda compuestas, tratemos primero las partes más fundamentales.

Embedded

¿Qué es "incrustado"? Dependiendo de tus antecedentes, éste puede ser el más familiar de todos los términos que intentamos describir. Los sistemas embebidos son los ordenadores que controlan la electrónica de todo tipo de dispositivos físicos, desde los auriculares Bluetooth hasta la unidad de control del motor de un coche moderno. El software embebido es el software que se ejecuta en ellos. La Figura 1-1 muestra algunos lugares donde se pueden encontrar sistemas embebidos.

An illustration with examples of various embedded systems: audio-visual equipment, manufacturing equipment, gaming consoles, motion sensors, domestic appliances, medical devices, telecommunication equipment, and cars and vehicles.
Figura 1-1. Los sistemas empotrados están presentes en todas las partes de nuestro mundo, incluidos el hogar y el lugar de trabajo.

Los sistemas integrados pueden ser diminutos y sencillos, como el microcontrolador que controla un reloj digital, o grandes y sofisticados, como el ordenador Linux integrado en un televisor inteligente. A diferencia de los ordenadores de uso general, como un portátil o un smartphone, los sistemas embebidos suelen estar pensados para realizar una tarea específica y dedicada.

Dado que alimentan gran parte de nuestra tecnología moderna, los sistemas embebidos están extraordinariamente extendidos. De hecho, en el año 2020 se distribuyeron más de 28.000 millones de microcontroladores1-sólo un tipo de procesador integrado. Están en nuestras casas, nuestros vehículos, nuestras fábricas y las calles de nuestras ciudades. Es probable que nunca estés a más de unos metros de un sistema integrado.

Es habitual que los sistemas embebidos reflejen las limitaciones de los entornos en los que se implementan. Por ejemplo, muchos sistemas embebidos deben funcionar con batería, por lo que se diseñan pensando en la eficiencia energética, quizá con memoria limitada o una velocidad de reloj extremadamente lenta.

Programar sistemas embebidos es el arte de navegar por estas limitaciones, escribiendo software que realice la tarea requerida al tiempo que aprovecha al máximo los recursos limitados. Esto puede ser increíblemente difícil. Los ingenieros de sistemas empotrados son los héroes anónimos del mundo moderno. Si eres uno de ellos, ¡gracias por tu duro trabajo!

El perímetro (y el Internet de los objetos)

La historia de las redes informáticas ha sido un gigantesco tira y afloja. En los primeros sistemas -ordenadores individuales del tamaño de una habitación- la informática estaba inherentemente centralizada. Había una máquina y esa máquina hacía todo el trabajo.

Con el tiempo, sin embargo, los ordenadores se conectaron a terminales (como se muestra en la Figura 1-2) que asumieron algunas de sus responsabilidades. La mayor parte de la computación se realizaba en el ordenador central, pero algunas tareas sencillas -como averiguar cómo representar letras en una pantalla de tubo de rayos catódicos- las realizaba la electrónica del terminal.

An illustration of a mainframe computer with a cathode-ray tube terminal.
Figura 1-2. Los ordenadores centrales realizaban la mayor parte de los cálculos, mientras que los terminales sencillos procesaban las entradas, imprimían los resultados y generaban gráficos básicos.

Con el tiempo, los terminales se hicieron cada vez más sofisticados, asumiendo cada vez más funciones que antes eran tarea del ordenador central. ¡El tira y afloja había comenzado! Una vez inventado el ordenador personal, los pequeños ordenadores podían hacer un trabajo útil sin ni siquiera estar conectados a otra máquina. Se había tirado de la cuerda hasta el extremo opuesto: desde el centro de la red hasta el perímetro.

El crecimiento de Internet, junto con las aplicaciones y servicios web, ha hecho posible hacer cosas realmente geniales, desde la transmisión de vídeo a las redes sociales. Todo ello depende de que los ordenadores estén conectados a servidores, que gradualmente han ido asumiendo cada vez más trabajo. En la última década, la mayor parte de nuestra informática ha vuelto a centralizarse, esta vez en la "nube". Cuando Internet se cae, ¡nuestros ordenadores modernos no sirven de mucho!

Pero los ordenadores que utilizamos para trabajar y jugar no son nuestros únicos dispositivos conectados. De hecho, se calcula que en 2021 habrá 12.200 millones de objetos variados conectados a Internet,2 creando y consumiendo datos. Esta vasta red de objetos se denomina Internet de las Cosas (IoT), e incluye todo lo que se te ocurra: sensores industriales, frigoríficos inteligentes, cámaras de seguridad conectadas a Internet, automóviles personales, contenedores de transporte, rastreadores de fitness y máquinas de café.

Consejo

El primer dispositivo IoT de la historia se creó en 1982. Unos estudiantes de la Universidad Carnegie Mellon conectaron una máquina expendedora de Coca-Cola a ARPANET -unprecursor de Internet- para comprobar si estaba vacía sin salir del laboratorio.

Todos estos dispositivos son sistemas embebidos que contienen microprocesadores que ejecutan software escrito por ingenieros de software embebido. Como están en el perímetro de la red, también podemos llamarlos dispositivos de perímetro. Realizar cálculos en dispositivos de perímetro se conoce como informática de perímetro.

El perímetro no es un único lugar; es más bien una amplia región. Los dispositivos situados en el perímetro de la red pueden comunicarse entre sí y también con servidores remotos. Incluso hay servidores que viven en el perímetro de la red. La Figura 1-3 muestra cómo es esto.

A diagram showing the relationship between the cloud and various devices on the edge.
Figura 1-3. Los dispositivos del perímetro de la red pueden comunicarse con la nube, con la infraestructura del perímetro y entre sí; las aplicaciones del perímetro suelen abarcar varias ubicaciones dentro de este mapa (por ejemplo, los datos podrían enviarse desde un dispositivo IoT equipado con sensores a un servidor local del perímetro para su procesamiento).

Estar en el perímetro de la red tiene algunas ventajas importantes. Para empezar, ¡es de donde proceden todos los datos! Los dispositivos de perímetro son nuestro enlace entre Internet y el mundo físico. Pueden utilizar sensores para recoger datos basados en lo que ocurre a su alrededor, ya sea la frecuencia cardiaca de un corredor o la temperatura de una bebida fría. Pueden tomar decisiones sobre esos datos localmente y enviarlos a otras ubicaciones. Los dispositivos de perímetro tienen acceso a datos que nadie más tiene.

¿Son los teléfonos móviles y las tabletas dispositivos de perímetro?

Como ordenadores portátiles que viven en el perímetro de la red, los teléfonos móviles, las tabletas e incluso los ordenadores personales son dispositivos de perímetro. Los teléfonos móviles fueron una de las primeras plataformas en incorporar la IA de perímetro: los teléfonos móviles modernos la utilizan para muchos fines, desde la activación por voz hasta la fotografía inteligente.3

Volveremos sobre los dispositivos de perímetro más adelante (ya que son el tema central de este libro). Hasta entonces, sigamos definiendo algunos términos.

Inteligencia Artificial

¡Uf! Esto es muy importante. La inteligencia artificial (IA) es una idea muy grande, y es terriblemente difícil de definir. Desde la noche de los tiempos, los humanos hemos soñado con crear entidades inteligentes que nos ayuden en nuestra lucha por sobrevivir. En el mundo moderno soñamos con compinches robóticos que nos ayuden en nuestras aventuras: mentes sintéticas hiperinteligentes que resolverán todos nuestros problemas, y productos empresariales milagrosos que optimizarán nuestros procesos empresariales y nos garantizarán un ascenso rápido.

Pero para definir la IA, tenemos que definir la inteligencia, lo que resulta especialmente difícil. ¿Qué significa ser inteligente? ¿Significa que podemos hablar o pensar? Está claro que no, y si no que se lo pregunten al moho del fango (ver Figura 1-4), un organismo simple sin sistema nervioso central capaz de resolver un laberinto.

A photograph of a slime mold in a petri dish.
Figura 1-4. Los mohos de baba son organismos unicelulares que, según se ha documentado, son capaces de resolver laberintos para localizar comida, mediante un proceso de computación biológica, como se muestra en "Slime Mould Solves Maze in One Pass Assisted by Gradient of Chemo-Attractants" ( Andrew Adamatzky, arXiv, 2011).

Como éste no es un libro de filosofía, no tenemos tiempo para explorar a fondo el tema de la inteligencia. En su lugar, queremos sugerir una definición rápida y sucia:

Inteligencia significa saber lo que hay que hacer en el momento adecuado.

Probablemente esto no resista un debate académico, pero nos parece bien. Nos proporciona una herramienta para explorar el tema. He aquí algunas tareas que requieren inteligencia, según nuestra definición:

  • Hacer una foto cuando hay un animal en el encuadre

  • Aplicar los frenos cuando un conductor está a punto de chocar

  • Informar a un operario cuando una máquina suena averiada

  • Responder a una pregunta con información relevante

  • Crear un acompañamiento para una actuación musical

  • Abrir un grifo cuando alguien quiere lavarse las manos

Cada uno de estos problemas implica tanto una acción (abrir un grifo) como una condición previa (cuando alguien quiere lavarse las manos). Dentro de su propio contexto, la mayoría de estos problemas parecen relativamente sencillos, pero, como sabe cualquiera que haya utilizado los aseos de un aeropuerto, no siempre son fáciles de resolver.

Para la mayoría de los humanos es bastante fácil realizar la mayoría de estas tareas. Somos criaturas muy capaces con inteligencia general. Pero también es posible que sistemas más pequeños con una inteligencia más limitada realicen estas tareas. Por ejemplo, nuestro moho de limo: puede que no entienda por qué está resolviendo un laberinto, pero sin duda es capaz de hacerlo.

Dicho esto, es poco probable que el moho del limo sepa también el momento adecuado para abrir un grifo. En general, es mucho más fácil realizar una única tarea de alcance limitado (como abrir un grifo) que ser capaz de realizar un conjunto diverso de tareas totalmente distintas.

Crear una inteligencia general artificial, equivalente a un ser humano, sería superdifícil, como han demostrado décadas de intentos infructuosos. Pero crear algo que funcione a nivel de moho de baba puede ser mucho más fácil. Por ejemplo, evitar que un conductor se estrelle es, en teoría, una tarea bastante sencilla. Si tienes acceso tanto a su velocidad actual como a su distancia a un muro, puedes hacerlo con una simplelógica condicional:

current_speed = 10 # In meters per second
distance_from_wall = 50 # In meters
seconds_to_stop = 3 # The minimum time in seconds required to stop the car
safety_buffer = 1 # The safety margin in seconds before hitting the brakes

# Calculate how long we’ve got before we hit the wall
seconds_until_crash = distance_from_wall / current_speed

# Make sure we apply the brakes if we’re likely to crash soon
if seconds_until_crash < seconds_to_stop + safety_buffer:
  applyBrakes()

Evidentemente, este ejemplo simplificado no tiene en cuenta muchos factores. Pero con un poco más de complejidad, un coche moderno con un sistema de asistencia al conductor basado en esta lógica condicional podría comercializarse como IA.4

Hay dos puntos que intentamos señalar aquí: el primero es que la inteligencia es bastante difícil de definir, y muchos problemas bastante sencillos requieren cierto grado de inteligencia para resolverse. La segunda es que los programas que implementan esta inteligencia no tienen por qué ser especialmente complejos. A veces, basta con un molde de limo.

Entonces, ¿qué es la IA? En términos sencillos, es un sistema artificial que toma decisiones inteligentes basándose en algún tipo de información. Y una forma de crear IA es con el aprendizaje automático.

Aprendizaje automático

En el fondo, el aprendizaje automático (AM) es un concepto bastante simple. Es una forma dedescubrir patrones en el funcionamiento del mundo, pero de forma automática, haciendopasar los datospor algoritmos.

A menudo oímos que la IA y el aprendizaje automático se utilizan indistintamente, como si fueran la misma cosa, pero no es así. La IA no siempre implica aprendizaje automático, y el aprendizaje automático no siempre implica IA. Dicho esto, ¡se complementan muy bien!

La mejor forma de presentar el aprendizaje automático es mediante un ejemplo. Imagina que estás construyendo un rastreador de fitness: es una pequeña pulsera que puede llevar un deportista. Contiene un acelerómetro, que te dice cuánta aceleración se está produciendo en cada eje (x, y, y z) en un momento dado -como se muestra en la Figura 1-5.

A chart showing three axes of accelerometer data.
Figura 1-5. Salida de un acelerómetro de tres ejes muestreada a 6,25 Hz

Para ayudar a tus atletas, debes llevar un registro automático de las actividades que realizan. Por ejemplo, un atleta puede pasar una hora corriendo el lunes y luego una hora nadando el martes.

Dado que nuestros movimientos al nadar son muy distintos de los que hacemos al correr, teorizas que podrías diferenciar estas actividades basándote en la salida del acelerómetro de la pulsera. Para recoger algunos datos, das prototipos de muñequeras a una docena de atletas y les pides que realicen actividades específicas -nadar, correr o no hacer nada- mientras las muñequeras registran datos (ver Figura 1-6).

Ahora que tienes un conjunto de datos, quieres intentar determinar algunas reglas que te ayuden a entender si un atleta concreto está nadando, corriendo o simplemente relajándose. Una forma de hacerlo es a mano: analizando e inspeccionando los datos para ver si algo te llama la atención. Tal vez observes que la carrera implica una aceleración más rápida en un eje concreto que la natación. Puedes utilizar esta información para escribir alguna lógica condicional que determine la actividad en función de la lectura de ese eje.

Analizar los datos a mano puede ser complicado, y generalmente requiere un conocimiento experto sobre el dominio (como los movimientos humanos durante el deporte). Una alternativa al análisis manual podría ser utilizar el aprendizaje automático.

A chart showing three axes of accelerometer data.
Figura 1-6. La salida de un acelerómetro de tres ejes que muestra una actividad diferente a la de la Figura 1-5; cada actividad puede caracterizarse por un patrón de cambios de aceleración en cada eje a lo largo del tiempo

Con un enfoque ML, introduces todos los datos de tus atletas en un algoritmo de entrenamiento. Cuando se le proporcionan los datos del acelerómetro y la información sobre la actividad que está realizando el atleta, el algoritmo hace todo lo posible por aprender una correspondencia entre ambos. Esta correspondencia se denomina modelo.

Con suerte, si el entrenamiento ha sido satisfactorio, tu nuevo modelo de aprendizaje automático puede tomar una entrada nueva, nunca vista antes -una muestra de datos del acelerómetro de una ventana temporal concreta- y decirte qué actividad está realizando un atleta. Este proceso se conoce como inferencia.

Esta capacidad de comprender nuevas entradas se denomina generalización. Durante el entrenamiento, el modelo ha aprendido las características que distinguen la carrera de la natación. A continuación, puedes utilizar el modelo en tu rastreador de fitness para comprender datos nuevos, del mismo modo que podrías utilizar la lógica condicional que hemos mencionado antes.

Hay un montón de algoritmos de aprendizaje automático diferentes, cada uno con sus puntos fuertes y sus inconvenientes, y el aprendizaje automático no siempre es la mejor herramienta para el trabajo. Más adelante en este capítulo hablaremos de los escenarios en los que el aprendizaje automático es más útil. Pero una buena regla general es que el aprendizaje automático realmente brilla cuando nuestros datos son realmente complejos.

IA de perímetro

Enhorabuena, ¡hemos llegado a nuestra primera palabra de moda compuesta! Edge AI es, como era de esperar, la combinación de dispositivos de perímetro e inteligencia artificial.

Como hemos dicho antes, los dispositivos de perímetro son los sistemas integrados que proporcionan el enlace entre nuestros mundos digital y físico. Suelen incorporar sensores que les proporcionan información sobre el entorno al que están próximos. Esto les da acceso a una metafórica manguera de fuego de datos de alta frecuencia.

A menudo se nos dice que los datos son la savia de nuestra economía moderna, que fluyen por toda nuestra infraestructura y permiten el funcionamiento de las organizaciones. Es cierto, pero no todos los datos son iguales. Los datos obtenidos de los sensores suelen tener un volumen muy elevado, pero un contenido informativo relativamente bajo.

Imagina el sensor de pulsera basado en un acelerómetro que hemos descrito en el apartado anterior. El acelerómetro es capaz de realizar una lectura muchos cientos de veces por segundo. Cada lectura individual nos dice muy poco sobre la actividad que está teniendo lugar en ese momento: sólo en conjunto, a lo largo de miles de lecturas, podemos empezar a comprender lo que está ocurriendo.

Normalmente, los dispositivos IoT se han visto como simples nodos que recogen datos de sensores y luego los transmiten a una ubicación central para su procesamiento. El problema de este enfoque es que enviar volúmenes tan grandes de información de escaso valor es extraordinariamente costoso. No sólo es cara la conectividad, sino que la transmisión de datos consume una tonelada de energía, lo que supone un gran problema para los dispositivos IoT alimentados por batería.

Debido a este problema, la gran mayoría de los datos recogidos por los sensores IoT suelen desecharse. Estamos recogiendo un montón de datos de sensores, pero no somos capaces de hacer nada con ellos.

La IA de perímetro es la solución a este problema. En lugar de tener que enviar los datos a algún lugar lejano para su procesamiento, ¿qué pasa si lo hacemos directamente en el dispositivo, donde se están generando los datos? Ahora, en lugar de depender de un servidor central, podemos tomar decisiones localmente, sin necesidad de conectividad.

Y si aún así queremos enviar información a los servidores ascendentes, o a la nube, podemos transmitir sólo la información importante en lugar de tener que enviar todas y cada una de las lecturas de los sensores. Eso debería ahorrar muchos costes y energía.

Hay muchas formas distintas de implementar la inteligencia en el perímetro. La Figura 1-7 muestra el continuo desde la IA en la nube hasta la inteligencia totalmente en el dispositivo. Como veremos más adelante en este libro, la IA en el perímetro puede extenderse por arquitecturas informáticas distribuidas completas, incluyendo algunos nodos en el mismo perímetro y otros en pasarelas locales o en la nube.

Como hemos visto, la inteligencia artificial puede significar muchas cosas diferentes. Puede ser super sencilla: un toque de perspicacia humana codificada en un poco de lógica condicional simple. También puede ser súper sofisticada, basada en los últimos avances en aprendizaje profundo.

La IA de perímetro es exactamente lo mismo. En su forma más básica, la IA de perímetro consiste en tomar algunas decisiones en el perímetro de la red, cerca de donde se obtienen los datos. Pero también puede aprovechar algunas cosas realmente geniales. ¡Y eso nos lleva muy bien a la siguiente sección!

A graphic showing the continuum between cloud intelligence and fully on-device intelligence.
Figura 1-7. El continuo entre la inteligencia en la nube y la inteligencia totalmente en el dispositivo; estos seis niveles fueron descritos por "Edge Intelligence: Paving the Last Mile of Artificial Intelligence with Edge Computing" (Zhou et. al., Actas del IEEE, 2019)

Aprendizaje automático integrado y aprendizaje automático diminuto

El ML integrado es el arte y la ciencia de ejecutar modelos de aprendizaje automático en sistemas integrados. El aprendizaje automático diminuto, o TinyML,5 es el concepto de hacer esto en el hardware integrado más limitado disponible: piensa en microcontroladores, procesadores de señales digitales y pequeñas matrices de puertas programables en campo (FPGA).

Cuando hablamos de ML embebido, normalmente nos referimos a la inferencia del aprendizaje automático: el proceso de tomar una entrada y llegar a una predicción (como adivinar una actividad física basándose en los datos del acelerómetro). La parte de entrenamiento suele seguir realizándose en un ordenador convencional.

Los sistemas integrados suelen tener una memoria limitada. Esto plantea un reto para la ejecución de muchos tipos de modelos de aprendizaje automático, que a menudo tienen elevados requisitos tanto de memoria de sólo lectura (ROM) (para almacenar el modelo) como de RAM (para manejar los resultados intermedios generados durante la inferencia).

A menudo también están limitados en cuanto a potencia de cálculo. Dado que muchos tipos de modelos de aprendizaje automático son bastante intensivos desde el punto de vista computacional, esto también puede plantear problemas.

Por suerte, en los últimos años se han producido muchos avances en la optimización que han hecho posible ejecutar modelos de aprendizaje automático bastante grandes y sofisticados en algunos sistemas embebidos muy pequeños y de bajo consumo. Conoceremos algunas de esas técnicas en los próximos capítulos.

El aprendizaje automático integrado se suele implementar junto a su fiel compañero, el procesamiento digital de señales. Antes de seguir adelante, definamos también ese término.

Procesamiento digital de señales

En el mundo embebido trabajamos a menudo con las representaciones digitales de las señales. Por ejemplo, un acelerómetro nos da un flujo de valores digitales que corresponden a la aceleración en tres ejes, y un micrófono digital nos da un flujo de valores que corresponden a los niveles de sonido en un momento determinado.

El procesamiento digital de señales (DSP) es la práctica de utilizar algoritmos para manipular estos flujos de datos. Cuando se combina con el aprendizaje automático integrado, a menudo utilizamos el DSP para modificar las señales antes de introducirlas en los modelos de aprendizaje automático. Hay varias razones por las que podemos querer hacer esto:

  • Limpiar una señal ruidosa

  • Eliminación de picos o valores atípicos que puedan deberse a problemas de hardware

  • Extraer la información más importante de una señal

  • Transformar los datos del dominio del tiempo al dominio de la frecuencia6

El DSP es tan común en los sistemas embebidos que a menudo los chips embebidos tienen implementaciones de hardware superrápidas de algoritmos DSP comunes, por si los necesitas.

Ahora compartimos una sólida comprensión de los términos más importantes de este libro. La Figura 1-8 muestra cómo encajan en su contexto.

A diagram showing the relationships between AI, edge computing, ML, edge AI, embedded ML, and tinyML.
Figura 1-8. Este diagrama muestra algunos de los conceptos más importantes de la IA de perímetro en contexto unos con otros, desde el más general en la parte superior al más específico en la parte inferior.

En la siguiente sección, profundizaremos en el tema de la IA de perímetro y empezaremos a desglosar lo que la convierte en una tecnología tan importante.

¿Por qué necesitamos IA en el perímetro?

Imagina que esta mañana has salido a correr por el Parque Nacional Joshua Tree, una vasta extensión de naturaleza salvaje en el desierto del sur de California. Has escuchado música todo el tiempo, transmitida a tu teléfono a través de una conexión móvil ininterrumpida. En un lugar especialmente bello, en lo profundo de las montañas, hiciste una foto y se la enviaste a tu compañero. Unos minutos después recibiste su respuesta.

En un mundo en el que incluso los lugares más remotos tienen algún tipo de conexión de datos, ¿por qué necesitamos IA de perímetro? ¿Qué sentido tienen los dispositivos diminutos que pueden tomar sus propias decisiones si los robustos servidores de Internet están sólo a una ráfaga de radio de distancia? Con toda esta complicación añadida, ¿no nos estamos complicando más la vida?

Como habrás adivinado, ¡la respuesta es no! La IA de perímetro resuelve algunos problemas muy reales que, de otro modo, se interpondrían en el camino de hacer que nuestra tecnología funcione mejor para los seres humanos. Nuestro marco favorito para explicar las ventajas de la IA de perímetro es un mnemotécnico que suena grosero: BLERP.

Para comprender las ventajas de la IA de perímetro, basta con BLERP

BLERP? Jeff Bier, fundador de la Edge AI and Vision Alliance, creó esta excelente herramienta para expresar las ventajas de la IA de perímetro. Consta decinco palabras:

  • Ancho de banda

  • Latencia

  • Economía

  • Fiabilidad

  • Privacidad

Armado con BLERP, cualquiera puede recordar y explicar fácilmente las ventajas de la IA de perímetro. También es útil como filtro para ayudar a decidir si la IA de perímetro es adecuada para una aplicación concreta.

Vamos a repasarlo, palabra por palabra.

Ancho de banda

Los dispositivos IoT suelen capturar más datos de los que tienen ancho de banda para transmitir. Esto significa que la gran mayoría de los datos de los sensores que capturan ni siquiera se utilizan: ¡se tiran a la basura! Imagina un sensor inteligente que monitorea la vibración de una máquina industrial para determinar si funciona correctamente. Podría utilizar un sencillo algoritmo de umbralización para entender cuándo la máquina vibra demasiado o no lo suficiente, y luego comunicar esta información a través de una conexión de radio de bajo ancho de banda.

Esto ya suena útil. Pero, ¿y si pudieras identificar patrones en los datos que te dieran una pista de que la máquina podría estar a punto de fallar? Si tuviéramos mucho ancho de banda, podríamos enviar los datos de los sensores a la nube y hacer algún tipo de análisis para saber si un fallo es inminente.

En muchos casos, sin embargo, no hay suficiente ancho de banda o presupuesto energético disponible para enviar un flujo constante de datos a la nube. Eso significa que nos veremos obligados a descartar la mayoría de los datos de nuestros sensores, aunque contengan señales útiles.

Las limitaciones de ancho de banda son muy comunes. No se trata sólo de la conectividad disponible, sino también de la energía. La comunicación en red suele ser la tarea que más energía consume en un sistema integrado, lo que significa que la duración de la batería suele ser la función limitadora. Algunos modelos de aprendizaje automático pueden ser bastante intensivos en computación, pero aun así suelen consumir menos energía que transmitiendo una señal.

Aquí es donde entra en juego la IA de perímetro. ¿Y si pudiéramos ejecutar el análisis de datos en el propio dispositivo IoT, sin tener que cargar los datos? En ese caso, si el análisis mostrara que la máquina está a punto de fallar, podríamos enviar una notificación utilizando nuestro limitado ancho de banda. Esto es mucho más factible que intentar transmitir todos los datos.

Por supuesto, ¡también es bastante habitual que los dispositivos no tengan ninguna conexión de red! En este caso, la IA de perímetro permite toda una galaxia de casos de uso que antes eran imposibles. Sabremos más sobre esto más adelante.

Latencia

Transmitir datos lleva tiempo. Aunque tengas mucho ancho de banda disponible, un viaje de ida y vuelta desde un dispositivo a un servidor de Internet puede tardar decenas o cientos de milisegundos. En algunos casos, la latencia puede medirse en minutos, horas o días: piensa en las comunicaciones por satélite o en la mensajería de almacenamiento y reenvío.

Algunas aplicaciones exigen una respuesta más rápida. Por ejemplo, puede resultar poco práctico que un vehículo en movimiento sea controlado por un servidor remoto. Controlar un vehículo mientras navega por un entorno requiere una retroalimentación constante entre los ajustes de la dirección y la posición del vehículo. Con una latencia significativa, ¡la dirección se convierte en un gran reto!

La IA de perímetro resuelve este problema eliminando por completo el tiempo de ida y vuelta. Un gran ejemplo de esto es un coche autoconducido. Los sistemas de IA del coche funcionan con ordenadores de a bordo. Esto le permite reaccionar casi instantáneamente a condiciones cambiantes, como que el conductor de delante frene de golpe.

Uno de los ejemplos más convincentes de la IA de perímetro como arma contra la latencia es la exploración espacial robótica. Marte está tan lejos de la Tierra que una transmisión de radio tarda minutos en llegar a la velocidad de la luz. Peor aún, la comunicación directa es a menudo imposible debido a la disposición de los planetas. Esto hace que controlar un vehículo explorador de Marte sea muy difícil. La NASA resolvió este problema utilizando IA de perímetro: sus robots utilizan sofisticados sistemas de inteligencia artificial para planificar sus tareas, navegar por su entorno y buscar vida en la superficie de otro mundo. Si tienes algo de tiempo libre, ¡incluso puedes ayudar a los futuros exploradores de Marte a navegar etiquetando datos para mejorar sus algoritmos!

Economía

La conectividad cuesta mucho dinero. Los productos conectados son más caros de usar, y la infraestructura de la que dependen cuesta dinero a sus fabricantes. Cuanto mayor es elancho de banda necesario, mayor es el coste. Las cosas se ponen especialmente mal para los dispositivos implementados en lugares remotos que requieren conectividad de largo alcance vía satélite.

Al procesar los datos en el dispositivo, los sistemas de IA de perímetro reducen o evitan los costes de transmitir los datos por una red y procesarlos en la nube. Esto puede desbloquear muchos casos de uso que antes habrían estado fuera de nuestro alcance.

En algunos casos, la única "conectividad" que funciona es enviar a un ser humano a realizar alguna tarea manual. Por ejemplo, es habitual que los investigadores en conservación utilicen cámaras trampa para monitorear la vida salvaje en lugares remotos. Estos dispositivos hacen fotos cuando detectan movimiento y las almacenan en una tarjeta SD. Es demasiado caro subir todas las fotos a través de Internet por satélite, así que los investigadores tienen que desplazarse hasta sus cámaras trampa para recoger las imágenes y vaciar el almacenamiento.

Como las cámaras trampa tradicionales se activan con el movimiento, toman muchas fotos innecesarias: pueden ser activadas por ramas que se mueven con el viento, excursionistas que pasan por delante y criaturas que no interesan a los investigadores. Pero algunos equipos utilizan ahora la IA de perímetro para identificar sólo los animales que les interesan, de modo que pueden descartar las demás imágenes. Esto significa que no tienen que volar al medio de la nada para cambiar la tarjeta SD tan a menudo.

En otros casos, el coste de la conectividad puede no ser una preocupación. Sin embargo, para los productos que dependen de la IA del lado del servidor, el coste de mantener la infraestructura del lado del servidor puede complicar tu modelo de negocio. Si tienes que dar soporte a una flota de dispositivos que necesitan "llamar a casa" para tomar decisiones, puede que te veas obligado a adoptar un modelo de suscripción. También tendrás que comprometerte a mantener los servidores durante un largo periodo de tiempo, con el riesgo de que tus clientes se encuentren con dispositivos "brickeados" si decides desconectarlos.7

No subestimes el impacto de la economía. Al reducir el coste de la asistencia a largo plazo, la IA de perímetro permite un gran número de casos de uso que de otro modo serían inviables.

Fiabilidad

Los sistemas controlados por IA en el dispositivo son potencialmente más fiables que los que dependen de una conexión a la nube. Cuando añades conectividad inalámbrica a un dispositivo, estás añadiendo una vasta y abrumadoramente compleja red de dependencias, desde las tecnologías de comunicaciones de la capa de enlace hasta los servidores de Internet que pueden ejecutar tu aplicación.

Muchas piezas de este rompecabezas están fuera de tu control, por lo que, aunque tomes todas las decisiones correctas, seguirás expuesto al riesgo de fiabilidad asociado a las tecnologías que componen tu pila informática distribuida.

Para algunas aplicaciones, esto puede ser tolerable. Si estás construyendo un altavoz inteligente que responde a órdenes de voz, tus usuarios podrían entender que deje de reconocer sus órdenes cuando se caiga la conexión a Internet de su casa. Dicho esto, ¡puede seguir siendo una experiencia frustrante!

Pero en otros casos, la seguridad es primordial. Imagina un sistema basado en IA que monitorea una máquina industrial para asegurarse de que funciona dentro de unos parámetros seguros. Si deja de funcionar cuando se cae Internet, podría poner en peligro vidas humanas. Sería mucho más seguro si la IA se basara totalmente en el dispositivo, de modo que siguiera funcionando en caso de problema de conectividad.

La fiabilidad suele ser un compromiso, y el nivel de fiabilidad requerido varía en función del caso de uso. La IA de perímetro puede ser una poderosa herramienta para mejorar la fiabilidad de tus productos. Aunque la IA es inherentemente compleja, representa un tipo diferente de complejidad que la conectividad global, y su riesgo es más fácil de gestionar en muchas situaciones.

Privacidad

En los últimos años, muchas personas se han resignado a regañadientes a un compromiso entre comodidad y privacidad. La teoría es que si queremos que nuestros productos tecnológicos sean más inteligentes y útiles, tenemos que renunciar a nuestros datos. Como tradicionalmente los productos inteligentes toman decisiones en servidores remotos, muy a menudo acaban enviando flujos de datos de sensores a la nube.

Esto puede estar bien para algunas aplicaciones: por ejemplo, puede que no nos preocupe que un termostato IoT comunique datos de temperatura a un servidor remoto.8 Pero para otras aplicaciones, la privacidad es una gran preocupación. Por ejemplo, mucha gente dudaría en instalar una cámara de seguridad conectada a Internet dentro de su casa. Puede proporcionar cierta seguridad tranquilizadora, pero la contrapartida -que se transmita a Internet un vídeo y audio en directo de sus espacios más privados- no parece merecer la pena. Aunque el fabricante de la cámara sea totalmente fiable, siempre existe la posibilidad de que los datos queden expuestos a través de vulnerabilidades de seguridad.9

La IA de perímetro ofrece una alternativa. En lugar de transmitir vídeo y audio en directo a un servidor remoto, una cámara de seguridad podría utilizar cierta inteligencia integrada para identificar la presencia de un intruso cuando los propietarios están fuera trabajando. Entonces podría alertar a los propietarios de forma adecuada. Cuando los datos se procesan en un sistema integrado y nunca se transmiten a la nube, se protege la privacidad del usuario y hay menos posibilidades de abuso.

La capacidad de la IA de perímetro para permitir la privacidad desbloquea un gran número de casos de uso apasionantes. Es un factor especialmente importante para aplicaciones en seguridad, industria, guarderías, educación y sanidad. De hecho, dado que algunos de estos campos implican normativas estrictas (o expectativas de los clientes) en torno a la seguridad de los datos, el producto con la mejor privacidad es el que evita por completo la recopilación de datos.

Utilizar BLERP

Como empezaremos a ver en el Capítulo 2, el BLERP puede ser una herramienta útil para comprender si un problema concreto es adecuado para la IA de perímetro. No tiene por qué haber un argumento sólido para cada palabra del acrónimo: incluso cumplir sólo uno o dos criterios, si son lo suficientemente convincentes, puede dar mérito a un caso de uso.

IA de perímetro para el bien

Las ventajas únicas de la IA de perímetro proporcionan un nuevo conjunto de herramientas que pueden aplicarse a algunos de los mayores problemas de nuestro mundo. Los tecnólogos de áreas como la conservación, la sanidad y la educación ya están utilizando la IA de perímetro para lograr un gran impacto. He aquí algunos ejemplos que nos entusiasman personalmente:

Las propiedades de la IA de perímetro la hacen especialmente adecuada para su aplicación a problemas globales. Como la conectividad fiable es cara y no está disponible universalmente, muchas tecnologías inteligentes de la generación actual sólo benefician a las personas que viven en regiones industrializadas, ricas y bien conectadas. Al eliminar la necesidad de una conexión fiable a Internet, la IA de perímetro aumenta el acceso a tecnologías que pueden beneficiar a las personas yal planeta.

Cuando el aprendizaje automático forma parte de la mezcla, la IA de perímetro suele implicar modelos pequeños, que a menudo son rápidos y baratos de entrenar. Como tampoco hay necesidad de mantener una costosa infraestructura de servidores backend, la IA de perímetro hace posible que los desarrolladores con recursos limitados construyan soluciones de vanguardia para los mercados locales que conocen mejor que nadie. Para saber más sobre estas oportunidades, te recomendamos que veas "TinyML and the Developing World", una excelente charla impartida por Pete Warden en el encuentro TinyML Kenia.

Como vimos en "Privacidad", la IA de perímetro también crea una oportunidad para mejorar la privacidad de los usuarios. En nuestro mundo interconectado, muchas empresas tratan los datos de los usuarios como un recurso valioso que hay que extraer y minar. A menudo se exige a los consumidores y a los empresarios que renuncien a su privacidad para utilizar productos de IA, poniendo sus datos en manos de terceros desconocidos.

Con la IA de perímetro, los datos no necesitan salir del dispositivo. Esto permite una relación de mayor confianza entre el usuario y el producto, dando a los usuarios la propiedad de sus propios datos. Esto es especialmente importante para los productos diseñados para servir a personas vulnerables, que pueden sentirse escépticas ante servicios que parecen estar recopilando sus datos.

Como veremos en secciones posteriores, hay muchos escollos potenciales que hay que sortear para construir sistemas de IA éticos. Dicho esto, la tecnología ofrece una enorme oportunidad de hacer del mundo un lugar mejor.

Nota

Si estás pensando en utilizar la IA de perímetro para resolver problemas de tu comunidad local, a los autores les encantaría saber de ti. Hemos prestado apoyo a varios proyectos de gran repercusión y nos encantaría identificar más. Envía un correo electrónico a los autores a

Diferencias clave entre la IA de perímetro y la IA normal

La IA de perímetro es un subconjunto de la IA normal, por lo que se aplican muchos de los mismos principios. Dicho esto, hay que tener en cuenta algunas cosas especiales cuando se piensa en la inteligencia artificial en dispositivos de perímetro. Estos son nuestros puntos principales.

El entrenamiento en el perímetro es raro

Muchas aplicaciones de IA se basan en el aprendizaje automático. La mayoría de las veces, el aprendizaje automático implica entrenar un modelo para hacer predicciones basadas en un conjunto de datos etiquetados. Una vez entrenado el modelo, puede utilizarse para inferir: hacer nuevas predicciones sobre datos que no ha visto antes.

Cuando hablamos de IA de perímetro y aprendizaje automático, normalmente nos referimos a la inferencia. Entrenar modelos requiere mucho más cálculo y memoria que la inferencia, y a menudo requiere un conjunto de datos etiquetados. Todas estas cosas son difíciles de conseguir en el perímetro, donde los dispositivos tienen recursos limitados y los datos están en bruto y sin filtrar.

Por esta razón, los modelos utilizados en la IA de perímetro se entrenan a menudo antes de su implementación en los dispositivos, utilizando sistemas informáticos relativamente potentes y conjuntos de datos que se han limpiado y etiquetado, a menudo a mano. Técnicamente, es posible entrenar modelos de aprendizaje automático en los propios dispositivos de perímetro, pero es bastante raro, sobre todo debido a la falta de datos etiquetados, necesarios para el entrenamiento y la evaluación.

Hay dos subtipos de entrenamiento en el dispositivo que están más extendidos. Uno de ellos se utiliza habitualmente en tareas como la verificación facial o de huellas dactilares en teléfonos móviles, para asignar un conjunto de datos biométricos a un usuario concreto. La segunda se utiliza en el mantenimiento predictivo, donde un algoritmo en el dispositivo aprende el estado "normal" de una máquina para poder actuar si el estado se vuelve anormal. Habrá más detalles sobre el tema del aprendizaje en el dispositivo en "Entrenamiento en el dispositivo".

La IA de perímetro se centra en los datos de los sensores

Lo interesante de los dispositivos de perímetro es que viven cerca de donde se producen los datos. A menudo, los dispositivos de perímetro están equipados con sensores que les proporcionan una conexión inmediata con su entorno. El objetivo de una implementación de IA en el perímetro es dar sentido a estos datos, identificando patrones y utilizándolos para tomar decisiones.

Por su naturaleza, los datos de los sensores tienden a ser grandes, ruidosos y difíciles de gestionar. Llegan con gran frecuencia, potencialmente muchos miles de veces por segundo. Un dispositivo integrado que ejecute una aplicación de IA de perímetro tiene un plazo limitado para recopilar estos datos, procesarlos, introducirlos en algún tipo de algoritmo de IA y actuar en función de los resultados. Esto supone un gran reto, sobre todo teniendo en cuenta que la mayoría de los dispositivos integrados tienen recursos limitados y no disponen de RAM para almacenar grandes cantidades de datos.

La necesidad de domar los datos brutos de los sensores hace que el procesamiento digital de señales sea una parte crítica de la mayoría de las Implementaciones de IA de perímetro. En cualquier implementación eficiente y eficaz, los componentes de procesamiento de señales y de IA deben diseñarse juntos como un único sistema, equilibrando las compensaciones entre rendimiento y precisión.

Muchas herramientas tradicionales de aprendizaje automático y ciencia de datos se centran en datos tabulares, como datos financieros de empresas o reseñas de productos de consumo. En cambio, las herramientas de IA de perímetro están diseñadas para manejar flujos constantes de datos de sensores. Esto significa que para crear aplicaciones de IA de perímetro se necesita un conjunto de habilidades y técnicas totalmente distinto.

Los modelos ML pueden ser muy pequeños

Los dispositivos de perímetro suelen diseñarse para limitar el coste y el consumo de energía. Esto significa que, por lo general, tienen procesadores mucho más lentos y menos memoria que los ordenadores personales o los servidores web.

Las limitaciones de los dispositivos de destino significan que, cuando se utiliza el aprendizaje automático para implementar la IA de perímetro, los modelos de aprendizaje automático deben ser bastante pequeños. En un microcontrolador de gama media, puede que sólo haya unos cien kilobytes de ROM disponibles para almacenar un modelo, y algunos dispositivos tienen cantidades mucho menores. Dado que los modelos más grandes tardan más en ejecutarse, la lentitud de los procesadores de los dispositivos también puede empujar a los desarrolladores hacia la implementación de modelos más pequeños.

Hacer los modelos más pequeños implica algunas compensaciones. Para empezar, los modelos más grandes tienen más capacidad de aprendizaje. Cuando haces un modelo más pequeño, empieza a perder parte de su capacidad para representar su conjunto de datos de entrenamiento y puede que no sea tan preciso. Por eso, los desarrolladores que crean aplicaciones integradas de aprendizaje automático tienen que equilibrar el tamaño de su modelo con la precisión que necesitan.

Existen varias tecnologías para comprimir modelos, reduciendo su tamaño para que quepan en un hardware más pequeño y tarden menos en calcularse. Estas tecnologías de compresión pueden ser muy útiles, pero también afectan a la precisión de los modelos, a veces de forma sutil pero arriesgada. En "Compresión y optimización" se hablará en detalle de estas técnicas.

Dicho esto, no todas las aplicaciones requieren modelos grandes y complejos. Las que sí lo requieren suelen estar relacionadas con cosas como el procesamiento de imágenes, ya que interpretar la información visual implica muchos matices. A menudo, para datos más sencillos, unos pocos kilobytes (o menos) de modelo es todo lo quenecesitas.

El aprendizaje a partir de los comentarios es limitado

Como veremos más adelante, las aplicaciones de IA se construyen mediante una serie de bucles de retroalimentación iterativos. Hacemos un trabajo, medimos su rendimiento y luego averiguamos qué se necesita para mejorarlo.

Por ejemplo, imagina que construimos un monitor de fitness que puede estimar tu tiempo de carrera de 10K basándose en los datos recogidos de los sensores de a bordo. Para comprobar si funciona bien, podemos esperar a que corras una 10K real y ver si la predicción era correcta. Si no lo es, podemos añadir tus datos a nuestro conjunto de datos de entrenamiento e intentar entrenar un modelo mejor.

Si disponemos de una conexión fiable a Internet, esto no debería ser demasiado difícil: basta con subir los datos a nuestros servidores. Pero parte de la magia de la IA de perímetro es que podemos implementar inteligencia en dispositivos que tienen una conectividad limitada. En este caso, puede que no tengamos ancho de banda para cargar nuevos datos de entrenamiento. En muchos casos, es posible que no podamos cargar nada en absoluto.

Esto supone un gran reto para nuestro flujo de trabajo de desarrollo de aplicaciones. ¿Cómo nos aseguramos de que nuestro sistema funciona bien en el mundo real cuando tenemos un acceso limitado a él? ¿Y cómo podemos mejorar nuestro sistema cuando es tan difícil recopilar más datos? Este es un tema central del desarrollo de la IA de perímetro y algo que trataremos con detenimiento a lo largo de este libro.

La informática es diversa y heterogénea

La mayoría de las aplicaciones de IA del lado del servidor se ejecutan en viejos procesadores x86, con algunas unidades de procesamiento gráfico (GPU) para ayudar con cualquier inferencia de aprendizaje profundo. Hay una pequeña diversidad gracias a las recientes CPU de servidor de Arm, y a exóticos aceleradores de aprendizaje profundo como las TPU (unidades de procesamiento tensorial) de Google, pero la mayoría de las cargas de trabajo se ejecutan en hardware bastante ordinario.

En cambio, el mundo embebido incluye una vertiginosa variedad de tipos de dispositivos:

  • Microcontroladores, incluidos los diminutos chips de 8 bits y los sofisticados procesadores de 32 bits

  • Dispositivos de sistema en chip (SoC) con Linux integrado

  • Aceleradores de propósito general basados en tecnología GPU

  • Matrices de puertas programables en campo (FPGA)

  • Aceleradores de arquitectura fija que ejecutan una arquitectura de modelo único a una velocidad de vértigo

Cada categoría incluye innumerables dispositivos de muchos fabricantes diferentes, cada uno con un conjunto único de herramientas de construcción, entornos de programación y opciones de interfaz. Puede resultar bastante abrumador.

La diversidad de hardware significa que es probable que haya múltiples sistemas adecuados para cualquier caso de uso. Lo difícil es elegir uno. Trataremos este reto a lo largo del libro.

"Suficientemente bueno" es a menudo el objetivo

Con la IA tradicional, el objetivo suele ser obtener el mejor rendimiento posible, sin importar el coste. Los modelos de aprendizaje profundo de producción utilizados en aplicaciones del lado del servidor pueden tener un tamaño potencial de gigabytes, y se apoyan en un potente cálculo de GPU para poder ejecutarse a tiempo. Cuando el cálculo no es un obstáculo, el modelo más preciso suele ser la mejor opción.

Las ventajas de la IA de perímetro vienen acompañadas de serias limitaciones. Los dispositivos de perímetro tienen menos capacidad de cálculo, y a menudo hay que elegir entre el rendimiento y la precisión del dispositivo.

Sin duda es un reto, pero no un obstáculo. Ejecutar la IA en el perímetro tiene enormes ventajas, y para un gran número de casos de uso compensan fácilmente la penalización de una precisión algo menor. Incluso una pequeña cantidad de inteligencia en el dispositivo puede ser infinitamente mejor que nada en absoluto.

El objetivo es crear aplicaciones que aprovechen al máximo este rendimiento "suficientemente bueno", un enfoque descrito elegantemente por Alasdair Allan como Computación Capaz. La clave para hacerlo con éxito es utilizar herramientas que nos ayuden a comprender el rendimiento de nuestras aplicaciones en el mundo real, una vez que se han tenido en cuenta las penalizaciones por rendimiento. Trataremos este tema en profundidad.

Las herramientas y las buenas prácticas siguen evolucionando

Como tecnología totalmente nueva que sólo ha empezado a alcanzar una adopción masiva, la IA de perímetro sigue dependiendo de herramientas y enfoques que se desarrollaron para la IA a gran escala, del lado del servidor. De hecho, la mayor parte de la investigación en IA sigue centrándose en construir grandes modelos en conjuntos de datos gigantescos. Esto tiene un par de implicaciones.

En primer lugar, como veremos en el Capítulo 5, a menudo nos encontraremos utilizando herramientas de desarrollo existentes en los campos de la ciencia de datos y el aprendizaje automático. En el lado positivo, esto significa que podemos recurrir a un rico ecosistema de bibliotecas y marcos de trabajo de eficacia probada. Sin embargo, pocas de las herramientas existentes dan prioridad a cosas que son importantes en el perímetro, como el tamaño reducido de los modelos, la eficiencia computacional y la capacidad de entrenarse con pequeñas cantidades de datos. A menudo tenemos que hacer un trabajo extra para centrarnos en estos aspectos.

En segundo lugar, dado que la investigación en IA de perímetro es bastante reciente, es probable que veamos una evolución extremadamente rápida. A medida que el campo crece y más investigadores e ingenieros se centran en él, surgen nuevos enfoques para mejorar la eficacia, junto con buenas prácticas y técnicas para crear aplicaciones eficaces. Esta promesa de cambio rápido hace de la IA de perímetro un campo muy apasionante en el que trabajar.

Resumen

En este capítulo, hemos explorado la terminología que define la IA de perímetro, hemos aprendido una práctica herramienta para razonar sobre sus ventajas, hemos explorado cómo el traslado de la informática al perímetro puede aumentar el acceso a la tecnología y hemos esbozado los factores que diferencian la IA de perímetro de la IA tradicional.

A partir del próximo capítulo, nos ocuparemos de los detalles. Prepárate para conocer los casos de uso, los dispositivos y los algoritmos que potencian la IA de perímetro en la actualidad.

1 Según informa Business Wire.

2 Se espera que crezca hasta los 27.000 millones en 2025, según IoT Analytics.

3 La ingeniería integrada y el desarrollo móvil suelen ser disciplinas separadas. Incluso dentro de un dispositivo móvil, el firmware y el sistema operativo integrados son distintos de las aplicaciones móviles. Este libro se centra en la ingeniería integrada, por lo que no hablaremos mucho sobre la creación de aplicaciones para móviles, pero trataremos técnicas que son relevantes en ambos casos.

4 Durante muchos años se esperó que la inteligencia general artificial pudiera lograrse mediante una lógica condicional compleja, ajustada a mano por ingenieros. ¡Ha resultado ser mucho más complicado que eso!

5 El término TinyML es una marca registrada de la Fundación TinyML.

6 Esto se explicará en "Análisis espectral".

7 No todas las aplicaciones de IA de perímetro son inmunes a esto, ya que a menudo es necesario monitorizar los dispositivos y enviar actualizaciones a los algoritmos. Dicho esto, sin duda hay muchos casos en los que la IA de perímetro puede reducir la carga del mantenimiento.

8 Incluso en este ejemplo inocuo, una persona malintencionada que acceda a los datos de tu termostato podría utilizarlos para reconocer cuándo estás de vacaciones y así poder entrar en tu casa.

9 Este escenario exacto se produjo en 2022 con el sistema de seguridad doméstica Ring, que resultó ser vulnerable a un ataque ("Amazon's Ring Quietly Fixed Security Flaw That Put Users' Camera Recordings at Risk of Exposure", TechCrunch, 2022).

Get IA en la periferia now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.