Razonamiento superficial y general sobre redes neuronales.

En Habré hay una gran cantidad de artículos sobre redes neuronales, en los que hay una imagen de una neurona en forma de círculo con flechas entrantes, una imagen con líneas de neuronas y la fórmula obligatoria para la suma del producto de pesos y signos. Estos artículos a menudo provocan la indignación de un público respetado por su obviedad y similitud con aprender a dibujar un búho. En este artículo iré aún más lejos, incluso esto no estará aquí. Sin matemáticas, sin comparaciones con el cerebro. Es poco probable que aprenda algo práctico de este artículo, y existe una alta probabilidad de que todo lo anterior le parezca demasiado obvio. El propósito de este artículo es la pregunta: ¿qué puede hacer con la ayuda de las redes neuronales? No Yandex, ni Google, ni Facebook, sino usted, con su experiencia de cinco años como desarrollador web y computadora portátil de tres años.

imagen

Alrededor de las redes neuronales (en adelante, NS) hay mucho ruido ahora. Así que decidí hacer un producto basado en ellos. Y se preguntó: ¿qué necesito para esto? Y se respondió a sí mismo (sí, me gusta hablar con una persona inteligente): se necesitan tres cosas: conocimiento en el campo de las redes neuronales, datos para entrenamiento y hardware sobre el cual entrenar una red neuronal. Por cierto, después de escuchar cuántos oradores en youtube hablaron sobre el hecho de que estas cosas son la razón del renacimiento NS: algoritmos mejorados (conocimiento), la disponibilidad de una gran cantidad de datos y las capacidades de las computadoras modernas (hardware). Tal coincidencia de mis pensamientos y las palabras de los expertos es alentadora, por lo tanto, hablaré más sobre estas tres cosas: datos, conocimiento y hardware.

Datos


La naturaleza y el tipo de datos dependen del área en la que desea aplicar NS.
Los NS modernos comenzaron a resolver tareas tan difíciles como el reconocimiento de objetos en imágenes, rostros, reconocimiento de voz, pudieron jugar videojuegos y ganaron.

Digresión lírica
Por supuesto, en muchos sentidos, esta exageración y burbuja alrededor del NS es la influencia de la moda, la viralidad, un nombre romántico, analogías con el cerebro y el sueño de una IA fuerte. De hecho, estaría de acuerdo en que si estas técnicas se llamaran "Multiplicación matricial y optimización de parámetros por el método de descenso de gradiente", todo esto parecería menos impresionante y, tal vez, no llamaría tanto la atención. Algunos argumentarán que, demonios con él, con el nombre, no solo por el nombre que son tan populares, sino que también causan un efecto sorprendente: ¡mira lo que hacen estas redes, ganaron en marcha! Bueno, pero cuando la IA ganó el ajedrez, pocas personas comenzaron a idolatrar la búsqueda en profundidad y los periodistas no escribieron que la estrella A se apoderaría del mundo, y los programadores no la estudiaron en grandes cantidades.

La Asamblea Nacional, entre otras cosas, está envuelta en un halo de misterio: nadie comprende exactamente cómo realizan su trabajo: un conjunto de funciones no lineales, numerosas matrices de peso, términos y factores misteriosos, todo esto parece una tina de bruja, donde arroja todo tipo de raíces, alas de murciélago y sangre de dragón. Pero volvamos a la pregunta del artículo.

Para entrenar a NA, se necesitan muchos datos: cientos de miles, millones de ejemplos. ¿Puedes encontrar y descargar tal montón usando tu capturador de Internet hecho a ti mismo? Yo creo que si. Pero hay algunos problemas:

  1. Para entrenar con un maestro, los datos deben estar etiquetados. Alguien debe marcar estos datos, asignarlos a diferentes clases, dar una estimación numérica. Si inicialmente no es por alguna razón (por ejemplo, solo tiene audio, pero no transcripciones), entonces esto requiere un esfuerzo enorme. Por supuesto, hay capacitación sin un maestro, con refuerzos, etc., pero resuelven otros problemas (simplificados, no clasificación y regresión (de hecho, determinando el valor de una función desconocida), sino agrupando o eligiendo las mejores acciones). En vista del volumen limitado del artículo, no tocaré este tema.

  2. Los datos deben distribuirse de manera uniforme, sea lo que sea que eso signifique. Esto significa que si incluso tiene millones de datos que contienen información sobre bmw y esquivar, pero casi no hay información sobre Ford y Mazda, entonces la Asamblea Nacional nunca podrá resumir adecuadamente los datos, lo que es peor, inflará los precios o encenderá faros redondos y mirada agresiva

  3. Debe saber mucho sobre la naturaleza de los datos para poder resaltar características importantes y posiblemente imponer algunas restricciones en el NS. Sí, un NS multicapa es un aproximador universal de cualquier función continua, pero nadie dijo que sería rápido. Por extraño que parezca, pero cuantas más restricciones, más rápido podrá aprender el NS. ¿Por qué NS se ha vuelto tan bueno en el procesamiento de imágenes? Porque los tipos inteligentes ponen información en imágenes en la arquitectura misma de estas redes. Crearon una clase separada de redes: redes convolucionales que toman datos de un grupo de píxeles, comprimen la imagen de diferentes maneras, llevan a cabo transformaciones matemáticas, cuyo objetivo es neutralizar el efecto de los cambios, las transformaciones, los diferentes ángulos de cámara. ¿Es esto adecuado para otros tipos de datos? Apenas ¿Es adecuado para imágenes donde los ángulos contienen información importante? Quien sabe

Conocimiento


En la Asamblea Nacional, hay muchos hiperparámetros que afectan en gran medida la velocidad del trabajo y la convergencia en principio. Puedes volver a entrenar, quedarte atrapado en un máximo local, hacer estiramientos durante semanas y más. Obtendrá conocimiento de arquitecturas NS, principios operativos, usted es un programador. Hay una gran cantidad de marcos para el aprendizaje automático: theano, tensorflow y otros. Pero establecer parámetros como la velocidad de aprendizaje, elegir un momento, elegir una regularización y sus parámetros, elegir una función de activación y mucho más es un proceso experimental que lleva mucho tiempo. Debido a la falta de una estrategia precisa y la necesidad de configurar y seleccionar parámetros manualmente para cada tarea, muchos llaman al proceso de aprender NS art.

Recursos


Necesita procesar millones de ejemplos muchas veces, una gran cantidad de veces: dio ejemplos, el NS ajustó un poco los pesos, dio los mismos ejemplos nuevamente, el NS ajustó los pesos nuevamente, y hay tantas "eras". Si utiliza la validación cruzada, también proporciona los datos para diferentes particiones en las muestras de capacitación y validación para que el NS no se vuelva a entrenar con los mismos datos.

¿Qué recursos aproximadamente puede pagar? Quería comprar una computadora de gama alta basada en el Kaby Lake 7700K (o Razen 1800X) con dos tarjetas gráficas NVidia GTX 1080 trabajando juntas usando SLI. Y la idea de que su rendimiento fuera igual al rendimiento de las supercomputadoras de diez años de la lista Top500 me conmovió. ¿Cuánto tiempo llevará capacitar a la Asamblea Nacional en esto? Esto, por supuesto, depende de la arquitectura de la red (la cantidad de capas, la cantidad de neuronas en las capas, las conexiones), la cantidad de ejemplos de entrenamiento e hiperparámetros. Pero lo que me sorprendió fue que pasé varias horas en el sitio playground.tensorflow.org para que una pequeña red pudiera clasificar correctamente los puntos en espiral en un espacio bidimensional. Solo dos dimensiones, no tantos datos, sino tanto tiempo. El ganador del concurso ImageNet pasó una semana aprendiendo la red usando dos tarjetas de video, y sabía mucho sobre los hiperparámetros. Apenas comprar incluso una docena de servidores. ¿Tienes paciencia para estudiar NA?

Resumen : me parece que en casa puedes resolver algunos problemas con la ayuda de la Asamblea Nacional.

  • El tamaño de la muestra de entrenamiento puede ser igual a cientos de miles de ejemplos.
  • Puede lograr una precisión de aproximadamente 80-90%.
  • El entrenamiento de NS puede tomar días.

Esta es mi opinión intuitiva y una estimación muy aproximada, puede ser erróneo, me alegraría si alguien en los comentarios escribe sobre las tareas que resolvió en casa, cuál fue la cantidad de datos y las características del hierro.

Gracias por su atencion!

Source: https://habr.com/ru/post/es402125/


All Articles