- Supongo que quiere decir que el número de neuronas disminuye exponencialmente con el orden de la capa.
Ejemplo:
Capa 1: 8 neuronas
Capa 2: 4 neuronas
- ¿Cuáles son las 3 mejores GPU, independientemente del precio del aprendizaje profundo, especialmente si necesitamos mucha RAM de GPU, así como cálculos de alto rendimiento / velocidad?
- ¿Por qué no podemos hacer una puerta XOR con 1 neurona?
- ¿Puede word2vec considerarse aprendizaje profundo?
- ¿Cómo puede beneficiarse el sector financiero con el uso de LD y AI?
- ¿Cómo podemos usar Tensorflow para problemas de clasificación?
Capa 3: 2 neuronas
Neurona de capa 4: 1, lo que significa que este es un problema de clasificación binaria (por ejemplo, es el problema de la imagen del perro o del gato)
En tal caso, puede usar una agrupación de 2 para exponencialmente “reducir a la mitad” el número de neuronas .
Código de ejemplo:
# C1 entrada 28 x 28
conv1 = tf.nn.conv2d (data, layer1_weights, [1, 1, 1, 1], padding = ‘SAME’)
sesgo1 = tf.nn.relu (conv1 + layer1_biases)
# S2 entrada 28 x 28
pool2 = tf.nn.avg_pool (sesgo1, [1, 2, 2, 1], [1, 2, 2, 1], relleno = ‘VÁLIDO’)
# C3 entrada 14 x 14
conv3 = tf.nn.conv2d (pool2, layer2_weights, [1, 1, 1, 1], padding = ‘SAME’)
bias3 = tf.nn.relu (conv3 + layer2_biases)
# agregar deserción en la capa oculta #####################################
#keep_prob = tf.placeholder (tf.float32)
bias3dropout = tf.nn.dropout (bias3, 0.5)
################################################## #################
# S4 entrada 14 x 14
pool4 = tf.nn.avg_pool (bias3dropout, [1, 2, 2, 1], [1, 2, 2, 1], relleno = ‘VÁLIDO’)
# F6 entrada 7 x 7
shape = pool4.get_shape (). as_list ()
reshape = tf.reshape (pool4, [forma [0], forma [1] * forma [2] * forma [3]])
hidden = tf.nn.relu (tf.matmul (remodelar, layer3_weights) + layer3_biases)
return tf.matmul (oculto, layer4_weights) + layer4_biases
Como puede ver, disminuye de 28 a 14 a 7, es decir, “mitad” exponencialmente como un árbol binario como usted mencionó. Tenga en cuenta que “[math] tf.nn.avg_pool (bias3dropout, [1, 2, 2, 1], [1, 2, 2, 1], padding = ‘VALID’) [/ math]” realiza la “mitad” operación.
Consulte este github: BerenLuthien / IpythonNotebook_Tensorflow_LeNet5_ConvNetwork
Reconocer : este código es una versión revisada de la solución de “MOOC de aprendizaje profundo Udacity”. Aprendizaje profundo | Udacity
- Sin embargo, si te refieres exactamente a la topología de un árbol binario , entonces supongo que tal vez quieras usar un filtro de tamaño 2, un paso de 2, sin agrupación (stride = 2 te da la operación “media”, el tamaño-2 filtro exprime dos neuronas en una) , de modo que produce exactamente la topología de un árbol binario . Del mismo modo, el código anterior se puede revisar fácilmente para adaptarse a esta solicitud .