¿Qué es una redes neuronal residual?

Una red neuronal residual conocida como “ResNet” es una renombrada red neuronal artificial. Se ensambla en construcciones obtenidas de las células de la pirámide de la corteza cerebral. Las redes neuronales residuales logran esto usando atajos o “conexiones de salto” para moverse sobre varias capas.

Los expertos implementan modelos tradicionales de redes neuronales residuales con saltos de dos o tres capas que contienen normalización por lotes y no linealidad entre ellas. Los científicos de los datos también aprovechan una matriz de peso extra para aprender los pesos de los saltos en algunos casos. El término utilizado para describir este fenómeno es “Redes de autopistas”. Los modelos que consisten en múltiples saltos paralelos son “Densenets”. Las redes no residuales también se pueden denominar redes simples cuando se habla de redes neuronales residuales.

Una razón de peso para saltar capas es evitar los gradientes que se desvanecen y cuestiones similares. Como el gradiente se retropropaga a las capas anteriores, este proceso repetido puede hacer que el gradiente sea extremadamente pequeño. La mayoría de los individuos hacen esto utilizando las activaciones de las capas precedentes hasta que el adyacente aprende en pesos particulares. Mientras se entrena, estos pesos se ajustan a las capas anteriores y amplían la capa salteada anteriormente. En el caso más sencillo, los pesos utilizados para conectar las capas adyacentes entran en juego.

Sin embargo, esto sólo funciona eficazmente cuando todas las capas intermedias son lineales o se superponen sobre la capa no lineal. Si no es así, la utilización de una matriz de pesos diferente sería útil para las conexiones salteadas. Sería mejor si consideraras usar una red de carreteras en tales casos.

El salto elimina las complicaciones de la red, haciéndola más simple, usando muy pocas capas durante la etapa de entrenamiento inicial. Acelera el aprendizaje por diez veces, minimizando el efecto de la desaparición de los gradientes. ¿Por qué? Porque apenas hay capas por las que extenderse. Después de esto, la red eventualmente vuelve a poner las capas hábiles mientras aprende el espacio de las características.

A medida que el entrenamiento se acerca a su fin y cada capa se expande, se acercan al múltiple y aprenden cosas más rápidamente. Una red neuronal que no tiene partes residuales tiene más libertad para explorar el espacio de características, haciéndolo altamente peligroso para las perturbaciones, causando que salga del colector, y haciéndolo esencial para que los datos de entrenamiento extra se recuperen.

¿Qué es lo que ha hecho necesaria la necesidad de redes neuronales residuales?

Después de que AlexNets celebrara un triunfo en la competición de clasificación de LSVRC de 2012, la red residual profunda se convirtió, posiblemente, en la innovación más innovadora e ingeniosa de la historia del paisaje de aprendizaje profundo y visión por computador. ResNet permite entrenar cientos, si no miles de capas, mientras se logra un rendimiento fascinante.

Numerosas aplicaciones de visión por computador aprovecharon las fuertes capacidades de representación de la red neuronal residual y notaron un gran impulso. La clasificación de imágenes no fue la única aplicación de visión por computador que utilizó ResNet – el reconocimiento facial, y la detección de objetos también se beneficiaron de esta innovación revolucionaria.

Desde que las redes neuronales residuales dejaron a la gente asombrada durante su inauguración en 2015, varios individuos en la comunidad de investigación trataron de descubrir los secretos detrás de su éxito, y es seguro decir que ha habido toneladas de refinamientos hechos en la vasta arquitectura de ResNet.

La cuestión del gradiente de desaparición (Vanishing Gradient)

El problema del gradiente de desaparición es común en la comunidad de aprendizaje profundo y ciencia de datos. La gente a menudo se encuentra con este problema al entrenar redes neuronales artificiales que implican la retropropagación y el aprendizaje basado en el gradiente. Como se ha señalado anteriormente, los expertos utilizan los gradientes para actualizar los pesos en una red específica.
Sin embargo, las cosas son diferentes a veces, ya que el gradiente se vuelve increíblemente pequeño y casi desaparece. Esto impide que los pesos cambien sus valores, lo que hace que la red interrumpa el entrenamiento, ya que los mismos valores se difundirán una y otra vez sin que se realice ningún trabajo significativo.

ResNet y Aprendizaje Profundo

Cada modelo de aprendizaje profundo posee múltiples capas que le permiten comprender las características de la entrada, ayudándole a tomar una decisión informada. Aunque esto es bastante sencillo, ¿cómo identifican las redes las diversas características presentes en los datos?
Sería justo pensar en las redes neuronales como aproximadores de funciones universales. Los modelos intentan aprender los parámetros correctos que representan de cerca una característica o función que proporciona la salida correcta. La incorporación de más capas es una excelente manera de agregar parámetros, y también permite el mapeo de funciones no lineales complicadas.

Sin embargo, esto no significa que el apilamiento de toneladas de capas se traduzca en una mejora del rendimiento. Si miras de cerca, te darás cuenta de que hay una trampa. Mientras que notamos que implementar nuestros modelos con más capas conduce a mejores desempeños, los resultados podrían cambiar drásticamente en algunas condiciones, llevando a la saturación, y eventualmente, a un rápido declive.

Entendiendo el problema con múltiples capas

Primero debemos entender cómo los modelos aprenden de los datos de entrenamiento. El proceso ocurre pasando cada entrada a través del modelo (también conocido como feedforward) y pasándolo de nuevo (también conocido como backpropagation.) Mientras se produce la backpropagation, actualizamos los pesos de nuestro modelo de acuerdo con su clasificación de entrada. La actualización resta el gradiente de la función de pérdida relativo al valor anterior del peso.

Cómo ResNet resuelve el problema del gradiente de desaparición (Vanishing Gradient)

Como se ha mencionado abundantemente, las redes neuronales residuales son la solución ideal para el problema del gradiente de desaparición. Los expertos en aprendizaje profundo añaden atajos para saltar dos o tres capas para hacer el proceso más rápido, haciendo que el atajo cambie la forma en que calculamos los gradientes en cada capa. Para simplificar las cosas, pasar la entrada por la salida evita que algunas capas cambien los valores del gradiente, lo que significa que podemos saltar el procedimiento de aprendizaje para algunas capas específicas. El fenómeno también aclara cómo el gradiente vuelve a entrar en la red.

A medida que continuamos entrenando, el modelo capta el concepto de retener las capas útiles y no usar las que no ayudan. El modelo convertirá estas últimas en mapas de identidad. Es un factor importante para el éxito de la red neural residual, ya que es increíblemente sencillo crear mapas de capas para la función de identidad.

Además, el hecho de que exista la opción de ocultar las capas que no ayudan es inmensamente útil. Una cantidad masiva de capas puede hacer las cosas bastante confusas, pero con la ayuda de las redes neuronales residuales, podemos decidir cuáles queremos mantener y cuáles no sirven para nada.

Pensamientos finales

Sería justo decir que la arquitectura de la red neuronal residual ha sido increíblemente útil para aumentar el rendimiento de las redes neuronales con múltiples capas. En su núcleo, las ResNets son como varias redes con pequeñas modificaciones. Esta arquitectura tiene pasos funcionales similares a los de CNN (redes neuronales convolucionales) u otros. Sin embargo, hay un paso adicional para abordar el problema del gradiente de desvanecimiento y otras cuestiones relacionadas.