Andrej Karpathy recrea un artículo de aprendizaje profundo de 33 años

Estás leyendo la publicación: Andrej Karpathy recrea un artículo de aprendizaje profundo de 33 años

En 1989, Yann Lecun presentó un documento, “Retropropagación aplicada al reconocimiento de códigos postales escritos a mano”. Este documento demostró cómo las restricciones podrían integrarse en una red de retropropagación a través de su arquitectura para mejorar la capacidad de generalización de la red de aprendizaje. En esta investigación, los autores mostraron cómo una sola red aprende toda la operación de reconocimiento, desde la imagen normalizada del personaje hasta la clasificación final.

Han pasado 33 años desde que se publicó por primera vez el artículo. Pero de acuerdo con un divertido experimento realizado por el director de IA de Tesla, Andrej Karpathy, el papel sigue vigente incluso ahora. Es más, concluyó que el papel también se mantendrá firme 33 años después, es decir, en 2055.

Según Karpathy, la única restricción del artículo de 1989 era que utilizaba un pequeño conjunto de datos que constaba de 7291 imágenes de dígitos en escala de grises de 16 × 16, junto con una pequeña red neuronal que utilizaba solo 1000 neuronas. Excepto por estas limitaciones, otros factores como la arquitectura de la red neuronal, la función de pérdida, la optimización, entre otros, verifican el modelo como un “documento moderno de aprendizaje profundo”.

Blog de Andrej Karpatia

la recreación

Karpathy escribió en su blog que volvió a implementar todo el procedimiento en PyTorch. La red original se realizó en Lisp utilizando el simulador de retropropagación SN (propuesto por Léon Bottou y Yann LeCun, y luego llamado Lush). Por el lado del diseño de software, Karpathy menciona que tiene tres componentes principales: una biblioteca Tensor general rápida para implementar operaciones matemáticas básicas; un motor de autogradación para rastrear el gráfico de cómputo hacia adelante y generar operaciones para el pase hacia atrás; una API programable de alto nivel de operaciones comunes de aprendizaje profundo.

🔥 Recomendado:  Vea cómo estos investigadores de inteligencia artificial de Illinois Tech extrajeron información personal de datos anónimos de teléfonos celulares utilizando el aprendizaje automático

blog de andrej karpatia

Mientras que la red original entrenó durante tres días en una estación de trabajo SUN-4/260, Karpathy optó por ejecutar su implementación en la CPU de MacBook Air (M1), lo que tomó solo 90 segundos, lo que resultó en una aceleración ingenua de 3000x. El proceso de entrenamiento requirió realizar 23 pases en el conjunto de entrenamiento de 7291 ejemplos para 167 693 presentaciones a la red neuronal. Karpathy sugiere que el proceso podría acelerarse aún más si se realizara un entrenamiento de lote completo en lugar de SGD por ejemplo para maximizar la utilización de la GPU, lo que llevaría a una aceleración adicional de 100 veces la latencia del entrenamiento.

Desafíos enfrentados

Karpathy dijo que solo pudo producir los números de forma aproximada pero no exacta. Una de las razones de esto fue que el conjunto de datos original no estaba disponible y tuvo que simularlo utilizando datos MNIST más grandes. Consideró 28 × 28 dígitos y los redujo a los 16 × 16 píxeles originales mediante interpolación bilineal.

Karpathy también señaló que el documento era demasiado abstracto en cuanto a la descripción del esquema de inicialización de pesos. La escasa conectividad específica entre las capas H1 y H2 de la red se eligió mediante un esquema que no se revela en el documento original de 1989; hacia esto, Karpathy tuvo que hacer una ‘conjetura sensata’ y usar una estructura dispersa de bloques superpuestos. Karpathy expresó sus dudas sobre las afirmaciones del artículo de usar tanh no lineal en lugar de tanh normalizado, que era tendencia en el momento en que se publicó el artículo original. Otros desafíos incluyeron errores de formato en el archivo PDF. “Sospecho que hay algunos errores de formato en el archivo PDF que, por ejemplo, borran los puntos “.”, haciendo que “2.5” parezca “2 5”, y potencialmente (¿creo?) borrando las raíces cuadradas”, escribió.

🔥 Recomendado:  ¿Cómo realizar un agrupamiento rápido y explicable usando CLASSIX?

Lecciones aprendidas

Versión 2022:

Karpathy concluye que no ha cambiado mucho en los últimos 33 años, al menos a nivel macro, de manera que todavía usamos arquitecturas de redes neuronales diferenciables, que están compuestas por capas de neuronas optimizadas de extremo a extremo con retropropagación y descenso de gradiente estocástico. Sin embargo, el conjunto de datos y el tamaño de la red neuronal han crecido considerablemente.

Karpathy logró lograr un mejor rendimiento en términos de velocidad y tasa de error. Mencionó que pudo reducir en un 60 por ciento la tasa de error sin cambiar el conjunto de datos y la latencia del tiempo de prueba del modelo. “En particular, si hubiera sido transportado a 1989, en última instancia, habría llegado al límite superior de mi capacidad para mejorar aún más el sistema sin una computadora más grande”, escribió.

Versión 2055:

Karpathy predice que las redes neuronales de 2055 serían las mismas que las de 2022 a nivel macro. La única diferencia observable podría ser el tamaño. Se espera que los conjuntos de datos y los modelos sean hasta 10 000 000 veces más grandes. Dado que los modelos actuales no están formulados de manera óptima, simplemente cambiando los detalles del modelo, la función de pérdida, el aumento, etc., la tasa de error podría reducirse a la mitad. Las ganancias podrían mejorarse aún más ampliando el conjunto de datos.

“En su extrapolación más extrema, no querrá entrenar ninguna red neuronal en absoluto. En 2055, le pedirá a un megacerebro de red neuronal de tamaño 10,000,000X que realice alguna tarea hablándole (o pensando) en inglés. Y si lo pides lo suficientemente amable, te complacerá. Sí, también podrías entrenar una red neuronal… pero ¿por qué lo harías? Él concluyó.

🔥 Recomendado:  Restauración de videos de redes sociales demasiado comprimidos con aprendizaje automático