Visualizando o treinamento em redes neurais profundas


13

Estou tentando encontrar um equivalente dos diagramas de Hinton para redes multicamadas para plotar os pesos durante o treinamento.

A rede treinada é um pouco semelhante a um SRN profundo, ou seja, possui um número alto de matrizes de peso múltiplas, o que tornaria visualmente confusa a plotagem simultânea de vários diagramas de Hinton.

Alguém conhece uma boa maneira de visualizar o processo de atualização de peso para redes recorrentes com várias camadas?

Não encontrei muitos trabalhos sobre o assunto. Eu estava pensando em exibir informações relacionadas ao tempo sobre os pesos por camada, se não conseguir encontrar alguma coisa. Por exemplo, o delta de peso ao longo do tempo para cada camada (omitindo o uso de todas as conexões). O PCA é outra possibilidade, embora eu gostaria de não produzir muitos cálculos adicionais, pois a visualização é feita online durante o treinamento.

Respostas:


10

O que eu mais sei é o ConvNetJS :

ConvNetJS é uma biblioteca Javascript para o treinamento de modelos de Deep Learning (principalmente Redes Neurais) inteiramente no seu navegador. Abra uma guia e você está treinando. Sem requisitos de software, sem compiladores, sem instalações, sem GPUs, sem suor.

As demonstrações neste site pesam e como elas mudam com o tempo (lembre-se de seus muitos parâmetros, pois as redes práticas têm muitos neurônios). Além disso, se você não estiver satisfeito com a plotagem, há acesso aos parâmetros da rede e poderá plotar como desejar (já que é JavaScript).


Obrigado! Curiosamente, eles escolheram usar vários diagramas de Hinton para plotar seus pesos. Eu ainda acho que é difícil de interpretar assim que você tem muitas camadas / conexões, mas é bom vê-lo em ação pelo menos.
— runDOSrun

5

Com base na minha compreensão superficial dos tópicos, associados à sua pergunta, acho que o Gephi ( https://gephi.github.io ; o link original do gephi.org redireciona para lá) deve ser capaz de lidar com a visualização dinâmica da rede neural . Parece que, para atingir seu objetivo, você precisa transmitir seus gráficos com os pesos correspondentes ( https://forum.gephi.org/viewtopic.php?t=1875 ). Para streaming , você provavelmente precisará deste plug-in : https://marketplace.gephi.org/plugin/graph-streaming .

ATUALIZAÇÃO : Você também pode encontrar o software SoNIA útil: http://web.stanford.edu/group/sonia .


1
Idéia muito interessante! Realmente, visualizar uma rede profunda como uma rede social é algo em que não pensei. A principal diferença entre os modelos é que esses gráficos codificam informações em seus nós, enquanto as redes neurais o fazem dentro de suas conexões. Mas pode ser modificado, por exemplo, definindo os valores dos nós da rede social para os pesos das conexões de saída da rede neural.
— runDOSrun

Fico feliz que você gostou da ideia. Sinta-se livre para votar / aceitar. E não se esqueça de revisar o software SoNIA, com um link para o qual eu atualizei minha resposta recentemente. Finalmente, se você usa (ou planeja usar) R, aqui está outra informação interessante relevante para você: sna.stanford.edu/rlabs.php .
— Aleksandr Blekh
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.