Skip to main content
Dreamforce llega a San Francisco del 17 al 19 de septiembre. Regístrese ahora y ahorre un 20 % con el código DF24TRAIL20

Comprenda la necesidad de redes neuronales

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Explicar la limitación de los modelos de IA que solo tienen en cuenta las entradas con valores de ponderación.
  • Describir la función de las redes neuronales en el aprendizaje automático.
  • Definir los componentes principales de las redes neuronales.
  • Describir cómo se agrega complejidad a las redes neuronales y definir el aprendizaje profundo.
  • Explicar por qué es imposible interpretar los valores de ponderación y los sesgos que se determinan mediante entrenamiento.

Trailcast

Si quiere escuchar una grabación de audio de este módulo, use el reproductor a continuación. Cuando haya terminado de escuchar esta grabación, recuerde volver a cada unidad, consultar los recursos y completar las evaluaciones asociadas.

La necesidad de redes neuronales

Ninguna plática sobre la IA está completa si no se mencionan las redes neuronales. Las redes neuronales son herramientas importantes para el entrenamiento de modelos de IA, por lo que sirve comprender de qué se tratan. Sin embargo, antes de explicar los detalles, debemos platicar sobre por qué necesitamos redes neuronales.

En la unidad anterior, aprendió que se puede entrenar un modelo de IA si se lo deja suponer y probar el valor de ponderación de cada entrada. Aun así, el ejemplo de la salida para comprar leche era en verdad demasiado simple. Nuestro modelo nos proporcionaría estimaciones bastante aproximadas. Para comprender por qué, debemos considerar dos escenarios.

  1. Es martes por la noche y está lloviendo. Preferiría no mojarse, por lo que usted (y muchas personas como usted) decide que la compra puede esperar hasta mañana. En este escenario, la lluvia es un factor significativo.
  2. Es una tarde de sábado y está lloviendo. Para muchas personas, este es el único momento en la semana en que pueden realizar una compra. Por ello, la tienda estará concurrida, ya sea que llueva o esté soleado. En este escenario, la lluvia no representa una gran diferencia.

El problema es que nuestro modelo original solo puede asignarle un valor de ponderación a la lluvia, y sabemos que es mucho más complejo que esto. Sin embargo, existe una solución, que comienza con la representación de los dos escenarios en dos gráficos diferentes. De nuevo, el grosor de la línea demuestra la importancia. En el primero, “fin de semana” y “hora” tienen poca importancia, mientras que “lluvia” tiene mucha. En el segundo, “fin de semana” tiene mucha importancia, mientras que “hora” y “lluvia” tienen poca.

Dos diagramas, en los que cada uno conecta “fin de semana”, “hora” y “lluvia” con diferentes estimaciones. (gris, azul y amarillo)

Sabemos que estos dos escenarios son significativos porque somos inteligentes y tenemos la experiencia de salir a comprar leche. Sin embargo, una computadora que recién comienza a aprender sobre las salidas para comprar leche aún no tiene estos conocimientos. Debe considerar muchos escenarios: fin de semana+tarde+lluvia, día de semana+mañana+soleado y así sucesivamente. Los tipos de escenarios que se encuentran podrían representarse mejor en ocho gráficos en lugar de dos.

Ocho gráficos bastante similares, en los que cada uno tiene tres nodos conectados con uno.

Son muchos gráficos similares. Como hay siempre tres entradas que representan “fin de semana”, “hora” y “lluvia”, puede superponerlas. Si mueve las entradas de forma que no se toquen, obtiene un gráfico combinado que se ve de la siguiente manera.

Un gráfico con tres nodos en un lado y ocho en el otro. Todos los nodos están conectados con una línea.

La importancia de cada escenario depende de las entradas específicas. Aun así, conocer la importancia es solo la mitad del desafío. Cada escenario necesita influenciar la estimación final a su propio modo.

Por ejemplo, la salida para comprar leche una tarde soleada de fin de semana llevará bastante más tiempo. Por lo tanto, haremos un ajuste de +5. Cuando realizamos los cálculos matemáticos para obtener una estimación, el resultado es un número mayor. Mientras hacemos esto, le daremos al escenario de mañana con lluvia de día de semana un ajusta de -4, ya que sabemos que las salidas para comprar leche son más breves en estos momentos.

Cada escenario obtiene su propio ajuste, lo cual conocemos como sesgo. En este caso, el sesgo es un aspecto positivo, ya que nos ayuda a obtener una estimación más precisa. Volvamos a trazar el gráfico para que incluya el sesgo de cada escenario.

Un gráfico con tres nodos en un lado y ocho en el otro, cada uno con su propio número positivo o negativo. Todos los nodos están conectados con una línea.

Entonces, ¿qué hacemos con estos ocho escenarios y sus sesgos? Mediante el uso de otros cálculos matemáticos ingeniosos, podemos combinarlos en una estimación final. Algunos escenarios deberían contribuir más que otros, por lo que, como ya habrá adivinado, necesitamos más valores de ponderación. Podemos actualizar el gráfico para que muestre cómo se conectan los escenarios con la estimación final con distintas fuerzas.

Un gráfico con tres nodos en el lado izquierdo, ocho en el medio y uno en el lado derecho. Hay líneas que conectan el lado izquierdo con el medio y el medio con el lado derecho.

Este es nuestro nuevo modelo. Con suerte, más conexiones significarán mejores estimaciones. Este entramado de conexiones, guiado por los valores de ponderación y los sesgos, es un ejemplo de una red neuronal. Lo llamamos de esta manera debido a que las conexiones, forjadas por la experiencia (datos), se asemejan a cómo se conectan las neuronas de un cerebro.

Si bien escenario es una buena palabra inicial para describir una combinación única de factores, en verdad deberíamos utilizar la palabra nodo para este concepto. Es la palabra que utilizan los expertos en IA, por lo que también la utilizaremos en el futuro.

Cómo agregar complejidad a las redes neuronales

Nuestro nuevo modelo de salida para comprar leche es un ejemplo bastante básico de una red neuronal. En la práctica, las redes pueden volverse bastante complejas. Exploremos algunas formas que tienen los desarrolladores para establecer redes neuronales con el fin de obtener mejores resultados para tareas específicas.

En primer lugar, se estará preguntando por qué elegimos ocho nodos que se ubican entre las entradas y los resultados. En realidad, este número tiene una cierta flexibilidad. Sabemos que no contar con ningún nodo nos proporcionará estimaciones aproximadas. De la misma manera, puede que, al tener muy pocos nodos, no se capturen todos los matices del sistema que intentamos modelar. Sin embargo, tener demasiados nodos también representa un problema. No queremos que la computadora realice más cálculos de los necesarios. Por lo tanto, hay una cantidad ideal de nodos que nos brindará los mejores resultados con el menor esfuerzo. Elegir la cantidad adecuada es parte de diseñar una buena red neuronal.

Hay otra medida que podemos tomar para que las redes neuronales artificiales sean más parecidas a nuestras propias redes orgánicas. Se relaciona con cómo nuestras mentes a menudo pasan de una idea a otra para buscar conexiones entre dos puntos que no están evidentemente relacionados. Algunas de las percepciones más brillantes son el resultado de varios pasos. Por lo tanto, ¿qué tal si pudiéramos hacer una red neuronal que también pudiera realizar más pasos? Podemos hacerlo. Para esto, debemos agregar más nodos como capas que conecten cada nodo con su nodo más cercano.

Diagrama de una red neuronal con dos capas de nodos entre las entradas y los resultados.

El entrenamiento de IA mediante el agregado de capas adicionales para encontrar significados ocultos en los datos es lo que conocemos como aprendizaje profundo. Gracias a una abundancia de potencia informática, muchas redes neuronales están diseñadas para contar con varias capas. De nuevo, la mejor cantidad de capas es un equilibrio entre la cantidad de cálculos necesarios y la calidad de los resultados que producen.

Más que cálculos matemáticos mentales, son cálculos matemáticos de redes neuronales

Hablemos sobre estos cálculos. Hasta este punto, pasamos por alto el aspecto matemático de entrenar redes neuronales. Esto se debe a ciertos motivos. En primer lugar, los cálculos matemáticos se pueden tornar muy complejos con bastante rapidez. Por ejemplo, a continuación se muestra un fragmento de un trabajo de investigación sobre las redes neuronales.

Captura de pantalla de un trabajo de investigación sumamente técnico sobre las redes neuronales

Así es. Es bastante intenso.

En segundo lugar, el cálculo matemático exacto dependerá del tipo de tarea para el que entrene la red neuronal. En tercer lugar, cada trabajo de investigación nuevo actualiza el cálculo matemático a medida que se aprende qué funciona mejor para entrenar los diferentes modelos.

Por lo tanto, diseñar una red neuronal involucra elegir la cantidad de nodos y capas, y los cálculos matemáticos correspondientes a la tarea para la que se entrena. Ahora que tiene lista la arquitectura del modelo, permita que la computadora utilice todos estos cálculos matemáticos refinados para realizar su rutina de suposición y prueba. Con el tiempo, descubrirá los mejores valores de ponderación y sesgos para obtener buenas estimaciones.

Así llegamos a un tema algo inquietante sobre las redes neuronales artificiales. Imagínese a un cazatalentos capacitado que busca al nuevo gran jugador de béisbol. Puede que diga: “Sabré quién es cuando lo vea”. No puede explicar cómo lo sabrá, solo lo hará. De la misma manera, nuestra red neuronal no puede explicar por qué ciertos factores son importantes. Claro que podemos ver los valores vinculados con cada ponderación y sesgo, pero no podremos conocer la relevancia de un número que es el resultado de una conexión de una conexión de una conexión.

La mente del cazatalentos es un enigma al igual que lo es nuestra red neuronal. Debido a que no observamos las capas entre la entrada y el resultado, nos referimos a ellas como capas ocultas.

Finalización

A modo de resumen, las redes neuronales son una combinación de nodos, capas, valores de ponderación, sesgos y una serie de cálculos matemáticos. En conjunto, simulan nuestras propias redes neuronales orgánicas. Cada red neuronal se ajusta con cuidado para una tarea específica. Puede que sea buena en la predicción de la lluvia, puede que divida plantas en categorías o puede que mantenga su automóvil centrado en un carril de la autopista. Cualquiera sea la tarea, las redes neuronales son una parte fundamental de la “magia” de la IA. Ahora, ya conoce un poco mejor cómo hacer los trucos.

Recursos