Buenos días a todas, ni nombres tendré que carmona.
Pertenezco al departamento de Inteligencia Artificial,
de la Escuela de Informática de la UNED
y bueno,
pues en la charla de hoy o se hablaré
de cómo desde la fundamento del aprendizaje automático,
pues de alguna manera hemos podido llegar a la revolución actual,
de los grandes modelos de lenguaje.
Antes de nada, por supuesto, quisiera agradecer vuestra invitación
a estas jornadas y, bueno, yo espero que mi charla,
pues sea sea de vuestra interés.
Fijaos antes de empezar la presentación me gustaría empezar
con esta frase,
porque creo que el futuro éxito o fracaso
de la inteligencia artificial puede que esté condicionado
por lo que se dice en esta frase,
de tal manera que si fuera fácil replicar,
lo que dice es que si fuera fácil replicar la inteligencia
de una máquina,
implicaría que somos tan simples que nunca lo conseguiremos.
De hecho, en la actualidad es obvio que la inteligencia sea.
Hemos sido incapaces de crear máquinas inteligentes,
entendiendo la inteligencia desde un punto de vista general.
Entonces ese es el estado en el que estamos actualmente.
Pues fijaos,
se plantean dos escenarios que son completamente opuestos.
Uno de ellos es qué, que realmente no somos tan inteligentes
como pensamos, a pesar de la prepotencia humana,
y que realmente seremos incapaces de llegar a un escenario
en donde en donde podamos hacer máquinas inteligentes
y el otro escenario completamente opuesto.
Es que efectivamente estamos dotados de una inteligencia,
de una inteligencia compleja
que algún día nos permitirá crear esas máquinas inteligentes,
e incluso que esa inteligencia haga que se puedan
ser incluso más inteligentes con los que nosotros,
donde hay a partir de.
Ahí se plantearían un escenario utópico, distópico,
depende de cómo manejemos esta situación.
Bueno, pues ya ha empezado hablando de inteligencia artificial,
pero fijaos que es difícil hablar de inteligencia
sin hablar de aprendizaje están íntimamente unidos,
y eso mismo ocurre en la inteligencia artificial,
es decir, la inteligencia artificial
y el aprendizaje automático están íntimamente unidos
y bueno de eso va esta charla?
Es decir, de qué va esto?
Del aprendizaje automático?
Bueno, pues empecemos.
He dividido la charla entre grandes bloques.
Empezaremos definiendo qué es esto del aprendizaje automático
o intentaremos definirlo, pero veremos que en esa definición
siempre nos falta algo.
Es difícil, digamos, dar una definición exacta.
Entonces, pasaremos a la segunda parte,
en donde trataremos de dar una definición procedimental
del aprendizaje automático, es decir, una aplicación más práctica
y en base a la cual creo que podremos entender.
Sobre todo lo que nos dice familiarizados,
que ese aprendizaje automático y en una tercera parte de la charla,
pues abordaremos el aprendizaje automático en el mundo real.
Bien, pues empecemos por la definición
o por ese intento de definición final;
fue ya Arthur Samuel.
Allá por el 1959, donde fue el primero que acuñó un intento
de definición de Machín, Learning en inglés
o de aprendizaje automático en castellano,
claro que la definición que dio fue que el aprendizaje automática
es el campo de estudio que le da a las computadoras
la capacidad de aprender sin ser programadas explícitamente,
pero eso el aprendizaje automático y el estudio que le da
la, la de aprender como una especie de definición circular;
o sea, lo definido entra en la; lo que se te intenta definir,
entra en la propia definición un poco extraño
y desde mi punto de vista, claro, y por otro lado lo de sincer,
programadas, explícitamente, lo que los que no son los que trabajamos
en el área.
Sí que sabemos lo que significa esto,
pero los que no trabajan en el área puede dar a equívoco,
porque realmente hay un proceso de abstracción en la máquina,
cuando digamos procede a aprender entrecomilla,
pero hay mucha intervención de los usuarios detrás de eso
también, con lo cual eso sin ser problemas
explícitamente ya os digo, puede puede inducir a error.
Una segunda definición
llamar reciente 1997 don Michel nos dice es una una definición
más operativa, se dice que un programa de computadora
aprende de la experiencia e respecto a alguna tarea
te y alguna medida de desempeño,
si su desempeño entre medio por mejora,
con la experiencia.
Bueno, pues esto ya estamos aquilatando un poquito más
y, desde mi punto de vista, el único problema
que hay con esta definición, el concepto de experiencia,
que se sube,
la experiencia, pues bien, quizás en el momento actual
la experiencia sabemos que es aprender de datos
y incluso se puede dar una vuelta de tuerca
más si pensamos en en otros tipos de paradigma de aprendizaje,
como es el aprendizaje por refuerzo,
podríamos pensar también que se puede aprender
de la interacción que tiene una gente con su entorno
y el análisis que hace esa gente en función
de las respuestas que le dan el entorno
cuando digamos establece una acción entonces bueno
pues como veis es difícil definir el aprendizaje automático
pero pero creo que tan difícil como, si,
cómo se intentásemos definir, que es la inteligencia natural
o el aprendizaje natural.
Creo que si todos los que estamos aquí intentamos dar una definición,
seguramente no coincidiéramos en ninguno,
es decir, es un es un término difuso que a todos sabemos lo que es,
pero a la hora de definirlo empezamos a tener problemas.
Bien, pues precisamente por esta, por este,
esta dificultad a la hora de dar una definición precisa
de que se los vence automáticos, por lo que propongo
que damos un recorrido de lo que es el aprendizaje automático
desde un punto de vista procedimental,
y para ello, digamos, utilizaremos ocho pasos
en la descripción de esta definición,
procediment procedimental de lo que es el aprendizaje automático.
Son los generales,
ahí el primero hace digamos mención al primer más hace mención
a lo que es la definición propiamente del problema que queremos resolver.
Los dos siguientes pasos están relacionados
con el conjunto de datos que vamos a utilizar para aprender,
y los últimos cinco pasó están íntimamente relacionados ya
con el modelo que se supone que sea,
que surge como resultado del proceso de aprendizaje.
Bueno, ni que decir tiene que digamos esta definición procedimental
que os voy a comentar ahora se supone que está basada
en lo que se conoce como aprendizaje inductivo,
en el sentido de que estamos presuponiendo
que el la máquina va a aprender a partir de datos.
Hay otros paradigmas, digamos que se han demostrado menos potente,
pero digamos que son más y que son más antiguos,
pero que entendáis que aparte del aprendizaje,
inductivo desde el punto de vista automático.
Existen otros paradigmas que digamos no se basan precisamente en datos.
Bueno, pues empezamos con el primero.
El primer paso, definición del problema.
Fijaos que a modo de ejemplo no podíamos plantear predecir
el éxito o fracaso de un alumno de la UNED
durante su primer año de estudios en función de, por ejemplo,
de la nota de acceso de la universidad
y la dedicación al estudio.
Hemos sido capaces es un problema relativamente simple,
pero lo que quiero insistir en este paso es que muchas veces
la definición del problema es un problema Tercet,
en el sentido de que bueno, pues ere
puede ser un problema lo suficientemente de grano grueso
para que tengamos que dividir el problema en sus problemas.
Puede que haya restricciones a la hora de, digamos,
de establecer,
en función de cómo vamos a hacer esa tarea de aprendizaje,
pues en este caso está muy claro que lo vamos a intentar
a partir de la nota de acceso y de la dedicación al estudio,
pero eso tampoco puede estar claro a priori y tendríamos que especular
sobre qué características vamos a incorporar
para que emerja ese proceso de aprendizaje.
Bien, pues este sería el primer paso,
como digo, definición del problema.
El siguiente paso
dado que presuponemos que vamos a aprender a partir de datos,
sería la de la recolección de datos propiamente dicha.
En este caso aludiríamos al histórico de la UNED.
Intentaremos recopilar esta información de la nota de acceso
de los alumnos con la que, con la que han entrado a la universidad,
la dedicación de horas, semana, horas,
semana que han dedicado al estudio y a cada uno de esos registros,
podremos saber si han tenido éxito o fracaso en su primer año.
Contribuiríamos y recuperaríamos esa base de datos,
y pasaríamos al tercer paso, que es la preparación de datos.
Y por qué este paso necesario?
Porque es muy rara vez los datos brutos, los datos originales
van a estar lo suficientemente van a venir en un formato
lo suficientemente adecuado como para que pueda ingresar directamente
en el algoritmo de aprendizaje que queramos utilizar.
Entonces, bueno, pues aquí hay que hacer una serie
de operaciones previas que recibe el nombre de procesado
y que están encaminadas, por ejemplo,
a eliminar el ruido de los datos.
Que haya datos que, o sea, haya información faltante,
haya errores en los datos, haya que completar,
o sea, allá de valores repetidos, ejemplos repetidos,
por ejemplo, puede que sea necesaria la normalización de los datos
antes de que entren al algoritmo.
Bueno, pues esto, todo esto se conoce con el nombre
de procesar también puede ser interesante en este paso,
hacer una visualización, una visualización de los datos
en nuestro caso fijados es fácil,
porque tenemos, vamos a utilizar dos características.
Lo podemos representar en el plano,
pero imaginar que tenemos más de tres características hay,
empezamos a tener problemas porque no podemos representar más
de otras características.
No podemos visualizar más de tres características.
La buena noticia en este caso,
que existen técnicas de visualización,
que nos permiten de forma aproximada,
mediante una serie de técnicas, de hacernos una idea de bueno,
de cómo, de de cómo están Satec como visualmente,
son los datos y un último, una última acción.
Este paso sería el conjunto de datos que tenemos ya listo
para para utilizarlo en el modelo
para aprender el modelo, pues hay un paso adicional
que sería la separación de los datos en dos subconjuntos,
uno entrenamiento y otro detraes de test, perdón, el entrenamiento.
Lo utilizaremos para con su propio nombre,
indica, para entrenar el modelo y el detalles,
para evaluar el modelo aprendido.
En nuestro caso, bueno, pues aquí tenéis,
es decir decirlo datos con lo que vamos a trabajar
es un ejemplo de juguete, evidentemente,
pero ya fijados en esa representación de los datos,
ya estamos intuyendo que el problema no va a ser especialmente difícil.
Que los datos estamos hablando,
un problema de clasificación y parece que los datos están,
se o sea, están, se pueden separar linealmente
y, por consiguiente, bueno, pues intuimos
que no va a ser muy difícil, en este caso resolver.
El aprendizaje de clásicos, perdón, la tarea de clasificación
mediante aprendizaje automático.
Bueno, pues hemos acabado con con lo que se hace, con los datos,
y ahora pasamos a una serie de pasos que están implicados,
íntimamente implicados, precisamente con el proceso de aprendizaje
de y de cómo emerge o cómo,
o sea, cómo obtenemos ese modelo de aprendizaje a la hora
de elegir el modelo, más adecuado, el algoritmo de aprendizaje,
si lo acredita el ritmo de aprendizaje más adecuado,
primero que tenemos que identificar,
es el tipo de tarea que está inherente al problema
que queremos resolver.
En nuestro caso, parece obvio que si lo que queremos es predecir
si el alumno tendrá éxito o fracaso,
estamos hablando de problema de clasificación.
Es decir, queremos clasificar correctamente
cada alumno en la clase a la que corresponde,
pero, bueno, puede haber otros problemas de regresión.
El problema puede ser de regresión, de agrupamiento y bueno,
y incluso podríamos hablar de otro tipo de tareas,
también a la hora de elegir el modelo,
deberíamos tener en cuenta, como es la calidad de los datos,
aunque sea o sea hablado antes de que se pueda hacer
una tarea de procesamiento.
Puede que en algunos casos no tengamos suficientemente conocimiento
para eliminar ese ruido.
Entonces, esto podría ser un condicionante para elegir
algoritmos que efectivamente son tolerantes al ruido en los datos,
con lo cual podría ser un criterio también para ayudarnos
a elegir el modelo.
También la escala, la escalabilidad, entendiendo por escalabilidad
el la propiedad de que hay algunos algoritmos
que funcionan bien hasta un determinado tamaño de datos
y en el momento que el volumen de datos empieza a aumentar,
pierde sus características
y deja de ser eficiente, eficaz, eficiente y también otro.
Otro asunto importante a la hora de decidir.
El modelo es el de la interpretabilidad.
Por qué?
Pues porque hay, hay veces que cuando queremos dice.
Cuando queremos crear un sistema que aprende automáticamente del dato,
no solamente queremos llegar a ese sistema a obtener ese sistema,
sino que también queremos que cuando el sistema no establezca una decisión
queremos saber por qué tomó esa decisión.
Entonces estamos hablando en este caso
de que el modelo debería tener características
de interpretabilidad, bien, pues fijados en nuestro caso
en nuestro caso.
En ese proceso de elección del modelo ya hemos adelantado
que era una especie de bueno, es un problema de juguete,
la tarea tarea de clasificación, relatividad, relativamente simple.
Lo datos inseparable linealmente, bueno,
pues lo vamos a abordar este problema mediante un modelo
o mediante un algoritmo de aprendizaje que es el, bueno,
pues el famoso perceptor no sé si os suena de oída os
o suena o suena perfectamente, sea ecólogo.
Conoce perfectamente un perceptor no es sino una red neuronal
muy simple que consta de una única neurona
y esa neurona tiene como misión.
Hacer una suma ponderada de la centradas,
incluyendo el vallas que tienen una entrada constante a 1,
esa suma ponderada de las centradas.
Se aplica una función no lineal, que en este caso
es una función escalón, y dependiendo de que esa suma ponderada,
las entradas sea mayor o menor que 0, la red
como tenéis aquí nos dará un uno o un 0.
Nos da dos posibles dos posible valores
que podemos identificar con dos clases que tenemos
en este problema de clasificación, éxito o fracaso.
Podemos asignar el al éxito o el fracaso?
Es, digamos eso a esa arbitraria.
Bien.
Pero fijaos podemos dar un paso más y la inadecuación que tenéis arriba
si la igualamos a cero es en ecuación,
simplemente es la ecuación de un plano,
un plano que si hacemos una operación algebraica, básica, que es
dividir todos los miembros de la igualdad por un doble,
su uno tenemos esta otra expresión y esa expresión
no es sino la expresión de la ecuación de una recta
en dónde la pendiente me viene dada
por el cociente entre el parámetro uvedobles,
su 12 dobles uno el punto de corte con la lge viene dado por bls b
entre su y esto es muy interesante, muy interesante
desde el punto de vista de la interpretabilidad,
por qué?
Pues porque sí el proceso de aprendizaje para este modelo
consiste en.
Consiste en que tenemos que aprender que valor de los parámetros,
sube doble, uno w ha dado, sube doble b;
son los correctos para que esa ese modelo
nos clasifique correr correctamente los ejemplos,
pues, como digo, el aprender esos tres valores;
realmente lo que nos va; o sea, podemos ver este proceso
como el proceso de aprender el, la pendiente
y la coordina; el punto de corte en el eje
de una recta que precisamente la vamos a utilizar
para separar dos regiones en el plano en este caso,
y cada una de esas regiones corresponderá a una de las clases que
con las que estamos trabajando entonces aquí en este caso el modelo
es altamente interpretable.
Por qué?
Pues porque digamos en el proceso
de aprender estos parámetros, que son intrínseco del modelo;
lo podemos transformar al hecho de encontrar una recta
en el plano que nos divida dos regiones,
y esas dos regiones eran las que nos determinaran
cuáles son las clases a la que pertenece el ejemplo.
Bueno, pues hemos elegido ya nuestro modelo,
el perceptor y pasamos ahora al, digamos al proceso interesante,
que es el de entrenamiento del modelo donde emerge ese proceso
de aprendizaje, recordar, dividimos nuestro conjunto de datos
en datos de entrenamiento y datos de entonces.
En esta esta fase
solamente utilizaremos los datos de entrenamiento, bien,
pues citados en la colina aprendizaje del perceptor,
aunque muy simple.
Los pesos que veíamos ante los tres pesos
se van a ir actualizando sucesivamente,
y el criterio de estabilización es en cada interacción,
se le va a ir a cada uno de esos países
a sumar un incremento que puede ser positivo ni negativo,
que viene dado por la diferencia entre la salida de la red
y la que debería dar por la coordinada correspondiente
del ejemplo sui y por un factor
Alfaques que recibe el nombre de tasa de aprendizaje,
cuya misión es establecer cómo de rápido o lento,
queremos que sea el aprendizaje, toda es una cosa interesante.
Fijaos es muy simple.
Este mecanismo es que en aquellos ejemplos
en donde la salida esperada coincida con la salida de la red,
esto es 0.
Significa que para esos ejemplos no es esos ejemplos
que están ya bien clasificados,
no van a intervenir en el proceso de actualización
de los pesos.
Solamente intervendrá intervendrán aquellos ejemplos
en donde no a la salida esperada, con la proporcionada por la red,
y son los que intervendrán en el ajuste de los parámetros, w,
que, en definitiva será el ajuste de la red, esta que estaba buscando
que no separe los ejemplos en dos regiones que nos permitan realizar
esta clasificación correctamente.
Bueno, pues empezamos la época inicial que vamos a llamar época 0,
dado que no tenemos información de de cuál,
cuáles podrían ser los primeros valores que les podamos,
podemos dar esos pesos,
pues sencillamente recurrimos a crearlo.
De forma aleatoria asignarle el valor de forma aleatoria,
bien pues imaginaos, que lo valore,
que me lo ha demandado de forma aleatoria.
Estos pesos se corresponde con esta recta y esta recta,
pues todos estaremos de acuerdo que, por poner por lo pronto
clasifica mal.
No clasifican malo, ejemplo,
porque lo suyo es que está recta reparta el espacio en dos regiones
de tal manera que los ejemplos azules se queden en un lado
y los círculos rojos se queden en otro.
Bueno, bueno, pues conecte mecanismos de aprendizaje.
Empezamos una serie de ciclos o de épocas
y fijaba lo que empieza a ocurrir.
Si pasamos a la época 1,
pues hay un desplazamiento de la recta de tal manera.
Insisto, ese desplazamiento de la red.
Ese movimiento de la resta solamente es causada por aquellos elementos,
porque hay dos ejemplos que están clasificados.
Estamos en la época uno esa es la actualización de la receta,
que corresponde a una a una actualización de parámetro.
En la época dos se sigue desplazándola recta
en la época tres se sigue desplazando con mala recta y en la época cuatro
tenéis el resultado que aparece.
Imaginaos que el usuario cuando lanzó este algoritmo decidió
que para resolver este problema solamente íbamos
a utilizar cuatro épocas,
y este es el resultado de la cuarta época.
Fijaos que si tratamos de evaluar el modelo,
en este caso la ecuación de la recta,
cómo se comporta.
En el conjunto internamiento vemos que hay un un ejemplo
que está mal clasificado, tendríamos un error,
y si queremos establecer la precisión del modelo en función
del número de ejemplos que tenemos,
esto correspondería a una precisión de un 96 con nueve por 100,
pero eficaces estas hacer un poco de trampa,
es decir, si tratásemos de dar este índice
como el índice de prestaciones del modelo a futuro,
es decir, para ejemplos no vistos por el modelo
estaremos haciendo trampa,
porque estamos utilizando los mismos ejemplos
que hemos utilizado para el entrenamiento.
Lo estamos utilizando para evaluar el modelo y eso,
como digo, es un poco de trampa.
Lo suyo es que evaluemos el modelo con datos que no han sido vistos
por por él, por el proceso de entrenamiento,
y es por lo que entonces pasamos a la siguiente etapa,
que es justamente la evaluación del modelo
y a que vamos a a aquella división que he comentado al principio
de los datos entrenamiento
y ahora nos olvidamos de los dato entrenamiento y pasamos a los datos,
a los datos de.
Bien, pues aplicamos el modelo aprendido,
que aprendemos en el proceso de enterramiento; quiere estar recta
y lo aplicamos ahora al conjunto de.
Fijaos que en este caso tenemos dos errores.
Dos errores que equivale equivaldría a una precisión del 88
con dos por 100,
fijado que ha defendido un poquito las prestaciones,
pero también es lógico porque, como decían en el primer caso,
no es muy justo hacer esa evaluación puesto que es sobre datos
que se utilizaron para aprender.
Bueno, pues esto ya es más,
digamos más lo podemos utilizar más como predicción
de cómo se comportará el modelo en el futuro.
Pero fijaos podemos hacer al podemos hacer todavía algo más
y está relacionado con el séptimo.
Pienso con el texto paso.
Séptimo paso, verdad que es el ajuste de parámetros del modelo
y que son esto de los híper parámetros
fijaos que en todo momento,
en lo que hemos denominado proceso de aprendizaje
era el de aprender los parámetros,
w, que eran los que marcaban la ecuación de la red,
que nos iba a dividir el plano en dos partes,
y esos, en principio,
son los parámetros de lo que hemos hablado, y esos
son los parámetros que se actualizan durante el proceso de aprendizaje.
Sin embargo, hay otros parámetros que también
intervienen en el proceso, que son parámetros de usuario,
que el usuario debe de elegir antes de que le dé al botón
para que la máquina empiece a realizar este proceso
de aprendizaje,
y eso ya lo hemos visto o lo hemos mencionado.
El número de épocas.
Recordar que yo decía que el usuario decidió
que para resolver este problema le iba a dar solamente cuatro épocas,
otro sería el de la tasa de aprendizaje,
que también os he contado ante que dependiendo de su tamaño,
el proceso de aprendizaje,
que puede ser más lento o más rápido
y eso puede tener también sus inconvenientes
y otro otro parámetro en nuestro caso sería el de la configuración inicial
de parámetro, que hemos decidido que sea de forma aleatoria.
Bien, pues entonces la pregunta es.
Oye, y si en lugar de aumentar haber elegido cuatro épocas,
decidimos aumentar el número de épocas?
O si la tasa de aprendizaje,
el valor que le pusiste ponemos otro valor
o si hacemos una configuración inicial distinta
de los parámetros?
Cómo se comportaría el modelo?
Bueno, pues hagamos el experimento recordar que dejamos,
decidimos que el algoritmo llegaba llegue de llegar a solamente
hasta la época, 4.
Bueno, pues aquí nos quedamos imaginar
que el usuario hubiera decidido que en lugar de cuatro épocas
hubieran sido cinco épocas, es decir,
una época más que hubiera ocurrido por lo que hubiera ocurrido.
Fijaos, es que ahora hubiéramos en esa actualización
de los pesos que corresponden a esta recta conseguimos ahora
establecer la separación correcta,
de tal manera que tendríamos cero errores
y un 100 por 100 de esa actitud de precisión,
pero recordar, volvemos a hacer un poquito de trampa,
porque no es esta la evaluación que deberíamos de hacer
sobre el conjunto de datos de entrenamiento,
sino que deberíamos hacerlo sobre el conjunto de 3.
Entonces, cogemos el modelo aprendido en la época cinco
lo aplicamos a los datos, detalles y vemos
que ahora en lugar de dos errores solamente ya tenemos uno bien.
Es decir, pasamos de dos errores a uno a una,
una precisión del 88 con dos al 94 con uno por 100.
Bueno, pues fijamos la influencia que tiene
la intervención del usuario, mejorar el proceso de aprendizaje,
con lo cual aquello de que las máquinas aprende automáticamente
o sin programar o bueno, pues es como decía al principio,
un poco no del todo cierto y finalmente,
pues el último paso pues ya sería el uso del modelo.
Es decir, hemos aprendido un modelo que en este caso
corresponde a la ecuación de una recta.
Esta se asume que lo que estamos utilizando
es el perceptor que lo que utilizaríamos,
pero si queréis lo podemos ver como el que el modelo aprendido,
explotación de la reza, que es esta,
que divide el espacio en dos regiones y ahora ya podríamos,
digamos, por ejemplo, hacer una interfaz de usuario
para que el modelo fuera usable
y ya no tendríamos más que coger el alumno que hiciésemos predecir
cuál va a ser su éxito de su posible de cierto fracaso.
Simplemente tendrían que coger su nota de acceso el número de horas
por semana que tiene previsto que va a dedicar al estudio,
y eso nos permitiría ponerlo en el eje de tiene el eje
y el punto representados dependiendo de que en una región
u otra pues etiquetáramos como posible cierto fracaso
de ese alumno concreto.
Bueno, pues claro, yo supongo que esta descripción
un poquito nahiz de del problema que hemos resuelto
alguien me podría decir ya.
Pero es que este problema con este problema
no vamos a ningún sitio.
Pues si efectivamente no vamos a ningún sitio,
pero yo no quiero conectados con esta,
digamos, definición procedimental de lo que es el aprendizaje automático.
No quiero quedarme con el ejemplo que hemos resuelto,
lo que me quiero quedar es con los pasos que hemos seguido
para resolverlo, porque estos pasos son hoy día vigentes,
es decir, que independientemente de la complejidad del modelo
incluso estamos hablando de la gran de modelo de lenguaje,
son estos mismos pase lo que se siguen para entrenar,
el modelo y para, digamos, obtener el modelo final.
Pero, bueno, es decir, vamos a ver, es decir,
vamos a intentar pasar de problemas de juguete a problemas del mundo real
y vamos a pasar a la tercera a la tercera parte de la charla
en donde, de alguna manera, de alguna manera,
de alguna manera veremos cómo afronta el aprendizaje automático,
diferentes problemas en ese mundo real.
Bueno, pues la primera pregunta
obviamente es la primera pregunta que nos podríamos plantear es justamente
lo que os acabo de decir es.
Has hablado de un problema muy simple,
una base de datos dos con solamente dos características
que además, sólidamente separables.
Qué ocurre si el modelo que elegimos es muchísimo más complejo imaginar,
por ejemplo, una red un perceptor multicámara,
una red neuronal que no tiene una neurona sino que tiene
diferentes capas donde en cada capa,
pues puede haber un número de neurona 50 60 además,
tener en cuenta que en ese tipo de precepto multi
capa las neuronas de una capa todas ellas están conectadas
con la neurona de la capa siguiente y a su vez, la neuronales saca
pactan todas conectadas con la neurona de la capacidad
de significa que empieza a haber explosión combinatoria
de los peso de la red que se supone que tenemos que aprender
para que esa red funcione sea que pasamos de tres parámetro
que proponía, con el perceptor multi capa; perdón,
con el percep tro pasamos a hablar de cientos miles de parámetros
que tiene que aprender el algoritmo para generar
ese modelo que no sea útil.
Entonces la pregunta es bueno, y en ese, en esos casos,
cómo se produce?
Cómo se produce el proceso,
cómo emerge ese proceso de aprendizaje,
es decir,
cómo se actualizan los pesos de la red
si estamos hablando en este caso de una red neuronal?
Bien, pues para ello vienen nuestra ayuda, el famoso,
no sé si os la método de más propague visión también conocido como retro.
Retroprogramación retro propagación del error
y que está basado en el descenso del gradiente.
Y qué es esto del descenso del gradiente?
Fijaos?
Vamos a hacer una ahora una, una a una,
una vamos a volver a reducir las cosas,
pero vea para para que luego al final de ahí que esto sigue funcionando
en sistemas más complejos,
en esta imaginar, que es la gráfica que aparece aquí hay tiene dos ejes
ordenados imaginar que esos ejes corresponden a dos parámetros.
Que nuestro modelo depende de dos de dos parámetros v,
uno v, dados por ejemplo,
y lo que se representa en el eje seta es para coda,
para cada combinación de esos parámetros
el error que tendría la red.
Si utilizásemos esos dos parámetros como valores, de tal manera que,
fijado si para la coordinada del parámetro total
y la otra coordenada nos lleva aquí pues fijaos que el error
sería bastante grande, en cambio,
si consiguiéramos ponerlo parámetros sería un doble uno de 2.
En esta posición el error sería mínimo.
Asumiendo que esa función lo que representa
es el error de que no está dándole bien,
pues el problema es que obviamente desearíamos
que los parámetros estuvieran en esta posición,
pero no lo sabemos.
Fijaos que en el ejemplo anterior
decíamos cómo iniciaríamos los parámetros de forma aleatoria
y entonces de forma aleatoria.
Puede ocurrir que de forma aleatoria empecemos en ese punto,
entonces de qué manera hacemos de forma interactiva
que los parámetros se vayan adaptando,
para que finalmente haga este recorrido
y consigamos llegar a ese óptimo, a ese mínimo global.
Bien, pues para ello surge,
o sea para ello viene nuestra ayuda, el operador gradiente,
que lo que hace es que imaginamos que estamos en esta posición inicial
el gradiente.
Lo que nos da es siempre aquella dirección,
o sea situados en un punto.
Nos da aquella dirección
donde el descenso tiene máxima pendiente.
Entonces lo que se haría
es si estamos en este punto aplicaríamos calcular,
haríamos un gradiente y daríamos un paso
en la dirección donde nos marca el ese.
Ese descenso que tiene máxima pendiente.
Entonces pasaríamos aquí cuando estamos aquí volveríamos
a actualizar los pesos y volveríamos a seguir esa dirección
donde el descenso tiene máxima pendiente
pasaríamos aquí y así sus sucesivamente
mediante una serie de iteraciones iríamos actualizando los pesos
hasta que finalmente, si tenemos éxito,
porque hay veces que podemos quedar atrapados
en óptimos locales mínimo locales,
pero como digo, si tenemos éxito,
pues llegaríamos a ese mínimo global, que es el que nos daría
la combinación de pensó que corresponde
a un modelo bien ajustado y que resuelve nuestro problema.
Entonces, y ahora, que donde tenemos que hacer el juego de magia,
hemos hablado de de un sistema que tiene dos parámetros,
pero imaginados que tiene 100, que tiene miedo
y que tiene cientos.
Bueno, pues la buena noticia es que, independientemente del número
de parámetros que tenga nuestro sistema,
el la idea del método del descenso del gas del gradiente
sigue funcionando,
porque da igual la dimensionalidad que tengamos que el operador
gradiente siempre nos seguirá dando la dirección
en donde el, la, la dirección en donde el descenso
tiene esa máxima pendiente,
con lo cual veáis que, bueno, pues ya estamos complicando el sistema,
pero hay recurso para para solucionarlo decir que aún en el caso
de que tengamos modelos más más complejos existen algoritmo
muy potentes que nos permiten actualizar esos pesos
y ya os digo si no estamos hablando ni de tres ni de días,
sino que podemos estar hablando como en el caso de los modelo grandes
dialogantes modelos de lenguaje de de del gigas
de o sea, del orden de gigas, de parámetros y es, insisto,
un método que se utiliza y que es muy potente.
Hicieron datos, no son linealmente inseparable
porque hemos visto que en nuestros campos de juguete,
pues tenemos la suerte de que mediante una recta
es decir era separables mediante una red,
un plano.
Pero bueno,
en definitiva, que eran separables linealmente.
Pero, y si no lo son, bueno, pues entonces parece parece
muy intuitivo que lo que tendríamos que recurrir
sería a algoritmo más complejos que lo que existe.
Como vemos, estamos hablando como digamos algoritmo,
pase la red de neuronales.
Entonces, como digo,
sería para el caso de que los datos no fueran merece palabra
recurriríamos algoritmo más complejos que como digo existen dentro
del abanico de algoritmo del aprendizaje automático.
Pero, fíjese, fijaos aquí hay que tener un cuidado,
hay que tener un pequeño cuidado,
porque la complejidad está reñida con la interpretabilidad del modelo.
Eso significa que hay modelos o algoritmo que son muy potentes,
pero que a la postre son cajas negras.
Es decir, es muy difícil
establecer en cuál sería el modelo equivalente entendible.
Por el humano que subyace a ese modelo aprendido.
Sería prácticamente imposible.
Es cierto que hay líneas de investigación
que iban en ese sentido.
Actualmente está puesto muy de moda lo de la interpretación,
lo de la interpretación, la interpretabilidad de los modelos
y, sin embargo,
digamos, hay otros algoritmos que son menos complejo,
pero que intrínsecamente son totalmente interpretables
y podríais pensar.
Yo hoy es todavía interpretabilidad.
Para qué sirve?
Pues imaginado que estamos en medicina,
que queremos hacer un sitio o un sistema de diagnóstico
y decidimos si este paciente tiene la patología tal y el experto
lo que va a decir a continuación es, oye,
y por qué dices?
O la máquina explícamelo en que se va a ser decisió?
Como veis?
Hay determinados dominio donde la explicabilidad del modelo
de interpretar la debilidad del modelo es muy importante
y caos?
Pues tenemos dos ejemplos.
Un árbol de decisión frente a una red neurona un árbol de decisión
directamente trasladable a reglas que todos entendemos reglas,
y ven en donde simplemente lo que tenemos que hacer
es recorrer cada camino que nos lleva desde el nodo, hoja perdón,
desde de raíz al nodo hoja y en ese camino los nuevos,
que no son hoja que no son hoja, representarán el antecedente
de la regla y el nodo;
hoja representar a precisamente la clase.
Entonces, como veis,
tendríamos un conjunto de regla directamente,
podemos tener directamente y entonces decimos que este árbol de decisión,
a pesar de que es una herramienta potente,
porque puesto que es capaz de abordar problemas, que son,
que no son linealmente inseparable,
pero vemos que que tiene esa esta propiedad
idea de interpretabilidad en cambio en la red de neuronales,
el preceptor multi, capa; donde allí ibais dos capas ocultas,
pero puede haber 3, 4, en cada campo vuelta puede haber 5, 10, 20,
40 neuronas.
Pues resulta que es una auténtica caja negra.
Por qué?
Pues porque ya perdemos, igual que en el percep
-tro, éramos capaces de identificar a que acabaría
a que equivalían los peso, es decir,
a la ecuación de una recta.
Aquí todo este conjunto de pesos son.
Es imposible establecer una representación
del lo de, a lo que equivale ese conjunto de pesos aprendidos.
Entonces, de cara al interpretabilidad
las redes neuronales, tengo una mala noticia,
no es lo mejor.
Como digo, hay una línea de investigación
actualmente en los últimos año se está trabajando
en esta dirección,
pero que sepáis que tiene sus dificultades.
Simplemente en esta transparencia lo lo único
que yo no que veáis es justamente una un perceptor múltiples multi,
capa en Acción es una red neuronal;
alguien tiene dos capas ocultas, tiene ocho neuronas,
es un simulador y lo que se quiere hacer es.
Veis aquí que tenéis un conjunto de datos que está formado
por una espiral de dos brazos.
Unos puntos son de color naranja
y otros corresponden a un brazo de esa espiral
y otros puntos son de color azul
que corresponde a otro brazo de la espira.
Está claro que esto es un problema altamente no lineal,
o sea, desde el punto de vista
de establecer una frontera de separación entre esos puntos,
ahí no se puede utilizar una red imposible,
bien, pues entonces fijaos que, eligiendo dos capas en este caso,
ocho neuronas por capa y dándole al botón de entrenamiento.
Consigue darnos una frontera de decisión
en donde fijado la zona naranja incluye a los puntos naranja
y la región azul con incluye a los puntos azules,
es decir, no lo está haciendo nada mal,
a pesar de que el problema no línea lo que pasa que bueno,
es decir, sigue en este caso,
sigue siendo un problema medio de juguete
en el sentido de que fijaos que solamente estamos trabajando
con datos, que tienen dos dimensiones,
eso no lo normal.
En los casos reales, los casos reales,
la materia que manejan manejado van a tener mucho más
de dos características, pero bueno,
para que veáis un poco el problema es de súper juguete
con el que empezamos este problema, en menos de juguete es un problema
altamente no lineal y para que veáis como en este caso un perfecto multi
capa de dos capas oculta y ocho neuronas en cada capa,
permite resolver el problema.
Vale?
Seguimos en este los retos que nos plantea, digamos,
la realidad del aprendizaje automático que paz
y los datos son imágenes fijado que, hasta ahora, de forma implícita,
hemos estado hablando de datos en donde dato, cada cada ejemplo
de ese conjunto de datos asumíamos que era un registro,
es decir, un vector que tenía una serie de valores para cada
una de las características, pero aquí digamos,
en el caso de las imágenes, damos un sale un pequeño salto más,
porque pasamos de uno de adónde una imagen
se puede representar por una matriz donde cada punto de la matriz
de la matriz correspondería al pixel de la imagen?
En esa posición
y supongo que todos sonará todos vienen nuestra ayuda
pues el el learning el aprendizaje profundo
y en particular
las redes neuronales.
Como ilusionantes y fijados, el el, la idea intuitiva
de este tipo de redes es que conseguimos, fijaos,
ante antes de que se inventaran este tipo de redes cuando queríamos
digamos, establecer, por ejemplo, intentar clasificar imágenes.
Lo que hacíamos es que la matriz de partida
lo que hacíamos era, descomponer la y coger cada fila
y concatenar las filas para tener un vector de una dimensión,
y eso era lo que introducíamos a la red.
Pero, claro, si hacemos eso, perdemos la relación de vecindad,
mantenemos la relación de vecindad de izquierda a derecha,
pero vemos las relaciones de vecindad de arriba y abajo,
con lo cual estamos perdiendo información, que puede ser,
que puede ser útil para la red a la hora,
digamos, de aprender la tarea que le encomendemos bien,
pues precisamente las redes convencionales lo que hacen
es crear operadores que se llaman obviamente operadores involución,
y lo que se hacen son pequeños matrices que se aplican
a todos, y cada uno de los píxeles de la imagen
y como resultado os tenéis esta otra imagen
que representa el conjunto de líneas verticales que hay en esa imagen.
Como veis, es un poco aproximado,
porque fijaos que con las líneas que son oblicuas,
pues como que la deja pasar en ese filtro,
sí que es verdad que detecta la línea verticales
y que las líneas horizontales,
pues se pierden un poco.
Es decir, que esté operado como lusionada aplicado
la imagen nos permite obtener una determinada característica.
Si en lugares operador utilizamos estereotipo,
aplicamos a una imagen fijados de líneas horizontales
y obtenemos, pues características basadas en líneas horizontales,
entonces aplicamos operador de evolución de este tipo
y más.
Este tipo de filtros se ponen tanto como sean necesarios,
en una capa concreta y después se esta capa,
lo que se hace a su sus muestreo que,
desde un punto de vista intuitivo, si eso muestre lo que persigue,
reduce ese, ese, esta imagen que hemos obtenido de característica
reduce la dimensión, normalmente la mitad,
y lo que hace es, digamos, plantear una especie de varianza
a los cambios de tamaño, hacer más robusta;
la característica, bien, pues fijaos capaz de combustión cierto
de combustión que hacen este tipo de cosas.
Una capa es un muestreo, y esas dos capa la podemos replicar,
tantas veces como queremos
y qué efecto tiene sobre la red, pues el efecto que tienen las redes,
que en la primera capa extraemos características que son de muy
bajo nivel extremos características tipo línea verticales
líneas horizontales líneas oblicuas por ejemplo puntos esquinas
de tal manera que a estas características que emergen
en esta capa se hace luego la etapa de su muestreo para para,
como digo, aumentando un poco la robustez.
Esa característica y entramos en una nueva capa de combustión pule
y esa siguiente etapa de involución,
purín lo que hace es construir características,
características de más alto nivel
de las características que estaban en la etapa anterior,
de tal manera que progresivamente vamos a vamos,
vamos creando característica de más alto nivel, a medida,
a medida que profundizamos en la red,
de tal manera que ya en la última capa pues a lo mejor ya pues
imaginado, que queremos distinguir pues distintos tipos de animales,
perros, tal o sea, animales de casas o de no sé o de vehículo
y empiezan a emerger ya en las últimas capaz, característica
de lo que pueda ser un ojo de lo que puede ser una oreja,
es decir, porque son ya características,
como digo, de más alto nivel que sean originado
a partir del procesamiento de las características más simples
que estaban en capas anteriores.
Bien, pues ser no hay más.
Este es el fundamento de las capas de la perdón,
de las redes de neurona involución?
Hable, y ya podéis imaginar qué es lo que se aprende en esta capa,
y perdóneme,
se aprehende los elementos de los filtros de combustión
y, evidentemente, se aprenden también lo de la última capa,
que es una una capa completamente conectada,
y finalmente la salida,
que nos permitirá establecer la clasificación.
Pero fijaos nuevamente aparece un conjunto de parámetros
que tenemos que aprender tanto como sea necesario,
y vuelve nuestra ayuda, el método de más propague,
visión, recordar, el método de censo del gradiente, que también es,
digamos, eficaz para aprender los parámetros de tarde.
Bien, seguimos en los retos,
y si los datos en los datos está ya implicado
el tiempo, bueno, pues fijado.
Si en los datos numéricos que tenemos dependen
del instante de tiempo concreto estaríamos hablando de predicciones
Everest temporales.
Sí hay imágenes en donde también interviene el tiempo,
estaríamos hablando de procesamiento de vídeo,
y si hay palabras que hay que tenerlas contra hay
que tenerlas en cuenta en el contexto de una frase de un texto,
estaríamos hablando de procesamiento de lenguaje natural.
Bien, pues para abordar este tipo de problema se una red,
una red de neuronal especial la que se llama entrada
en neuronales recurrentes,
que lo que establece en este tipo de es un lazo,
de alimentación y que de alguna manera
es el esquema que tenéis en la figura del la alimentación
y que es el haz, ornamentación fijado lo podemos desplegar
y lo que hace será hacer de reglamentación.
Es más o menos lo que tenéis aquí aplicar
y la entrada o se ofrece una salida y parte del estado interno de la red
incluso puede ser la alimentación de la propia sanidad.
Pasa como entrada a la red;
se aplica otra entrada;
se produce otra salida.
El estado interno de la red;
se pasa como entrada a la propia red;
se pone otras;
hay otra entradas y se produce otra salida
y así sucesivamente.
Son potentes.
Como digo, este tipo de redes para el concepto
implicado del tiempo.
Pero digamos ya lo veremos ahora.
La última transparencia está revés.
Hayan sido superadas por;
por los la renovarán.
Están formes que son las que están basadas
los grandes modelos de lenguaje.
Un reto más,
y si los datos no son numérico, fijaos que a lo largo
de todas las charlas mostrados hablando
ahí hemos estado hablando de información,
de datos que asumimos que son números,
porque las redes y los algoritmos de aprendizaje
lo que entienden son números,
pero qué pasa si queremos procesar palabras.
Las palabras no tienen una un número asignado.
Entonces hay un mecanismo muy interesante, que es el mecanismo
de medi, que lo que hace este mecanismo es
aprender una representación vectorial de las palabras y que nos permite
que si ese aprendizaje está hecho de forma correcta,
nos permite que aquellas palabras que tienen una semántica parecida,
aquellas palabras que tienen una semántica parecida,
las agrupe en una posición del espacio,
digamos agrupada y aquellas otras palabras
que puedan tener otra semántica distinta,
la vuelva a agrupar también, pero en otras región
del espacio diferente al de la otra, al de la otra,
se mantenga, el de las otras palabras.
Bien, pues esto es una una característica interesante
porque, como digo, es decir, es un mecanismo interesante
porque, como digo, pasamos de palabras a números
y, una vez que ya tenemos número, una vez que ya podemos asociada
a cada palabra un vector, en este caso de dos dimensiones,
ya podemos trabajar con la red de neuronales,
con esos número.
Para hacer cosas han demostrado dimensiones.
Lo normal es que a los vecinos se trabaja con dos dimensiones.
Lo normal que trabajen un 50, 60.000,
es decir, no, no está reducido a indudablemente a solos,
pero, claro, estamos hablando de palabras individuales.
Y qué pasa?
Si los datos son secuencia de palabras,
si los datos son secuencias de palabras,
habría que tener en cuenta el contexto
de la de de la frase del párrafo o incluso del texto,
y si no tenemos en cuenta el contexto, el contexto,
podríamos tener problemas de este tipo.
Es decir,
en la frase prefiero naranja, verde o tómelo naranjo
una manzana al día; si no tenemos en cuenta el contexto
y manejamos las palabras a nivel individual,
no sabríamos la máquina.
Nosotros sí.
Pero la máquina no sabríamos de qué forma.
Indicarle que en el primer caso naranja está refiriéndose
a la semántica de color, y en el segundo caso naranja
está refiriendo a la semántica del concepto de flota.
Bien entonces significa que si nosotros construimos
un envellint basado en palabras aisladas tendríamos este problema
que la fresa manzana y plata
no posiblemente las agruparía bien rojo, verde azul,
los agruparía bien,
pero cuando llegásemos a la palabra naranja precisamente
porque es polisémica el aprendizaje que llevaría a cabo el sistema,
pues diría, ni para ti ni para mi de la ponga,
quiere ir a pongo aquí la pongo en una posición intermedia,
pero, pero, claro, en esa posición intermedia no le está diciendo nada;
es decir, que semántica tiene esa palabra.
Bueno, pues eso lo resuelve precisamente
el aprender en el contexto de una frase de lo
resuelven los grandes modelos de lenguaje
y la red de neuronales en la que está embazada, que son los plataformes
y los transformas.
El mecanismo potente los informes es el denominado mecanismo de auto
-atención, y lo que hace es establecer la relación,
la máquina.
Lo que intenta establecer es qué relación
existe entre los diferentes elementos de una frase.
En el caso de arriba prefiero naranja verde.
Fijaos si nosotros representamos el Mbede
de cada palabra en nuestro en nuestro plano,
pues aparece la contracción al artikulua del prefiero
y el verde que aparece la frase y naranja que aparece la frase.
Imagino que eran Ángel, inicialmente está aquí
en donde está digamos, en Grey.
Entonces lo que hacemos como una especie
de campo gravitatorio es decir, ese campo gravitatorio
que es el efecto que tiene la máquina cuando aprende,
lo que hace es que aquellas palabras que temas cercanas se atraen,
más que aquellas palabras que están más alejadas entonces claro
fijaos naranja frente a prefiero frente al artículo de la contratación
la contratación al o el artículo el están bastante alejada de la media
de naranja que estaba aquí pero sin embargo verde
está más cerca.
Entonces, se produce una estabilización basado,
como digo, como si fuera una especie de campo gravitatorio.
Este se procede a una actualización del Enduring de esa palabra
y la desplaza hacia el grupo de de los conceptos relacionados
con la semántica de color,
y esto explicado de forma muy rápida es básicamente el digamos.
De hecho, el artículo que destacó.
Google el se titulaba, es decir, donde se presentaba
los transforme así el mecanismo de auto
-atención.
Hay otros mecanismos que no voy a explicar.
El título era muy curioso del artículo
porque era atención en lo que necesitas es el artículo,
el artículo.
Bien, pues fijaos que en este caso se Rose
se consigue resolver la ambigüedad al llevarnos la palabra naranja
hacia la semántica de los colores.
Sabemos que en esta frase naranja
está relacionado con el concepto de la semántica de color,
mientras que en el caso de la frase de abajo hacemos lo mismo,
nuevamente en este caso la palabra nuevamente respecto a las alas
al resto de francés parece que no tiene mucha relación,
y digamos la mayor cercanía,
y respecto a la palabra manzana, esa especie de campo gravitatorio
permite actualizar el Enver y de la palabra granja,
y lo que hacemos finalmente es que no la llevamos hacia la dirección
de la semántica, de las palabras,
en este caso, relaciones relacionadas con la fruta
y de esa manera una vez más, resolvemos con conseguimos perdón,
resolver el problema de la ambigüedad .
Ya digo,
es decir, esto está contado.
Es una idea intuitiva,
bastante más complejo, no, es decir, lo del tema de los transforme,
cómo opera, lo transforma incluso la arquitectura,
si la viérais no sé si muchas,
si alguna cosa del ámbito asusta un poco de entrada y bueno,
y que hablar de las aplicaciones de los diálogos,
plan de modelo de lenguaje, bueno, pues todo lo que estáis aquí supongo
que ya sabéis que de punto de vista de la traducción automática
o de punto de vista de los chats bot,
son.
Son unas máquinas un fieras,
pero también se puede.
Hay otro tipo de aplicaciones, como son la agrupación de conceptos
resumen de textos, detector, se búsqueda semántica recomendador
de contenidos similares, etc, etc.
Etc,
y creo que todos estamos apabullado con la potencia
de este tipo de sistemas y bueno, recapitulamos,
y en este ritmo de esta recapitulación,
me gustaría pararme en cuatro puntos que he intentado digamos,
mostrarlos, lanzarla a la pregunta de.
Una máquina puede aprender automáticamente la respuesta es sí
pero no y él, pero no obedece a que precisamente esa intención
de que la máquina aprende de forma automática.
Ya hemos visto que la intervención del usuario muy importante,
la elección del modelo en la configuración
de los parámetros, en la base,
en la recuperación de los datos de la base de datos fijados
en el aprendizaje automático no hay magia en el aprendizaje automático,
aprenderá lo que la información que estáis,
que está implícita en la base de datos,
y si la base de datos es un desastre.
Realmente hay un nuevo emergerá, ningún tipo de conocimiento,
y nuevamente la base de datos es el usuario
el que tiene que recopilarla o lo adelantaba también en la charla
a los ocho pasos descritos en el proceso de aprendizaje
siguen vigentes, es decir,
independientemente de que estamos en la actualidad en o grande,
malo de lenguaje, se siguen aplicando los pasos que es
o os he dicho.
La única diferencia
es que ahora el volumen de datos que estamos manejando
es brutal y que la complejidad de los sistemas que estamos manejando
es también brutal, y eso significa simplemente
que necesitamos una capacidad de cómputo,
también brutal para procesar esas cantidades ingentes
de información y para conseguir que el aprendizaje
de los parámetros sea efectivo en cuanto a la evolución del modelo,
arquitectura de aprendizaje automático a lo largo del tiempo.
Pues hombre, yo creo que eso patente creo que queda bastante claro
que para llegar a los grandes modelos de lenguaje
esto no ha sido un proceso de pasar del nada al todo,
es decir, esto ha habido un proceso gradual,
en donde se han ido mejorando, como os he ido contando
la última parte de la de la charla se han ido mejorando,
se han ido afrontando retos cada vez más difíciles y bueno,
ya estamos actualmente donde estamos y luego el último punto
es que lo siento.
Pero a pesar de que efectivamente los grandes modelos del lenguaje
parecen que son espectaculares, tienen serias limitaciones
y que bueno, en eso esta no es decir que yo no particular.
Mi especialidad no es trabajar en el campo
de hablar de modelo de lenguaje,
pero los que trabajan en eso, en ese campo,
pues ellos están no en resolver ese tipo de problemas
y, bueno, ya veremos a ver qué nos depara el futuro.
Por mi parte, nada más.
Creo que me he pasado unos unos minutos.
Os pido perdón
y y, por supuesto, muchísimas gracias por vuestra atención.
Vale.