İçeriğe geç
Educora

Formüller ve kolay yollar

Python · 97

Bu kurstaki tüm formüller ve onları hatırlamanın kolay yolları tek sayfada.

1Fonksiyonlar ve modüllerOrta

Fonksiyonlar

Derse git
F = C · 9/5 + 32F = C · 9/5 + 32
burada:
  • FFahrenheit derecesi cinsinden sıcaklık
  • CSantigrat (Celsius) derecesi cinsinden sıcaklık

Bu formülü bir fonksiyona dönüştürelim

2Derinlemesine Pythonİleri

Yineleyiciler ve üreteçler

Derse git

Dekoratörler ve kapanışlar

Derse git

Bağlam yöneticileri ve with deyimi

Derse git

Tip ipuçları ve dataclass'lar

Derse git

İleri NYP: özel metotlar, özellikler ve MRO

Derse git

Düzenli ifadeler: re modülü

Derse git

Asenkron Python: async ve await

Derse git

Paketler, modüller ve sanal ortamlar

Derse git

Performans, Büyük O ve collections modülü

Derse git

3Web ve otomasyonİleri

JSON ve CSV ile çalışmak

Derse git

Web API'leri ve requests kütüphanesi

Derse git

FastAPI ile web servisi

Derse git

Otomasyon betikleri

Derse git

4Veri bilimi: NumPy, pandas, matplotlibÜniversite

NumPy'ın temelleri: diziler

Derse git
size = d₁ · d₂ · … · dₙ nbytes = size · itemsize
burada:
  • neksen sayısı (ndim)
  • dₖk. eksen boyunca uzunluk (shape içindeki bir değer)
  • itemsizebir elemanın bayt cinsinden boyutu: float64 ve int64 için 8, float32 ve int32 için 4, bool ve int8 için 1

Şekli (2, 3) olan m için size = 2 · 3 = 6. temps için nbytes = 4 · 8 = 32 bayt.

h = (stop − start) / (num − 1) n = ⌈(stop − start) / step⌉h = (stop − start) / (num − 1) n = ⌈(stop − start) / step⌉
burada:
  • hlinspace noktaları arasındaki adım
  • narange dizisindeki eleman sayısı
  • ⌈ ⌉yukarı yuvarlama (tavan)

np.linspace(0, 1, 5): h = 1 / 4 = 0,25. np.arange(0, 10, 2): n = ⌈10 / 2⌉ = 5 eleman.

x̄ = (1/n) · ∑ xᵢ σ = √( ∑ (xᵢ − x̄)² / (n − ddof) )x̄ = (1/n) · ∑ xᵢ σ = √( ∑ (xᵢ − x̄)² / (n − ddof) )
burada:
  • x̄aritmetik ortalama (mean)
  • ndeğer sayısı
  • σstandart sapma (std): değerlerin ortalamadan tipik olarak ne kadar uzaklaştığı
  • ddof0 — ana kütle için (NumPy'da varsayılan), 1 — örneklem için (yansız varyans)

np.std varsayılan olarak n'ye böler; istatistik kitapları ve pandas'taki Series.std ise n − 1'e böler. Aynı sonucu almak için ddof=1 ver.

NumPy: vektörleştirme ve doğrusal cebir

Derse git
zᵢⱼ = (xᵢⱼ − μⱼ) / σⱼzᵢⱼ = (xᵢⱼ − μⱼ) / σⱼ
burada:
  • xᵢⱼi. örneğin j. özniteliği
  • μⱼ, σⱼj. sütunun ortalaması ve standart sapması
  • zᵢⱼstandartlaştırılmış değer (z-puanı): ortalaması 0, standart sapması 1
cᵢⱼ = ∑ₖ₌₁ⁿ aᵢₖ · bₖⱼ (m × n) @ (n × p) → (m × p)
burada:
  • aᵢₖA matrisinin i. satır, k. sütun elemanı
  • bₖⱼB matrisinin k. satır, j. sütun elemanı
  • nA'nın sütun ve B'nin satır sayısı (ortak)
A = [[a, b], [c, d]]: det A = a·d − b·c A⁻¹ = (1 / det A) · [[d, −b], [−c, a]]A = [[a, b], [c, d]]: det A = a·d − b·c A⁻¹ = (1 / det A) · [[d, −b], [−c, a]]
burada:
  • det Adeterminant; 0 ise matris tekildir ve tersi yoktur
  • A⁻¹ters matris: A · A⁻¹ = I (birim matris)
A · v = λ · v det(A − λ · I) = 0
burada:
  • vözvektör (v ≠ 0)
  • λözdeğer
  • Ibirim matris

İkinci eşitlik karakteristik denklemdir: (A − λI)v = 0 sisteminin sıfırdan farklı bir çözümü ancak determinant 0 olduğunda vardır.

w = (Xᵀ X)⁻¹ Xᵀ y
burada:
  • Xn × d öznitelik matrisi (ilk sütun birlerden oluşur)
  • yhedef değerler vektörü
  • wkaresel hataların toplamını en küçük yapan katsayılar

pandas'ın temelleri: Series ve DataFrame

Derse git
h = (n − 1) · q Q(q) = x₍ₖ₎ + (h − k) · (x₍ₖ₊₁₎ − x₍ₖ₎), k = ⌊h⌋
burada:
  • qdüzey: 0,25 (birinci çeyrek), 0,5 (medyan), 0,75 (üçüncü çeyrek)
  • x₍ₖ₎artan sırada dizildikten sonraki k. değer (0'dan sayarak)
  • hsıralanmış verideki “kesirli konum”

pandas ve NumPy varsayılan olarak nicelikleri iki komşu değer arasında doğrusal enterpolasyonla hesaplar.

pandas ile veri analizi

Derse git
x̄_w = ∑ wᵢ · xᵢ / ∑ wᵢx̄_w = ∑ wᵢ · xᵢ / ∑ wᵢ
burada:
  • xᵢi. grubun ortalaması (örneğin ortalama fiş tutarı)
  • wᵢgrubun ağırlığı: genellikle gözlem sayısı

Ağırlıklı ortalama. pandas'ta: np.average(x, weights=w) ya da yalnızca genel toplamı genel sayıya bölmek.

Δ% = (xₜ − xₜ₋₁) / xₜ₋₁ · 100%Δ% = (xₜ − xₜ₋₁) / xₜ₋₁ · 100%
burada:
  • xₜmevcut dönemin değeri
  • xₜ₋₁önceki dönemin değeri

Büyüme oranı; pandas'ta pct_change() bunu hesaplar (100 ile çarpmadan). İlk dönemin önceki değeri olmadığı için NaN çıkar.

matplotlib ile görselleştirme

Derse git
k = ⌈log₂ n⌉ + 1 h = 2 · IQR · n^(−1/3)
burada:
  • kkutu sayısı (Sturges kuralı)
  • hkutu genişliği (Freedman–Diaconis kuralı), verinin biriminde
  • ngözlem sayısı
  • IQRçeyrekler açıklığı Q3 − Q1

Sturges, yaklaşık normal ve çok büyük olmayan veriler için uygundur; Freedman–Diaconis aykırı değerlere karşı dayanıklıdır. ax.hist(x, bins='fd') ikincisini otomatik uygular.

fᵢ = nᵢ / (n · h) ∑ fᵢ · h = 1fᵢ = nᵢ / (n · h) ∑ fᵢ · h = 1
burada:
  • nᵢi. kutuya düşen gözlemler
  • fᵢdensity=True ile çubuk yüksekliği (yoğunluk)
  • hkutu genişliği

ax.hist(x, density=True) çubuk alanlarının toplamını 1 yapar; böyle bir histogram bir olasılık yoğunluğu eğrisiyle karşılaştırılabilir.

Python ile istatistik

Derse git
x̄ = (1/n) · ∑ xᵢ s² = ∑ (xᵢ − x̄)² / (n − 1) s = √s²x̄ = (1/n) · ∑ xᵢ s² = ∑ (xᵢ − x̄)² / (n − 1) s = √s²
burada:
  • nörneklem büyüklüğü
  • s²örneklem varyansı (birimi verinin biriminin karesi)
  • sörneklem standart sapması (veriyle aynı birimde); NumPy'da std(ddof=1)
[Q1 − 1,5 · IQR; Q3 + 1,5 · IQR]
burada:
  • Q1, Q3birinci ve üçüncü çeyrek (%25 ve %75)
  • IQRQ3 − Q1, verinin orta yarısının genişliği

Tukey kuralı: bu aralığın dışındaki değerler aykırı değer sayılır. Burada: 14,75 + 1,5 · 1,75 = 17,375, yani 45 aykırı bir değerdir.

f(x) = 1 / (σ · √(2π)) · e^(−(x − μ)² / (2σ²)) z = (x − μ) / σf(x) = 1 / (σ · √(2π)) · e^(−(x − μ)² / (2σ²)) z = (x − μ) / σ
burada:
  • μdağılımın ortalaması
  • σstandart sapma (σ > 0)
  • f(x)olasılık yoğunluğu; P(a < X < b), a ile b arasında eğrinin altındaki alandır
  • zz-puanı: standart normal dağılımdaki (μ = 0, σ = 1) konum
SE = σ / √n ≈ s / √nSE = σ / √n ≈ s / √n
burada:
  • SEortalamanın standart hatası
  • σ, sana kütlenin ve örneklemin standart sapması
x̄ ± t* · s / √n, t* = t₁₋α/₂(n − 1)x̄ ± t* · s / √n, t* = t₁₋α/₂(n − 1)
burada:
  • t*t-dağılımının kritik değeri; %95 için α = 0,05
  • n − 1serbestlik derecesi

Ortalama için %95 güven aralığı. stats.t.ppf(0.975, df=n - 1) t* değerini, stats.t.interval ise aralığın tamamını döndürür.

t = (x̄₁ − x̄₂) / √(s₁²/n₁ + s₂²/n₂)t = (x̄₁ − x̄₂) / √(s₁²/n₁ + s₂²/n₂)
burada:
  • x̄₁, x̄₂grup ortalamaları
  • s₁², s₂²grupların örneklem varyansları
  • n₁, n₂grup büyüklükleri

Welch t istatistiği: ortalamaların farkının kendi standart hatasına bölümü. |t| ne kadar büyükse p o kadar küçüktür.

r = ∑ (xᵢ − x̄)(yᵢ − ȳ) / √( ∑ (xᵢ − x̄)² · ∑ (yᵢ − ȳ)² )r = ∑ (xᵢ − x̄)(yᵢ − ȳ) / √( ∑ (xᵢ − x̄)² · ∑ (yᵢ − ȳ)² )
burada:
  • r−1 ≤ r ≤ 1; işaret yönü, |r| gücü gösterir
  • x̄, ȳher değişkenin ortalaması

scikit-learn ile makine öğrenmesi

Derse git
MSE = (1/n) · ∑ (yᵢ − ŷᵢ)² RMSE = √MSE R² = 1 − ∑ (yᵢ − ŷᵢ)² / ∑ (yᵢ − ȳ)²MSE = (1/n) · ∑ (yᵢ − ŷᵢ)² RMSE = √MSE R² = 1 − ∑ (yᵢ − ŷᵢ)² / ∑ (yᵢ − ȳ)²
burada:
  • yᵢ, ŷᵢgerçek değer ve tahmin
  • RMSEhedefle aynı birimde tipik hata (burada bin manat)
  • R²açıklanan değişimin payı: 1 mükemmel, 0 her zaman ortalamayı tahmin eden modelin düzeyi

Model 1,48 ve 11,06 katsayılarını buldu; gerçek 1,5 ve 12'ye yakın. RMSE ≈ 9,8, eklediğimiz gürültünün (σ = 10) düzeyidir: model sinyali tamamen yakaladı, gürültü ise tahmin edilemez.

p = σ(z) = 1 / (1 + e^(−z)), z = w · x + bp = σ(z) = 1 / (1 + e^(−z)), z = w · x + b
burada:
  • σ(z)sigmoid: her sayıyı (0; 1) aralığına taşır, σ(0) = 0,5
  • pörneğin pozitif sınıfa ait olma olasılığı; p ≥ 0,5 olduğunda “1” tahmin edilir
G = 1 − ∑ₖ pₖ² Gsplit = (nL / n) · GL + (nR / n) · GRG = 1 − ∑ₖ pₖ² Gsplit = (nL / n) · GL + (nR / n) · GR
burada:
  • pₖdüğümdeki k sınıfının payı
  • G0 saf bir düğüm demektir (tek sınıf); iki sınıf için en fazla 0,5
  • nL, nRsol ve sağ alt düğümlerdeki örnek sayısı
Accuracy = (TP + TN) / N Precision = TP / (TP + FP) Recall = TP / (TP + FN) F1 = 2 · P · R / (P + R)Accuracy = (TP + TN) / N Precision = TP / (TP + FP) Recall = TP / (TP + FN) F1 = 2 · P · R / (P + R)
burada:
  • Precisionspam dediğimiz iletilerin ne kadarı gerçekten spam
  • Recalltüm spamin ne kadarını yakalayabildik
  • F1kesinlik ve duyarlılığın harmonik ortalaması
  • Ntoplam örnek sayısı
CV = (1/k) · ∑ᵢ₌₁ᵏ scoreᵢCV = (1/k) · ∑ᵢ₌₁ᵏ scoreᵢ
burada:
  • kkat sayısı, genellikle 5 ya da 10
  • scoreᵢi. kat test kümesiyken elde edilen skor

5Yapay zekâ ve PyTorch ile derin öğrenmeÜniversite

Makine öğrenmesinin temel kavramları

Derse git
MSE = (1/n) · ∑ᵢ₌₁ⁿ (yᵢ − ŷᵢ)²MSE = (1/n) · ∑ᵢ₌₁ⁿ (yᵢ − ŷᵢ)²
burada:
  • nörnek sayısı
  • yᵢi. örneğin gerçek değeri (etiket)
  • ŷᵢmodelin tahmini

Ortalama karesel hata (mean squared error). Kare alma, büyük hataları çok daha ağır cezalandırır; birimi etiketin biriminin karesidir.

CE = −∑ₖ₌₁ᴷ yₖ · ln pₖ = −ln pₜ
burada:
  • Ksınıf sayısı
  • yₖk sınıfı doğruysa 1, değilse 0 (one-hot)
  • pₖmodelin k sınıfına verdiği olasılık
  • pₜdoğru sınıfın olasılığı

Çapraz entropi (cross-entropy). İki sınıf için: BCE = −[y · ln p + (1 − y) · ln(1 − p)]. Doğru sınıfın olasılığı 1'e yaklaştıkça kayıp 0'a yaklaşır.

θ ← θ − η · ∇L(θ)
burada:
  • θmodelin tüm parametreleri (ağırlıklar ve sapmalar)
  • ηöğrenme oranı, genellikle 0,0001–0,1
  • ∇L(θ)gradyan: kaybın her parametreye göre kısmi türevlerinden oluşan vektör

Gradyan inişinin güncelleme kuralı. Her tekrar bir adımdır; eğitim kümesinden bir kez tam geçişe epok (dönem) denir.

∂L/∂w = (2/n) · ∑ᵢ (ŷᵢ − yᵢ) · xᵢ ∂L/∂b = (2/n) · ∑ᵢ (ŷᵢ − yᵢ)∂L/∂w = (2/n) · ∑ᵢ (ŷᵢ − yᵢ) · xᵢ ∂L/∂b = (2/n) · ∑ᵢ (ŷᵢ − yᵢ)
burada:
  • w, bdoğrunun eğimi (ağırlık) ve sabit terimi (sapma)
  • ŷᵢ − yᵢi. örnekteki hata
E[(y − f̂(x))²] = Bias[f̂(x)]² + Var[f̂(x)] + σ²
burada:
  • f̂(x)rastgele bir eğitim kümesiyle eğitilmiş modelin tahmini
  • Biasyanlılık: modelin fazla basit varsayımlarından doğan ortalama hata
  • Varvaryans: tahminin belirli eğitim kümesine ne kadar bağlı olduğu
  • σ²verideki giderilemeyen gürültü

MSE'nin yanlılık–varyans ayrışımı. Model karmaşıklaştıkça yanlılık azalır, varyans artar; en iyi model toplamı en küçük yapar.

J(θ) = L(θ) + λ · ∑ⱼ θⱼ²
burada:
  • λdüzenlileştirme gücü (doğrulama kümesiyle seçilen bir hiperparametre)
  • ∑ⱼ θⱼ²ağırlıkların karelerinin toplamı; büyük ağırlıkları cezalandırır

L2 düzenlileştirme (weight decay): model daha “pürüzsüz” fonksiyonları tercih eder ve gürültüyü ezberlemeye daha az yatkın olur.

PyTorch: tensörler

Derse git
numel = d₁ · d₂ · … · dₖ memory = numel · s
burada:
  • d₁ … dₖshape'teki boyutlar
  • numeleleman sayısı (x.numel())
  • sbir elemanın bayt cinsinden boyutu (x.element_size())
C = A @ B, Cᵢⱼ = ∑ₖ Aᵢₖ · Bₖⱼ, (m × n) @ (n × p) → (m × p)
burada:
  • A, Bboyutları m × n ve n × p olan matrisler
  • niç boyut; iki matriste de aynı olmalıdır
  • CᵢⱼA'nın i. satırı ile B'nin j. sütununun iç çarpımı

Matris çarpımı sinir ağlarının temel işlemidir: (N, D) boyutlu girdileri (D, K) boyutlu ağırlık matrisiyle çarparak tüm yığını tek seferde işleriz. Daha çok eksenli tensörlerde @ son iki eksene uygulanır, diğer eksenler yığın ekseni sayılır.

PyTorch: autograd ve otomatik türev

Derse git
dL/dx = dL/dy · dy/dx ∂L/∂w = ∂L/∂ŷ · ∂ŷ/∂wdL/dx = dL/dy · dy/dx ∂L/∂w = ∂L/∂ŷ · ∂ŷ/∂w
burada:
  • Lkayıp (grafın kökü)
  • y, ŷara değerler (grafın iç düğümleri)
  • x, wyapraklar: girdiler ve parametreler

Bileşik bir fonksiyonun türevi, yerel türevlerin çarpımına eşittir. Bir değişken kaybı birkaç yol üzerinden etkiliyorsa tüm yollardaki çarpımlar toplanır: ∂L/∂x = ∑ₖ ∂L/∂yₖ · ∂yₖ/∂x.

σ(z) = 1 / (1 + e⁻ᶻ) σ′(z) = σ(z) · (1 − σ(z))σ(z) = 1 / (1 + e⁻ᶻ) σ′(z) = σ(z) · (1 − σ(z))
burada:
  • σ(z)sigmoid fonksiyonu, değerleri (0; 1) aralığında
  • σ′(z)türevi; en büyük değeri z = 0'da 0,25'tir

İspat: σ′(z) = e⁻ᶻ / (1 + e⁻ᶻ)² = σ(z) · e⁻ᶻ / (1 + e⁻ᶻ); son kesir 1 − σ(z)'ye eşittir.

PyTorch: sinir ağları kurmak

Derse git
z = w · x + b = ∑ᵢ₌₁ⁿ wᵢxᵢ + b a = φ(z)
burada:
  • xgirdi vektörü (n öznitelik)
  • wağırlıklar; her girdinin önemi
  • bsapma (bias); aktivasyon eşiğini kaydırır
  • φaktivasyon fonksiyonu (ReLU, sigmoid…)
  • anöronun çıktısı (aktivasyon)
ReLU(z) = max(0, z) σ(z) = 1 / (1 + e⁻ᶻ) tanh(z) = (eᶻ − e⁻ᶻ) / (eᶻ + e⁻ᶻ)ReLU(z) = max(0, z) σ(z) = 1 / (1 + e⁻ᶻ) tanh(z) = (eᶻ − e⁻ᶻ) / (eᶻ + e⁻ᶻ)
burada:
  • ReLUnegatif değerleri sıfırlar; türevi z > 0 için 1, z < 0 için 0
  • σsigmoid: değerler (0; 1) aralığında, olasılık olarak yorumlanır
  • tanhhiperbolik tanjant: değerler (−1; 1) aralığında, sıfıra göre simetrik
softmax(z)ᵢ = eᶻⁱ / ∑ⱼ₌₁ᴷ eᶻʲsoftmax(z)ᵢ = eᶻⁱ / ∑ⱼ₌₁ᴷ eᶻʲ
burada:
  • zK sınıf için ham puanlar (logitler)
  • softmax(z)ᵢi sınıfının olasılığı; hepsi pozitiftir ve toplamı 1'dir

Softmax, çok sınıflı sınıflandırmada son katmanın logitlerini bir olasılık dağılımına çevirir.

Y = X · Wᵀ + b params = (nin + 1) · nout
burada:
  • Xgirdi yığını, şekil (N, nin)
  • Wağırlıklar, şekil (nout, nin); layer.weight
  • bsapmalar, şekil (nout,); layer.bias
  • Yçıktılar, şekil (N, nout)

Her çıktı nöronunun nin ağırlığı ve bir sapması vardır; bu yüzden tam bağlantılı bir katmanda (nin + 1) · nout parametre bulunur.

PyTorch: eğitim döngüsü

Derse git
steps per epoch = ⌈N / B⌉ updates = epochs · ⌈N / B⌉steps per epoch = ⌈N / B⌉ updates = epochs · ⌈N / B⌉
burada:
  • Neğitim kümesindeki örnek sayısı
  • Byığın boyutu (batch size)
  • ⌈ ⌉yukarı yuvarlama: son eksik yığın da bir adımdır
L = −zₜ + ln ∑ⱼ₌₁ᴷ eᶻʲ
burada:
  • zmodelin ham logitleri
  • tdoğru sınıfın numarası

nn.CrossEntropyLoss, log-softmax ile çapraz entropiyi birleştirir: −ln softmax(z)ₜ = −zₜ + ln ∑ eᶻʲ. Bir yığın için kayıpların ortalaması alınır.

mₜ = β₁·mₜ₋₁ + (1 − β₁)·gₜ vₜ = β₂·vₜ₋₁ + (1 − β₂)·gₜ² θₜ = θₜ₋₁ − η · m̂ₜ / (√v̂ₜ + ε)mₜ = β₁·mₜ₋₁ + (1 − β₁)·gₜ vₜ = β₂·vₜ₋₁ + (1 − β₂)·gₜ² θₜ = θₜ₋₁ − η · m̂ₜ / (√v̂ₜ + ε)
burada:
  • gₜt adımındaki gradyan
  • mₜ, vₜgradyanın ve karesinin kayan ortalamaları (momentum ve ölçek)
  • m̂ₜ, v̂ₜbaşlangıç sapması düzeltilmiş değerler: mₜ/(1 − β₁ᵗ), vₜ/(1 − β₂ᵗ)
  • β₁, β₂, ε, ηPyTorch'ta varsayılan 0,9; 0,999; 10⁻⁸; 0,001

Adam optimizasyon aracı. Her parametre kendi adım boyunu alır: gradyanı sürekli büyük olan parametre temkinli, küçük olan daha cesurca güncellenir. Momentumlu SGD ise v ← μ·v + g, θ ← θ − η·v formülüyle çalışır.

accuracy = (1/N) · ∑ᵢ [argmax(zᵢ) = yᵢ]accuracy = (1/N) · ∑ᵢ [argmax(zᵢ) = yᵢ]
burada:
  • argmax(zᵢ)i. örnek için en büyük logitin sınıfı; yani tahmin
  • [ … ]koşul doğruysa 1, değilse 0

Evrişimli sinir ağları (CNN)

Derse git
x′ = (x − μ) / σx′ = (x − μ) / σ
burada:
  • x[0; 1] aralığındaki piksel değeri
  • μ, σkanalın eğitim kümesindeki ortalaması ve standart sapması (MNIST için 0,1307 ve 0,3081)

Normalleştirmeden sonra girdiler kabaca sıfır etrafında ve birim ölçektedir; bu, gradyan inişini hızlandırır.

Y[i, j] = ∑ₘ ∑ₙ X[i + m, j + n] · K[m, n] + b
burada:
  • Xgirdi görüntüsü (ya da önceki katmanın haritası)
  • KK × K boyutunda filtre; öğrenilen ağırlıklar
  • bfiltrenin sapması
  • Y[i, j]öznitelik haritasının (i, j) elemanı

Tek kanal için 2B evrişim. Birden çok girdi kanalı olduğunda toplam kanallar üzerinden de alınır.

O = ⌊(W − K + 2P) / S⌋ + 1O = ⌊(W − K + 2P) / S⌋ + 1
burada:
  • Wgirdinin genişliği (ya da yüksekliği), piksel
  • Kçekirdek boyutu
  • Pdolgu (padding): kenarlara eklenen sıfır pikseller
  • Sadım (stride): filtrenin kaç piksel kaydığı
  • Oçıktı genişliği; ⌊ ⌋ aşağı yuvarlamadır

Çıktı boyutu formülü; yükseklik için de aynısı geçerlidir. Havuzlamada genellikle P = 0 ve S = K alınır.

params = (K · K · Cin + 1) · Cout
burada:
  • Cin, Coutgirdi ve çıktı kanallarının sayısı

Bir evrişim katmanının parametre sayısı görüntü boyutuna bağlı değildir; ağırlıklar tüm konumlarda paylaşılır.

Transformerlar ve büyük dil modelleri

Derse git
Q = X · WQ K = X · WK V = X · WV
burada:
  • X(T, d) şeklinde token vektörleri
  • WQ, WK, WVöğrenilen (d, dₖ) matrisleri
Attention(Q, K, V) = softmax(Q · Kᵀ / √dₖ) · VAttention(Q, K, V) = softmax(Q · Kᵀ / √dₖ) · V
burada:
  • Q · Kᵀ(T, T) puan matrisi: her sorgunun her anahtarla benzerliği
  • √dₖölçek çarpanı; dₖ anahtar boyutudur
  • softmaxsatır satır uygulanır: dikkat ağırlıkları pozitiftir ve toplamı 1'dir
  • Vdeğerler; çıktı onların ağırlıklı ortalamasıdır

Ölçekli iç çarpım dikkati (scaled dot-product attention).

MultiHead(X) = Concat(head₁, …, headₕ) · WO, headᵢ = Attention(X·WQⁱ, X·WKⁱ, X·WVⁱ)
burada:
  • hbaş sayısı; her başın boyutu d / h'dir
  • WObirleştirilmiş başları karıştıran (d, d) matris

Her baş farklı bir ilişkiye dikkat etmeyi öğrenebilir: biri dil bilgisel bağlara, diğeri bir zamirin neyi gösterdiğine. Parametreler: WQ, WK, WV, WO için 4 · d² ağırlık ve 4 · d sapma.

PE(pos, 2i) = sin(pos / 10000^(2i/d)) PE(pos, 2i + 1) = cos(pos / 10000^(2i/d))PE(pos, 2i) = sin(pos / 10000^(2i/d)) PE(pos, 2i + 1) = cos(pos / 10000^(2i/d))
burada:
  • postokenin konumu: 0, 1, 2, …
  • ibileşen çiftinin numarası; küçük i hızlı, büyük i yavaş salınır
  • dgömme boyutu
L = −(1/T) · ∑ₜ₌₁ᵀ ln p(xₜ₊₁ | x₁, …, xₜ) PPL = eᴸL = −(1/T) · ∑ₜ₌₁ᵀ ln p(xₜ₊₁ | x₁, …, xₜ) PPL = eᴸ
burada:
  • xₜmetindeki t. token
  • p(xₜ₊₁ | x₁, …, xₜ)önceki tokenler verildiğinde modelin doğru sonraki tokene verdiği olasılık
  • PPLperpleksite; ne kadar düşükse model o kadar iyidir
pᵢ = exp(zᵢ / τ) / ∑ⱼ exp(zⱼ / τ)pᵢ = exp(zᵢ / τ) / ∑ⱼ exp(zⱼ / τ)
burada:
  • τsıcaklık: τ < 1 daha emin ve tekrarlı, τ > 1 daha çeşitli ve riskli metin verir

Sıcaklıklı softmax ile sonraki tokenin seçilmesi.