¿Programación de inteligencia artificial, si hay peligro?
Actualmente, con la masificación del uso de la inteligencia artificial para mejorar procesos, se han creado muchas expectativas al respecto, y algunos programadores se sienten confundidos con la afirmación "programación de inteligencia artificial".
Como siempre, vamos a dar una idea, aunque no se ciña de forma formal al rigor científico, sino más bien a dar una idea de lo que trata.
Cuando se habla de programar la inteligencia artificial, en general no es programación en sí misma en el sentido que se entiende desde la programación de sistemas, sino más bien el uso de aplicaciones de inteligencia artificial de propósito específico para la solución de problemas, como la redacción de texto, clasificación de imágenes, obtención de resúmenes de artículos, traductores lingüísticos y una amplia gama que depende del ingenio de la persona que está usando estos programas de inteligencia artificial, que van desde chat GPT, Canvas Stable Diffusion y una amplia gama de aplicaciones.
Sin embargo, en el sentido estricto, como se dijo, no se está programando, sino haciendo "uso" de la aplicación específica que eventualmente se puede embeber dentro de un programa mediante "API", que son trozos de programa ya hechos por otras personas que se insertan dentro de otro para obtener procesos más automatizados.
En ese contexto, es como si alguien usa Excel o Word para procesar información. En realidad, no está programando Excel, sino "usándolo".
Por otra parte, está la programación de la inteligencia artificial, que en realidad, como se dijo, no se programa. Lo que se programa son las redes neuronales que generan inteligencia artificial.
¿Cuál es entonces la diferencia con la programación convencional?
Para empezar, para programar inteligencia artificial, es decir, redes neuronales, hay que saber de programación, algoritmos y lenguajes de programación. En resumen, para programar redes neuronales hay que ser un programador. Para usar inteligencia artificial, no es necesario serlo. Es exactamente igual que con Excel y Word: para hacer una carta o calcular un pago, no hay que saber cómo fueron hechos Excel o Word, pero para modificar Excel o Word sí hay que saberlo.
Entonces, ¿cuál es la diferencia entre una programación convencional y programar una red neuronal para que genere inteligencia artificial?
Vamos a ver un breve ejemplo que espero aclare la situación. Trataré de resolver un programa sencillo en programación convencional. Lo que tengo es:
- Una entrada de información.
- Una fórmula de cálculo.
- Una salida de acuerdo a la entrada y la fórmula.
Tomemos por caso: entrada fórmula salida x f(x) resultado
Tengamos por caso :
Entrada Formula Salida
x f(x) resultado
2 x+2 4
3 x+2 5
y así sucesivamente. Aquí tenemos la sencilla fórmula x+2, que opera sobre la entrada y arroja un resultado sencillo. Así hemos trabajado siempre y no reviste mayor problema entenderlo. Pero, ¡cuidado!, siempre, siempre, siempre sabemos cuál es la fórmula. Si no tenemos la fórmula, no hay resultado.
Ahora veamos el enfoque de las redes neuronales, que, a propósito, existen de muchos tipos dependiendo del problema a resolver. En este caso, como es una fórmula matemática simple, podríamos usar una red neuronal secuencial.
Veamos el mismo ejercicio, pero supongamos que no conocemos la fórmula y tenemos lo siguiente:
Entrada formula resultado
2 ? 4
3 ? 5
4 ? 6
5 ? 7
Como vemos, tenemos algunos datos de entrada y algunos datos de salida, pero no sabemos cómo se generaron esos resultados.
Bueno, eso es lo que hace la red neuronal. Por medio de un proceso mediante el cual le pasamos a la red neuronal las entradas y las salidas, la red neuronal internamente deduce qué es lo que genera este resultado al tomar la entrada y sumarle 2.
Normalmente, para que la red neuronal funcione correctamente, se requiere que la entrada y la salida sean cientos, miles o millones de datos, según la complejidad de lo que se requiera. Entre más datos, mejor, y se obtiene una mayor precisión en la inferencia de la "fórmula". Este proceso de pasar los datos de entrada y salida para que la red analice, revise y genere la fórmula se denomina "aprendizaje" y entran en juego conceptos de E-learning y Deep learning, el uso de lenguajes como Python (uno de los más usados) y librerías de redes neuronales como Tensorflow, Keras, NLTK, Numba, NumPy, Bokeh, el IDE Colab para desarrollo sen linea, entre otras. Una vez que se "adiestra" la red neuronal con lo que se le quiere enseñar, en este caso trivial, que sume dos a una variable, se convierte en una inteligencia artificial capaz de calcular la fórmula anterior.
De forma similar, si queremos que el sistema reconozca un número o una imagen, debemos pasar montones de imágenes de posibles formas de escribir un número, ya sea grande, pequeño, inclinado, horizontal, al revés, es decir, muchas posibles formas de escribir, por ejemplo, el número "9". De esta manera, cuando le pasemos una foto de un nueve, ya lo tendrá reconocido y sabrá qué es.
De igual manera, para una imagen de un perro o un gato, hay que pasarle miles, si es posible, de imágenes de perros y gatos de muchas razas, tamaños y colores para que la red neuronal pueda identificarlos y pueda ser usada como un programa de inteligencia artificial que separa perros de gatos o que es capaz de leer números escritos a mano.
Incluso se le puede enseñar a una red neuronal a crear programas de computadora, páginas web, leer las cartas de tarot, o ayudar en el análisis de imágenes medicas, asesoría en temas jurídicos, y hasta recetas de cocina, El reto está en conseguir las imágenes de entrada y clasificar las respuestas.
¿De dónde viene el temor sobre la inteligencia artificial que pone en alerta a las personas? Hay tres puntos:
1. La forma en que la red neuronal "infiere" la "fórmula" no es algo que se pueda entender muy fácilmente, ni siquiera para un cálculo sencillo. La red simplemente recibe la orden de "aprender" y aprende, pero no te dice cómo lo hizo. En cierto modo, es como lo hacemos nosotros, se se me permite la libertad de expresión. No todos aprendemos de la misma forma.
2. Dado la cantidad inmensa de datos que se requiere , un ser humano difícilmente puede hacerlo, pero una red neuronal conectada a Internet si que lo puede hacer y muy rápido
3. De alguna manera las redes neuronales una vez lanzadas , no se tiene el control exacto de lo que hacen y como lo hace,
No es como Excel que cada que se le pide algo lo hace siempre igual, esa indeterminación sobre como lo hace la red neuronal y por asociación la IA, es lo que hace que se genere tanta suspicacia, respecto a este tema tan de actualidad.
Como se ve el tema de el peligro de las redes neuronales y por tanto de la IA, es com,o ha sido a lo largo de la historia del mundo, "A lo que no se entiende, se le teme"
En resumen el traductor de idiomas, ni el corrector de textos y de imágenes no se van a tomar el mundo como "Terminator", son solo aplicaciones como Exclw y Word, cuando hablamos de redes neuronales, ese si es otro tema, pero estamos bastante lejos de eso aún si es el caso.
Comentarios
Publicar un comentario