Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Vul de definitie van de functie relu() aan:
    • Gebruik de functie max() om de waarde voor de uitvoer van relu() te berekenen.
  • Pas de functie relu() toe op node_0_input om node_0_output te berekenen.
  • Pas de functie relu() toe op node_1_input om node_1_output te 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)
Code bewerken en uitvoeren