viernes, 27 de septiembre de 2024

Un interesante paralelismo digital: las telecomunicaciones y el cerebro digital

Recojo en este post una pequeña iluminación, un pequeño destello de conocimiento que relaciona, de manera sorprendente, las telecomunicaciones con la neurociencia, un descubrimiento surgido casi de la más pura casualidad, pero que parece revelador.

Casualidades


Y es casualidad, una afortunada casualidad, porque ha tocado la coincidencia de que, justo el mismo día, estuviese preparando el material didáctico para una asignatura sobre Redes IP, y que leyese el capítulo preciso del libro 'El cerebro, el teatro del mundo' publicado recientemente por Rafael Yuste.

Una casualidad que nos habla y enlaza el papel que tiene lo digital, por mejor decir la codificación digital de la información, en aspectos tan diferentes como son las redes de telecomunicaciones y el cerebro humano.

Paso a explicarlo.


Comunicaciones digitales


Con el objetivo de explicar a los alumnos de una asignatura sobre redes IP las características diferenciales y ventajas de las comunicaciones digitales frente a las analógicas, había preparado, en el día de autos, la siguiente figura: 



Probablemente, los lectores avezados en comunicaciones entienden lo que quiere decir, sin más explicaciones, pero de todas formas cuento brevemente el mensaje que hay detrás.

Cuando trabajas en modo analógico, la información se representa, digamos, por un nivel de señal, que representa una intensidad, una frecuencia, etc. Así, por ejemplo, sui queremos enviar música por la red, primero la codificamos de forma analógica y luego ponemos en 'los cables' una señal que, en cierto sentido, es similar a la señal origen (aunque, por ejemplo, el sonido sea una onda de presión y lo representemos luego como tensiones en una red eléctrica o electrónica). Podríamos transmitirlo así y ya está. ¿Qué ocurre? Que cuando transmitimos esa señal por un cable, o por el aire, sufre una cierta degradación y lo que llega al receptor no es exactamente lo mismo que lo que envió el emisor. Dado que usamos una señal analógica (y recuerdo que analógico, no casualmente, tiene la misma raíz que 'análogo') el receptor interpreta, digamos, literalmente, esa señal y reproduce un sonido que saldrá también algo deformado respecto al original. La cosa es aún peor si ese receptor es intermedio y retransmite la señal, que ya está deformada y se irá deformando cada vez más en el camino.

En las comunicaciones digitales, codificamos esos sonidos como unos y ceros, y lo que importa no es realmente el nivel de señal, sólo si estamos representando un uno o un cero. Y eso lo hacemos, por ejemplo, con el uno siendo un valor alto de la tensión, y el cero un valor bajo, lo que da lugar a señales, digamos, 'cuadradas'. Pero, insisto, lo que importa no es la tensión concreta, sino si está representando un uno o un cero. Cuando recibe la señal el receptor también llega degradada, claro, pero dado que lo del nivel alto o bajo incluye una cierta tolerancia, se siguen identificando perfectamente los unos y los ceros, es decir, la información que recibe, como tal información, es exactamente igual la original, sin degradación. Es más, si el receptor es un elemento intermedio, como por ejemplo un router, cuando retransmita la señal, lo hará enviando una señal cuadrada perfecta, con lo que de alguna forma la ha regenerado y eliminado la degradación.

A esto se unen capacidades adicionales de detección y corrección de errores en las que no voy a entrar, para no complicar y, sobre todo, porque ya no enlazan con lo que a continuación comentaré sobre el cerebro humano.

En cualquier caso, la situación comentada explica en buena medida por qué las comunicaciones digitales son mucho más robustas en cuanto a la calidad de la información enviada y recibida.


Un cerebro digital


Eso, no sé para el lector, pero para mí es conocido desde hace muchos, muchísimos años. El descubrimiento, la novedad para mí, viene del campo de la neurociencia y de la mano de Rafael Yuste y del libro mencionado más arriba.

En el tercer capítulo, titulado de manera significativa: 'El teatro del mundo por dentro: las neuronas digitales', Yuste explica el más o menos conocido mecanismo de funcionamiento de las neuronas: cómo se unen dendritas con axones en las sinapsis, cómo se producen los flujos de iones que provocan los cambios de potencial y, en definitiva, la activación y disparo, o no, de una neurona.

Un funcionamiento que, en su versión más simplificada, podemos asimilar a un interruptor. Sin embargo, Yuste prefiere comparar el funcionamiento, más que a un interruptor, a un transistor. Si, si, un transistor, el componente electrónico que da vida a los microprocesadores y tantos dispositivos electrónicos.

Y ahora viene lo bueno cuando, literalmente, dice:


Que los transistores sean digitales es fundamental, porque las señales digitales no se degradan al transmitirse en distancias largas y se pueden almacenar con facilidad.


Aunque leyendo la frase, incluso en el contexto del libro, pueden quedar reservas sobre si esa afirmación se refiere a los transistores electrónicos o a las neuronas (pues en ese momento las está casi asimilando), a mí no me queda duda de que el profesor Yuste nos está queriendo decir que también nuestro cerebro y nuestro sistema nervioso utilizan esa codificación digital y, especialmente, que se aprovecha, no sólo de la facilidad de almacenamiento sino también de la robustez en su transmisión... igual que hacemos en comunicaciones digitales.

Y me queda menos duda cuando, muy poco más abajo, el autor, remata:


Como sabemos, gran parte de la tecnología de la humanidad está basada en la electrónica digital de los transistores. Pero la naturaleza nos lleva la delantera, pues hace ya más de seiscientos millones de años utilizó los principios de la electrónica digital para aprender a fabricar algo parecido.


¿No es fascinante?


Patrones


Es muy interesante descubrir patrones de comportamiento que afectan ya no solo a disciplinas diferentes sino a realidades de ámbitos diferentes. 

Pero no es sólo interesante en el sentido de que sea curioso, o incluso divertido. Es mucho más importante que eso.

Al menos en mi opinión, cuando encontramos patrones es que, de alguna forma, estamos descubriendo principios profundos, arraigados, definitorios. Es que, de alguna manera, nos estamos acercando a la verdad. 


Conclusiones

 

El uso de información digital, en lugar de analógica, facilita el almacenamiento y el procesamiento pero, además, proporciona robustez a las comunicaciones. Es un descubrimiento que hicimos los humanos ya hace unas décadas, pero resulta que, al parecer, la naturaleza lleva aplicándolo desde hace millones de años en los cerebros de los seres vivos, incluyendo, claro, los humanos.


miércoles, 25 de septiembre de 2024

Notas sobre aprendizaje por refuerzo (IV): Metodos tabulares. SARSA Y Q-Learning.

Aunque tendemos a imaginar la inteligencia artificial como una amalgama de algoritmos complejos y misteriosos, lo cierto es que no siempre es así.

Muchos de los algoritmos que conforman el así llamado machine-learning (y no digamos nada la antigua inteligencia artificial simbólica) son relativamente sencillos, lógicos y basados en intuiciones o razonamientos perfectamente inteligibles.

Donde comienza creo, el misterio, la semejanza con la magia es, cuando entramos en el campo del deep learning, de las grandes redes neuronales, donde se escapa un poco de nuestra lógica natural el funcionamiento de estos ingenios y cómo pueden obtener resultados.

Y eso que ocurre, en mi opinión, en toda la inteligencia artificial, también tiene lugar en el área del aprendizaje por refuerzo ('reinforcement learning'), donde existen algoritmos relativamente lógicos y sencillos pero donde también reinan cada vez más los mágicos algoritmos del deep learning. 

En este cuarto post de la serie dedicada al aprendizaje por refuerzo, nos vamos a quedar, todavía, en los algoritmos más o menos sencillos, los que no utilizan redes neuronales, unos métodos que en la referencia que estoy siguiendo en toda esta serie, el libro 'Deep reinforcement learning' de Aske Plaat, denomina 'tabulares' porque utilizan unos datos tabulados. 

Remataremos con un esbozo del algoritmo Q-Learning, aunque antes nos tendremos que detener a aprender algunos nuevos conceptos y otro algoritmo, SARSA.


Recordatorio: procesos de decisión y aprendizaje por refuerzo 


Antes, recordemos todo el marco en que nos estamos moviendo, y que se esquematiza en la figura que estoy usando repetidamente en esta serie de artículos.




Tenemos un agente, por ejemplo un robot, que se mueve en un entorno, un entorno que, en un momento dado, se encuentra en un estado (s). De cara a conseguir sus objetivos, el agente realiza acciones (a) sobre el entorno. Eventualmente, la aplicación de esa acción provoca un cambio de estado en el entorno que pasa del estado (s) al (s'), y el agente recibe una recompensa (r), una suerte de feedback de si se acerca o no a sus objetivos. 

Las transiciones de estado del entorno, están regidas por una función Ta. En algunos casos estas transiciones son deterministas, pero con frecuencia siguen distribuciones de probabilidad hallándonos en este caso ante entornos estocásticos. Para elegir la acción a realizar, el agente aplica una política (π).

En general, en un aprendizaje por refuerzo lo que queremos es aprender, u optimizar, esa política π, un poco por ensayo y error, aplicando acciones, viendo las recompensas obtenidas, y ajustando la política. 


Modelos del mundo. Algoritmos con y sin modelo


De alguna forma, esa función Ta que hemos mencionado, constituye un modelo del mundo (un modelo del entorno para ser más precisos, pero es común y seguramente 'más bonito' hablar de modelo del mundo).

Con bastante frecuencia, el agente NO conoce ese modelo del mundo, no sabe qué función Ta gobierna los cambios de estado del entorno, por lo que debe optimizar su política (π) sin conocer realmente el modelo del mundo, sólo con base en la interacción con el mismo y las recompensas obtenidas. Ese es el caso de los algoritmos que se denominan sin modelo ('model-free').

Veremos más adelante en esta serie, el caso en que el agente SI puede conocer o al menos aproximar el comportamiento del entorno. En este caso se habla de algoritmos basados en modelo ('model-based').


Explotación y exploración


En un post anterior, hablamos de una función, el valor estado-acción Q(s,a) que nos proporcionada el valor (es decir la recompensa acumulada esperada) ante la aplicación de una acción a, en un estado s.

La lógica más inmediata nos lleva a pensar que lo que tiene que hacer un agente en cada momento es seleccionar aquella acción que proporciona un mayor valor de Q. Es intuitivo y razonable, e incluso pudiera funcionar, pero la experiencia demuestra que esa estrategia, que se denomina 'greedy' (algo así como 'glotona') tiende a conducirnos a máximos locales, pero no globales, con lo que no llegamos realmente a determinar la mejor política de todas, sino una sólo una buena solución, pero no la mejor.

Por eso, se aconseja combinar los mecanismos que se denominan de explotación y exploración.

En explotación funcionamos de modo, digamos normal, usando las mejores acciones hasta donde conocemos (con base en nuestra función estado-valor), pero en exploración introducimos aleatoriedad en lugar de lo que dicte la función Q, para seleccionar la siguiente acción.

Los algoritmos mejores utilizan una combinación de ambos mecanismos, existiendo diversas teorías sobre la mejor forma de establecer ese equilibro o compromiso de en qué medida utilizamos uno u otro.


Aprendizaje de política on y off


A la hora de actualizar la política con base en la recompensa obtenida por el agente, el aprendizaje propiamente dicho mediante el mecanismo de 'backpropagation' que mencionamos en el segundo post de esta serie, lo primero que se nos viene a la cabeza es, simplemente, usar la recompensa para la última acción aplicada. Eso es lo que se denomina un aprendizaje de política 'on' ('on-policy learning').

Sin embargo, también es posible, y puede ser conveniente, no aplicar la retropropagación (el aprendizaje) de acuerdo con la recompensa a la última acción sino adoptar una perspectiva más amplia y, eventualmente, hacer el aprendizaje con otra recompensa quizá anterior. Esto es lo que se denomina aprendizaje de política off ('off-policy learning') y puede tener sentido, por ejemplo, cuando estamos aplicando la exploración que mencionábamos hace un momento. ¿Por qué? porque al explorar fácilmente nos podemos encontrar respuestas muy poco óptimas y no tendría sentido empeñarnos en utilizar la recompensa obtenida como un buen indicador de una buena decisión.


El algoritmo SARSA


Uno de los los algoritmos tabulares conocidos es SARSA. SARSA utiliza sólo explotación y aprendizaje de política on ('on-policy').

¿Cómo funciona? Pues, como conocemos, el agente selecciona una acción y obtiene una recompensa,. Con base en ella actualiza sus función valor-estado Q(s, a) que, indirectamente es como actualizar su política (π). En esa actualización sigue la fórmula:


Q(st, at) ← Q(st, at) + α[ rt+1 + γQ(st+1, at+1) - Q (st, at)]


No entraré en el detalle del significado de la fórmula, sólo indicar que la función valor-estado se va actualizando con base en la recompensa recibida.


El algoritmo Q-Learning


Bueno, pues culminamos el post esbozando, sin entrar en muchos detalles, el algoritmo Q-Learning. En el caso de Q-Learning estamos ante uno de esos denominados algoritmos tabulares (utilizan reglas o tablas en lugar de redes neuronales), utiliza tanto explotación como exploración y un aprendizaje de política off ('off-policy').

A priori, el funcionamiento va a ser muy similar al de SARSA y, si nos nos fijamos, la fórmula de actualización de las funciones valor-estado parece la misma


Q(st, at) ← Q(st, at) + α[ rt+1 + γmaxaQ(st+1, a) - Q (st, at)]


Parece la misma, pero no lo es. 

Fijémonos en la parte central de la fórmula, la que he destacado con negritas, y comparemos con el caso de SARSA. Vemos que si en SARSA se utilizaba la función valor del estado finalmente alcanzado, en el caso de Q-Learning se utiliza aquella función valor máxima de entre todas las acciones, no sólo la aplicada en último término. Eso es lo que le confiere la característica de aprendizaje de política off, en lugar de on.

Podemos, de una forma más estructurada y que nos acerca un poquito a un pseudocódigo, expresar el algoritmo Q-Learning de la siguiente maneta:

  • Inicializa la tabla de valores (Q) con números aleatorios
  • Repite
    • Selecciona un estado (s)
    • Para todas las posibles acciones (a) aplicables en ese estado (s), selecciona la que proporciona el mayor valor de Q (cuando estés aplicando explotación), o bien, si en esta iteración vas a aplicar exploración, selecciona una al azar. 
    • Mira la recompensa (r) obtenida y actualiza la tabla de valores Q con la fórmula que hemos visto más arriba
  • así hasta que se alcance el objetivo
  • Alcanzado el objetivo, repite todo el bucle hasta que los valores de la tabla Q ya no varíen mucho (eso implica fijar algún umbral de variación concreto). 

Con esto no hemos especificado del todo el comportamiento, aunque tampoco estamos tan lejos, pero sí es lo suficiente para, si lo leemos despacio, entender la filosofía básica del algoritmo.


Conclusiones


En este post, hemos ampliado algunos conceptos respecto a otros ya utilizados en los tres artículos anteriores. Así, hemos hablado de:

  • Algoritmos con y sin modelo ('model based' o 'model-free')
  • Concepto de explotación y exploración y la conveniencia de utilizarlos conjuntamente
  • Aprendizaje de política on y off ('on-policy'  learning y 'off-policy' learning)

Y, finalmente, quizá en la parte más formal y difícil del post, hemos esbozado los algoritmos SARSA y, un poco más, el Q-learning. Ambos tabulares, pero el primero usando aprendizaje 'on-policy' y el segundo introduciendo la exploración y usando aprendizaje 'off-policy'.

Y todavía no hemos llegado a la magia, a la introducción del deep learning porque estos algoritmos que hemos visto, que entran dentro de los llamados tabulares, son un poco más tradicionales, más modestos en sus campos de aplicación y más fáciles de entender (dentro de lo que cabe) .

Pero no tardaremos ya mucho en llegar al aprendizaje con refuerzo usando redes neuronales y deep learning aunque veremos que, si no se entra en detalles, habrá mucha continuidad expositiva con lo visto hasta ahora.

viernes, 20 de septiembre de 2024

Notas sobre aprendizaje por refuerzo (III): recompensas, trazas y valores

Pues vamos a por otro post sobre aprendizaje por refuerzo ('reinforcement learning') , un post que, como los dos anteriores, de momento se centra en fijar conceptos, vocabularios y notaciones, más que en el mecanismo de aprendizaje por refuerzo propiamente dicho.

En este artículo, en efecto, vamos a introducir dos conceptos: traza y valor. Las trazas nos ayudarán a entender un poco más el modelo de procesos de decisión de Markov y el valor va a ser una forma de concretar la idea de recompensa, tan central del aprendizaje por refuerzo.

Como en lo visto hasta ahora, y como en gran parte de lo que vendrá en esta serie de artículos, me sigo apoyando en el libro 'Deep reinforcement learning' de Aske Plaat.

Vamos allá


Recordando conceptos


Como ya hemos visto, los procesos de decisión de Markov son procesos de decisión en que un agente, por ejemplo un robot, interactúa con un entorno, y va adoptando, de manera secuencial decisiones que se traducen en la adopción de acciones sobre el entorno. El entorno, que se encuentra en un momento dado en un estado (s) puede, como consecuencia de esa acción, cambiar a otro estado (s'), teniendo lugar, en ese caso, una transición (t). Y cuando se produce esa transición, el agente recibe una recompensa (r).


En los procesos de decisión de Markov, además, la eventual transición depende, únicamente, del estado del entorno y de la acción aplicada, por lo que no exhiben memoria ni tampoco ninguna dependencia externa.

El agente, toma sus decisión usando una política (π). Y el aprendizaje por refuerzo busca optimizar esa política de forma que se maximice la recompensa acumulada que obtiene el agente. 

Podemos visualizar la relación de estados y acciones como un grafo que, en el caso de entornos deterministas (en un estado dado, la aplicación de una acción sólo puede conducir a otro estado concreto), se convierte en un árbol.

Habiendo recordado esto, ya podemos ir a por los dos conceptos que son objetivo de este post: trazas y valores.


Trazas


Aunque hasta ahora hemos visualizado sólo una transición de estados, en la realidad, lógicamente, cuando el proceso de decisión secuencial se desarrolla (cuando, por ejemplo, el robot interacciona con su entorno), se van realizando, de forma secuencial acciones, seguidas de eventuales cambios de estado del entorno y su recompensa asociada, a las que siguen nuevas acciones con sus consiguientes cambios de estado y así sucesivamente hasta alcanzar un objetivo final.

Durante ese proceso, en cada instante temporal t, el entorno se encontrará en un estado st, el agente aplicará una acción at, obtendrá una recompensa rt y provocará la transición al estado st+1 con el que se inicia un nuevo paso, y así sucesivamente, hasta conseguir un objetivo final o hasta el infinito.

Pues bien, una traza (τ) no es más que la entidad que recoge esa sucesión de estados, acciones y recompensas. Podemos, formalmente, expresar que una traza con n pasos como:


τ = { st, at, rt, st+1,  ..., st+n, at+n, rt+n, st+n+1 }


Con frecuencia, n se convierte en infinito (∞). Además, y aunque no lo voy a representar aquí formalmente (porque sale una fórmula bastante compleja), en el caso de entornos estocásticos, no tendremos trazas cerradas, por decirlo de alguna manera, sino una distribución de probabilidad sobre trazas.

Las trazas también reciben a veces el nombre de trayectoria, episodio o secuencia

 

Retorno


Un concepto muy relacionado con el traza y el de recompensa, es el de retorno (R).

En el fondo, el retorno no es más que la recompensa futura de una traza, es decir, la acumulación de recompensas que se obtienen a lo largo de la ejecución de la traza, aunque con un pequeño matiz que ahora apuntaremos. La formulación del retorno de una traza τt sería:


R (τt) = rt + γ*rt+1 + γ2*rt+2 + ... =  rt + ∑i=1 γi*rt+i


Vemos que el retorno es una función que para una traza dada, nos devuelve la recompensa acumulada. Y vemos también en la fórmula que no sumamos directamente las recompensas presentes en la traza, sino que lo hacemos multiplicándolo por un factor γ elevado a una potencia que va aumentando. Bien, ese factor γ es lo que denominamos factor de descuento cuando presentamos los modelos de Markov. Y ahora vemos su uso. El factor de descuento es un número comprendido entre 0 y 1 que se utiliza para, a la hora de calcular el retorno, dar más peso a las recompensas recientes que a las lejanas.


Recompensa esperada: valores de estado y de estado-acción


El concepto de retorno nos deja ya cerca de saber con qué recompensa suelen trabajar los algoritmos de aprendizaje por refuerzo. Y ello es debido a la existencia de entornos estocásticos. En casos estocásticos, para una política dada (π), y partiendo de un estado s, no se producirá siempre una misma traza y por tanto no siempre el mismo retorno o recompensa acumulada.

Por ello, lo que queremos es la recompensa acumulada esperada (incluyendo descuentos). Pues bien, esa recompensa acumulada y descontada esperada, es lo que se denomina el valor V, de un estado s. Para una política (π) dada, existirá esa función V, que representamos como Vπ(s) que nos proporciona el valor del estado (es decir, su recompensa acumulada esperada).

Adicionalmente, se suele trabajar con la función valor de estado-acción (Qπ(s,a)) cuya idea básica es la misma que el valor de un estado, pero en que ahora condicionamos, no sólo el estado, sino también la acción, es decir, se trata de una función que nos proporciona la recompensa acumulada esperada cuando, estando en un estado s, y siguiendo una política π, aplicamos una acción a.


Inciso: consideraciones sobre la lectura y el entendimiento


No se me oculta que los conceptos expuestos en este post y en los dos anteriores, pueden acabar desbordando al lector que no los conozca a priori, pero hago notar que, a despecho de lo que pueda parecer en una primera lectura no profunda, y a despecho también de lo dificultosas que nos pueden resultar las formulaciones matemáticas, en el fondo los conceptos que hay detrás son bastante sencillos, lógicos y diría que intuitivos.

Así que sugiero al lector que no se desanime, que los lea despacio varias veces y verá cómo al final le parecen lógicos y casi sencillos.


Conclusiones

Con este post casi cerramos la exposición de los conceptos básicos. Hemos visto lo que son los procesos de decisión secuenciales y en concreto los de Markov. Hemos hablado de agentes y entornos (deterministas y estocásticos). Sabemos lo que son los estados, las acciones, las recompensas y las políticas. 

Y hemos aprendido lo que son las trazas y cómo, de cara a la obtención de recompensas acumuladas, aplicamos el factor de descuento y computamos valores de estados o de acciones-estado que, en el fondo, nos proporcionan esas recompensas acumuladas esperadas que luego utilizan los algoritmos de aprendizaje por refuerzo.

Hemos fijado conceptos, pero aún nos queda mucho que ver...


Artículos de este blog relacionados



miércoles, 18 de septiembre de 2024

Notas sobre aprendizaje por refuerzo (II): Visualizando el aprendizaje en procesos de Markov

Este es el segundo post de la serie que inicié la semana pasada dedicada al aprendizaje por refuerzo ('reinforcement learning'). En el anterior, presenté los procesos de decisión de Markov. En este segundo post, en realidad voy a avanzar poco en cuanto a aportación de nuevos conceptos, aunque algunas nueva idea sí que habrá. Sin embargo, el objetivo principal es aportar, usando incluso ciertos recursos gráficos (figuras), una mejor visualización de a qué nos referimos con esos procesos de decisión de Markov y cómo funcionan a alto nivel. 

Y, como en el caso del post anterior (y muchos de los que vendrán en esta serie), me apoyo en las explicación del libro 'Deep reinforcement learning' de Aske Plaat.


Recordando los procesos de decisión de Markov


Antes, un primer recordatorio. Recordemos que hablábamos de situaciones en que un agente (por ejemplo, un robot) interactúa con su entorno, tomando decisiones que se concretan en acciones que el agente aplica al entorno y que pueden conducir a que ese entorno cambie de estado.

Hablamos en primer lugar de procesos de decisión secuencial, es decir, aquellos en que el agente va adoptando decisiones una detrás de otra. Esas decisiones se concretan en acciones que el agente aplica a su entorno y que eventualmente, conducen a un cambio de estado del mismo. 

Los procesos de decisión de Markov, añaden sobre esta idea una restricción, a saber, que el estado siguiente del entorno sólo depende del estado de partida y las acciones disponibles para ese estado. 


Recordando los elementos de los procesos de decisión de Markov


En esos procesos de Markov, identificábamos cinco elementos, a saber, 


  • El conjunto de estados legales del entorno, conjunto al que vamos a denominar S y a cada estado individual, s.
  • El conjunto de acciones aplicables en cada estado, y que vamos a denominar A, denominando cada acción individual como a.
  • Las transiciones, que indican la probabilidad de que la aplicación de una acción a, en un estado s, conduzca a un estado s'. A ese conjunto lo vamos a denominar Ta(s,s') y a cada transición concreta, la denominaremos t.
  • Las recompensas que obtiene el agente cuando, tras aplicar una acción a en un estado s, se produce la transición al estado s'. Al conjunto lo denominaremos Ra(s,s') y cada recompensa individual la denominaremos r.
  • Un factor de descuento, del que todavía no hablaremos más y que denominamos γ.


Respecto al post anterior he añadido la notación más frecuente para esos elementos, que me encuentro en el libro mencionado, y que usaré en las figuras.

Además, recordar que el agente, y de cara a seleccionar la acción, aplica lo que se denomina unos criterios o política, que vamos a representar como π y que, en el fondo, es justamente lo que queremos optimizar o aprender en el entrenamiento bajo aprendizaje por refuerzo.


Visualizando los elementos en acción


Bueno, y ya podemos empezar con la visualización. En la siguiente figura, representamos la interacción agente entorno.



La figura nos esquematiza los que hemos dicho. Tenemos un agente y un entorno con el que interactúa nuestro agente. El agente aplica al entorno (de forma secuencial) acciones (a) y recibe recompensas (r).

Para decidir las acciones, el agente aplica una política (π)

El entorno, en un momento dado, se encuentra en un estado s. Al recibir el entorno la acción, y según lo que marquen sus transiciones (Ta(s,s')), se podrá producir una transición t que signifique el paso del estado inicial s al estado siguiente s'.

Ligada a ese eventual cambio de estado, se genera la recompensa r que obtiene el agente.

Y esto se produce de manera secuencial, hasta que el agente alcanza su objetivo.


Entornos deterministas y entornos estocásticos


Añado un pequeño concepto nuevo. 

En algunos casos, las aplicación de una acción a, cuando el entorno se encuentra en un estado s, conduce directamente a un estado s'. En este caso, decimos que estamos ante un entorno determinista

Si por el contrario, ante un mismo estado s, puede transitarse a diferentes estados s', s'', etc con un cierto nivel de probabilidad cada uno, estaremos en el caso de un entorno estocástico.


Grafos y árboles. 


Una forma de representar la evolución del conjunto es usando grafos, tal y como se muestra en la siguiente figura:



En la figura mostramos grafos simples con una sola transición de estado. 

Representamos mediante círculos los nodos del grafo, los círculos en azul claro son los estados y los círculos oscuros las acciones. Las decisiones y las transiciones vienen representadas por los arcos (las flechas del dibujo).Se entiende que, a medida que se van contemplando las acciones en cada estado, el grafo va creciendo, añadiendo nuevos niveles, hasta llegar a estados finales que serían los nodos hoja.

Aunque es menos claro visualmente, podríamos haber eliminado de la representación las acciones y dejar solo los estados. En la etiqueta de los arcos, que representarían las transiciones, se explicitaría la acción. Pero, como digo, creo que visualmente es menos claro (aunque quizá fuese un grafo más puro), así que dejo la representación como se ve más arriba.

Es interesante notar la diferenciación entre el entorno estocástico y el determinista. Observe el lector, que en el caso del estocástico, a partir de las acciones podemos obtener varios estados resultantes (en la figura, dos por cada acción). Sin embargo, en el determinista, sólo se obtiene un estado resultante por acción.

Finalmente, decir que el grafo del caso estocástico en que no existen probabilidades, se denomina árbol.


Ensayo y error. Visualizando el aprendizaje


Una última visualización, y que tiene que ver con el aprendizaje que se realiza por refuerzo.

En el aprendizaje por refuerzo se funciona un poco mediante ensayo y error: el agente aplica una acción (ensayo)  y lo que obtiene es una recompensa (error). Cuando trabajamos con grafos, y en concreto con un árbol (entorno determinista), tenemos lo que se muestra en la figura:



Es decir, existe una especie de doble recorrido hacia delante y hacia atrás ('backpropagation').

A medida que el agente va seleccionando acciones, va recorriendo o construyendo el árbol hacia abajo. Normalmente, la verdadera recompensa se obtiene al llegar a un estado final, un estado hoja. Ahí se produce una retropropagación, una propagación hacia arriba, de la recompensa y del aprendizaje que el agente obtiene de la recompensa obtenida.


Conclusiones


Como decía al principio de este post, realmente no he añadido muchos más conceptos a los que ya vimos en el primero. Hemos añadido, eso sí, una notación más formal, que seguramente sigamos usando, y hemos explicado qué son entornos deterministas y qué estocásticos.

Más allá de eso, este post lo que pretende es, sobre todo, dejar mucho más claros los elementos de un proceso de decisión de Markov y una visión, bien que de muy alto nivel y exenta de detalle, de cómo se produce el aprendizaje. Espero que le sirva, en efecto, al lector, para clarificar conceptos.

En breve, seguiremos avanzando en este campo del aprendizaje por refuerzo mediante nuevos posts.


Artículos de este blog relacionados



viernes, 13 de septiembre de 2024

Veinticinco años de historia de la tecnología contados por Martiniano Mallavibarrena

'Cuando fuimos jóvenes' es un libro que, como bien expresa su subtítulo, '25 años de memorias de la informática española', es un recorrido por lo ocurrido en las tecnologías digitales (informática y comunicaciones) en aproximadamente el lustro que va desde 1975 hasta el año 2000. Un recorrido que, aunque tiene muy en cuenta la cronología, se ordena al menos parcialmente, por temáticas y no exclusivamente con visión histórica y que, además, en ocasiones, hace cortas incursiones fuera de ese ámbito temporal.

Tras un breve prólogo, a cargo de Juanjo Carmena, el libro se estructura en catorce capítulos, como sigue:
  • '1. Introducción': Un breve capítulo un poco para 'ponernos en situación'. Describe el punto en que se encontraba España en la época que describe, sobre todo en sus inicios, señalando elementos como la promulgación de la Constitución, la adhesión de España a la Unión Europea, la apertura al exterior y algo más tarde la expo de Sevilla o los Juegos Olímpicos de Barcelona. Se menciona también alguna iniciativa a nivel empresarial, con especial foco en Renfe e IBM, y finaliza contando la estructura del libro.

  • '2. Historia de los grandes ordenadores': Primero se remonta a antecedentes históricos (casi prehistóricos) de la informática, para luego revisar las aportaciones de personajes como Babbage, Ada Lovelace, Scheutz, Burroughs o Hollerith. A partir de ahí, entra ya en los primeros ordenadores de IBM apareciendo en escena ordenadores míticos como Mark I, ENIAC o UNIVAC y resaltando el papel de von Neumann. A continuación revisa el cambio que se produce en los ordenadores de la época con la llegada del transistor y finaliza explicando la situación en España, destacando el caso del primer Mainframe en el Ayuntamiento de Barcelona o el CPD de la Universidad Complutense de Madrid. Añade luego un anexo sobre generaciones de ordenadores y repasa las empresas que 'acompañaron' como fabricantes a IBM: General Electric, Burroughs, Sperry Rand, Control Data, Honeywell, RCA y NCR.

  • '3. Esperando a la WWW': Explora el mundo de Internet antes de la aparición de la web, recordando aplicaciones y servicios hoy casi extintos como Gopher, las News o WAIS. También menciona las entonces importantes BSS ('Bulletin Board Systems'). Luego ya explica la aparición de la WWW con los pioneros trabajos en el CERN, la formación del consorcio W3C y los primeros navegadores: Nexus, LineModeBrowser, Viola, el mítico Mosaic, Internet Explorer o el proyecto Mozilla. También nos cuenta la guerra de los buscadores, antes del total predominio actual de Google. Así se mencionan Altavista o Yahoo hasta la llegada de Google. En una especie de aparte, nos habla del servicio Videotex y finaliza volviendo a Internet con los primeros portales como Compuserve, AOL (America OnLine), Microsoft MSN y el español Terra incluido Lycos.

  • '4. La tierra media de los sistemas informáticos': Tras haber visto en el capítulo 2 los grandes sistemas 'mainframe', en éste largo capítulo, se habla de unos ordenadores intermedios, los denominados 'minis', entre un mainframe y lo que serán luego los ordenadores personales. Pero el capítulo comienza hablando de software, en concreto, sistemas operativos como UNIX con todas sus variantes y distribuciones hasta llegar a Linux y el especial caso de Minix. También dedica un espacio al sistema de ventanas X-Windows, tan importante durante unos años. A continuación se centra en empresas con foco en Sun Microsystems, pero desfilando también NCR, AT&T, SCO (Santa Cruz Operation) o Unisys. Dejamos aquí Unix pare hablar de DEC (Digital Equipment Corporation) con sus ordenadores PDP y VAX y su sistema operativo VMS. En un siguiente paso habla de la llegada de los procesadores RISC y el sistema AS/400 de IBM así como de la reacción de Microsoft con Windows NT. Luego, abandonamos un poco la unidad central para hablar de los puestos de trabajo, y muy en especial las workstations tanto del mundo Unix (como las Apollo de HP), los movimientos de Apple, etc e incluyendo un repaso por los monitores propiamente dichos de estas estaciones de trabajo. Incluso, repasa también los sistemas de almacenamiento y backup. Y, para rematar nos regala un par de anexos sobre el nacimiento de PIXAR y de la virtualización.

  • '5. Los ordenadores personales': Otro capítulo extenso, para recordar en profundidad todo lo relativo a la aparición de los ordenadores personales. Empieza mencionando los primeros ejemplares' como Xerox ALTO, Altair 8800, Commodore PET, TRS-80 y, por supuesto, el IBM PC o el caso HP-150. Luego hace una breve incursión en hardware hablando del bus ISA y del papel de Intel. A continuación trata el almacenamiento, apareciendo soluciones como los famosos 'floppy disks' (disquetes), el CD-ROM o el USB. Recuerda luego las tarjetas gráficas MDA, CGA, Hércules, EGA, VGA, SVGA y XGA así como los monitores. Y finaliza este visión, un poco de 'despiece', hablando de las tarjetas de comunicación. Luego ya revisa empresas importantes como Compaq, Dell y los 'clónicos'. Y así, sigue repasando la historia y situación de diferentes partes o elementos relacionados con los ordenadores personales: el bus PCI, los primeros portátiles, los sistemas operativos como MS-DOS o CP/M, la llegada de Windows, el OS/2 de IBM y las PDAs y Windows CE. Hace luego un alto para hablar de Apple y su historia. A continuación regresa al software, recordando paquetes y aplicaciones ofimáticas con nombres míticos como Lotus 1-2-3 o Symphony, Wordstar, Wordperfect, etc, software de diseño como el AutoCAD o utilidades como las famosísimas en aquella época Norton utilities o PC Tools. E incluye, para finalizar, dos anexos, uno con la situación de los PC en España y otro dedicado a soluciones de impresión.

  • '6. La llegada de los teléfonos móviles': Un capítulo, en este caso bastante breve, para recordar los primeros pasos de la telefonía móvil, recordando el servicio analógico MoviLine de Telefónica, la llegada del GSM y con ellos las comunicaciones móviles digitales y el paso a Movistar acompañado por la liberalización que dio lugar a un segundo operador móvil, en este caso Airtel (hoy en día Vodafone) a lo que siguió el tercero, Amena, que formaba parte de Retevisión. Y se llega, en este recorrido, hasta los primeros pasos con datos con GPRS, antes de la llegada del 3G. En breves apartados, recuerda también los sistemas de mensajería 'pager' o los míticos teléfonos Blackberry.

  • '7. Internet y las telecomunicaciones': Otro capítulo extenso. Comienza repasando un poco las primeras redes y servicios de telecomunicaciones, comenzando por la red telefónica conmutada, saltando luego a RDSI y abordando algunos servicios para empresas ya existentes como el servicio Ibercom de Telefónica. A continuación se explica el proceso de liberalización de las telecomunicaciones en España y luego se salta a las primeras redes de datos, sobre todo IBERPAC, también de Telefónica. A continuación se cuenta con bastante detalle cómo fue el desarrollo de Internet y su llegada a España, destacando el papel de la red IRIS y la asignación de los primeros dominios '.es'. Finaliza destacando algunas empresas importantes, y el especial papel del servicio InfoVia de Telefónica. Añade también un anexo sobre algunos servicios especiales como la videotelefonía, la telegrafía, el télex o el hilo musical.

  • '8. Las comunicaciones en las empresas': Comienza explicando el acceso basado en la red telefónica mediante los modems, para luego pasar a elementos de red empresarial como los hubs, bridges o routers. Se revisan las redes de área extensa de aquella época, con el protocolo X.25 como gran protagonista, y las redes locales con empresas y soluciones como Novell Netware, Banyan Vines, Microsoft LAN Manager, AppleTalk, IBM Lan Server y las redes Token Ring, la StarLAN de HP o ARCNet. También se mencionan los fabricantes más importantes del momento en equipos de red como Cisco, Cabletron, Bay Networks 3Com, etc. De España se destaca el especial papel de las empresas Teldat y Payma. Este capítulo incluye cinco anexos dedicados, respectivamente, a los emuladores de terminal, el protocolo SNMP, la solución NetBEUI de Microsoft, el nacimiento de la redes WiFI y el Bluetooth.

  • '9. Software, programación y bases de datos': En un capítulo corto, se habla del software con especial foco en las bases de datos. Se nos recuerdan los primeros pasos del desarrollo software con lenguajes como ALGOL, RPG, Basic, Pascal o Logo y el nacimiento de SQL. En cuanto a bases de datos, se nos recuerda su historia y algunas soluciones sobre todo del ámbito del ordenador personal, con nombres como dBase, Clipper, Access o FoxPro. Se menciona brevemente el nacimiento del software empresarial (ERP y CRM) y se finaliza repasando las aportaciones de las empresas más relevantes como Oracle, SAP, Informix, Siebel o Navision.

  • '10. Normas, marcos y estándares': Un repaso, no muy extenso, de elementos legales y normativos internacionales y en España, así como de los estándares y organizaciones de estandarización. Por las páginas de este capítulo desfilan entidades como el NIST, UIT-T, EIA, IEEE, 3GPP, ISO y, en España, Aenor. También se mencionan marcos de trabajo como ITIL o PRINCE2 y, en el caso español, Métrica3.

  • '11. Empresas y logos para recordar': Aunque aparecen en otros capítulos nombres e historias de empresas relevantes, éste capítulo está específicamente dedicado a realzar las empresa que, a juicio del autor, más influyentes fueron en esta época. De España elige a Telefónica, Alcatel, Grupo Indra, Amper, Fundesco, IECISA, Dynsa, Compusoft y Compuceter. De las multinacionales que llegaron a España, se nos habla de IBM, Microsoft, Apple, Hewlett Packard, Oracle, Sun Microsystems, DEC, Bull, Cisco y Dell.

  • '12. Antes de la ciberseguridad actual': Dado el conocido interés del autor en la ciberseguridad, éste capítulo era obligado. Se nos recuerda cómo fueron cristalizando los mecanismos de cifrado tanto simétrico como asimétrico, los certificados digitales, la firma electrónica, y un largo etcétera de elementos de seguridad. Se nos habla también de los virus y algunos que fueron tristemente célebres en la época como Creeper, Rabbit, Viernes 13, Ping-pong, etc También se nos habla de los primeros antivirus de McAfee, Symantec, Microsoft y con especial foco en las españolas Anywhere y Panda. También se repasan algunas empresas españolas relevantes en aquel momento como IP6 Seguridad, Grupo SIA, GMV, S2 Grupo y S2sec. Y ya en anexos, se nos habla de la LOPD, de las conferencias de Hackers, de hackers españoles famosos y del nacimiento de las técnicas forenses.

  • '13. Sociedad ¡Cómo hemos cambiado!': Acercándonos ya al final, el autor contempla los grandes cambios sociales que han venido de la mano de las tecnologías de la información y las comunicaciones. Dedica mucho espacio a revisar la situación y cambios tanto en la enseñanza universitaria, como en formación profesional, EGB y Bachillerato, escuelas de negocio y formación no oficial. Es divertida la reseña de apariciones de las tecnologías en el cine y la televisión. También revisa el impacto de la movilidad y las redes WiFi, el torrente de anglicismos y la posición de la RAE, evolución en prensa y remata con el surgimiento de los eventos de tecnología.

  • '14. ¡Llegó el efecto 2000!': Y cierra el libro en un año redondo, el 2000, al que acompañó el célebre 'efecto 2000'. Se habla de la situación de los sistemas a finales del siglo XX, en qué consistió el efecto 2000, las acciones que se tomaron y cómo se vio en el caso concreto de España.

Se remata el libro con dos anexos y una bibliografía. El primero de los anexos es un censo explicado de las personas más destacadas, a juicio del autor, en estos 25 años de historia en el mundo de la tecnología, tanto a nivel internacional como en España. En el segundo, se cuenta el nacimiento de la inteligencia artificial.

'Cuando fuimos jóvenes' es un formidable ejercicio, tanto de documentación como de memoria, una memoria que se beneficia de la muy larga y variada trayectoria profesional del autor, que ha vivido es primera persona, como demuestra con frecuencia a lo largo del libro, muchas de los eventos que cuenta, ha conocido personalmente a muchos personajes y empresas que menciona, y ha trabajado de primera mano con muchas de las tecnologías o soluciones que aparecen. El resto lo rellena con su curiosidad e investigación.

Un recorrido detallado y documentado incluyendo abundante material gráfico, parte de él de la propia colección del autor. Y un recorrido riguroso, pero donde también hay lugar para la anécdota, para la sonrisa y, por supuesto, para la nostalgia.

Un libro que disfrutará cualquiera que, como yo, haya vivido esa misma época, que haya conocido o estudiado esas mismas tecnologías, que reconozca a personas y empresas. Y un libro que, ya para los más jóvenes, puede aportar perspectiva y un mucho mejor entendimiento de la tecnología actual y de cómo y por qué estamos donde estamos, y cómo hemos llegado hasta aquí.

Martiniano Mallavibarrena

(Fuente: Ficha de autor en Amazon)

Martiniano Mallavibarrena
Martiniano nació en Asturias a finales de los años 60 aunque lleva gran parte de su vida viviendo en Madrid. Ingeniero técnico (Grado) en Telecomunicación (UPM) con un máster en Dirección de informática (IDE-CESEM) y otro máster en Análisis e Investigación Criminal (UDIMA) tiene más de 30 años de experiencia en multinacionales de Tecnología como INDRA, Telefónica, Microsoft o SS&C Blue Prism.

Escribe regularmente sobre tecnología y criminología, sus dos grandes pasiones.

Docente ocasional, es ponente habitual en clases magistrales o conferencias sectoriales.

Vive con su familia al norte de Madrid (España).

Puedes conocer más del autor visitando su perfil en LinkedIn.


Ficha técnica:


EDITORIAL: Autoeditado
AÑO: 2024 
ISBN: 979-8322170686
PAGINAS: 400

miércoles, 11 de septiembre de 2024

Notas sobre aprendizaje por refuerzo (I): Procesos de decisión de Markov

Inicio con este post una serie más o menos extensa de artículos de carácter algo técnico sobre aprendizaje por refuerzo ('reinforcement learning'), una serie en que iré recogiendo aspectos que me parecen claves o interesantes de este mecanismo de aprendizaje propio del campo de la inteligencia artificial.  

Inciso: El porqué y el cómo de unas notas sobre aprendizaje por refuerzo


¿Por qué dedicarle toda una serie de posts al tema del aprendizaje por refuerzo'

Bueno, se trata de una de las formas fundamentales de aprendizaje y, además, la que parece estar más cercana a la forma de razonar humana. Una forma de aprendizaje, también, mucho más económica en datos y, cabe pensar, que por ende en consumo energético.

Una forma de aprendizaje, además, que está presente, por ejemplo, en el entrenamiento de modelos generativos tipo GPT y, una forma de aprendizaje muy interesante, probablemente central, para la consecución de agentes autónomos inteligentes, incluyendo robots cognitivos avanzados y llegando a los robots humanoides, temas a los que, como expresé en el post 'Los robots, el inicio de curso y los cantos de sirena' tengo interés en dedicar tiempo de estudio e investigación.

Y me decido a convertir parte de ese estudio en una serie de posts por dos motivos: por una parte porque el escribirlo me ayuda a mí mismo a simplificar, estructurar e incluso asimilar los mensajes, por otro, porque espero que, al menos a una parte de la audiencia de este blog, le pueda resultar muy interesante.

No tengo un plan cerrado de cuántos posts compondrán la serie ni los temas concretos de cada post. Los iré publicando a medida que vaya identificando aspectos que creo conviene explicar, y a medida que avanzo en la lectura del libro 'Deep reinforcement learning' de Aske Plaat que utilizaré como base.

No quiere esto decir que todos los posts de Blue Chip vayan a versar sobre este tema durante un tiempo. No. Junto con los posts de esta serie intercalaré artículos sobre otros temas completamente diferentes, para dar variedad y rebajar la 'intensidad'.

Y hablo de intensidad porque, aunque intentaré hacer los posts lo más asequibles, sencillos, cortos y estructurados posible, no se trata de un tema sencillo y no puedo garantizar que siempre vaya a ser fácil hacerlos sencillos de entender. 

Pero bueno, lo vamos a intentar.


Un comienzo curioso: los procesos de decisión de Markov


Y empiezo la serie de una forma que puede resultar sorprendente: hablando de procesos de decisión de Markov, una teoría ya bastante antigua y que, dicho así, puede parecer que no tiene nada que ver con el aprendizaje por refuerzo. Pero en seguida veremos que tiene muchísimo que ver.


Problemas de decisión secuenciales y el objetivo del aprendizaje por refuerzo


En efecto, siguiendo lo que indica Aske Plaat en el segundo capítulo de su libro, el aprendizaje por refuerzo se utiliza para resolver problemas de decisión secuenciales, es decir, procesos en que un agente ('agent'), tiene que adoptar una serie de decisiones o acciones en secuencia (una detrás de otra) hasta conseguir resolver el problema, un problema que se produce en un cierto entorno ('environment') con el que el agente interactúa.

¿Y qué significa eso de 'resolver'? 

Pues, en este contexto, se trata de encontrar la serie de acciones a realizar por el agente que conduce a la mayor recompensa ('reward') posible, por ejemplo, ganar una partida en un juego de mesa, o que un robot llegue de la forma más rápida posible a un cierto punto en el espacio.

No es casual del todo el que mencione como ejemplos un juego y un robot porque, en efecto, juegos y robots son dos campos muy importantes de aplicación del aprendizaje por refuerzo.

En el caso de los robots, mis seguidores más fieles pueden recordar el vídeo 'Los conceptos de robot' de mi proyecto 'The robot notes' en que acabo indicando que el concepto base para definir lo que es un robot es el de un agente inteligente artificial.


Estados y políticas


Cuando se modela un problema de este tipo hablamos de que el entorno puede estar en diferentes estados (por ejemplo, la posición de todas las piezas en un tablero de ajedrez).

El agente (por ejemplo el jugador humano o el programa de inteligencia artificial), puede tomar una serie de acciones (movimientos de las piezas permitidos) que cambian ese estado (la situación de las piezas cambia tras la acción y, por tanto, el estado), es decir, el entorno experimenta una transición de un estado a otro. Tras cada movimiento, el agente (el jugador) recibe una recompensa (sobre todo, si finalmente gana, aunque eventualmente se podría obtener una recompensa por una situación mas ventajosa).

El agente (el jugador) aplica una política ('policy') que, dicho informalmente, podríamos decir que son los criterios para decidir su acción en un estado dado.

Y ya armados con este nuevo vocabulario, podemos decir que el aprendizaje por refuerzo busca encontrar la mejor política para operar en un entorno interactuando con él.


La propiedad de Markov


Pues bien, un proceso de decisión de Markov exhibe la denominada propiedad de Markov, a saber, que el estado siguiente sólo depende del estado actual y de las acciones disponibles para ese estado.

Lo que esto quiere decir es que no se guarda memoria de los estados anteriores ni se tiene ningún otro tipo de influencia.

Puede parecer o no que esta propiedad es muy restrictiva, pero lo cierto es que muchos casos prácticos reales se modelan con éxito con base en este tipo de procesos de decisión.


Elementos de un proceso de decisión de Markov


Representación de un proceso de Markov como grafo

Con todo lo anterior, podemos identificar los cinco elementos que definen un proceso de decisión de Markov


  • Estados: Un conjunto finito de estados legales. Cada estado define completamente la configuración de un entorno o problema en un momento dado.

  • Acciones: Un conjunto finito de acciones aplicables, siendo potencialmente diferentes las acciones aplicables en cada estado.

  • Transiciones: Indica la probabilidad, para todas las combinaciones posibles de estados y acciones, de que la aplicación de una acción concreta, en un estado concreto, haga cambiar (transicionar) al entorno del estado actual a otro estado diferente.

  • Recompensas: Conjunto de recompensas, es decir, recompensa que recibe el agente para cada una de las transiciones de estado posibles.

  • Factor de descuento: Que modula la, digamos, importancia de las recompensas recientes frente a las lejanas. Se trata de algo ya muy ligado al mecanismo de aprendizaje propiamente dicho.


Por supuesto, hay muchísimo más que contar de este tipo de procesos de decisión, y mucha formalización y formulación matemática que, al menos de momento, en este post he obviado en aras de la simplificación.

No descarto que tenga que ampliar más información en futuros artículos, pero de momento lo dejo aquí.


Conclusiones


Los algoritmos de aprendizaje por refuerzo trabajan con procesos de decisión secuenciales donde un agente interacciona con un entorno y donde existen unos estados del entorno, unas acciones disponibles para el agente, unos transiciones de estado en el entorno consecuencia de la aplicación de acciones y unas recompensas que obtiene el agente como resultado de esas transiciones.

Dentro de este tipo de problemas, son muy relevantes los procesos de decisión de Markov que, en esencia, se distinguen por que no tienen memoria ni tampoco influencias externas: solo dependen del estado y las acciones aplicables en cada momento.   


viernes, 6 de septiembre de 2024

Los nuevos ciudadanos inteligentes, según Luis Alberto Santos

'Smart Citizens' es un libro que proporciona una visión centrada en las personas del entorno digital actual. Aunque la tecnología está siempre como telón de fondo, no se trata de un libro tecnológico sino que, más bien, habla de cómo la tecnología afecta a las personas y a nuestro entorno y lo que deberíamos hacer a nivel tanto individual como colectivo. 

El autor se concentra, fundamentalmente, en tres tipos de problemáticas:

  • El talento (su desarrollo y papel en el mundo digital), que se trata en una primera parte titulada 'El mundo ya no es lo que era' y que abarca los cinco primeros capítulos
  • El entorno urbano (y aquí el autor se concentra bastante en la idea de las 'Smart Cities')
  • Sostenibilidad (bastante entremezclado con el anterior). Esta problemática y la anterior se recogen en la segunda parte titulada 'La ciudad de hoy... y de mañana'

El libro comienza con una introducción en que el autor nos da algún datos sobre la elaboración del libro, las motivaciones para escribirlo y alguna perspectiva sobre la transformación digital.

A partir de ahí, la obra se estructura en nueve capítulos, a saber:

  • 'La revolución del talento': Describe cómo la tecnología está provocando cambios en el entorno social y, sobre todo, laboral, cómo esos cambios pueden suponer la destrucción de puestos de trabajo y cómo, en el fondo, ello realza la importancia del talento y la necesidad de desarrollarlo. En ese camino, el autor aboga por una actitud positiva y constructiva.

  • 'El tsunami tecnológico': Realiza un rápido repaso por algunas de las tecnologías más transformadoras e influyentes actualmente como la robótica, el Big Data, la inteligencia artificial, Internet de las Cosas, blockchain, comunicaciones 5G y por satélite, la impresión 3D, la realidad virtual y aumentada, el cloud computing, la nanotecnología o la biotecnología, y destaca la necesidad de flexibilidad para adaptarse a los cambios, así como la creciente importancia de elementos intangibles como el talento y la creatividad.

  • 'El nuevo mundo': Es una firme llamada, en este contexto tecnológico y de cambio, a la conciencia, responsabilidad e iniciativa individuales, a la necesidad de que cada uno tome el timón para dirigir su propio desarrollo.

  • '¿El futuro es STEM?': Repasa algunas de las realidades del panorama laboral pero apuesta por el desarrollo no solo de los conocimientos STEM sino por una visión más integral, y destaca elementos como la posibilidad del trabajo como 'freelance' o las seis habilidades más importantes: talento y creatividad, formación continua, flexibilidad, colaboración, gestión de la marca personal y pasión.

  • 'El renacer del aprendizaje': Se enfoca en el talento, destaca la necesidad del aprendizaje y también desarrolla mucho la figura del mentor.

  • 'Nuestro escenario vital': Con este capítulo el libro hace un cambio de tercio que nos conduce al mundo de las 'smart cities'. En este capítulo, en concreto, se repasa el desarrollo histórico de las ciudades, y se identifican algunas problemáticas actuales del entorno urbano.

  • '¿Cómo te mueves?': Se concentra en el ámbito de la movilidad en entornos urbanos, identifica problemáticas, especialmente ligadas al uso de vehículos con motores de combustión, repasa algunas alternativas como vehículos eléctricos o híbridos, así como medios del tipo bicicleta. También revisa modelos de uso más eficientes como el 'carsharing', finalizando con el vehículo autónomo.

  • 'De city a smart city': Se entra de lleno en el concepto de 'Smart' city', que define como la simbiosis entre ciudadanos inteligentes y nuevas tecnologías. Colateralmente, aborda también una descripción de las denominadas soluciones BIM ('Building Information Modelling').

  • 'Prosperidad sostenible': Aunque ligado a todo lo relativo al entorno urbano, este último capítulo pone foco sobre todo en los elementos de sostenibilidad, tocando aspectos como las energías renovables, la economía circular, etc

Cada uno de los capítulos se remata con un resumen en forma de 'bullets' que resumen el contenido y destacan aquello que conviene recordar.

Tras esto, el libro se remata con unas breves conclusiones donde nos recuerda los grandes cambios a que estamos sometidos, la necesidad de la actitud positiva y el foco en evolucionar los entornos urbanos.

'Smart citizens' es un libro amable y de fácil lectura que, al tiempo que hace llamadas de atención sobre algunos problemas aparejados al desarrollo tecnológico, también intenta inspirar una actitud constructiva y el desarrollo de la responsabilidad individual.

 

Luis Alberto Santos

(Fuente: Ficha de autor en el libro 'Smart citizens')

Luis Alberto Santos
Luis Alberto Santos (Salamanca, 1989), ha trabajado para distintas grandes corporaciones del ámbito tecnológico.

Aunque su carrera profesional se ha basado en la informática, las telecomunicaciones y la electrónica, desde el año 2015 se forma intensivamente para adquirir conocimientos y nuevas competencias en el ámbito de la transformación digital y las smart cities, permitiéndole conocer los cambios que se avecinan en la industria y en nuestras ciudades. De esta manera, ha unido sus conocimientos tecnológicos con otros organizacionales, lo que le otorga una visión más ampliada del sector.

Apasionado del talento y de las nuevas tecnologías, divulga acerca de los desafíos del siglo XXI: telecomunicaciones, transformación digital, management,

Puedes saber más del autor, visitando su página oficial o consultando su perfil en LinkedIn.

Ficha técnica:


EDITORIAL: Autoeditado
AÑO: 2024 
ISBN: 978-1718079366
PAGINAS: 169

jueves, 5 de septiembre de 2024

Los robots, el inicio de curso y los cantos de sirena

Después de un par de semanas en que tengo que reconocer que había dejado un poco abandonado el blog (el último post publicado antes de éste data del 12 de Agosto) vuelvo a la carga. Así que con este artículo me pongo un poco a llevar a cabo eso que se suele denominar 'el inicio de curso'.

Y lo hago, más que desarrollando un tema concreto, señalando tres elementos o tres movimientos de la ultimísima tecnología y mercado, tres elementos que están acaparando titulares y mensajes, pero sobre los que en general se aporta (al menos en lo que he visto hasta ahora) poco detalle, lo cual me hace mantener alguna reserva sobre su situación real. Los tres temas son:

  • Inteligencia artificial generativa para control
  • El 'boom' de los agentes inteligentes
  • El auge de los robots humanoides

Veamos algún breve comentario sobre ellos. Serán comentarios muy breves, porque, realmente, hasta que no proceda a una investigación y estudio más detallado, prefiero no pronunciarme demasiado, sólo explicar un poco el terreno de juego.


Inteligencia artificial generativa para control


Como sabemos, la inteligencia artificial generativa, en su idea inicial y que le da nombre, se pensó para 'crear' contenidos: textos, imágenes, vídeos, música, etc.

Sin embargo, y no sé si incluso un poco para sorpresa de los científicos e ingenieros que la han desarrollado, la inteligencia artificial generativa ha demostrado que puede ir más allá, que no sólo puede crear un una modalidad, sino que puede combinar varias y que puede hacer tareas que exceden la mera creación y hay quien incluso la ve como un primer paso en la Inteligencia Artificial General.

Al hablar de control me refiero a la toma de decisiones, y una toma de decisiones que relaciona, entradas, estados y objetivos con las acción a realizar (salidas) y que afecta a robots, equipos autónomos, soluciones de automatización, etc.

Ya hace unos meses, en el post 'Inteligencia artificial generativa para la decisión y su uso en robots', me hacía eco de alguna experiencia de automatización en robots usando modelos fundacionales (un nombre que ya refleja, de alguna forma, ese ir más allá de la mera generación de contenidos de la inteligencia artificial generativa) y expresaba alguna reserva sobre su estado actual y sobre si, incluso en caso de éxito técnico, sería la solución más adecuada para una automatización.

Clarificar que no tengo ninguna duda de su uso en sistemas de automatización y robots para todo lo que tiene que ver con percepción o interacción con usuarios humanos, sino para el control puro y duro. 

¿Tiene más sentido un modelo generativo que un modelo basado en reglas? Y si es así ¿cuándo? A bote pronto creo que puede tener sentido pero no de manera generalizada. El estado del arte actual y la lógica de esa aplicabilidad actualmente es lo que quiero trabajar. 


Los agentes inteligentes


Casi como una extensión natural, en cierto sentido, de lo anterior, está el asunto de los agentes inteligentes, un tema del que veo bastantes titulares pero hasta ahora no he tenido oportunidad de ver mucho más.

Conviene recordar que la idea de un agente, y de un agente inteligente, no es nueva ni muchísimo menos. De hecho, los lectores habituales de este blog o que me sigan en otros ámbitos en que hablo de robótica, me habrán oído contar cómo, una de las formas de caracterizar un robot es, precisamente, como un agente inteligente.

¿Cuál es la novedad ahora?

Bueno, es en lo que quiero profundizar, pero creo que enlaza mucho con el asunto del control. Creo que se trata de utilizar nuevos avances y resultados de la inteligencia artificial, en especial la generativa, para dotar de mayor autonomía, de mayor flexibilidad, mayores capacidades de aprendizaje (seguramente apoyado en variantes del aprendizaje por refuerzo) y, por decirlo de alguna manera, de mayor 'inteligencia', a unos entes, los agentes que, aunque pueden ser robots tradicionales, parecen tender a adoptar más frecuentemente formas de robot software, y que podrían funcionar de manera colaborativa.


Robots humanoides


Finalmente, se ven últimamente muchas noticias sobre robots y, en concreto, robots humanoides, la más reciente de las cuáles, en el momento que esto escribo, es el anuncio del robot NEO Beta por parte de OpenAI.

Aparte de elementos de marketing y, seguramente, avances en materiales y en control cinemático y dinámico de los robots, así como avances en percepción, parte de ese interés, marketing aparte, enlaza de nuevo con las posibilidades que añade la inteligencia artificial generativa: mejores capacidades relacionales, eso desde luego, y puede que nuevas posibilidades en cuanto a control y aprendizaje.

Pero es posible que, sin negar avances técnicos reales, haya también mucho de imagen, propaganda, globo sonda o tanteo del mercado.

Además, algunos de los casos de uso que se insinúan en los vídeos y materiales promocionales, no tengo claro que tengan sentido práctico (aunque si el mercado lo absorbe, ya no se necesita más). Por ejemplo, no acabo de ver claro el interés (económico y de ingeniería de proceso) de aplicar robots humanoides en plantas de fabricación, como propone Elon Musk hacer con su Optimus en las fábricas de Tesla.


Investigación y los posibles cantos de sirena


Los tres temas anteriores, me fascinan desde el punto de vista tecnológico y de negocio, pero también tengo alguna reserva, como he dicho, sobre el avance real de la tecnología ahora mismo y la racionalidad, técnica, económica y de mercado de algunos de los casos de uso.

Así que, procedo a iniciar la investigación y estudio (hasta donde lo publicado y mi tiempo me lo permitan) de la verdadera naturaleza de esas soluciones ahora mismo.

Y lo hago, sobre todo porque me interesa, me apasiona, y lo uso en mi actividad profesional. Pero lo hago también, aunque sea como subproducto, como un mecanismo de defensa, como una forma de aplicar y transmitir rigor, para huir del marketing engañoso, del entusiasmo no justificado, de las expectativas infladas y, en general, de todos esos cantos de sirena que tanto abundan en el sector tecnológico.


Conclusiones


Aunque siempre sujetas al exceso comunicativo y a los cantos de sirena, en este curso que empieza, se nos muestran tres tendencias o tres tipos de soluciones fascinantes y sobre las que pretendo aplicar el rigor mediante investigación y estudio: el control basado en IA generativa, los agentes y los robots humanoides.