De rectified linear-activatiefunctie
Zoals Dan je in de video uitlegde, is een "activatiefunctie" een functie die op elke node wordt toegepast. Die zet de invoer van de node om in een bepaalde uitvoer.
De rectified linear-activatiefunctie (afgekort ReLU) zorgt vaak voor zeer goed presterende netwerken. Deze functie neemt één getal als invoer: hij geeft 0 terug als de invoer negatief is, en de invoer zelf als die positief is.
Hier zijn enkele voorbeelden:
relu(3) = 3
relu(-3) = 0
Deze oefening maakt deel uit van de cursus
Introductie tot Deep Learning in Python
Oefeninstructies
- Vul de definitie van de functie
relu()aan:- Gebruik de functie
max()om de waarde voor de uitvoer vanrelu()te berekenen.
- Gebruik de functie
- Pas de functie
relu()toe opnode_0_inputomnode_0_outputte berekenen. - Pas de functie
relu()toe opnode_1_inputomnode_1_outputte berekenen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)