Por: Gabriela Ramos, 25 de marzo de 2018.
Es difícil imaginar la magia que hace funcionar la inteligencia artificial, son trucos que pocos buscan entender, pero no es magia son matemáticas en todo su esplendor combinadas con programación, esta fue la primera explicación que el doctor Marco E. Benalcázar entregó a sus espectadores en el seminario de fundamentos de machine learning, y este fue el inicio de la exploración de un tema intrigante y mágico para los asistentes.
Con una introducción que permitió entender claramente las diferencias entre una persona y una computadora al realizar trabajos como identificar un rostro o cálculos matemáticos entre números con varias cifras decimales, el doctor Benalcázar demostraba como la programación convencional no puede resolver todos los problemas.
Para entender mejor estas diferencias, se tomo un ejemplo muy conocido para todos los usuarios de Facebook y este fue el de reconocer un rostro en una imagen, parece sencillo para una persona, pero para un programador crear un algoritmo que identifique todos los rostros en una imagen es un trabajo extremadamente gigante, pues traducir a código todo lo que significa identificar un rostro requiere muchas variables y corre el riesgo de tener muchos errores. Es aquí donde entra Machine Learning que con ayuda de funciones matemáticas logra identificar los rostro en una imagen.
trucos que pocos buscan entender, pero no es magia son matemáticas en todo su esplendor combinadas con programación, esta fue la primera explicación que el doctor Marco E. Benalcázar entregó a sus espectadores en el seminario de fundamentos de Machine Learning, y este fue el inicio de la exploración de un tema intrigante y mágico para los asistentes.
Con una introducción que permitió entender claramente las diferencias entre una persona y una computadora al realizar trabajos como identificar un rostro o cálculos matemáticos entre números con varias cifras decimales, el doctor Benalcázar demostraba como la programación convencional no puede resolver todos los problemas.
Para entender mejor estas diferencias, se tomo un ejemplo muy conocido para todos los usuarios de facebook y este fue el de reconocer un rostro en una imagen, parece sencillo para una persona, pero para un programador crear un algoritmo que identifique todos los rostros en una imagen es un trabajo extremadamente gigante, pues traducir a código todo lo que significa identificar un rostro requiere muchas variables y corre el riesgo de tener muchos errores. Es aquí donde entra Machine Learning que con ayuda de funciones matemáticas logra identificar los rostro en una imagen.
Pero, ¿como Machine Learning (ML) identifica rostros?, para responder esta pregunta debemos hablar del aprendizaje de máquina más a fondo y esta explicación la entregó el doctor Benalcázar de la forma mas grafica posible. Para hacer esto se utiliza un algoritmo que cuenta con un extractor de características, este es el encargado de procesar la imagen y encontrar un vector que reúna las características principales del objeto a evaluar. Luego, este vector pasa al algoritmo de aprendizaje, el cual fue entrenado mediante un conjunto de entrenamiento para distinguir entre rostros humanos y no rostros humanos. Este algoritmo es el que devuelve el resultado de si la imagen procesada contiene o no un rostro humano al comparar el vector de características con los valores.
Una cuestión importante de estos algoritmos es el conjunto de entrenamiento. Con esto le enseñamos a distinguir y reconocer lo que nosotros necesitamos. Es importante notar que estas pueden ser más que imágenes como conjunto de datos numéricos y demás. Sin embargo, la cuestión importante aquí es el tamaño del conjunto, es decir el número de entidades necesarias para que el algoritmo de aprendizaje pueda devolver el mejor resultado posible. Para calcular esto existen varias fórmulas matemáticas que se basan en probabilidad y constantes numéricas que permitan ajustar dicho tamaño. Esto nos lleva a encontrar una muestra que tenga los rasgos necesarios como para ser lo suficientemente significativa y así clasificar correctamente a los objetos que se está buscando.
Dentro de Machine Learning existen varios enfoques que permiten ajustar el algoritmo de aprendizaje para lograr el objetivo deseado. Dependiendo del problema unos serán mejores que otros, pero uno de los enfoques más conocidos es el de redes neuronales. Estas son el conjunto de varias neuronas que se encargan de cumplir una determinada función. Una neurona aquí es conocida como perceptrón. Un perceptrón cuenta con parámetros de entrada que son evaluados mediante pesos cognitivos y una función de activación para obtener un resultado. Estos pesos son los que determinan el resultado, por lo que, si están debidamente ajustados luego del proceso de entrenamiento se puede esperar un valor cercano a la realidad. Caso contrario, se tendrá un error considerable.
Sin embargo, un solo perceptrón no puede hacer mucho por su cuenta, de hecho, es bastante inútil. Por ello, debe juntarse con otros perceptrones para así mejorar su capacidad y formar lo que se conoce como red neuronal. Estas redes neuronales cuentan con varias capas de perceptrones unidos entre ellos, donde cada uno cumple una función en particular y envía sus resultados a otro perceptrón. Al final existe una capa de salida que se encarga de mostrar el resultado final de todo el procesamiento. Para el problema de los rostros nos dirá si es un rostro o no.
Para el aprendizaje de una red neuronal se tienen en consideración a tres enfoques principales: aprendizaje supervisado, no supervisado y por refuerzo. En el aprendizaje supervisado nosotros conocemos el resultado que se espera obtener de la entrada de ciertos parámetros en particular a la red neuronal; en el no supervisado no conocemos el resultado por lo que es necesario probar varias combinaciones hasta obtener el mejor resultado posible y en el aprendizaje por refuerzo nos enfocamos en premiar y castigar dependiendo de las decisiones que tome la red, así aprende a buscar las mejores decisiones para ejecutarlas y evitar los castigos.
Dentro de las aplicaciones del Machine Learning, una que es bastante conocida es la del algoritmo para el juego de GO, donde la inteligencia artificial logró vencer al ser humano. Esto demuestra la gran capacidad que se puede llegar a obtener de un algoritmo correctamente entrenado. Si bien esto puede preocupar a varias personas, no hay que temer. Como todo aquello que es producido por el ser humano depende del uso que cada uno le dé. Se pueden usar estos algoritmos para enseñarle a un computador a que maneje un automóvil. Así mismo, se puede equipar a este con un algoritmo que detecte a ciertas personas como amenazas y que con un arma las elimine.