¿Son las redes neuronales generalmente reversibles?

Lo que estás diciendo parece similar a las redes de escalera. En realidad es muy prometedor.

De este sitio:

Introducción al aprendizaje semi-supervisado con redes de escalera

Los pasos involucrados en la implementación de la red Ladder son típicamente los siguientes:

  1. Tome un modelo feedforward que sirva de aprendizaje supervisado como codificador. La red consta de 2 rutas de codificador: codificador limpio y dañado. La única diferencia es que el codificador dañado agrega ruido gaussiano en todas las capas.
  2. Agregue un decodificador que pueda invertir las asignaciones en cada capa del codificador y admita el aprendizaje sin supervisión. El decodificador utiliza una función de eliminación de ruido para reconstruir las activaciones de cada capa dada la versión dañada. El objetivo en cada capa es la versión limpia de la activación y la diferencia entre la reconstrucción y la versión limpia sirve como el costo de eliminación de ruido de esa capa.
  3. El costo supervisado se calcula a partir de la salida del codificador dañado y el objetivo de salida. El costo no supervisado es la suma del costo de eliminación de ruido de todas las capas escaladas por un hiperparámetro que denota la importancia de cada capa. El costo final es la suma del costo supervisado y no supervisado.
  4. Capacite a toda la red en un entorno totalmente etiquetado o semi-supervisado utilizando técnicas de optimización estándar (como el descenso de gradiente estocástico) para minimizar el costo.

Otra posibilidad es usar las salidas B para generar entradas A como las redes neuronales recurrentes.

En cuanto a su pregunta sobre qué dirección es mejor, diría que depende de lo que esté tratando de hacer. Para la clasificación, debe aprender el mapeo de la entrada A a la salida B, pero para las tareas generativas necesita generar entradas A del tipo definido por la salida B.

Si crea dos modelos diferentes y A y B pueden usarse como niveles para la clasificación o para la regresión, entonces quizás, pero no necesariamente puede ir hacia atrás.

Lo más parecido a lo que está hablando en las redes neuronales sería la propagación que se encuentra aquí.

De alguna manera, esto es equivalente a retroceder en Prolog.
Pero la naturaleza del problema se ilustra al considerar que a cualquier reconocedor se le puede asignar cualquier asignación de patrón de salida. Por ejemplo, un número romano V podría asignarse al símbolo de salida ‘5’, pero una fuente Arial ‘5’ también podría asignarse a un número 5. Ahora imagine que intenta retroceder. Incluso si comienza con un número 5 y retrocede, puede terminar con muchos patrones de activación que hicieron que ese 5 disparara. Ahora imagine lo mal que se pone esto si comienza con el punto final ‘perro’ y quiere saber qué provocó ‘perro’. Si el mecanismo diseñado no hace que las características de la capa oculta sean muy comprensibles, tendría un problema para separar la causalidad probable.
Supongo que los cerebros humanos retroceden arrojando datos aleatorios en las entradas hasta que obtienen un parpadeo de reconocimiento, luego refinan el ‘ruido’ de tal manera que comience a aumentar la cantidad de respuesta de reconocimiento. Estoy tratando de recordar un auto, entonces lanzo ‘auto’ luego ‘muscle car’ luego ‘Dukes of Hazard’, etc.