Keras: 2D de entrada -> saída 2D?

votos
1

Quero construir uma rede neural para aprender um conjunto de vetores de características padrão. O conjunto é, assim, de forma (N, 100), em que N é o número de amostras. No entanto, conjunto de marcadores é de forma (Nx18) (por exemplo, cada etiqueta é outra matriz de 18 elementos). Eu sou muito novo para keras e redes neurais, e eu só sei como lidar com o rótulo quando é unidimensional (por exemplo, 0 ou 1 na classificação binária). Como posso lidar com a saída de multi-dimensional?

Obrigado!

Publicado 29/03/2016 em 18:16
fonte usuário
Em outras línguas...                            


1 respostas

votos
2

Talvez eu não entender completamente a questão, mas a maneira mais simples seria a de ter uma camada de saída com 18 neurônio. Cada neurónio de saída um valor, isto é, a saída será um vector de 18 valores.

Uma maneira possível de fazer isto seria uma rede de alimentação para a frente com neural na camada escondida, por exemplo contendo 100 neurónios. Você vai precisar da camada densa em Keras para isso.

nb_hidden = 100

model = Sequential()
model.add(Dense(input_dim = 100, output_dim = nb_hidden)
model.add(Dense(output_dim = 18, activation = 'softmax')
model.compile(loss='categorical_crossentropy', optimizer='adadelta')

Considere variando o número de camadas ocultas, a topologia da rede em geral (por exemplo, incluir uma camada Dropout) e as funções de ativação até que você conseguir um bom resultado.

Respondeu 30/03/2016 em 12:18
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more