Mengenal fungsi aktivasi

Pengantar Deep Learning dengan PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Fungsi aktivasi

$$

  • Fungsi aktivasi menambah nonlinearitas pada jaringan
    • Sigmoid untuk klasifikasi biner
    • Softmax untuk klasifikasi multi-kelas
  • Nonlinearitas memungkinkan belajar hubungan yang lebih kompleks
  • Keluaran "pra-aktivasi" diteruskan ke fungsi aktivasi

Diagram jaringan saraf dengan layer linear dan fungsi aktivasi

Pengantar Deep Learning dengan PyTorch

Mengenal fungsi sigmoid

Diagram sebagian jaringan saraf dengan masukan, layer linear, dan fungsi aktivasi

  • Mamalia atau bukan?

Ilustrasi seekor lemur

Pengantar Deep Learning dengan PyTorch

Mengenal fungsi sigmoid

Diagram sebagian jaringan saraf dengan masukan dan layer linear

  • Mamalia atau bukan?

Ilustrasi seekor lemur

  • Masukan:
    • Kaki: 4
    • Telur: 0
    • Bulu: 1
Pengantar Deep Learning dengan PyTorch

Mengenal fungsi sigmoid

Diagram sebagian jaringan saraf dengan masukan dan angka 6 sebagai keluaran ke layer linear

  • Mamalia atau bukan?

Ilustrasi seekor lemur

  • Keluaran ke layer linear adalah 6
Pengantar Deep Learning dengan PyTorch

Mengenal fungsi sigmoid

Diagram sebagian jaringan saraf dengan masukan, angka 6 sebagai keluaran ke layer linear, dan fungsi aktivasi sigmoid

  • Mamalia atau bukan?

Ilustrasi seekor lemur

  • Ambil keluaran pra-aktivasi (6) lalu masukkan ke fungsi sigmoid
Pengantar Deep Learning dengan PyTorch

Mengenal fungsi sigmoid

Diagram sebagian jaringan saraf dengan masukan, angka 6 sebagai keluaran ke layer linear, fungsi aktivasi sigmoid, dan keluaran

  • Mamalia atau bukan?

Ilustrasi seekor lemur

  • Ambil keluaran pra-aktivasi (6) lalu masukkan ke fungsi sigmoid
  • Hasilkan nilai antara 0 dan 1

  • Jika keluaran > 0,5, label kelas = 1 (mamalia)

  • Jika keluaran <= 0,5, label kelas = 0 (bukan mamalia)
Pengantar Deep Learning dengan PyTorch

Mengenal fungsi sigmoid

import torch
import torch.nn as nn

input_tensor = torch.tensor([[6]])
sigmoid = nn.Sigmoid()

output = sigmoid(input_tensor) print(output)
tensor([[0.9975]])
Pengantar Deep Learning dengan PyTorch

Aktivasi sebagai layer terakhir

model = nn.Sequential(
  nn.Linear(6, 4), # First linear layer
  nn.Linear(4, 1), # Second linear layer
  nn.Sigmoid() # Sigmoid activation function
)

Sigmoid sebagai langkah terakhir pada jaringan layer linear setara dengan regresi logistik tradisional

Pengantar Deep Learning dengan PyTorch

Mengenal softmax

  • Tiga kelas:
Pengantar Deep Learning dengan PyTorch

Mengenal softmax

  • Tiga kelas:

Seekor lemur dengan opsi "bird"

Pengantar Deep Learning dengan PyTorch

Mengenal softmax

  • Tiga kelas:

Seekor lemur dengan opsi "bird" dan mamalia

Pengantar Deep Learning dengan PyTorch

Mengenal softmax

  • Tiga kelas:

Seekor lemur dengan tiga opsi: bird, mamalia, atau reptil

Pengantar Deep Learning dengan PyTorch

Mengenal softmax

Diagram sebagian jaringan saraf dengan masukan

  • Menerima masukan berdimensi tiga dan mengeluarkan bentuk yang sama
Pengantar Deep Learning dengan PyTorch

Mengenal softmax

Diagram sebagian jaringan saraf dengan masukan, vektor sebagai keluaran ke layer linear, fungsi aktivasi softmax, dan keluaran

  • Menerima masukan berdimensi tiga dan mengeluarkan bentuk yang sama
  • Menghasilkan sebaran probabilitas:
    • Tiap elemen adalah probabilitas (dibatasi antara 0 dan 1)
    • Jumlah vektor keluaran sama dengan 1
Pengantar Deep Learning dengan PyTorch

Mengenal softmax

Diagram sebagian jaringan saraf dengan masukan, vektor sebagai keluaran ke layer linear, fungsi aktivasi softmax, dan keluaran

  • Menerima masukan berdimensi tiga dan mengeluarkan bentuk yang sama
  • Menghasilkan sebaran probabilitas:
    • Tiap elemen adalah probabilitas (dibatasi antara 0 dan 1)
    • Jumlah vektor keluaran sama dengan 1
Pengantar Deep Learning dengan PyTorch

Mengenal softmax

import torch
import torch.nn as nn

# Create an input tensor
input_tensor = torch.tensor(
    [[4.3, 6.1, 2.3]])

# Apply softmax along the last dimension

probabilities = nn.Softmax(dim=-1) output_tensor = probabilities(input_tensor) print(output_tensor)
tensor([[0.1392, 0.8420, 0.0188]])
  • dim = -1 menunjukkan softmax diterapkan pada dimensi terakhir tensor masukan
  • nn.Softmax() dapat dipakai sebagai langkah terakhir dalam nn.Sequential()
Pengantar Deep Learning dengan PyTorch

Ayo berlatih!

Pengantar Deep Learning dengan PyTorch

Preparing Video For Download...