Rektyfikowana liniowa funkcja aktywacji
Jak wyjaśniono w filmie, „funkcja aktywacji" to funkcja stosowana w każdym węźle sieci. Przekształca ona dane wejściowe węzła w wartość wyjściową.
Rektyfikowana liniowa funkcja aktywacji (zwana ReLU) pozwala budować sieci o bardzo wysokiej wydajności. Funkcja ta przyjmuje pojedynczą liczbę jako argument: zwraca 0, jeśli argument jest ujemny, lub zwraca ten argument, jeśli jest on dodatni.
Oto kilka przykładów:
relu(3) = 3
relu(-3) = 0
To ćwiczenie jest częścią kursu
Wprowadzenie do uczenia głębokiego w Pythonie
Instrukcje do ćwiczenia
- Uzupełnij definicję funkcji
relu():- Użyj funkcji
max(), aby obliczyć wartość zwracaną przezrelu().
- Użyj funkcji
- Zastosuj funkcję
relu()donode_0_input, aby obliczyćnode_0_output. - Zastosuj funkcję
relu()donode_1_input, aby obliczyćnode_1_output.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)