La funzione di attivazione lineare rettificata
Come Dan ti ha spiegato nel video, una "funzione di attivazione" è una funzione applicata in ogni nodo. Converte l'input del nodo in un certo output.
La funzione di attivazione lineare rettificata (chiamata ReLU) ha dimostrato di portare a reti con prestazioni molto elevate. Questa funzione prende in input un singolo numero, restituendo 0 se l'input è negativo e l'input stesso se è positivo.
Ecco alcuni esempi:
relu(3) = 3
relu(-3) = 0
Questo esercizio fa parte del corso
Introduzione al Deep Learning in Python
Istruzioni dell'esercizio
- Completa la definizione della funzione
relu():- Usa la funzione
max()per calcolare il valore dell'output direlu().
- Usa la funzione
- Applica la funzione
relu()anode_0_inputper calcolarenode_0_output. - Applica la funzione
relu()anode_1_inputper calcolarenode_1_output.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
def relu(input):
'''Define your relu activation function here'''
# Calculate the value for the output of the relu function: output
output = max(____, ____)
# Return the value just calculated
return(output)
# Calculate node 0 value: node_0_output
node_0_input = (input_data * weights['node_0']).sum()
node_0_output = ____
# Calculate node 1 value: node_1_output
node_1_input = (input_data * weights['node_1']).sum()
node_1_output = ____
# Put node values into array: hidden_layer_outputs
hidden_layer_outputs = np.array([node_0_output, node_1_output])
# Calculate model output (do not apply relu)
model_output = (hidden_layer_outputs * weights['output']).sum()
# Print model output
print(model_output)