Como automatizar a escolha da topologia de uma rede neural para um problema arbitrário?

14

Suponha que eu queira resolver um problema com uma rede neural que não seja adequada às topologias já existentes (perceptron, Konohen etc.) ou simplesmente não estou ciente da existência delas ou não consigo entender suas mecânica e eu confio por conta própria.

Como automatizar a escolha da topologia (ou seja, o número de camadas, o tipo de ativações, o tipo e a direção das conexões etc.) de uma rede neural para um problema arbitrário?

Sou iniciante, mas percebi que em algumas topologias (ou pelo menos em perceptrons) é muito difícil, senão impossível, entender a mecânica interna, pois os neurônios das camadas ocultas não expressam nenhum contexto matematicamente significativo.

Zoltán Schmidt
fonte

Respostas:

11

Acho que, nesse caso, você provavelmente desejará usar um algoritmo genético para gerar uma topologia em vez de trabalhar por conta própria. Pessoalmente, gosto da NEAT (NeuroEvolução de Topologias Aumentadas) .

O documento NEAT original envolve a evolução de pesos para conexões, mas se você deseja apenas uma topologia, pode usar um algoritmo de ponderação. Você também pode misturar funções de ativação se não tiver certeza de qual usar. Aqui está um exemplo do uso de retropropagação e vários tipos de neurônios.

DanTheMan
fonte