Se puede decir que ResNet es el trabajo más innovador en el campo de la visión por computadora y el aprendizaje profundo en los últimos años. Resuelve efectivamente el problema de la disminución de la precisión del conjunto de entrenamiento a medida que la red se profundiza. como se muestra en la siguiente figura:
Los estudiantes que han realizado aprendizaje profundo deben saber que a medida que aumenta el número de capas de red, una de las razones por las que el efecto del entrenamiento empeora es el problema de la dispersión y la explosión del gradiente. , lo que inhibe la convergencia de parámetros de red poco profundos. Pero este problema se ha resuelto mediante algunas técnicas de inicialización de parámetros. Los estudiantes interesados pueden leer los siguientes artículos en las referencias: [2][3][4][5][6].
Aun así, cuando la profundidad de la red es mayor (como la red de 56 capas en la imagen), el efecto aún empeorará. Podemos ver en los primeros tres modelos de Alexnet Googlenet VGG que la profundidad de la red juega un papel crucial en el reconocimiento de imágenes. Cuanto más profunda es la red, más funciones en diferentes niveles se pueden aprender automáticamente. Entonces, ¿cuál es la razón del pobre efecto?
Figura 3
La cantidad de cálculo del modelo VGG de 19 capas a la izquierda es 1,96 mil millones de FLOP, y la cantidad de cálculo de la red convolucional ordinaria con 34 capas en el medio es 3.600 millones de fracasos.
A la derecha hay una ResNet de 34 capas con una carga computacional de 3,6 mil millones de FLOP. Las flechas sólidas en la figura son asignaciones directas sin cambios de tamaño y las líneas de puntos son asignaciones con cambios de tamaño. De la comparación se puede ver que aunque VGG tiene menos capas, la cantidad de cálculo sigue siendo muy grande. Como se puede ver más adelante en los datos experimentales, el rendimiento de ResNet de 34 capas será mejor que el de 19.
Como se puede ver en la figura, la red residual de 34 capas es mejor que las redes VGG y Google en términos de efecto. Entre las tres opciones A, B y C, la opción C tiene el mejor efecto, pero la cantidad de cálculo de las opciones B y C es mucho mayor que la de la opción A, y el efecto no mejora mucho, por lo que el autor recomienda esa opción. A es más práctico.
A continuación se presenta la estructura de la red restante por encima de 50 capas: arquitectura de cuello de botella más profunda. Esta estructura está diseñada por el autor para reducir el tiempo de formación. El par estructural se muestra en la siguiente figura:
ResNet resuelve el problema de degradación de las redes profundas mediante el aprendizaje residual, de modo que se pueden entrenar redes más profundas, lo que puede considerarse un avance histórico en las redes profundas. Quizás pronto haya mejores formas de entrenar redes más profundas. ¡Esperémoslo juntos!
Actualmente puede encontrar un ejemplo de implementación de 34 capas de red residual basada en tensorflow (ResNet) en la plataforma de modelado de inteligencia artificial Mo. El conjunto de datos es CIFAR-10 (el conjunto de datos de diez categorías de CIFAR). La precisión de este ejemplo es del 90 % en el conjunto de prueba y del 98 % en el conjunto de validación. El programa principal está en ResNet_Operator.py, la estructura de bloques de la red está en ResNet_Block.py y el modelo entrenado se guarda en la carpeta de resultados.
Dirección fuente del proyecto:/explore/5d 1b0a 031 AFD 944132a 0797d? Tipo=Aplicación
Referencias:
[1]_He Guoguang, Zhang, Ren, Sun Jun. Aprendizaje residual profundo para el reconocimiento de imágenes. Preimpresión de arXiv arXiv:1512.03385, 2015.
[2] Y. LeCun, L. Botu, G. B. Orr y K.-R.M. Retroproyección eficiente. Redes neuronales: trucos del oficio, págs. 9-50. Springer, 1998.
[3] X. Grote e Y. Bengio. Comprender las dificultades de entrenar redes neuronales de retroalimentación profunda. En AISTATS, 2010.
[4] A. M. Sacks, J. L. McClelland y S. Ganguly. Soluciones exactas a la dinámica no lineal aprendidas por redes neuronales lineales profundas arxiv:1312.6120, 2013.
[5] He Guoguang, Zhang Xiaosong, Ren Shaoning y Sun Jun. Una inmersión profunda en los rectificadores: rendimiento de nivel sobrehumano en la clasificación ImageNet.
En ICCV, 2015.
[6] S. Joffe y C. Szegedi. Normalización de lotes: acelerar el entrenamiento profundo de la red mediante la reducción de las transferencias internas de covariables. En ICML, 2015.
Mo (sitio web:) es una plataforma de modelado en línea de inteligencia artificial compatible con Python, que puede ayudarle a desarrollar, entrenar e implementar modelos rápidamente.
Mo Artificial Intelligence Club es un club iniciado por el equipo de diseño de productos del sitio web de He y se compromete a reducir el umbral para el desarrollo y uso de la inteligencia artificial. El equipo tiene experiencia en procesamiento, análisis, visualización y modelado de datos de big data, lleva a cabo proyectos inteligentes en muchos campos y tiene capacidades de diseño y desarrollo de línea completa desde el principio hasta el principio. Las principales direcciones de investigación son el análisis de la gestión de big data y la tecnología de inteligencia artificial para promover la investigación científica basada en datos.