Imagina que quieres crear un software para realizar una tarea. Hay dos formas principales de hacerlo y una intermedia.
El método del código
La primera forma consiste en programar el software para que realice la tarea, lo que llamaré el "método del código". En este caso, conoces todas las interacciones que pueden producirse y las anticipas en tu programa. El ejemplo más básico de esto es la secuencia "Si entonces", en la que le dices al ordenador, si ocurre esto, entonces haz esto otro. Por ejemplo, si se pulsa este botón, entonces muestra esta pantalla.
El método del código no utiliza datos ni implica entrenamiento. La secuencia programada ocurre de forma determinista, independientemente de los datos. Para que quede claro, los programas pueden crearse utilizando el método del código escrito con código real o utilizando herramientas visuales o similares.
El método del tren
La segunda forma es entrenar el software para que realice la tarea utilizando big data, lo que llamaré el "método de entrenamiento". En este caso, se escribe un algoritmo, como una red neuronal, para que el software se entrene con los datos. A continuación, se libera el software en los datos y el ordenador aprende, a través de un bucle de retroalimentación, cómo realizar la tarea. Por ejemplo, se puede enseñar al programa a reconocer gatos entrenándolo con fotos de gatos.
El método de entrenamiento es, por supuesto, la esencia de la inteligencia artificial. Se conoce como el método de los grandes datos porque cuantos más datos de entrenamiento de alta calidad haya disponibles, mejor será el resultado. Se necesita un mínimo de datos de entrenamiento para obtener resultados razonables.
En su forma más pura, el método de entrenamiento puede utilizar datos no estructurados y el propio aprendizaje se produce de forma no supervisada. Esto significa que los humanos no ayudan en absoluto al software con el entrenamiento.
El algoritmo aprenderá del contexto implícito (no del etiquetado explícito) si una determinada foto es de un gato o no. Por ejemplo, los usuarios normales de una plataforma pueden poner de forma ad hoc y espontánea la palabra gato en la descripción de su foto, la palabra gato puede estar en el artículo en el que aparece la foto, o si se trata de un vídeo, la gente puede decir la palabra gato cuando aparece el gato. Todos estos datos de los usuarios son, por supuesto, totalmente desestructurados (es decir, desordenados), y el algoritmo tendría que averiguar qué es un gato a partir de estos datos desordenados.
Por supuesto, un algoritmo no supervisado puede tener grandes ventajas. Esto significa que los humanos se ahorrarán un gran esfuerzo a la hora de etiquetar y clasificar los datos. No es trivial (ni estimulante) etiquetar con precisión cien mil fotos de gatos.
Los problemas
Uno de los principales problemas del método de entrenamiento no estructurado es que necesita muchos más datos. Si los datos no están disponibles, no se puede entrenar de esta forma. Los métodos supervisados también necesitan muchos datos, por lo que sufren el mismo problema.
Esta es, por supuesto, la razón por la que la gente busca oportunidades para aplicar la IA en lugar de aplicarla a todo. Los algoritmos de IA funcionan mejor cuando se dispone de muchos datos para el entrenamiento (o pueden generar muchos datos, en el caso de los juegos).
Otro problema del enfoque no estructurado y no supervisado es que es mucho más difícil escribir y probar el algoritmo con los datos disponibles. El algoritmo tiene que ser más sofisticado para tratar con datos no estructurados de lo que tendría que ser cuando los datos están ordenados y categorizados.
Un enfoque supervisado añade intencionalidad humana al proceso en términos de cómo se categorizan los datos, sin embargo, sigue siendo en gran medida un método de tren, un enfoque de big data. Los humanos que entienden los algoritmos pueden etiquetar los datos y, al hacerlo, reducir el trabajo del algoritmo.
El método de los pequeños datos
Existe un método que es una mezcla entre los métodos de código y de tren que llamaré "método de datos pequeños". Este es el enfoque de datos pequeños al que aludía en el título. Es posible combinar las técnicas de código y de entrenamiento para reducir enormemente la cantidad de datos necesarios para entrenar un algoritmo.
Para el método de datos pequeños, un desarrollador codifica un modelo de interacciones, pero luego este modelo se entrena en un conjunto de datos mucho más pequeño que el que se necesitaría para el método de datos grandes. De este modo, el modelo se entrena mucho más rápido de lo que sería necesario con el método de entrenamiento puro.
Por supuesto, este enfoque de datos pequeños tendría sentido si el tiempo necesario para codificar el modelo y entrenar los datos fuera mucho menor que el que se tardaría en recopilar los datos y entrenar el algoritmo.
Hay situaciones en las que la solución de datos pequeños nos permitiría hacer cosas que actualmente no son factibles. El método de datos pequeños es el único disponible si los datos necesarios para el método de entrenamiento no existen en primer lugar. En este caso, el algoritmo debe entrenarse con datos creados manualmente. Normalmente no resulta práctico crear decenas de miles de registros a mano.
Actualmente, empresas de IA como botpress.io están investigando el enfoque de los datos pequeños, y espero que se convierta en una técnica generalizada en los próximos años.
Comparte esto en:
Construye gratis tu propio chatbot personalizado
Empieza a crear un bot GPT personalizado con nuestra intuitiva interfaz de arrastrar y soltar.
Empieza: ¡es gratis! 🤖No se necesita tarjeta de crédito
Manténgase al día sobre lo último en IA chatbots