Den rektifierade linjära aktiveringsfunktionen
Som Dan förklarade i videon är en "aktiveringsfunktion" en funktion som tillämpas i varje nod. Den omvandlar nodens indata till ett utdatavärde.
Den rektifierade linjära aktiveringsfunktionen (kallad ReLU) har visat sig ge nätverk med mycket hög prestanda. Funktionen tar ett enda tal som indata, returnerar 0 om indatavärdet är negativt, och indatavärdet självt om det är positivt.
Här är några exempel:
relu(3) = 3
relu(-3) = 0
Den här övningen är en del av kursen
Introduktion till djupinlärning i Python
Övningsinstruktioner
- Fyll i definitionen av funktionen
relu():- Använd funktionen
max()för att beräkna utdatavärdet förrelu().
- Använd funktionen
- Tillämpa funktionen
relu()pånode_0_inputför att beräknanode_0_output. - Tillämpa funktionen
relu()pånode_1_inputför att beräknanode_1_output.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)