Aktivasyon fonksiyonlarını keşfetme

PyTorch ile Deep Learning'e Giriş

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Aktivasyon fonksiyonları

$$

  • Aktivasyon fonksiyonları ağa doğrusal olmayanlık katar
    • İkili sınıflandırma için sigmoid
    • Çok sınıflı sınıflandırma için softmax
  • Doğrusal olmayanlık ile ağ daha karmaşık ilişkileri öğrenir
  • "Aktivasyon öncesi" çıktı aktivasyon fonksiyonuna verilir

Doğrusal katmanlar ve bir aktivasyon fonksiyonu içeren bir sinir ağı diyagramı

PyTorch ile Deep Learning'e Giriş

Sigmoid fonksiyonuyla tanışın

Girdi, doğrusal katmanlar ve aktivasyon fonksiyonunu gösteren bir sinir ağının bölümü diyagramı

  • Memeli mi değil mi?

Bir lemur illüstrasyonu

PyTorch ile Deep Learning'e Giriş

Sigmoid fonksiyonuyla tanışın

Girdileri ve doğrusal katmanları gösteren bir sinir ağı diyagramı

  • Memeli mi değil mi?

Bir lemur illüstrasyonu

  • Girdi:
    • Uzuv: 4
    • Yumurta: 0
    • Kıl: 1
PyTorch ile Deep Learning'e Giriş

Sigmoid fonksiyonuyla tanışın

Girdileri ve doğrusal katmanlara çıktı olarak 6 sayısını gösteren bir sinir ağının bölümü diyagramı

  • Memeli mi değil mi?

Bir lemur illüstrasyonu

  • Doğrusal katmanlara çıktı: 6
PyTorch ile Deep Learning'e Giriş

Sigmoid fonksiyonuyla tanışın

Girdileri, doğrusal katmanlara çıktı olarak 6 sayısını ve bir sigmoid aktivasyon fonksiyonunu gösteren sinir ağı diyagramı

  • Memeli mi değil mi?

Bir lemur illüstrasyonu

  • Aktivasyon öncesi çıktıyı (6) alıp sigmoid fonksiyonuna veririz
PyTorch ile Deep Learning'e Giriş

Sigmoid fonksiyonuyla tanışın

Girdileri, doğrusal katmanlara çıktı olarak 6 sayısını, bir sigmoid aktivasyon fonksiyonunu ve bir çıktıyı gösteren sinir ağı diyagramı

  • Memeli mi değil mi?

Bir lemur illüstrasyonu

  • Aktivasyon öncesi çıktıyı (6) alıp sigmoid fonksiyonuna veririz
  • 0 ile 1 arasında bir değer elde ederiz

  • Çıktı > 0.5 ise, sınıf etiketi = 1 (memeli)

  • Çıktı <= 0.5 ise, sınıf etiketi = 0 (memeli değil)
PyTorch ile Deep Learning'e Giriş

Sigmoid fonksiyonuyla tanışın

import torch
import torch.nn as nn

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

output = sigmoid(input_tensor) print(output)
tensor([[0.9975]])
PyTorch ile Deep Learning'e Giriş

Son katmanda aktivasyon

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

Doğrusal katmanlardan oluşan bir ağda sigmoidin son adım olması, klasik lojistik regresyona eşdeğerdir

PyTorch ile Deep Learning'e Giriş

Softmax ile tanışma

  • Üç sınıf:
PyTorch ile Deep Learning'e Giriş

Softmax ile tanışma

  • Üç sınıf:

"kuş" seçeneğiyle bir lemur

PyTorch ile Deep Learning'e Giriş

Softmax ile tanışma

  • Üç sınıf:

"kuş" ve memeli seçenekleriyle bir lemur

PyTorch ile Deep Learning'e Giriş

Softmax ile tanışma

  • Üç sınıf:

Üç seçenekli bir lemur: kuş, memeli veya sürüngen

PyTorch ile Deep Learning'e Giriş

Softmax ile tanışma

Girdileri gösteren bir sinir ağının bölümü diyagramı

  • Üç boyutlu girdiyi alır, aynı şekli döndürür
PyTorch ile Deep Learning'e Giriş

Softmax ile tanışma

Girdileri, doğrusal katmanlara çıktı olarak bir vektörü, bir softmax aktivasyonu ve bir çıktıyı gösteren sinir ağı diyagramı

  • Üç boyutlu girdiyi alır, aynı şekli döndürür
  • Olasılık dağılımı üretir:
    • Her eleman bir olasılıktır (0 ile 1 arasında)
    • Çıktı vektörünün toplamı 1’e eşittir
PyTorch ile Deep Learning'e Giriş

Softmax ile tanışma

Girdileri, doğrusal katmanlara çıktı olarak bir vektörü, bir softmax aktivasyonu ve bir çıktıyı gösteren sinir ağı diyagramı

  • Üç boyutlu girdiyi alır, aynı şekli döndürür
  • Olasılık dağılımı üretir:
    • Her eleman bir olasılıktır (0 ile 1 arasında)
    • Çıktı vektörünün toplamı 1’e eşittir
PyTorch ile Deep Learning'e Giriş

Softmax ile tanışma

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, softmax’in giriş tensörünün son boyutuna uygulandığını belirtir
  • nn.Softmax(), nn.Sequential() içinde son adım olarak kullanılabilir
PyTorch ile Deep Learning'e Giriş

Ayo berlatih!

PyTorch ile Deep Learning'e Giriş

Preparing Video For Download...