WhatsApp Facebook Twitter LinkedIn Mail

Deep learning: ¿se pueden programar las máquinas para pensar como humanos?

Índice:

  1. ¿Qué es deep learning?
    1. Redes neuronales
  2. Tipos de redes neuronales
    1. Redes neuronales convolucionales (CNN)
    2. Redes neuronales recurrentes (RNN)
    3. Redes generativas antagónicas (GAN)
  3. Usos del deep learning
    1. Detección de fraudes
    2. Salud
    3. Personalización
    4. Otros usos comunes
  4. ¿Puede usar deep learning cualquier empresa?

¿Qué es deep learning y para qué se usa?

Deep learning (DL), también conocido como aprendizaje profundo, es un tipo de machine learning que se estructura inspirándose en el cerebro humano y sus redes neuronales. El aprendizaje profundo procesa datos para detectar objetos, reconocer conversaciones, traducir idiomas y tomar decisiones. Al ser un tipo de machine learning, esta tecnología sirve para que la inteligencia artificial aprenda de forma continua.

inteligencia artificial machine learning deep learning

La diferencia entre machine learning y deep learning es que el machine learning necesita humanos para que le enseñen y el deep learning es más autónomo. El proceso de machine learning empieza con un objeto (que puede ser tan diverso como un dato financiero o las características de un perro), del cual un humano rellena sus características en el sistema de machine learning para que la próxima vez que el sistema se encuentre dicho objeto, lo reconozca. En el caso de deep learning, el sistema aprende de los datos brutos y puede aumentar su precisión si se le proporciona más datos. Es decir, cuantos más estímulos reciba del objetivo, mejor será su predicción. Por tanto, la diferencia radica en el nivel de implicación humana. Para enseñar a un sistema de machine learning, hay que marcarle cuáles son las características principales para reconocer el objeto. Sin embargo, en el caso de Deep Learning, no hace falta describirle al sistema las características del objeto, sino que se le alimenta de imágenes para que aprenda por sí solo. Debido a esta diferencia, los sistemas que usen deep learning necesitarán tener GPU (unidad de procesamiento gráfico) muy avanzados y una gran capacidad de almacenamiento.

Algunos ejemplos de DL en la vida diaria son los asistentes de voz inteligentes (como Siri o Alexa), las recomendaciones en plataformas de vídeo o música (Spotify o Netflix) e, incluso, prototipos de coches inteligentes que se conducen solos.

En el siguiente vídeo (3:18), se muestra cómo unos coches pueden aprender a maniobrar a través de un camino por sí solos, utilizando una red neuronal y algoritmos:

Las redes neuronales son la base del conocimiento de deep learning

El deep learning intenta imitar el cerebro humano al analizar continuamente datos con una estructura lógica dada. Para poder hacer estos análisis, el sistema de Deep Learning se basa en sus redes neuronales artificiales (RNA, neural networks). Las redes neuronales de DL son una estructura de algoritmos de varias capas.

Estas redes neuronales identifican patrones y clasifican diferentes tipos de información. Las diferentes capas de las redes neuronales sirven como filtro, yendo desde los elementos más generales a los más sutiles, aumentando la probabilidad de detectar y generar un resultado correcto. Por tanto, cuando un sistema de deep learning tiene que reconocer un objeto, lo compara con aquellos que ya conoce.

Por ejemplo, se les piden a 3 personas distintas que escriban la letra “a” en mayúscula. Al hacerlo, cada uno tiene una caligrafía, pero un humano puede entender que las 3 letras escritas son la misma, la “A”. Un ordenador normal, no podría. No obstante, haciendo uso de la tecnología deep learning sí que puede hacerlo. DL capturaría una imagen de cada “A” escrita y revisaría todos los píxeles de cada foto para reconocer el texto escrito. Basándose en su conocimiento, el sistema de deep learning llegará a la conclusión de que las tres imágenes tienen la letra “A” escrita. Este tipo de reconocimiento tomaría mucho más tiempo y entrenamiento si se hiciera con machine learning, ya que el sistema debería tener descritas las tipografías y, al no tenerlas, podría dar error y/o requerir ayuda humana para que responda y así aprender.

¿Qué tipos de redes neuronales hay en deep learning?

El deep learning se basa en el uso de las redes neuronales artificiales. Dentro de las redes neuronales hay 3 tipos que son los más usados:

Convolutional Neural Networks (CNN, redes neuronales convolucionales)

Las redes neuronales convolucionales son redes neuronales artificiales que han sido diseñadas para procesar matrices estructuradas, como imágenes. Es decir, se encargan de clasificar imágenes basándose en los patrones y objetos que aparecen en ellas, por ejemplo, líneas, círculos o, incluso, ojos y caras.

Por ello, las CNN suelen usarse en computer vision (visión artificial), ya que pueden operar con imágenes brutas (raw images) y no necesitan hacer un procesamiento previo. Esta cualidad hace que sean muy útiles para aplicaciones visuales de clasificación de imágenes, pero también procesamiento del lenguaje natural (natural language processing, nlp), ayudando con la clasificación de textos. Por ejemplo, con el procesamiento del lenguaje natural, se puede identificar si el email que se ha recibido es para finanzas, para comercial o para otro departamento.

Las redes neuronales convolucionales usan varias capas convolucionales (sobre unas 20-30 capas de media). Las capas convolucionales son un tipo especial de capa que, al apilarse unas encimas de otras, permite reconocer formas más sofisticadas. Por ejemplo, con unas 3-4 capas convolucionales se pueden reconocer dígitos escritos a mano y con 25 se reconocen caras humanas. Este tipo de capas imitan a la estructura del cortex visual humano, ya que una serie de capas procesan una imagen entrante e identifican características cada vez más complejas.

Recurrent Neural Networks (RNN, redes neuronales recurrentes)

Las redes neuronales recurrentes son redes neuronales que usan datos secuenciales o datos de series de tiempo. Este tipo de redes solucionan problemas ordinales o temporales, como la traducción de idiomas, reconocimiento de voz (speech recognition), procesamiento de lenguaje natural (NLP, Natural Language Processing) y captura de imágenes. Por eso, estas redes se encuentran en tecnologías como Siri o Google translate. En este caso, el procesamiento natural del lenguaje reconoce el habla de una persona. Por ejemplo, se distingue si la persona que está hablando es hombre o mujer, adulto o menor, si tiene acento andaluz o catalán, etc. De esta forma, se analiza la forma de hablar de la persona y se consigue llegar a su idiolecto.

Las redes neuronales recurrentes difieren de otras redes neuronales artificiales en que tienen “memoria”. Es decir, las RNN toman información de inputs anteriores para influenciar los inputs y outputs actuales. Por ejemplo, al escribir con el móvil, el teclado te muestra una serie de palabras como sugerencias a partir de lo que está escrito. Esas sugerencias son las predicciones que se han hecho basándose en los caracteres que fueron escritos con anterioridad.

Generative Adversarial Networks (GAN, redes generativas antagónicas)

Las redes generativas antagónicas consisten en usar 2 redes neuronales artificiales y oponerlas la una a la otra (por eso se les conoce como antagónicas) para generar nuevo contenido o datos sintéticos que pueden hacerse pasar por reales.

Una de las redes genera y la otra funciona como “discriminadora”. La red discriminatoria (también conocida como red antagónica) ha sido entrenada para reconocer contenido real y hace de censor para que la red que genera contenido haga contenido que parezca real. Por eso, este tipo de redes son muy usadas para generar imágenes, vídeos y voces. Por ejemplo, NVIDIA desarrolló DCGAN, una tecnología que genera caras de personas que parecen reales, pero no lo son. El problema de este tipo de redes es que también son las que sustentan los deepfakes. No obstante, esta tecnología también ha sido muy útil para recuperar características en imágenes astrofísicas de galaxias muy lejanas o para crear modelos 3D partiendo de imágenes 2D.

Aplicaciones de deep learning en el día a día

Sin darnos cuenta, nos encontramos la tecnología deep learning en:

Detección de fraudes financieros

Las entidades bancarias y otras empresas del sector financiero tienen que hacer grandes esfuerzos en el mundo de la tecnología para poder asegurar su actividad. Una de sus principales tareas en la actualidad es la de detectar los fraudes que surgen durante las transacciones monetarias digitales. Para ello, se centran en el desarrollo de técnicas de prevención basadas en la identificación de patrones de las transacciones de los clientes y sus calificaciones crediticias, buscando si hay comportamientos inusuales. La identificación de los patrones de cada cliente se hace con deep learning y machine learning. De hecho, el banco BBVA trabajó en 2018 con un equipo de investigadores del Massachusetts Institute of Technology (MIT). Juntos desarrollaron un modelo que puede reducir hasta un 54% el nivel de falsos positivos en la detección de operaciones fraudulentas con tarjeta.

¿Sabías que? Hay otra tecnología que últimamente también se está usando mucho para detectar fraudes bancarios. Esta tecnología es conocida como Blockchain y no usa inteligencia artificial, sino que se apoya en la validación de una base de datos descentralizada.

Mejorar la eficacia de la sanidad

Uno de los sectores donde está teniendo mayor repercusión es en el sector de la salud. Se está usando para la detección de cáncer, de osteoporosis, identificación de trastornos del habla desde la infancia, alzheimer, etc.

La empresa NVIDIA de GPU realizó un estudio en 2018 para el cual entrenaron una red neuronal convolucional con imágenes para clasificar tumores dependiendo del grado, del estado de los receptores de estrógenos, los subtipos intrínsecos de PAM50 (test genético para cáncer de mama) y el subtipo histológico. El algoritmo de deep learning fue capaz de distinguir los tumores de nivel bajo-intermedio y los de gran nivel con un 82% de precisión.

La personalización enfocada a la venta o recurrencia

Las tiendas online (e-commerce) cada vez tienen que ser más innovadoras y ofrecer un mejor servicio para competir. Por ello, hay muchas empresas que hacen uso de deep learning para saber qué es lo que le gusta a cada usuario que entra en su web y poder ofrecerle lo que le interesa.

Por ejemplo, cuando una persona entra en Amazon, le muestra productos basados en su historial de búsquedas, relacionado con lo que ha visto últimamente y hasta le propone “darte un capricho” con los objetos que ha puesto en su lista de deseos.

Las plataformas de vídeo y música (como Netflix, HBO, Prime, Disney o Spotify) también lo hacen, proponiéndole al usuario series, películas o músicas basado en su historial.

Otros usos comunes de deep learning

Aparte de los usos que se han mencionado hasta ahora, también hay más que son bastante utilizados. Uno de ellos consiste en la traducción de imágenes con texto. Esta función ya la tiene Google. Para poder traducir la imagen, se captura la foto, Google reconoce las palabras que contiene y las traduce al idioma que prefiera el usuario.

Sin embargo, ese no es el único uso que le da Google a deep learning, ya que hace un gran uso de esta tecnología. Por ejemplo, Google también lo usa para el reconocimiento de objetos y facial. Así, cuando estás en su aplicación de Google Fotos puedes buscar directamente por la persona de la que quieres ver la foto o por el objeto que se desea encontrar, como una playa. Así te muestra todas las fotos de dicha persona o, en el caso de la playa, todas las imágenes de playas que se tengan almacenadas en Google Fotos. Este uso también lo hacen otros dispositivos inteligentes como ordenadores o móviles para desbloquearse.

Uno de los usos más esperados del deep learning son los coches autónomos, es decir, sin conductor. Todavía no existe ningún modelo que sea 100% autónomo, pero Tesla y Samsung están colaborando para crearlo. Un automóvil con deep learning recopilaría datos sobre su entorno con cámaras y otros sensores, y los interpretaría para decidir qué acciones tomar. Por tanto, al montarse el usuario en el coche, sólo tendría que decirle a dónde quiere ir y el coche comenzaría su camino yendo por el camino más corto en ese momento y, si hay algún incidente, por ejemplo, un parón repentino del coche que va delante, tomando la acción más segura.

¿Puede usar deep learning cualquier empresa?

La tecnología deep learning es bastante complicada de entrenar, por lo que no siempre se va a poder usar. Hay empresas que te ofrecen dentro de sus paquetes servicios de Inteligencia Artificial (IA) dentro de los cuales se puede encontrar el deep learning. Por ejemplo, las plataformas como WordPress, Magento, Woocommerce o Shopify ofrecen plug-ins (a menudo de pago) con deep learning para una función concreta, como poder mostrarle al usuario productos que también podría interesarle.

Igualmente, cada vez es más frecuente encontrarse que el módulo de producción de una fábrica incluya algunas funciones de inteligencia artificial, por ejemplo reconociendo objetos y clasificándolos según lo que sean con deep learning. No obstante, si la empresa desea que dicha tecnología haga alguna función más concreta o que necesite más desarrollo por parte del proveedor, ya es más complicado. Se necesitaría a alguien con conocimientos de programación en Python (y de sus librerías, como Numpy y Pandas). Además, se tendría que hacer uso de herramientas de desarrollo (development tools) para deep learning (como Anaconda notebook y Jupyter notebook) y usar frameworks específicos para deep learning (como Tensorflow, Pythorch. Keras, DL4J, Café o Microsoft Cognitive Toolkit).

Aparte de todo este conocimiento de programación, también el deep learning necesita tener siempre acceso a una gran cantidad de datos para poder funcionar. Sin embargo, el procesamiento de este tipo de cantidades de datos no puede ser realizado por cualquier hardware. Por ello, las empresas tendrían que invertir bastante dinero para que el nuevo hardware tenga GPU (Graphic Processing Units, unidades de procesamiento gráfico).

Las redes neuronales requieren mucho tiempo de entrenamiento (desde horas hasta meses). El tiempo incrementa con la cantidad de datos y el número de capas que haya en la red neuronal. La cantidad de tiempo y dinero que hay que invertir para usar esta tecnología es tan grande que no todas las empresas se lo pueden permitir.

¿Quieres usar este artículo como fuente? Haz clic para copiar:

European Knowledge Center for Information Technology. (2023, 27 noviembre). Deep learning: ¿se pueden programar las máquinas para pensar como humanos? TIC Portal. https://www.ticportal.es/glosario-tic/deep-learning-dl