Deep Learning, Machine Learning y ¿Qué son las redes neuronales?

En el mundo de la Inteligencia Artificial se habla mucho de los conceptos de Red Neuronal, Machine Learning y Deep Learning, para el lector casual interesado en este campo quizás son conceptos demasiado técnicos y difíciles de entender, por eso hoy vamos a centrarnos en asentar de una manera divulgativa estos conceptos tan importantes para poder entender mejor noticias de Inteligencia Artificial y iniciarse en el mundillo de la IA.

Como me gusta decir, -“El conocimiento es poder”. A si que para poder entender el mundo del mañana hay que saber como funciona a día de hoy, ¡Al lío!.

¿Por qué se comparan estos algoritmos con el cerebro humano?

Las redes neuronales son estructuras algorítmicas que intentan emular el comportamiento del tejido cerebral por medio de “neuronas” que son unidades básicas de computación dentro de las redes neuronales.

Las redes neuronales están compuestas de capas de neuronas que se conectan entre sí y varían sus conexiones y sus procesos algorítmicos que manejan internamente.

Representación artística de una red neuronal.

Entonces, cabe preguntarse, ¿Cómo se logra a partir de unas normas tan básicas formar comportamientos complejos como los que ofrecen estos algoritmos?.

Es fácil, al principio la red neuronal es prácticamente aleatoria, su comportamiento viene definido por cómo están conectadas sus neuronas y sus capas y que operaciones realizan.

Esto está completamente desajustado del problema para el que se quiere entrenar, es por medio del entrenamiento del modelo,  que se va a conseguir que una red neuronal ajustándose a sí misma, consiga formar el entramado ideal de sus neuronas y conexiones que le permiten resolver el problema para el que se está entrenando.

Es posible que no se comprenda al 100% su comportamiento, se por eso a lo largo de este post, iremos explorando esta idea.

¿Qué es del Deep Learning y en que se diferencia del Machine Learning?

El propósito general de los modelos clásicos de Machine Learning es conseguir a aprender a través de un dataset identificado y las características que diferencian unos datos de otros a generalizar un conocimiento para extrapolarlo a ejemplos que el modelo nunca haya visto antes. Es decir, el modelo aprende en base  a las características que se le han dicho que tiene que observar de los datos del problema a resolver y a una gran cantidad de datos catalogados.

El Deep Learning es una forma específica de Machine Learning con un potencial mucho mayor dado que en este tipo de modelos, únicamente tenemos que preocuparnos de darle al modelo de aprendizaje un dataSet catalogado sin definirle las características en las que se tiene que fijar, el propio modelo es el que aprenderá a identificar esas características que le ayudan a la hora de identificar el problema.

Quizás sea confuso sin poner un ejemplo, así que vamos a imaginar que queremos resolver el problema de catalogar fotos para saber si lo que contienen es una imagen de un gato.

Modelos de Machine Learning

En un modelo de Machine Learning tendremos que proveer a una red neuronal del dataset para el entrenamiento pero también tendremos que especificarle cuales son las características en las que se tiene que fijar para diferenciar una imagen de un gato, características como pueden ser el número de patas que tiene un gato, los colores habituales del pelaje de un gato, la forma de su cabeza y cuerpo etc..

Flujo de entrenamiento de un modelo de Machine Learning de inteligencia artificial.

De esta manera el flujo de trabajo para el entrenamiento del modelo de Machine Learning será el siguiente: Por medio de esas características y muchas pruebas evaluando datos, debe de ir ajustando las capas de su red neuronal hasta que la tasa de aciertos sea la esperada, en ese momento, podremos decir que el modelo ha finalizado su entrenamiento.

Modelos de Deep Learning

En cambio para un modelo de Deep Learning que se enfrenta al mismo problema, no tenemos que especificarle cuales son las características de las imágenes en las que se tiene que fijar para entrenar a su red neuronal, sino que es la propia red neuronal la que tiene la capacidad de encontrar estas características sin que se hayan programado específicamente.

El flujo de trabajo para el entrenamiento del modelo quedaría así:

Flujo de entrenamiento de un modelo de Deep Learning de inteligencia artificial.

Estos modelos son mucho más potentes e ingeniosos dado que puede sacar característica que no habían sido imaginadas por los desarrolladores, lo que hace que estén mucho más optimizados y se puedan enfrentar a una gran variedad de problemas sin tener que variar mucho el modelo. En este caso, si el modelo está bien hecho, podríamos entrenar al mismo modelo para reconocer perros, hámsters, pájaros etc. Este es el verdadero potencial del Deep Learning, son modelos más complejos pero que poseen una gran capacidad para adaptarse al problema que deben de resolver.

Estas capacidades emergentes de los modelos de Deep Learning abren las puertas a un sin fin de posibilidades a la hora de enfocar y resolver una tarea para la que ha sido planteado un modelo, florecen comportamientos que ni los propios desarrolladores pueden llegar a imaginar a la hora de obtener soluciones para los problemas. Pero de eso hablaremos en un futuro post.

Leave a comment