Turing'den Transformer'lara: Yapay Zekânın Tarihsel ve Teorik Yolculuğu

Yapay zekâ, makinelerin yalnızca hesap yapmasını değil; algılama, öğrenme, akıl yürütme ve karar verme gibi zekâyla ilişkilendirilen görevleri gerçekleştirmesini amaçlayan disiplinler arası bir alandır. Bugün sohbet botlarından otonom araçlara kadar her yerde karşımıza çıksa da bu yolculuk, “Makineler düşünebilir mi?” sorusuyla başladı.

Devamı...

Sürü Zekâsı Simülasyonu: Boids ile Kuş ve Balık Sürüleri

Gökyüzünde aynı anda yön değiştiren kuşlar veya suda tek bir canlıymış gibi ilerleyen balıklar merkezi bir komut sistemine sahip değildir. Buna rağmen ortaya son derece düzenli ve karmaşık hareketler çıkar. Sürü zekâsı simülasyonu, her bireye birkaç basit kural vererek bu şaşırtıcı davranışları bilgisayar ortamında yeniden üretmemizi sağlar.

Devamı...

Sinir Ağlarının Karar Motoru: Sigmoid, ReLU ve Tanh

Bir sinir ağını yalnızca matris çarpımları yapan dev bir hesap makinesi olmaktan çıkarıp görüntü tanıyan, metin üreten ve karmaşık kararlar veren bir modele dönüştüren temel bileşen aktivasyon fonksiyonudur. Sigmoid, ReLU ve Tanh gibi fonksiyonlar, nöronların hangi bilgiyi ne ölçüde sonraki katmana aktaracağını belirler. Kısacası ağın matematiksel reflekslerini oluştururlar.

Devamı...

Sıfırdan Turing Tam Bir Programlama Dili Tasarlamak

Bir programlama dili yapmak, bilgisayara yeni kelimeler öğretmekten çok daha fazlasıdır: Önce metni parçalara ayırır, sonra bu parçaların dilbilgisine uyup uymadığını denetler ve en sonunda anlamlarını çalıştırırsınız. Bu projede değişkenleri, aritmetik işlemleri, koşulları ve döngüleri destekleyen MiniLang adında küçük ama teorik olarak Turing tam bir dil tasarlayacağız.

Devamı...

Sıfırdan Mini Çekirdek: Bootloader’dan Çoklu Göreve Yolculuk

Bilgisayar açıldığında bizi masaüstü, pencereler ve uygulamalar karşılamadan önce oldukça ilkel bir dünya vardır. İşlemci, bellekteki belirli bir adresten komut yürütmeye başlar; ne dosya sistemi ne süreçler ne de yardım isteyebileceğimiz bir işletim sistemi bulunur. Bu projede x86 mimarisi üzerinde küçük bir çekirdek geliştirerek bootloader, korumalı kip, kesmeler ve çoklu görev arasındaki zinciri kuracağız.

Devamı...

Ray Tracing ile Basit ve Fiziksel Tabanlı 3B Render Motoru

Bir ışık ışınının kameradan çıkıp sahnedeki nesnelere çarptığını, oradan ışık kaynaklarına ve aynalara doğru sekerek yolculuğunu sürdürdüğünü hayal edin. Ray tracing, gerçek dünyadaki optik davranışları ters yönde izleyerek yansıma, aydınlatma ve gölgeleri hesaplar. Bu projede kürelerden oluşan küçük bir sahneyi render eden, gölge ışınları ve yansımalar kullanan basit bir Python motoru kuracağız.

Devamı...

Parolaları Güvenle Saklamak ve XSS Açıklarını Kapatmak

Bir web uygulamasında güvenlik, kapıya pahalı bir kilit takıp anahtarı paspasın altında bırakmamaktır. Kullanıcı parolalarını düz metin olarak saklamak tam da böyle bir hatadır. Veritabanı sızdırıldığında saldırganlar yalnızca uygulamadaki hesaplara değil, parola tekrar kullanılmışsa başka servislere de erişebilir. Benzer şekilde XSS açıkları, güvenilmeyen içeriğin tarayıcıda kod gibi çalışmasına izin vererek kullanıcı oturumlarını ve verilerini tehlikeye atar.

Devamı...

Parçacıklardan Akışkanlara: Gerçek Zamanlı Su, Ateş ve Duman Simülasyonu

Bir avuç noktanın su gibi akmasını, ateş gibi yükselmesini veya duman gibi havada süzülmesini sağlamak ilk bakışta büyücülük gibi görünebilir. Oysa gerçek zamanlı akışkan simülasyonlarının temelinde parçacıklar, kuvvetler ve her karede tekrarlanan birkaç fizik hesabı bulunur. Tam ölçekli bilimsel doğruluk yerine görsel inandırıcılığı hedefleyerek tarayıcıda bile çalışan eğlenceli bir mini fizik motoru geliştirebiliriz.

Devamı...

Maliyet Fonksiyonları ve Geri Yayılım: Sinir Ağları Hatalarından Nasıl Öğrenir?

Bir sinir ağı ilk tahminini yaptığında genellikle pek de parlak değildir. Kedi fotoğrafına tost makinesi diyebilir veya ev fiyatını küçük bir servet kadar yanlış hesaplayabilir. Neyse ki modelin elinde iki güçlü araç vardır: hatanın büyüklüğünü ölçen maliyet fonksiyonu ve bu hatadan sorumlu ağırlıkları bulup düzelten geri yayılım algoritması.

Devamı...

Makine Öğrenmesi Paradigmaları: Veriden Öğrenmenin Üç Farklı Yolu

Makine öğrenmesi, bilgisayarlara her olasılık için ayrı bir kural yazmak yerine örneklerden davranış geliştirme imkânı verir. Ancak “veriden öğrenmek” tek bir yöntemi ifade etmez. Kimi sistemler doğru cevaplarla çalışır, kimileri verinin içindeki gizli yapıyı keşfeder, kimileri ise deneme-yanılma yoluyla ödül toplamayı öğrenir. Denetimli, denetimsiz ve pekiştirmeli öğrenme; yalnızca farklı algoritmalar değil, öğrenmenin doğasına ilişkin üç ayrı felsefi yaklaşımdır.

Devamı...

Kütüphanesiz Yapay Sinir Ağıyla El Yazısı Rakamları Tanıma

Bir yapay sinir ağının gerçekten nasıl öğrendiğini anlamanın en iyi yolu, hazır makine öğrenmesi kütüphanelerini bir kenara bırakıp bütün parçaları kendimiz yazmaktır. Bu projede yalnızca Python dilinin temel özelliklerini kullanarak MNIST benzeri el yazısı rakamlarını tanıyan, girişten çıkışa ve hatadan geriye doğru öğrenebilen küçük bir sinir ağı geliştireceğiz.

Devamı...

Hata Yüzeyinde Yolculuk: Gradient Descent, Adam ve RMSprop

Bir makine öğrenmesi modelini eğitmek, sisli bir dağda en alçak noktayı bulmaya benzer. Modelin parametreleri bulunduğumuz konumu, hata fonksiyonu yüksekliği, optimizasyon algoritması ise hangi yöne adım atacağımızı belirler. Gradient Descent bu yolculuğun klasik pusulasıyken Adam ve RMSprop, arazi koşullarına göre adımlarını ayarlayan daha modern navigasyon sistemleridir.

Devamı...

Ham Veriden Güçlü Modellere: Veri Ön İşleme ve Öznitelik Mühendisliği

Bir makine öğrenmesi modelinin başarısı yalnızca seçilen algoritmaya bağlı değildir. Çoğu zaman modelden daha kritik olan şey, modele verilen verinin kalitesidir. Gürültülü, eksik veya tutarsız verilerle en gelişmiş algoritma bile bocalarken; iyi temizlenmiş ve anlamlı özniteliklerle zenginleştirilmiş bir veri kümesi, daha basit modelleri bile yıldız oyuncuya dönüştürebilir.

Devamı...

Ezberci Modeller Kulübüne Son: Overfitting ve Düzenlileştirme

Bir makine öğrenmesi modeli eğitim örneklerini kusursuz tahmin ederken yeni veriler karşısında afallıyorsa karşımızda çalışkan değil, ezberci bir öğrenci vardır. Aşırı öğrenme (overfitting) adı verilen bu durum, modelin verideki gerçek örüntülerle birlikte gürültüyü ve tesadüfi ayrıntıları da öğrenmesiyle ortaya çıkar. Neyse ki Dropout, L1/L2 düzenlileştirme ve erken durdurma gibi yöntemlerle modele biraz disiplin kazandırabiliriz.

Devamı...

Etiketsiz Verinin Dedektifleri: K-Means ve Hiyerarşik Kümeleme

Bir veri kümesinde hangi kayıtların birbirine benzediğini biliyor, fakat onları açıklayan hazır etiketlere sahip olmuyoruz. İşte denetimsiz öğrenme tam bu noktada sahneye çıkar: Veriye “Bunlar hangi sınıfa ait?” diye sormak yerine, “Burada kendiliğinden oluşan nasıl bir yapı var?” diye bakar. Müşteri segmentasyonu, belge gruplama, anomali keşfi ve biyolojik veri analizi bu yaklaşımın yaygın kullanım alanlarıdır.

Devamı...

Denetimli Öğrenme Arenası: k-NN, Karar Ağaçları ve SVM

Bir e-postanın spam olup olmadığını, bir müşterinin aboneliğini iptal edip etmeyeceğini veya bir tümörün iyi huylu olup olmadığını tahmin etmek istediğimizi düşünelim. Geçmiş örneklerin doğru cevapları elimizdeyse denetimli öğrenmenin kapısından içeri gireriz. Bu yaklaşımda algoritma, etiketlenmiş verilerden örüntüler öğrenerek daha önce görmediği örnekler hakkında karar verir.

Devamı...

Çok Katmanlı Algılayıcılar: MLP’de Katmanlar ve İleri Besleme Mantığı

Bir yapay sinir ağının fotoğraftaki rakamı tanıması, müşterinin alışveriş davranışını tahmin etmesi veya bir evin fiyatını hesaplaması ilk bakışta sihir gibi görünebilir. Oysa Çok Katmanlı Algılayıcıların, yani MLP’lerin arkasında düzenli bir matematiksel veri akışı vardır: Bilgiler girişten alınır, katmanlar boyunca dönüştürülür ve anlamlı bir çıktıya çevrilir.

Devamı...

Biyometrik Örüntü Tanıma: Parmak İzi ve İris Eşleştirme Sistemi

Telefonun kilidini parmağınla açarken cihazın içinde minik bir dedektif çalışır: Görüntüyü temizler, ayırt edici özellikleri çıkarır ve bunları kayıtlı şablonla karşılaştırır. Bu projede gerçek kişisel veriler toplamadan, parmak izi veya iris verisini temsil eden yapay özellik vektörleriyle temel bir biyometrik eşleştirme sisteminin mantığını inceleyeceğiz.

Devamı...

Beyinden Koda: Perceptron ve Doğrusal Ayrılabilirlik

İnsan beyni, milyarlarca nöronun elektriksel ve kimyasal sinyaller aracılığıyla haberleştiği olağanüstü bir bilgi işleme sistemidir. Yapay zekânın ilk araştırmacıları da “Bir nöronun karar verme mekanizmasını matematikle taklit edebilir miyiz?” sorusundan yola çıktı. Bu merak, modern sinir ağlarının mütevazı fakat tarihî atası olan algılayıcıyı, yani perceptronu ortaya çıkardı.

Devamı...