Cómo saber si RNN u otra red de Deep Learning han agotado su capacidad de aprendizaje

La otra respuesta de Robby Goetschalckx mencionó la validación cruzada y hacerlo es una forma empírica de responder a su pregunta que no lo obligará a repensar sus experimentos. Pero, dado que dice que es nuevo en esto y curioso, puede interesarle saber que también hay modelos de aprendizaje automático que incorporan en ellos mecanismos para agregar y eliminar parámetros según sea necesario.

Hay un nuevo documento sobre Redes neuronales escandalosamente grandes: la capa de mezcla de expertos escasamente cerrada que logra utilizar una combinación de modelo de expertos para tener una capacidad muy alta y también tener redes individuales de un tamaño razonable. El método en este documento es algo que podría pensar hacer si tengo unos pocos TB de espacio en disco y estoy trabajando con una red que evidentemente se está quedando sin capacidad, pero no hay un sucesor claro para la arquitectura que sea conveniente o factible en un momento particular

Un concepto más antiguo que es similar a la formulación de selección de expertos anterior, llamada Adaptive Resonance Theory (Teoría de resonancia adaptativa), es la agrupación no supervisada donde se agregan nuevos grupos cuando no hay una buena coincidencia con ningún grupo ya instalado (que presumiblemente debería mantenerse tal cual) tratando de trabajar en el nuevo punto de datos). Las personas a veces usan las salidas de clúster de modelos como este para inicializar dinámicamente o seleccionar entre distintos RNN. Sospecho que esto puede ser obsoleto en un sentido práctico debido al conocimiento sobre cómo usar la atención y entrenar redes más profundas con recurrencia cerrada, pero si quisieras intentar resucitar esta idea, sería una gran publicación de blog.

Por otro lado, hay algunos trabajos que cubren el tema de eliminar parámetros redundantes de los modelos de aprendizaje profundo. Diversity Networks considera imponer un Proceso de Punto Determinativo en las activaciones de una capa en aras del muestreo de las neuronas que se deben mantener. Esta es una idea cuya intuición es bastante inmediata cuando se lee qué es un DPP y por qué se asignan mayores probabilidades a subconjuntos mutalmente diversos de un conjunto (pista: cuál es el determinante de una matriz constante y cuál es el determinante de una matriz aleatoria y cuál es el determinante de una matriz de identidad). Pero, ¿es la curva de dispersión vs error lo suficientemente favorable como para que la cantidad de dispersión acelere los cálculos en la práctica? Cuando estaba leyendo este documento y presentándolo en un grupo de lectura, ejecuté algunos puntos de referencia con la idea de Scipy de multiplicación de matriz dispersa y el grado de dispersión de este documento sin un aumento significativo de error y descubrí que no era realmente más rápido. Sin embargo, es interesante saber que puede eliminar aproximadamente la mitad de los parámetros de algunas arquitecturas de uso común con una estrategia de muestreo bastante intuitiva y puede funcionar prácticamente de la misma manera.

Un enfoque típico es usar validación cruzada. Por ejemplo, dejar-uno-fuera de validación cruzada.
Toma su conjunto de datos (digamos que consta de N ejemplos) y lo convierte en N conjuntos de datos, cada uno de tamaño N-1 . Para cada conjunto de datos, capacite a la red y pruebe su precisión en el ejemplo que se omitió. Tome el promedio sobre todas las N precisiones. Esto dará una indicación de qué tan bien funcionará la red.
Si tiene redes diferentes (o redes con parámetros diferentes), esto le permite comparar qué modelo puede funcionar mejor.
Una vez identificada, la red óptima se puede entrenar en el conjunto de datos completo.