Neler yeni
Bughane Academy

Bughane Academy, bug bounty, web güvenliği ve sızma testi alanında kendini geliştirmek isteyenler için kurulmuş Türkçe odaklı bir topluluktur.

Burada; gerçek güvenlik açıkları, recon ve exploit teknikleri, payload & bypass yöntemleri, araçlar, scriptler ve write-up’lar topluluk tarafından paylaşılır ve tartışılır.

Birlikte öğren, birlikte üret, birlikte güçlen.

Yapay Sinir Ağları Giriş Seviye 🚀🧬

omertugrulbayram

Moderator
Aday
Katılım
2 Ocak 2026
Mesajlar
17
Tepkime puanı
26
Puan
13
Merhaba! Bugün 0 dan yapay sinir ağları oluşturmayı öğreneceğiz, tensorflow vs.. kullanmadan sadece python ve numpy kullanacağız. Kullanacağımız datasetimiz mnist-dataset olacak. Bu datasette el yazısı şeklinde yazılmış sayılarımız var ve bizim amacımız bu görselleri yükleyip hangi sayıya tekabül ettiğini bulan sinir ağını oluşturmaktır.
1768067315298.jpg
Bu bir sinir ağı örneğidir. Girdiler input geliyor hücrelere uğruyor ve oradan outputa geçiyor. Bu sinir ağımız 4 katmanlı bir sinir ağıdır. Burada sadece hidden1 ve hidden2 öğrenebilir parametrelere sahiptir diğerleri zaten giriş ve çıkış oluyor. Amacımızda inputumuzu gireceğiz layerlerimizden geçecek outputa çıkacak ve istediğimiz sonuca yakınlığına göre değişiklikler yapacağız.
1768067358191.jpg
Bu durumda bir Forward pass ve Backward passimiz var her bir forward pass de çıktıyı bulacağız backward passdede çıktıya göre öğrenebilir parametrelerimizi güncelleyeceğiz. feedback gibi düşünebilir yani bir projede işte sonucu gördük tekrardan değişiklikle en yakın sonuca ulaşma çabası.
1768067421301.jpg

Örnek akış şemasıda bunun gibidir. Baştaki değişkenimizi x diye düşünürsek aslında bizim sinir ağımız bir fonksiyon şeklinde yani f(x) olarak çalışıyor çünkü sonuç y çıkıyor.
1768067467262.jpg
Burada elimizde küçük bir örnek var, Burdaki modellemede girdimizi sola çıktımızı sağa yazıyoruz. buradaki öğrenebilir parametrelerimiz w1 ve w2 dir. aradada hangi işlemler olacağı var. inputtan başlıyoruz, 10 + -2 geliyor = 8, 8 x 3 = 24 sonucu geliyor.

Aslında buradaki tüm fonksiyonumuz şundan ibaret;

(f(x) + w1). w2 = y

Yani yukarıdaki işlemin fonksiyon hali budur.
1768067536809.jpg
Şemamızın böyle olduğunu söylüyoruz, burada bizim inputumuz 784 çünkü fotoğraflarımız 28*28 özellikteydi yani 784 matrisimiz var.
1768067553324.jpg
w1 öğrenebilir parametremiz (10,784) bir matrise sahip, w2 öğrenebilir parametremizde (10,10) bir matrise sahip, yani bu durumda aslında şunu söyleyebiliriz, her verimizin matrisi kendinden bir öncekiyle kendi arasında değer alıyor. örnek veriyorum 5 layerli bir durumda layer3 ü varsayarsak, formülümüz

(layer3-1, layer3) durumunu alıyor; (layerx-1, layerx) de diyebiliriz.
y cıktımız yani outputumuzda bu durumda,
(layer4-1, layer4) yani (layer3,layer4) = (10,1) durumunu alır.
w1 durumumuzda matrisi (784, 10) durumundaydı yani 7840 tane değer alabilir, bu durumda w2 değerimiz (10,10) yani 100, y değerimizde (10,1) 10 değer alır. Sadece öğrenebilir parametrelerimize baktığımızda 7840+100 = 7940 adet öğrenebilir parametremiz var.

1768067694486.jpg

1768067710760.jpg
burda birde ReLU fonksiyonumuz 0 dan küçük değerleri 0 a eşitler, 0 dan büyük olan değerleri olduğu gibi bırakır. İlk adımımızı geçtik 2. adıma geliyoruz.
1768067724066.jpg
bu sefer gördüğümüz farklılık, ilk durumdaki W1.x yerine W2.H1 Gelmiş olması. yine bununda ReLU’sunu alıyoruz.
1768067743175.jpg
Buda burada 3. işlemimizdir. Forward pass işlemi bu kısımda bitti artık backward pass işlemine geçiyoruz ve türev kullanacağız.
1768067765009.jpg
Şöyle bir durum olduğunu var sayalım bu bizim loss fonksiyonumuz yani modelin ne kadar iyi çalıştığını belirten bir fonksiyon. Burada bizim lossumuz ne kadar düşükse modelimiz o kadar iyi çalışıyordur.
1768067776353.jpg
Evet bu durumdayken asıl amacımız neydi lossu düşürmekti işte lossu nasıl düşüreceğiz sorusunu sorduğumuzdada asıl olayın kendisi olan türev devreye giriyor.
1768067796495.jpg
Şimdi bu durumda yükselen grafikte olduğu için noktamız, türevimiz pozitif çıkar ve bizim amacımız aslında tam tersi tarafa götürmekti yani türevin tersini almak. Çünkü yukarı doğru çıkarsak loss artacak aşşağı doğru inmemiz lazım. yani formülde

Şimdi bu olay için başta verdiğimiz küçük örnek üzerinden gideceğiz.
1768067831204.jpg
Burada forward pass’de dümdüz ilerlemiştik, backward passde napıyorduk az önce anlattığımız gibi türevini alma durumu söz konusu.
1768067843046.jpg
1768067881747.jpg
burada y nin w1 e göre olan türevini bulabilmek için


Formülünü kullanıyoruz, yapay sinir ağları için temel düzeyde bir yazıydı. Umarım anlaşılır olmuştur. İyi okumalar.
 
Geri
Üst