Keras Kütüphanesi Nedir? Derin Öğrenme Modeli Oluşturma

Günümüzde çok fazla alanda kullanılan yapay zekanın bir alt dalı olan derin öğrenme karmaşık bir yapıya sahiptir. Fakat diğer alanlarda olduğu gibi bazı kütüphaneler derin öğrenme modelleri oluşturmamızda bizlere oldukça kolaylık sağlamaktadır. Günümüzde Tensorflow, PyTorch gibi kütüphaneler oldukça popüler konumdalar. Fakat bu yazımızda onlar kadar popüler olan, yeni başlayanlar için bir nebze daha basit Keras kütüphanesi nedir konusunu inceleyeceğiz ve bir derin öğrenme modeli oluşturacağız.

Keras Nedir?

Keras, neredeyse her tür derin öğrenme modelini tanımlamak ve eğitmek için uygun bir yol sağlayan Python için bir derin öğrenme kütüphanesidir. Keras, Tensorflow , Theano ve CNTK üzerinde çalışabilen Python ile yazılmış bir üst düzey sinir ağları API’sıdır.

İçerdiği çok fazla işlevsel fonksiyon sayesinde Keras kolayca bir derin öğrenme modeli oluşturmamızı ve onu eğitmemizi sağlıyor. Bu nedenle derin öğrenmeye yeni başlayanlara önerilen kütüphanelerin başında Keras geliyor.

Neden Keras Kullanmalıyız?

keras-python

Yaklaşık 200.000 kullanıcıya sahip olan ve start-up’lardan dev şirketlere birçok kullanıcısı olan Keras güçlü, basit ve işlevsel bir kütüphane olmasıyla dikkatleri üzerine çekmekte. Keras kütüphanesinin en büyük avantajlarını sıralamamız gerekirse:

  • Kolay ve hızlı bir şekilde model oluşturmamıza olanak sağlar. Bu sayede yeni başlayanlar modellerde neleri değiştirince nasıl etki edeceğini deneme yanılma yoluyla öğrenebilir.
  • Modelleri CPU vs GPU’da sorunsuz bir şekilde çalıştırır. Bu sayede istediğiniz zaman işlemleri GPU’da yapıp zaman kazanabilirsiniz.
  • Bilgisayarlı görme modelleri için evrişimli sinir ağlarını (CNN), sürekli veriler içinse yinelemeli sinir ağlarını (RNN) destekler.
  • Kütüphaneyle ilgili çok fazla kaynağın ve bir topluluğun olması herhangi bir soru oluştuğunda cevabına hızlıca erişlebilinmesini sağlıyor.

Derin Öğrenme Sözlüğü

Keras kütüphanesinin ne olduğundan ve ne amaçla kullanıldığından bahsettik. Keras ile derin öğrenme modeli oluşturmadan önce derin öğrenme literatüründe geçen bazı terimleri burada açıklamak gerekmekte. Bu sayede model oluşturduğumuz kısımda yeni başlayanlar çok fazla sorun yaşamayabilirler.

Model: Makine öğrenmesinde model, belirli bir görevi verilerle kendini eğiterek yapan bir algoritmadır. Tur tur ileri ve geri yayılım yaparak ağırlıklarını ve biasını öğrenme, kendini eğitme amacıyla değiştirir.

Aktivasyon Fonksiyonu:  Aktivasyon fonksiyonu, ağırlıklı toplamı hesaplayarak ve buna daha fazla bias ekleyerek bir nöronun aktive edilip edilmeyeceğine karar verir. Aktivasyon fonksiyonunun amacı , bir nöronun çıktısını doğrusallıktan arındırmaktır.

Loss Function: Loss function, belirli bir algoritmanın sağlanan verileri ne kadar iyi modellediğini hesaplar.

Layer (katman): Sinir ağları, bir giriş, bir çıktı katmanlarından ve bu iki katmanın arasında olan gizli (hidden) katmanlardan oluşur. Her katman belirli sayıda düğüme (node) sahiptir. Bu düğümler sahip olduğu ağırlıkla modeli oluşturur.

Keras ile Derin Öğrenme Modeli Oluşturma

Yukarıda tüm terimlere değinmesek de biraz sonra model oluşturmada kullanacağımız bazı terimleri basit bir şekilde açıkladık. Şimdi ise Keras ile derin öğrenme modeli oluşturabiliriz.

Keras ile model oluştururken genel aşamalar şöyle işler:

  • Eğitim verisini tanımlamak.
  • Modeli ve katmanları tanımlamak
  • Epoch (Tur sayısı), Loss Fonksiyonu ve optimizer gibi hiper parametreleri tanımlamak
  • Modeli eğitim verinizle beslemek

İlk olarak kütüphaneyi yüklemek için terminale aşağıdaki komutu giriyoruz.

pip install keras

Ardınan Keras ile model oluşturmak için bazı importlar yapmamız gerekiyor.

from keras import models
from keras import layers
from keras import optimizers

Gerekli importları yaptıktan sonra keras.models’in bize sunduğu Sequential fonksiyonu ile modelimizi oluşturuyoruz. Ardından model.add() komutuyla modelimize yeni katmanlar ekleyip bu katmanların düğüm sayılarını, aktivasyon fonksiyonlarını belirliyoruz.

model = models.Sequential()
 
model.add(layers.Dense(32, activation='relu', input_shape=(175,175)))
 
model.add(layers.Dense(10, activation='softmax'))

Yukarıda modelimize eklediğimiz katmanlardan ilki giriş katmanı ve ikincisi ise çıktı katmanı. Giriş katmanındaki “input_shape” parametresi modele girecek olan veri setimizin boyutudur.

Modelimizi oluşturduktan sonra loss fonksiyonu, optimizer gibi değişkenleri model.compile() ile belirtiyoruz.

model.compile(optimizer=optimizers.RMSprop(lr=0.001),
loss='mse',
metrics=['accuracy'])

Son olarak ise model.fit() ile modelimizi eğitmeye başlıyoruz.

model.fit(girdi_verilerimiz,cikti_verilerimiz,epochs=10)

model.fit() fonksiyonuna ilk olarak eğitim verisindeki girdi değerlerimizi, ikinci olarak ise çıktı değerlerimizi veriyoruz. Verdiğimiz “epoch” parametresi ise modelin kaç kere ileri ve geri yayılım yapacağını belirliyor. Ardından modelimiz öğrenmeye başlıyor.

Temel olarak Keras kütüphanesi nedir, nasıl kullanılır konularına değindik. Daha detaylı incelemek ve daha karmaşık yapıları görmek isterseniz Keras dokümantasyonunu inceleyebilirsiniz.

Teknoloji'den geri kalmamak için e-posta listemize abone olun!

Özgür Doğan (Okunuşu: Özgür Do:an) : Teknoloji içerikleri yazmayı ve okumayı seven kişi, kimse, topluluk.

“Keras Kütüphanesi Nedir? Derin Öğrenme Modeli Oluşturma” üzerine bir yorum

  1. Merhaba. keras Türkçe dil destekliyormu. yani intents.json hazırlarken türkçe kakakterler kullansak sorun olurmu

Yorumlar kapalı.