¿Cómo escalas una red neuronal profunda para que se ejecute en un dispositivo móvil?

Hay muchas formas de escalar las redes neuronales. El nivel de hardware es la forma común de llegar en este punto.

Sin embargo, hay trabajos para escalar estos algoritmos a dispositivos móviles utilizando la optimización de nivel de software.

Una de las formas es podar las redes neuronales. Hay muchos documentos sobre este tema. Puede ver algunos ejemplos recientes de Compresión profunda , NoiseOut, Poda inteligente en capas.

Y hay investigaciones para reducir las redes neuronales mismas. En muchos campos de aplicación se ha visto que profundizar no es la forma de seguir mejorando los resultados. O la mejora obtenida no es suficiente en comparación con el costo de cálculo. Sin embargo, en retrospectiva, podría ser que no hemos encontrado una manera de profundizar con estas aplicaciones. Según la historia, sabemos que, antes de ResNet, era más difícil profundizar.

Ahora, un aspecto interesante es podar las redes neuronales a pequeña escala. Un ejemplo de tal investigación es SqueezeNet. La red es realmente pequeña en comparación con muchos modelos de última generación. Y bajo poda es más pequeño. Afirman que una red neuronal sub 0.5MB puede alcanzar la precisión de nivel AlexNet.

El uso de una red capacitada en un dispositivo móvil no sería un gran problema, siempre que el dispositivo tenga suficiente memoria. Hacer una predicción en realidad no requiere mucha potencia informática … si quieres entrenar la red en un dispositivo móvil, entonces no hay posibilidad. Al menos no por ahora.

More Interesting

¿De qué maneras alguien puede obtener ingresos del aprendizaje automático (trabajo por cuenta propia)?

¿Hay alguna anomalía inexplicable en la codificación de la computadora que pueda sugerir que las máquinas tienen alma?

Cuando uno usa la función de pérdida al cuadrado para la regresión, ¿significa que asume implícitamente que está agregando ruido gaussiano con la misma varianza?

¿Qué idioma debo usar para tensorflow?

¿Es posible darle a una computadora millones de imágenes de varios objetos, y se da cuenta de que hay cosas como animales, platos de cocina, montañas, etc. sin que nosotros lo digamos, y cómo se hace esto exactamente?

¿Cuáles son las ventajas y desventajas de utilizar PMML como formato de intercambio para modelos de análisis predictivo?

¿Dónde caen los sistemas de recomendación en los enfoques de aprendizaje automático?

¿Cuáles son algunos ejemplos de empresas no tecnológicas que crean valor a través del uso de Big Data y qué tecnologías específicas están utilizando, por ejemplo, Hadoop, sistemas dedicados, SAP en formas novedosas, piratas informáticos, etc.

¿Dónde aprendo Machine Learning?

¿Cuál es la diferencia entre el paralelismo del modelo y el paralelismo de datos?

¿Los LSTM tienen significativamente más parámetros que los RNN estándar?

¿Cuáles son los últimos algoritmos y técnicas para la corrección ortográfica?

¿Debo aprender C ++, Python o Java para construir un sistema de aprendizaje automático de grado de producción?

¿Cómo afectará el aprendizaje automático al mundo para 2030?

¿Cómo se hace el cambio de C ++ a Python? Me siento más cómodo con C ++ y lo he estado usando para hacer la mayor parte de mi programación; Me parece que lleva mucho tiempo y Python hace las cosas rápidamente. ¿Cuál es la mejor manera de hacer el cambio?