La memoria es uno de los mayores desafíos en las redes neuronales profundas (DNN) en la actualidad. Los investigadores están luchando con el ancho de banda de memoria limitado de los dispositivos DRAM que deben ser utilizados por los sistemas actuales para almacenar las enormes cantidades de pesos y activaciones en los DNN.
Construir memoria en procesadores convencionales es una forma de solucionar el problema del cuello de botella de memoria abriendo un gran ancho de banda de memoria con un consumo de energía mucho menor. Sin embargo, la memoria en chip es costosa y no sería posible agregar las grandes cantidades de memoria actualmente conectadas a los procesadores de CPU y GPU que se usan actualmente para entrenar e implementar DNN.
Se requiere memoria en las redes neuronales para almacenar datos de entrada, parámetros de peso y activaciones a medida que una entrada se propaga a través de la red. En el entrenamiento, las activaciones de un pase hacia adelante deben conservarse hasta que puedan usarse para calcular los gradientes de error en el pase hacia atrás. Como ejemplo, la red ResNet de 50 capas tiene ~ 26 millones de parámetros de peso y calcula ~ 16 millones de activaciones en el pase directo. Si usa un valor de coma flotante de 32 bits para almacenar cada peso y activación, esto daría un requisito de almacenamiento total de 168 MB. Al usar un valor de precisión más bajo para almacenar estos pesos y activaciones, podríamos reducir a la mitad o incluso reducir en cuartos este requisito de almacenamiento.
- ¿El parámetro C afecta a una clase SVM?
- ¿Cuándo funciona el aprendizaje conjunto?
- ¿Alguien ha usado ML para hacer un diseño * no trivial * de algoritmos CS de bajo nivel (ver comentarios)?
- ¿Debo memorizar las matemáticas y los algoritmos al aprender el aprendizaje automático y el aprendizaje profundo?
- ¿Qué tan buenos antecedentes en ML ofrece el curso Coursera Machine Learning a alguien?
Para más información haga clic aquí: