AlexNet ganó ampliamente el desafío ImageNet LSVRC-2012 por una enorme ventaja (15,3% contra 26,2% (segundo puesto) de tasas de error). Aquí examinamos las sutilezas de la ingeniería neuronal del artículo relacionado Caracterización de ImageNet con Sistemas Neurales Convolucionales Profundos.

Las características del documento

Usa Relu en vez de Tanh para incluir la no linealidad. Acelera la velocidad varias veces con una precisión similar.

Usar la deserción escolar en lugar de la regularización para manejar la sobrecarga. De todos modos, el tiempo de preparación se multiplica con el ritmo de abandono de 0,5.

La cobertura de la piscina para disminuir el tamaño del sistema. Disminuye los mejores índices de error de 1 y 5 por 0,4% y 0,3%, respectivamente.

La ingeniería

Contiene 5 capas convolucionales y 3 capas completamente asociadas. Relu se aplica después de una capa muy convolutiva y completamente asociada. Dropout se aplica antes del primer y segundo año completamente asociado. El tamaño de la imagen en el gráfico de la arquitectura que acompaña a la obra debería ser de 227 * 227 en lugar de 224 * 224, como lo señala Andrei Karpathy en su renombrado Curso CS231n. Lo más interesante es que el tamaño de la información es de 224 * 224 con 2 amortiguadores en la visión de la quemadura de la antorcha. La anchura y altura del rendimiento debería ser de (224-11+4)/4 + 1=55.25! La aclaración aquí es pytorch Conv2d aplicar administrador de piso al resultado anterior, y a lo largo de estas líneas, la última amortiguación se descarta.

El sistema tiene 62,3 millones de parámetros, y requiere 1.100 millones de unidades de cálculo en un paso adelante. Asimismo, podemos observar que las capas de convolución, que representan el 6% del considerable número de parámetros, gastan el 95% del cálculo. Esto lleva al otro trabajo de Alex, que utiliza este componente para mejorar la ejecución. El pensamiento esencial de ese documento es el siguiente en caso de que esté intrigado:

Duplicar las capas de convolución en varias GPU; transportar las capas completamente asociadas en varias GPU.

Alimentar un grupo de preparación de información en capas convolucionales para cada GPU (Información Paralela).

Alimentar las consecuencias de las capas convolucionales en las capas diseminadas completamente asociadas, grupo por grupo (Modelo Paralelo) Cuando se logra el último avance para cada GPU. Retropropagar las inclinaciones cluster por el grupo y sincronizar las cargas de las capas convolucionales.

Claramente, explota los aspectos más destacados de los que hablamos anteriormente: las capas convolucionales tienen un par de parámetros y ramos de cálculo, las capas completamente asociadas son exactamente lo contrario.

Preparando

El sistema tarda 90 años en cinco o seis días en prepararse en dos GPU GTX 580. Se utiliza SGD con una tasa de aprendizaje de 0,01, energía de 0,9 y peso de 0,0005. La tasa de aprendizaje se divide por 10 una vez que los niveles de exactitud. La tasa de inclinación se reduce varias veces durante el procedimiento de preparación.