Ana içeriğe atla

Derin Sinir Ağlarına Giriş

Derin sinir ağlarını ve yapay zekânın modern derin öğrenme dünyasındaki önemini anlama
Güncel 3 Eki 2026  · 13 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Derin sinir ağları, modern çağda yapay zekânın çehresini değiştirdi. Son dönemde derin öğrenme ve sinir ağlarında kaydedilen çeşitli araştırma ilerlemeleri, yapay zekâyla ilgili projelerin kalitesini dramatik biçimde artırdı.

Bu derin sinir ağları, geliştiricilerin daha sürdürülebilir ve yüksek kaliteli sonuçlar elde etmesine yardımcı olur. Bu nedenle, bazı geleneksel makine öğrenimi tekniklerinin yerini bile almaktadırlar.

Peki derin sinir ağları tam olarak nedir ve neden bu kadar geniş bir görev yelpazesi için en uygun seçenektir? Ayrıca, derin sinir ağlarıyla başlamak için hangi kütüphane ve araçlar mevcuttur?

Bu makalede derin sinir ağlarını, ihtiyaç duydukları kütüphaneleri ve sıfırdan basit bir derin sinir ağı mimarisinin nasıl kurulacağını açıklayacağız.

Derin Sinir Ağları Nedir?

Yapay sinir ağı (ANN) ya da basit, geleneksel bir sinir ağı; basit görevleri yalın bir ağ tasarımıyla çözmeyi amaçlar. Yapay sinir ağları, biyolojik sinir ağlarından esinlenmiştir. Belirli bir görevi yerine getirmek için katmanlar bütünüdür. Her katman, birlikte çalışacak düğümlerden oluşur.

Bu ağlar genellikle bir giriş katmanı, bir ila iki gizli katman ve bir çıkış katmanından oluşur. Basit matematik sorularını ve ilgili doğruluk tablolarıyla temel kapı yapıları gibi bilgisayar problemlerini çözmek mümkün olsa da, bu ağların karmaşık görüntü işleme, bilgisayarlı görü ve doğal dil işleme görevlerini çözmesi zordur.

Bu tür problemler için; evrişim katmanı, maksimum havuzlama katmanı, yoğun katman ve diğer özgün katmanlar gibi çok çeşitli farklı katmanlardan oluşan karmaşık bir gizli katman yapısına sahip derin sinir ağları kullanırız. Bu ek katmanlar, modelin sorunları daha iyi kavramasına ve karmaşık projelere en uygun çözümleri sunmasına yardımcı olur. Derin sinir ağı, ANN’den daha fazla katmana (daha fazla derinliğe) sahiptir ve her katman, girdileri ideal çözümü üretecek şekilde işleyebilmesi için modele karmaşıklık katar.

ANN ve DNN

ANN ve DNN - Görsel Kaynak

Derin sinir ağları, pek çok farklı derin öğrenme projesinde yüksek verimlilikleri sayesinde büyük ilgi gördü. Ayrı bir yazıda makine öğrenimi ile derin öğrenme arasındaki farkları inceleyin. 

Neden DNN kullanılır?

İyi tasarlanmış bir derin sinir ağı eğitildikten sonra, istenen sonuçlara yüksek doğruluk skorlarıyla ulaşabilir. Bilgisayarlı görü, doğal dil işleme ve transfer öğrenimi dâhil derin öğrenmenin tüm alanlarında popülerdirler.

Derin sinir ağlarının önemine başlıca örnekler; YOLO (You Only Look Once) gibi modellerle nesne tespitindeki kullanımları, BERT (Bidirectional Encoder Representations from Transformers) modelleriyle dil çevirisi görevleri, VGG-19, RESNET-50, EfficientNet ve benzeri ağlar gibi transfer öğrenimi modellerinin görüntü işleme projelerindeki uygulamalarıdır.

Yapay zekânın bu derin öğrenme kavramlarını daha sezgisel anlamak için DataCamp’in Python ile Derin Öğrenme kursuna göz atmanızı öneririm.

Derin Öğrenme Araçları ve Kütüphaneleri

Sinir ağlarını sıfırdan kurmak, programcıların kavramları anlamasına ve bu ağları manipüle ederek basit görevleri çözmesine yardımcı olur. Ancak bu ağları sıfırdan kurmak zaman alır ve çok emek gerektirir. Derin öğrenmeyi kolaylaştırmak için, birkaç satır kodla karmaşık problemleri çözebilecek etkili bir derin sinir ağı modeli elde etmemizi sağlayan çeşitli araç ve kütüphaneler mevcuttur.

Derin sinir ağları oluşturmak için en popüler derin öğrenme kütüphane ve araçları TensorFlow, Keras ve PyTorch’tur. TensorFlow 2.0’dan beri Keras ve TensorFlow kütüphaneleri neredeyse eşanlamlı biçimde anılmaktadır. Bu entegrasyon, kullanıcıların TensorFlow içinde Keras ile yüksek seviyeli kod yapıları kullanarak karmaşık sinir ağları geliştirmesine olanak tanır.

PyTorch

PyTorch kütüphanesi, kullanıcıların üst düzey araştırma projeleri geliştirmesine imkân veren son derece popüler bir makine öğrenimi çatısıdır.

Görselleştirme tarafında bir miktar geri kalsa da, PyTorch derin sinir ağı modelleri kurmak için nispeten daha hızlı ve basit GPU kurulumlarıyla kompakt ve hızlı performans sunarak bunu telafi eder.

DataCamp’in PyTorch ile Derin Öğrenmeye Giriş kursu, PyTorch hakkında daha fazla bilgi edinmek için en iyi başlangıç noktasıdır.

TensorFlow ve Keras

TensorFlow çatısı, geliştiricilerine derin öğrenme görevleri için geniş bir görselleştirme aracı yelpazesi sunar. TensorBoard grafik panosu, bir projenin verilerini ve sonuçlarını görselleştirmek, analiz etmek ve yorumlamak için olağanüstü bir seçenektir.

Keras kütüphanesi entegrasyonu, basit kod yapılarıyla projelerin daha hızlı kurulmasına olanak tanıyarak uzun vadeli geliştirme projeleri için popüler bir tercih hâline gelir. Python ile TensorFlow’a Giriş, TensorFlow’a başlamak isteyen yeni başlayanlar için harika bir noktadır.

Basit Bir Derin Sinir Ağı Nasıl Kurulur

Bu bölümde, derin sinir ağlarının bazı temel kavramlarını ve bu tür bir ağın sıfırdan nasıl kurulacağını ele alacağız.

Gerekli kütüphanelerin içe aktarılması

İlk adım, gerekli uygulama için tercih ettiğiniz kütüphaneyi seçmektir. Derin sinir ağını kurmak için TensorFlow ve Keras derin öğrenme çatılarından yararlanacağız.

# Importing the necessary functionality
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Input, Dense, Conv2D
from tensorflow.keras.layers import Flatten, MaxPooling2D

Sıralı (sequential) tipte bir model oluşturma

Bu görev için istenen kütüphaneleri içe aktarma işini bitirdikten sonra, derin öğrenme modelini oluşturmak için Sequential tip modellemeyi kullanacağız. Sıralı model, tek bir giriş ve çıkış değeri olan düz bir katman yığınıdır. Diğer seçenekler arasında fonksiyonel API sınıfı veya özel model oluşturma yer alır. Ancak Sequential sınıfı, sinir ağı mimarisini kurmak için doğrudan bir yaklaşım sunar.

# Creating the model
DNN_Model = Sequential()

Derin Sinir Ağı mimarisini oluşturma

Projede kullandığınız görsel türünün boyutuna genellikle eşit olan bir giriş şekli ekleyeceğiz. Boyut, görselin genişliğini, yüksekliğini ve renk kodlamasını içerir. Aşağıdaki örnek kodda, görselin yüksekliği ve genişliği 256’dır ve 3 ile gösterilen RGB renk şeması kullanılır (1 gri tonlamalı görüntüler için kullanılır). Ardından, farklı filtre boyutlarına sahip evrişim ve maksimum havuzlama katmanlarıyla gerekli gizli katmanları kuracağız. Son olarak, çıktıları düzleştirmek için bir flatten katmanı kullanacak ve nihai çıkış katmanı olarak yoğun (dense) bir katman ekleyeceğiz.

Gizli katmanlar, sinir ağının karmaşıklığını artırır. Bir evrişim katmanı, görseller üzerinde bilgi süzmek için evrişim işlemi uygular. Evrişim katmanındaki her filtre boyutu, girdiden belirli özellikleri çıkarmaya yardımcı olur. Maksimum havuzlama katmanı, çıkarılan özelliklerden en büyük değerleri dikkate alarak özellik sayısını aşağı örnekler (azaltır).

Bir flatten katmanı, mekânsal boyutları daha hızlı hesaplama için tek boyuta indirger. Yoğun katman, önceki katmanlardan çıktı alan ve tipik olarak çıkış katmanı olarak kullanılan en basit katmandır. 2B evrişim, 2B bir girdi üzerinde eleman düzeyinde çarpma gerçekleştirir. ReLU (düzeltilmiş lineer birim) etkinleştirme işlevi, daha iyi hesaplama performansı için modele doğrusal olmayanlık katar. Evrişim katmanlarının giriş ve çıkış şekillerini korumak için aynı dolgulamayı (same padding) kullanacağız.

# Inputting the shape to the model
DNN_Model.add(Input(shape = (256, 256, 3)))

# Creating the deep neural network
DNN_Model.add(Conv2D(256, (3, 3), activation='relu', padding = "same"))
DNN_Model.add(MaxPooling2D(2, 2))
DNN_Model.add(Conv2D(128, (3, 3), activation='relu', padding = "same"))
DNN_Model.add(MaxPooling2D(2, 2))
DNN_Model.add(Conv2D(64, (3, 3), activation='relu', padding = "same"))
DNN_Model.add(MaxPooling2D(2, 2))

# Creating the output layers
DNN_Model.add(Flatten())
DNN_Model.add(Dense(64, activation='relu'))
DNN_Model.add(Dense(10))

Model mimarisi

Kurulan derin sinir ağının model yapısı ve şema diyagramı aşağıda verilmiştir.

Model: "sequential_2"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 conv2d_5 (Conv2D)           (None, 256, 256, 256)     7168      
                                                                 
 max_pooling2d_5 (MaxPooling  (None, 128, 128, 256)    0         
 2D)                                                             
                                                                 
 conv2d_6 (Conv2D)           (None, 128, 128, 128)     295040    
                                                                 
 max_pooling2d_6 (MaxPooling  (None, 64, 64, 128)      0         
 2D)                                                             
                                                                 
 conv2d_7 (Conv2D)           (None, 64, 64, 64)        73792     
                                                                 
 max_pooling2d_7 (MaxPooling  (None, 32, 32, 64)       0         
 2D)                                                             
                                                                 
 flatten_2 (Flatten)         (None, 65536)             0         
                                                                 
 dense_4 (Dense)             (None, 64)                4194368   
                                                                 
 dense_5 (Dense)             (None, 10)                650       
                                                                 
=================================================================
Total params: 4,571,018
Trainable params: 4,571,018
Non-trainable params: 0
_________________________________________________________________

Şema aşağıdaki gibidir:

tf.keras.utils.plot_model(DNN_Model, to_file='model_big.png', show_shapes=True)

image1.png

Ek bilgiler

Makine Öğrenimi İş Akışı

Makine Öğrenimi İş Akışı - Görsel Kaynak

Model kurulduktan sonra yapılandırma için derlenmesi gerekir. Modelin derlenmesi sırasında, derin öğrenme modellerindeki temel işlemler ileri besleme ve geri yayılımı içerir. İleri beslemede, tüm temel bilgiler, çıkış katmanına kadar farklı düğümler üzerinden iletilir. Çıkış katmanında, sınıflandırma görevleri için tahmin edilen değerler ile gerçek değerler buna göre hesaplanır.

Eğitim veya uyarlama aşamasında geri yayılım işlemi gerçekleşir. İstenen sonuçlara ulaşmak için, tahmin edilen ve gerçek değerler birbirine yaklaşana kadar her katmandaki ağırlıklar yeniden ayarlanır. Bu konunun derinlemesine açıklaması için, geri yayılım rehberine ve Python ile Derin Öğrenmeye Giriş kursuna göz atmanızı öneririm.

Derin öğrenmeyi keşfetmek, birçok inceliği beraberinde getirir. Derin sinir ağlarının nasıl kurulacağını daha iyi anlamak için Keras ile Derin Öğrenme kursuna göz atmanızı önemle tavsiye ederim.

Derin Öğrenme Modellerini Anlama

Belirli bir makine öğrenimi görevinin hesaplanması, gerekli işlemleri yapacak özel bir derin sinir ağı gerektirir. En yaygın kullanılan iki derin öğrenme modeli evrişimli sinir ağları (CNN) ve Yinelemeli Sinir Ağları (RNN)’dir. Evrişimli sinir ağları, görüntü işleme ve bilgisayarlı görü projelerinde büyük fayda sağlar.

Bu derin sinir ağlarında, gizli katmanlarda tipik matris işlemleri yapmak yerine evrişim işlemi uygularız. Bu yaklaşım, ağa daha ölçeklenebilir bir yapı kazandırarak daha yüksek verimlilik ve doğru sonuçlar üretmesini sağlar. Görüntü sınıflandırma ve nesne tespiti görevlerinde modelin işlemesi gereken çok sayıda veri ve görsel bulunur. Evrişimli sinir ağları bu sorunların üstesinden başarıyla gelmeye yardımcı olur.

Doğal dil işleme ve anlamsal projelerde, sonuçları iyileştirmek için sıklıkla yinelemeli sinir ağları kullanılır. Bu RNN’lerin popüler bir varyantı olan uzun-kısa süreli bellek (LSTM) ağları; çeşitli makine çevirisi görevlerini, metin sınıflandırmayı, konuşma tanımayı ve benzeri görevleri gerçekleştirmek için yaygın olarak kullanılır.

Bu ağlar, önceki her hücreden gelen gerekli bilgileri taşır ve kritik bilgileri saklayarak bir sonrakine iletir; böylece model performansını optimize eder. CNN’leri keşfetmek için Keras ile Görüntü Modellemesi harika bir rehberdir; kapsamlı bir derin öğrenme anlayışı için de Python ile Derin Öğrenme yolunu inceleyin.

Derin Sinir Ağlarında Zorluklar ve Dikkat Edilmesi Gerekenler

Derin sinir ağları ve TensorFlow derin öğrenme çatısıyla nasıl kurulduklarına dair kısa bir anlayış edindik. Ancak, belirli bir proje için sinir ağı geliştirmeden önce her geliştiricinin dikkate alması gereken bazı zorluklar vardır. Bu zorluklardan birkaçına bakalım.

Veri gereksinimleri

Derin öğrenmenin temel gereksinimlerinden biri veridir. Yüksek doğrulukta bir model kurmanın en kritik bileşeni veridir. Pek çok durumda, derin sinir ağları aşırı öğrenmeyi (overfitting) önlemek ve iyi performans göstermek için genellikle büyük miktarda veriye ihtiyaç duyar. Nesne tespiti görevlerinin veri gereksinimleri, modelin farklı nesneleri yüksek doğrulukla tespit edebilmesi için daha fazla olabilir.

Veri artırma (augmentation) teknikleri bu sorunların bir kısmı için hızlı bir çözüm olarak faydalı olsa da, veri gereksinimleri her derin öğrenme projesi için mutlaka göz önünde bulundurulmalıdır.

Hesaplama kaynakları

Büyük miktarda veriye ek olarak, derin sinir ağının hesaplanmasının yüksek hesaplama maliyeti de dikkate alınmalıdır. Örneğin, Üretken Önceden Eğitilmiş Dönüştürücü 3 (GPT-3) 175 milyar parametreye sahiptir.

Karmaşık görevler için modelin derlenmesi ve eğitilmesi, güçlü bir GPU gerektirir. Modeller çoğu zaman CPU’lar yerine GPU’larda veya TPU’larda daha verimli eğitilebilir. Son derece karmaşık görevlerde sistem gereksinimleri daha da artar ve belirli bir görev için daha fazla kaynak gerekir.

Eğitimle ilgili sorunlar

Eğitim sırasında, model yetersiz öğrenme (underfitting) veya aşırı öğrenme (overfitting) gibi sorunlarla da karşılaşabilir. Yetersiz öğrenme genellikle veri eksikliğinden kaynaklanırken, aşırı öğrenme; eğitim verisi üzerinde doğruluk artarken test verisi sabit kaldığı için daha belirgin bir sorun olarak ortaya çıkar. Dolayısıyla eğitim doğruluğu yüksek, ancak doğrulama doğruluğu düşüktür; bu da en iyi sonuçları vermeyen oldukça dengesiz bir modele yol açar.

Son Düşünceler

Bu makalede derin sinir ağlarını inceledik ve temel kavramlarını anladık. Bu sinir ağları ile geleneksel ağlar arasındaki farkı kavradık ve derin öğrenme projelerini yürütmek için farklı derin öğrenme çatılarının çeşitlerine dair bir anlayış oluşturduk. Ardından, bir derin sinir ağı kurulumu göstermek için TensorFlow ve Keras kütüphanelerini kullandık. Son olarak, derin öğrenmenin bazı kritik zorluklarını ve bunları aşmanın birkaç yöntemini ele aldık.

Derin sinir ağları, yaygın yapay zekâ uygulamalarının ve projelerinin çoğunu gerçekleştirmek için mükemmel bir kaynaktır. Görüntü işleme ve doğal dil işleme görevlerini yüksek doğrulukla çözmemizi sağlarlar.

Tüm yetkin geliştiricilerin, bugün popüler olan bir modelin gelecekte popüler olmayabileceği ya da en iyi seçenek olmayabileceği gerçeği karşısında ortaya çıkan eğilimleri yakından takip etmesi önemlidir.

Bu nedenle, yapay zekâ dünyası heyecan ve yeni teknolojik gelişmelerle dolu bir macera olduğundan, sürekli öğrenmek ve bilgi edinmek esastır. Güncel kalmanın en iyi yollarından biri, TensorFlow ve Keras’ı da kapsayan Python ile Derin Öğrenme Yetenek yoluna ve PyTorch hakkında daha fazlasını öğrenmek için PyTorch ile Derin Öğrenmeye Girişe göz atmaktır. Daha yumuşak bir başlangıç için Yapay Zekâ Temelleri kurslarını da inceleyebilirsiniz. İlki derin öğrenme projelerinin muazzam potansiyelini açığa çıkarırken, ikincisi temelleri sağlamlaştırmaya yardımcı olur.


Bharath K's photo
Author
Bharath K
LinkedIn

Yeni kavramları keşfetmeyi ve öğrenmeyi severim. Yapay zeka, derin öğrenme, robotlar ve evrenle son derece ilgileniyorum. Ayrıca Python, Makine Öğrenimi, Derin Öğrenme, NLP ve AI üzerine yazılar yazıyorum. 

Konular
Derin Öğrenme

Bu eğitimde bahsedilen konuları öğrenin!

Kurs

Python ile Deep Learning'e Giriş

4 sa
264.8K
Python'da Keras 2.0 kullanarak sinir ağlarının temellerini ve derin öğrenme modellerinin nasıl oluşturulacağını öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör