O que pode ser aprendido com os pesos em uma rede neural?

8

Sou muito novo em redes neurais e tenho tentado descobrir algumas coisas. Então, digamos que você encontre uma rede neural com 100 entradas, uma camada oculta com 200 nós e 32 saídas. Digamos também que você, o "descobridor" dessa instância específica de uma rede neural, é capaz de ler os pesos dos neurônios individuais. O que você pode descobrir sobre sua função?

1) Você é capaz de determinar qual o algoritmo ou lógica está contido na rede neural? Além de alimentar todas as entradas possíveis e estudar as saídas produzidas.

2) Se você recebesse informações sobre a conexão da rede neural (talvez a rede não esteja totalmente conectada), seria mais fácil resolver a pergunta acima?

Richard Żak
fonte
Você é capaz de descobrir "o código", mas se quiser o significado, precisará pelo menos conhecer a natureza dos dados de entrada. No entanto, você sempre pode "dizer": este NN calcula a funçãof(x1,x2,...)=...
Anton

Respostas:

7

Depende. Pesos de redes neurais podem ser representados graficamente ou visualizados para alguns insights. Isso é especialmente útil se a rede neural funcionar com processamento visual. É possível "derivar" quais entradas de baixo nível para a rede neural criam neurônios específicos em níveis mais altos para "disparar" trabalhando retrocedendo através dos pesos da rede neural - em outras palavras, o problema de encontrar / derivar a entrada de baixo nível padrões que excitam ao máximo neurônios específicos e representam graficamente os resultados. Um ótimo exemplo disso é o recente resultado inovador do Google em uma rede visual autodestruída que se auto-organizou para encontrar padrões de alto nível, como gatos e rostos humanos, etc. [1], [2], [3]

Isso também é conhecido como "detecção de recursos" e existe uma pesquisa ganhadora do prêmio Nobel (1981 Hubel / Weisel) que demonstra que os neurônios cerebrais reais funcionam de maneira semelhante, em graus variados. A pesquisa ativa está em andamento / continuando nessa área, tanto em sistemas biológicos quanto artificiais.

Outra maneira de analisar os pesos da rede neural é concluir quais fatores (entradas) afetam a rede neural e quais não. Por exemplo, suponha que a rede neural seja usada para prever os preços das ações e tenha várias entradas relacionadas a diferentes variáveis ​​econômicas, como, por exemplo, PIB, preços do ouro, DJIA (um índice) e taxas de juros. Depois que a rede é treinada (com sucesso!) Para prever algo (por exemplo, preços futuros), pode-se determinar quanto efeito cada uma das variáveis ​​de entrada tem na previsão final.

Também é possível determinar a correlação básica negativa ou positiva entre entrada e saída. Dessa maneira, redes neurais podem ser usadas de maneira muito semelhante a técnicas estatísticas, como análise fatorial .

Portanto, a resposta é "sim, absolutamente", mas apenas no sentido de que existem maneiras diferentes de revelar "algoritmos" em redes neurais por meio de representações gráficas ou outras "legíveis por humanos" que não sejam a representação típica de algoritmos, ou seja, código. Mas representar pesos de redes neurais de maneira legível por humanos e encontrar novas representações úteis é uma área ativa de pesquisa.

[1] Google coloca a sua Virtual Tecnologia cérebro a trabalhar Technology Review

[2] O cérebro artificial do Google aprende a encontrar vídeos de gatos com fio

[3] Quantos computadores para identificar um gato? 16.000 NYT

vzn
fonte
6

Você é capaz de determinar qual o algoritmo ou lógica está contido na rede neural? Além de alimentar todas as entradas possíveis e estudar as saídas produzidas.

Não, acho que não, de maneira significativa. Isso seria semelhante ao estudo dos bits em cada byte individual de um programa de computador, em um esforço para avaliar sua finalidade. Você precisa de significado para determinar isso e só pode obtê-lo estudando as entradas e saídas ou avaliando os códigos de operação reais.

Não há significado nos pesos individuais dos neurônios; é somente quando esses pesos são combinados em uma resposta que eles se tornam significativos.

Você provavelmente poderia determinar o método de treinamento da rede neural observando sua estrutura geral e o padrão de pesos relativos na estrutura neuronal.

Robert Harvey
fonte
Pode-se aprender mais sobre uma rede neural analisando seus pesos do que essa resposta implica; em particular, há muitas coisas que você pode fazer com a retropropagação, além do treinamento inicial da rede.
Lista Jeremy