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

Descubriendo a Betty Molesworth

Lo que más ha gustado

Descubriendo a Betty Molesworth

Betty Molesworth surgió en una conversación, en concreto, de botánica. Estábamos Eduardo Bazo y yo enzarzados en una charla muy amena, como son siempre las charlas con Eduardo ( @loeflingia ). Mencionó el tema de las mujeres que han hecho contribuciones a la ciencia y al conocimiento que resultan muy relevantes, pero que a menudo olvidamos o ni siquiera conocemos. Betty Molesworth está entre ellas. Ilustración de Ane Laburu     La busqué, pero no había mucha información sobre ella. Le pedí ayuda a Eduardo porque quería saber más. Me envió el artículo que había publicado en Hidden Nature   y, cuando empecé a leer la historia de Betty, pensé: «Me habría encantado que fuera mi abuela. ¡Qué mujer más intrépida, peleona y generosa!» Imagen de The British Fern Gazette     Y así fue como surgió la idea de empezar a investigar sobre la vida de Betty Molesworth. Me resultó interesante desde el principio y, poco a poco, fui descubriendo su vida. De esa forma su...

Marchar o dar vueltas

Como en muchas ocasiones anteriores parto de una pregunta; ¿debemos hablar de progreso o de innovación? En la actualidad todo lo que hacemos ¿es innovar o es progresar?.      Lo primero que tenemos que hacer es distinguir entre qué es innovar y qué es progresar. Podemos entender por progreso el avance que permite alcanzar un estado mejor, más desarrollado y más avanzado. Entre sus sinónimos encontramos adelanto, avance, ascenso, mejora, perfeccionamiento y superación.      Por su parte, la innovación es una acción para cambiar y llegar a una novedad. Su base no tiene que ser directamente la creación, sino que puede consistir en mejorar lo que ya existe, solucionar un problema o facilitar una actividad. ¿Progreso? (Creado con Stable Diffusion)      Partiendo de ambas definiciones se nos presenta una cuestión muy compleja, la de decidir si tenemos que progresar o si lo que debemos o podemos hacer es innovar.     T endríamos que...

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