Ir al contenido principal

Aprendizaje en lo hondo (deep learning)

Lo primero de todo y antes de criticar nada hay que comprender de qué estamos hablando. Toca criticar el aprendizaje profundo, pero antes de nada hay que saber qué es.
    A modo de resumen, cuando hablamos de aprendizaje profundo nos referimos a una forma de automatizar el análisis predictivo. Hablamos de algoritmos con capacidad de aprendizaje no lineal, es decir, que presentan una jerarquía de complejidad y abstracción mayores a medida que pasa el tiempo. 
    Sabéis que aunque estemos hablando de máquinas, siempre me gusta hacer la analogía con el modo de pensar de los humanos. En el caso del aprendizaje profundo, imaginad a alguien que no ha comido gambas en la vida. Una vez que las ha visto por primera vez, y ante la visión, por ejemplo de unos langostinos, preguntará si se trata de gambas. Cuando le expliquen que no son lo mismo, aprenderá. De esta manera la siguiente vez, ya habrá creado una distinción entre una gamba y un langostino. Este aprendizaje continuará hasta que la persona haya adquirido una jerarquía que le permita construir cada nivel de abstracción basándose en el conocimiento adquirido en cada nivel anterior. Aplicado a la I.A. esto es el aprendizaje profundo.

    En este caso contamos con capas, una de entrada, otra de salida y aquellas que no están relacionadas con el entorno, que son llamadas capas ocultas. El proceso es el mismo que en el caso de los humanos, se entrena y se validan las respuestas para mejorar su procesamiento. La diferencia radica en el tiempo que emplea la máquina en aprender, que obviamente es un proceso continuo que no depende de volver a encontrarse con datos de forma azarosa, como es el caso de encontrarse con gambas y similares a lo largo del tiempo.
    Sin embargo, como todo en esta vida, tiene sus problemas. Vamos a darnos un paseo por algunos de los que he encontrado y tened en cuenta que mis conocimientos en esta materia son muy limitados. 
    La primera crítica deriva del propio entrenamiento, ya que para lograr un buen nivel de precisión se le deben proporcionar al algoritmo grandes cantidades de datos, así como disponer de gran potencia de procesamiento. Y hasta el momento en el que el procesamiento de gran cantidad de datos (Big Data) no se ha hecho presente, el funcionamiento no lograba una precisión aceptable. Aun así el manejo de gran cantidad de datos todavía no está optimizado. Es curioso que dispongamos de cantidades ingentes de datos y que no podamos utilizarlos fácilmente.
    Los modelos de aprendizaje profundo aprenden a través de observaciones. Esto implica que sólo tienen conocimiento de los datos con los que se han entrenado. Por lo tanto su aprendizaje está limitado por los datos, de tal forma que si se le proporcionan pocos datos o no son representativos, no aprenderán para poder hacer una abstracción generalizable.
    En cuanto a los datos para el entrenamiento, éstos tienen añadido el problema del sesgo. Al proporcionarle datos para su entrenamiento, aun sin conocimiento por parte del programador, los datos pueden estar sesgados. Imaginad que queremos un sistema de reconocimiento facial y los datos que le proporcionamos para su entrenamiento, que son de los que disponemos, son imágenes de personas con gafas. Lógicamente sólo distinguirá como humanos a los que tengan gafas. El error no procede de la máquina sino de los datos, pero este fallo puede darse sin conocimiento de los programadores. Por lo tanto estamos generando un modelo erróneo.
    Otro de los problemas es la tasa de aprendizaje. Si aprende demasiado rápido, podemos suponer que la solución que está proporcionando no es buena. Por el contrario si aprende demasiado lento, el modelo se atascará y no llegará a una solución.
    El siguiente problema está relacionado con los requisitos de hardware ya que el aprendizaje profundo requiere equipos complejos que resultan caros y que consumen mucha energía. 
  ¿Qué pasa cuando ya ha aprendido? En este caso parece que el algoritmo se vuelve inflexible y no es capaz de manejar la multitarea. Aprende a solucionar un problema específico, pero si quisiéramos resolver un proceso similar, aunque no igual, tendríamos que volver a entrenarlo.
    ¿Los algoritmos razonan? Parece que no. Los problemas que requieren razonamiento, por ejemplo la programación o la aplicación del método científico, están fuera de su alcance.
    A modo de resumen, y basado en lo que he aprendido de deep learning, he sacado las siguientes conclusiones:
- No pueden realizar tareas simples.
- Por su sistema de entrenamiento el algoritmo puede ser bueno con los ejemplos pero no serlo con el procesamiento real.
- En el caso humano las conexiones neuronales no son sólo entre capas lo que nos permite ser multitarea. Y no siempre transmiten valores precisos. En el caso de los procesos de deep learning esto no ocurre.
- Ofrecen soluciones pero no hay posibilidad de interpretar cómo se ha realizado el proceso ya que lo que ha ocurrido en las capas ocultas es desconocido.
- No tiene adaptabilidad.
    Espero que esta entrada os haya aclarado un poco en qué consiste el aprendizaje profundo y cuales son sus problemas. Pero si os apetece ir un poco más allá y saber cuáles son las implicaciones técnicas y los problemas éticos de la I.A. en breve publicaré una entrada hablando del tema.



Referencias:
Apuntes de Humberto Bustince (para el Máster de Cultura Científica de la UPNA)

Comentarios

Lo más visto

I Congreso Washasha University 🎓 (para jóvenes promesas)

Lo que más ha gustado

I Congreso Washasha University 🎓 (para jóvenes promesas)

Seguro que ya sabéis que la ciencia no se hace sola, que hay que hacerla. Y después ¿qué?. Supongo que nadie creerá que sólo hay que sentarse y esperar a que lleguen las críticas o los elogios. ¡No! También hay que publicitarse, darse a conocer y pelearse con otros para que lo que queremos contar se difunda. Por lo tanto tiene que resultar interesante. Así que, además de largos y sesudos estudios, también hay que hacer de comercial de nuestra propia investigación.      ¿Competencia? claro. Imaginad que vuestro estudio científico es muuuuuuuy bueno y que además habéis hecho un descubrimiento importante...sólo es bueno si alguien lo lee, ¿no? Eso significa que debemos generar el suficiente interés sobre nuestro trabajo para que alguien nos escuche o nos lea.  ¿Cómo lo hacemos? A día de hoy habrá que darle una vuelta por las redes, publicarlo en alguna revista o presentarlo en un congreso.      Imaginad ahora un congreso de ciencia, lleno de gente dispues...

Dale cariño a una científica

Una vez tuve un sueño que casi se cumple, pero un error de cálculo ha impedido que sea posible. No pasa nada, no os lo puedo enseñar completo, pero os puedo contar como ha sido y que veáis una pequeña muestra de ello.      Todo empieza, en ocasiones, con algo que no encaja. ¿Os ha pasado? A mí muchas veces.        A principios de curso me di cuenta de que hay muchas y fantásticas iniciativas para dar a conocer a las mujeres científicas. Durante muchos años me he propuesto acercar a mis estudiantes a estas mujeres y, en la mayoría de las ocasiones, para ello les he pedido un trabajo, un póster o una presentación sobre alguna científica de su elección para exponerlo en clase.      Harta de repetir lo mismo de múltiples formas, por fin me di cuenta de que algo no encajaba en esas exposiciones y trabajos. ¡Faltaba cariño! Aprendían los datos de la científica y los escupían con mayor o menor fortuna para un público poco entregado y con ganas...

May the ´Darth´ side of the Science be with you.