Comprender la necesidad de redes neuronales
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Explicar las limitaciones de los modelos de IA que consideran solo las entradas de peso.
- Describir el rol de las redes neuronales en el aprendizaje automático.
- Definir los componentes principales de las redes neuronales.
- Describir cómo se agrega la complejidad a las redes neuronales y definir el aprendizaje profundo.
- Explicar la imposibilidad de interpretar los pesos y sesgos determinados mediante el entrenamiento.
Trailcast
Si desea escuchar una grabación de audio de este módulo, utilice el siguiente reproductor. Cuando termine de escuchar la grabación, recuerde volver a cada unidad, consultar los recursos y completar las tareas asociadas.
Por qué son necesarias las redes neuronales
Ninguna conversación sobre IA termina sin mencionar las redes neuronales. Las redes neuronales son herramientas importantes para el entrenamiento de modelos de IA, por lo que resulta conveniente tener una idea de lo que son. Antes de entrar en detalle, hablemos sobre lo que necesitan las redes neuronales en primer lugar.
En la unidad anterior, vimos que es posible entrenar un modelo de IA dejando que adivine y compruebe el peso (la importancia) de cada entrada. Pero el ejemplo de la leche era demasiado simple. Nuestro modelo nos proporcionaría estimaciones bastante aproximadas. Para entender el motivo, vamos a tener en cuenta dos escenarios.
- Es martes por la tarde y está lloviendo. Preferiría no mojarse, por lo que decide (al igual que otras muchas personas) que la compra puede esperar a mañana. En este escenario, la lluvia es un factor importante.
- Es sábado por la tarde y está lloviendo. Para muchas personas, es el único momento de la semana en el que pueden ir a comprar. Por ello, la tienda estará llena, esté lloviendo o haga sol. En este escenario, la lluvia no es importante.
El problema es que nuestro modelo original solo puede asignarle un peso a la lluvia, pero sabemos que no es tan sencillo. Sin embargo, existe una solución: representar los dos escenarios en dos gráficos diferentes. De nuevo, el grosor de línea es importante. En el primero, los elementos "fin de semana" y "hora" no son muy importantes, mientras que "lluvia" sí lo es. En el segundo, "fin de semana" es un elemento importante, mientras que "hora" y "lluvia" no lo son.
Sabemos que estos dos escenarios son importantes, puesto que somos personas inteligentes y tenemos experiencia a la hora de comprar leche. Pero un ordenador que acaba de conocer lo que es un trayecto para comprar leche no sabe nada todavía. Debe tener en cuenta muchos escenarios: fin de semana-tarde-lluvia, día laborable-mañana-sol, etc. En lugar de dos gráficos, sería mejor utilizar ocho para representar mejor los tipos de escenarios con los que podemos encontrarnos.
Esos son muchos gráficos muy parecidos. Como las tres entradas siempre representan "fin de semana", "hora" y "lluvia", puede solaparlos. Si mueve los resultados para que no se toquen, obtendrá un gráfico combinado que tendrá este aspecto.
Las importancia de cada escenario depende de una entrada específica. Sin embargo, conocer la importancia es tan solo una parte de la batalla. Cada escenario debe afectar a la estimación final a su manera.
Por ejemplo, el trayecto para ir a comprar leche fin de semana-tarde-sol debería llevar más tiempo. Por ello, vamos a ajustarlo en +5. Cuando hacemos cálculos para obtener una estimación, el resultado es un número mayor. Mientras estamos en ello, ajustaremos el escenario día laborable-mañana-lluvia en -4, ya que sabemos que el trayecto es más corto en ese momento.
Cada escenario obtiene su propio ajuste, que es lo que conocemos como sesgo. En este caso, el sesgo es algo bueno, puesto que nos ayuda a conseguir una estimación más precisa. Volvamos a dibujar nuestro gráfico para incluir el sesgo de cada escenario.
¿Qué hacemos con estos ocho escenarios y sus sesgos? Realizando algunos cálculos inteligentes más, podemos combinarlos para conseguir una estimación final. Algunos escenarios deberían contribuir más que otros, así que está en lo cierto, necesitamos más pesos. Podemos actualizar nuestro gráfico para mostrar cómo se conectan los escenarios a la estimación final con diferentes puntos fuertes.
Este es nuestro nuevo modelo. Cuantas más conexiones, mejores serán las estimaciones. Esta web de conexiones, guiadas por pesos y sesgos, es un ejemplo de red neuronal. La llamamos así porque las conexiones, forjadas a partir de la experiencia (datos), se unen de forma similar a como se conectan las neuronas en el cerebro.
Y, a pesar de que escenario es una buena palabra para empezar a describir una combinación única de factores, deberíamos utilizar la palabra nodo para ese concepto. Es la que utilizan los expertos en IA, por lo que más adelante también la utilizaremos nosotros.
Agregar complejidad a las redes neuronales
Nuestro nuevo modelo de trayecto para ir a comprar leche es un ejemplo bastante básico de red neuronal. En la práctica, puede resultar más complicado. Veamos algunas maneras en que los investigadores establecen redes neurológicas con el fin de conseguir mejores resultados para tareas específicas.
En primer lugar, se estará preguntando por qué elegimos ocho nodos para colocarlos entre las entradas y los resultados. Lo cierto es que existe cierta flexibilidad en cuanto al número. Sabemos que sin ningún nodo obtendremos estimaciones aproximadas. De la misma manera, al tener muy pocos no se capturarán todos los matices del sistema que estamos intentando modelar. Sin embargo, tener demasiados nodos también es un problema. No queremos que el ordenador realice más cálculos de los necesarios. Por ello, existe un punto ideal para el número de nodos con los que obtendremos buenos resultados con el menor esfuerzo. Elegir el número correcto forma parte del diseño de una buena red neurológica.
Hay algo más que podemos hacer para conseguir que las redes neuronales artificiales sean más parecidas a las nuestras. Esto se relaciona con la manera en la que nuestra mente pasa de una idea a otra para encontrar conexiones entre dos elementos que no están relacionados de manera obvia. Algunas de las ideas más brillantes son el resultado de algunas conclusiones apresuradas. ¿Qué pasaría si pudiéramos construir una red neuronal que realizara más conclusiones apresuradas? Se puede. Para ello, agregamos más nodos como capas, conectando cada nodo con el siguiente.
El entrenamiento de la IA mediante la adición de capaz adicionales para encontrar significado oculto en los datos es lo que se conoce como aprendizaje profundo. Gracias a la abundancia de la potencia computacional, muchas redes neuronales están diseñadas para tener varias capas. De nuevo, el mejor número de capas es el equilibrio entre el número de cálculos necesarios y la calidad de los resultados que producen.
Más que cálculos mentales, son cálculos de redes neuronales
Hablemos de esos cálculos. Llegados a este punto, apenas hemos tratado la parte de los cálculos del entrenamiento de las redes neuronales. Esto ocurre por varios motivos. El primero es que los cálculos pueden llegar a ser muy complicados rápidamente. Por ejemplo, este es un miniprograma de un documento de investigación sobre redes neuronales.
Sí, es intenso.
El segundo es que los cálculos exactos dependerán del tipo de tarea para la que esté entrenando a la red neuronal. Por último, cada documento de investigación nuevo actualiza los cálculos a medida que aprendemos qué funciona mejor a la hora de entrenar diferentes modelos.
Por ello, diseñar una red neuronal implica elegir un número de nodos, capas y los cálculos apropiados para la tarea para la que se está entrenando. Una vez que el modelo de arquitectura esté listo, dejaremos que el ordenador utilice todos los cálculos elaborados con el fin de realizar su rutina de adivinar y comprobar. Al final, averiguará los mejores pesos y sesgos para producir buenas estimaciones.
Esto nos lleva a algo que resulta un poco desconcertante sobre las redes neuronales artificiales. Piense en un ojeador experimentado que busca al próximo gran jugador de béisbol. Es posible que se diga: en cuanto lo vea, lo reconoceré. No se puede explicar cómo, simplemente se sabe. De la misma manera, nuestra red neuronal no puede explicar por qué ciertos factores son importantes. Por supuesto, podemos ver los valores adjuntos a cada peso y sesgo, pero la relevancia de un número que es el resultado de una conexión de una conexión de una conexión se nos iría de las manos.
Al igual que la mente del ojeador es una caja negra, nuestra red neuronal también lo es. Como las capas entre la entrada y el resultado no se ven, se las conoce como capas ocultas.
Conclusión
Para resumir, las redes neuronales son una mezcla de nodos, capas, pesos, sesgos y un montón de cálculos. Todo ello junto imita a nuestras propias redes neuronales. Cada red neuronal está ajustada cuidadosamente para una tarea específica. Puede ser muy buena prediciendo la lluvia, clasificando plantas o haciendo que el coche quede centrado en el carril de una autopista. Sea cual sea la tarea, las redes neuronales son una parte importante de lo que hace que la IA parezca mágica. Ahora ya sabe un poco cómo funciona el truco.
Recursos