top of page

YAPAY SİNİR
AĞLARINA
GİRİŞ

Yapay sinir ağları ilk kez 1950'li yıllarda geliştirildi. 

En basit anlatımıyla, yapay sinir ağları öğrenme ve karar alabilme işlevlerini gerçekleştirebilecek bir algoritma tasarımıdır. İlham, insan beynini oluşturan nöron ağından gelmiştir. Yapay sinir ağlarını kaba bir nöral ağ  simülasyonu gibi düşünebiliriz. Algoritma, birbirine bağlı beyin hücreleri gibi davranarak veriden öğrenir ve öğrendiği veriden faydalanarak karar almaya çalışır.

Tipik bir yapay sinir ağı, veriyi kabul eden, işleyen ve gönderen katmanlarla bağlanmış, birkaç düzineden yüzlerce, binlerce ve hatta milyonlarca yapay nörona kadar büyüyebilen bir veri işleme hattıdır.

Konuyla ilgili detaylı bir açık kaynak önerisi:

Machine learning with neural networks (arxiv.org)

Veri hattının başlangıcında bulunan veri giriş birimleri,  ağın öğrenmesi, tanıması veya karar alması için gerekli bilgiyi dışındaki dünyadan veri tabloları şeklinde almak üzere tasarlanmıştır.


Ağın sonunda yer alan yapay nöronlar ise çıktı birimleri olarak bilinir. Giriş birimleri ve çıkış birimleri arasında bir veya daha fazla nöron katmanı bulunur ve bunlar ağın  asıl yapısını oluşturur. Verinin katmanlar arasında ileriye ve geriye doğru işlenmesi öğrenmenin ve karar almanın gerçekleşmesini sağlar.

yapay nöron

Çoğu sinir ağı tam olarak bağlantılıdır; bu, ağ içindeki her yapay nöronun bir diğer nörona veri gönderebildiği  anlamına gelir.

 

Bir nöron ile diğeri arasındaki bağlantı, pozitif (bir birim diğerini aktive ediyorsa) veya negatif (bir birim diğerini bastırıyor veya engelliyorsa) olabilen, ağırlık adı verilen bir sayıyla temsil edilir. Ağırlık ne kadar yüksek olursa, bir nöronun diğeri üzerindeki etkisi o kadar fazla olur. (Bu, gerçek beyin hücrelerinin sinaps adı verilen küçük boşluklarda birbirini tetikleme biçimine karşılık gelir.)


Yapay sinir ağları, nöron bağlantıların ağırlıklarını, girilen veriden yola çıkarak değiştiren bir 'öğrenme kuralı' içerir. Ağ, biyolojik benzerleri gibi örneklerle öğrenir.

Konuyla ilgili kaynak önerimiz:

[cs/0308031] Artificial Neural Networks for Beginners (arxiv.org)

[2305.11252] Brain-inspired learning in artificial neural networks: a review (arxiv.org)

Bir yapay sinir ağı nasıl öğrenir?

Bir sinir ağındaki öğrenme süreci, nöron katmanları tarafından tekrarlanan bir "gidiş ve geri dönüş" sürecidir. “Gidiş” bilginin ileriye doğru yayılmasıdır ve “geri dönüş” bilginin geriye doğru yayılmasıdır.
İlk aşama ileriye doğru yayılma, ağ eğitim verilerine maruz kaldığında gerçekleşir

Tıpkı çocuklara neyi doğru ya da yanlış yaptıklarının söylenmesi gibi,  yapay sinir ağının öğrenebilmesi için bir geri bildirim unsurunun olması gerekir. Geri bildirim sürecine "geri yayılım" denir. Geri yayılım, bir ağın ürettiği çıktıyı üretmesi amaçlanan çıktıyla karşılaştırmayı ve aralarındaki farkı kullanarak ağdaki birimler arasındaki bağlantıların ağırlıklarını değiştirmeyi içerir. Hatadan geriye dönülerek, çıktı nöronlarından, ara nöronlara ve oradan girdi nöronlarına doğru ağırlıkların değiştirilmesi söz konusudur. Amaç bir sonraki denemede daha az hata ile karşılaşmaktır.

yapay sinir ağlarında hata hesaplayarak öğrenme

Ağ yeterli öğrenme örnekleriyle eğitildikten sonra, ona daha önce hiç görmediği tamamen yeni bir dizi girdi sunup, nasıl tepki verdiğini gözlemleyebiliriz.  Fakat unutmamamız gereken bir nokta var: Bir yapay sinir ağını köpek örnekleri ile eğitirseniz, ona kedi gösterdiğinizde, kediyi "köpeğe" yakınsayacaktır. Yani kediyi küçük bir köpek olarak değerlendirecektir. Ağın her iki tür hayvanıda tanımasını istiyorsanız, yapay sinir ağınızı kedi verisiyle eğitmeniz gerekir.

Konuyla ilgili kaynak önerimiz:

[1901.05639] Machine learning with neural networks (arxiv.org)

[2212.13881] Mechanism of feature learning in deep fully connected networks and kernel machines that recursively learn features (arxiv.org)

yapay sinir ağları ile görüntü tanıma

Yapay sinir ağlarının eleştirisi

Yapay sinir ağlarına yönelik yaygın eleştirilerden biri, "aşırı uyumlu" olma eğilimidir. "Aşırı uyum", ağın mimarisi ve ağı eğitmek için kullanılan büyük veri setleri nedeniyle büyük kompleks bir yapı oluştuğunda meydana gelir. Karmaşık yapı, ağın eğitim verilerinin özünün anlaşılıp, genelleştirmesi yerine satır satır ezberlenmesine neden olabilir. Sonuç olarak ağ, ezberlediği veri üzerinde olağanüstü derecede iyi performans gösterse de, yeni, görülmemiş bir durumla karşılaştığında kötü performans gösterebilir. Bunun nedeni, yeni durumlarla başa çıkmak için gerekli temel kalıpları öğrenmek yerine, esasen eğitim verilerini "ezbere" öğrenmiş olmasıdır.

Yapay sinir ağlarına yönelik bazı ek eleştiriler şunlardır:

Kara Kutu olmaları: Yapay sinir ağları genellikle "kara kutu" olmaları nedeniyle eleştirilmektedir. Bu, ağın giriş ve çıkışlarını görebilsek de, ağın belirli bir çıktıya ulaşma sürecinin kolayca yorumlanamayacağı anlamına gelir. Bu şeffaflık eksikliği, belirli bir kararın neden verildiğini anlamanın önemli olduğu durumlarda sorunlu olabilir.

Uzun Geliştirme Süresi: Bir yapay sinir ağı geliştirmek zaman alıcı bir süreç olabilir. Sinir ağlarının gelişimini kolaylaştıran kütüphaneler olsa da bazen algoritmanın detayları üzerinde daha fazla kontrole ihtiyaç duyulur. Bu, geliştirme sürecini daha karmaşık ve daha uzun hale getirebilir.

Gürültüye Duyarlılık: Yapay sinir ağları verilerdeki gürültüye karşı duyarlı olabilir ve bu da hatalı tahminlere veya sınıflandırmalara yol açabilir.

Büyük Veri Setlerinin Gerekliliği: Yapay sinir ağlarının etkili bir şekilde öğrenmesi için genellikle büyük miktarlarda veri gerekir. Bu büyük veri kümelerini elde etmek zor ve zaman alıcı olabilir. Veri kümesi küçük veya önyargılıysa ağ, veri noktaları arasındaki temel kalıpları ve ilişkileri öğrenemeyebilir.

Parametre Seçimi: Ağ topolojisi veya "yapısı" gibi gözlem ve deneyle belirlenen bir dizi parametre gerektirirler. Mantık yürüterek bir ağ topolojisi belirlemek neredeyse imkansızdır.

[1801.00631] Deep Learning: A Critical Appraisal (arxiv.org)

D-ağları :
DIVERA AI inovasyonu

Divera'nın D - ağları, sinir ağlarının eksikliklerini gidermiş olan gelişmiş bir çözümdür. Veriye aç değillerdir, az örnekten öğrenebilirler ve başarılı bir şekilde genelleme yapabilirler. Ayrıca D ağları kara kutu değildir. Ağ vardığı souçları açıklayabilecek şekilde tasarlanmıştır. Ağın gürültüden etkilendiği durumlar açıkça fark edilebilir ve veri sağlığının sağlanması için harekete geçilebilir. D-Networks, simüle edilmiş müşteriler için karar motorları oluşturmak üzere geliştirilmiştir. Yapay zekanın mevcut ortamında tamamen benzersizdirler.

bottom of page