Soy muy nuevo en las redes neuronales y he estado tratando de resolver algunas cosas. Entonces, supongamos que se encuentra con una red neuronal que tiene 100 entradas, una capa oculta con 200 nodos y 32 salidas. Digamos también que usted, el "descubridor" de esta instancia particular de una red neuronal, puede leer los pesos de las neuronas individuales. ¿Qué podrías averiguar sobre su función?
1) ¿Eres capaz de determinar qué algoritmo o lógica está contenido dentro de la red neuronal? Aparte de introducir todas las entradas posibles y estudiar las salidas que produce.
2) Si le dieran información sobre la conexión de la red neuronal (tal vez la red no está completamente conectada), ¿sería más fácil resolver la pregunta uno anterior?
machine-learning
neural-networks
Richard Żak
fuente
fuente
Respuestas:
Depende. Los pesos de las redes neuronales se pueden graficar o visualizar para obtener una idea. Esto es especialmente útil si la red neuronal funciona con procesamiento visual. Es posible "derivar" qué entradas de bajo nivel a la red neuronal crean neuronas particulares en niveles superiores para "disparar" trabajando hacia atrás a través de los pesos de la red neuronal, en otras palabras, el problema de encontrar / derivar la entrada de bajo nivel patrones que excitan al máximo neuronas particulares y grafican los resultados. Un gran ejemplo de esto es el reciente avance de Google en una red visual autodidacta que se autoorganizó para encontrar patrones de nivel superior como gatos y rostros humanos, etc. [1], [2], [3]
Esto también se conoce como "detección de características" y existe una investigación ganadora del Premio Nobel (Hubel / Weisel de 1981) que demuestra que las neuronas cerebrales reales funcionan de manera similar, en diversos grados. La investigación activa es continua / continua en esta área, tanto en sistemas biológicos como artificiales.
Otra forma de analizar los pesos de la red neuronal es concluir qué factores (entradas) afectan a la red neuronal y cuáles no. Por ejemplo, suponga que la red neuronal se usa para predecir los precios de las acciones y tiene varias entradas relacionadas con diferentes variables económicas, como el PIB, los precios del oro, DJIA (un índice) y las tasas de interés. Después de que la red esté entrenada (¡con éxito!) Para predecir algo (por ejemplo, precios futuros), se puede determinar cuánto efecto tiene cada una de las variables de entrada en la predicción final.
También se puede determinar la correlación básica negativa o positiva entre la entrada y la salida. De esta manera, las redes neuronales se pueden usar de una manera muy similar a las técnicas estadísticas como el análisis factorial .
Entonces, la respuesta es "sí, absolutamente", pero solo en el sentido de que hay diferentes maneras de revelar "algoritmos" en redes neuronales a través de representaciones gráficas u otras representaciones "legibles para humanos" que no sean con la representación típica de algoritmos, es decir, código. Pero representar los pesos de las redes neuronales de una manera legible para los humanos y encontrar nuevas representaciones útiles es un área activa de investigación.
[1] Google pone su tecnología de cerebro virtual para trabajar Revisión tecnológica
[2] El cerebro artificial de Google aprende a encontrar videos de gatos conectados
[3] ¿Cuántas computadoras para identificar un gato? 16,000 NYT
fuente
No, no lo creo, no de manera significativa. Eso sería similar al estudio de los bits en cada byte individual de un programa de computadora en un esfuerzo por evaluar su propósito. Necesita significado para determinar eso, y solo puede obtenerlo estudiando las entradas y salidas, o evaluando códigos de operación reales.
No hay significado en los pesos de las neuronas individuales; Es solo cuando esos pesos se combinan en una respuesta que se vuelven significativos.
Probablemente podría determinar el método de entrenamiento de la red neuronal observando su estructura general y el patrón de pesos relativos en la estructura neuronal.
fuente