Yapay Sinir Ağlarına (YSA) Tam Bir Bakış
Yayınlanan: 2020-07-17Veri bilimi veya yazılım mühendisliği alanında çalışmıyor olsanız bile, yapay sinir ağları teriminin önüne geçmekten kaçınmak zordur.
Yapay sinir ağları (YSA) her yerde bulunur. Sohbet robotlarında, tıbbi görüntülemede, medya planlamasında ve bir sürü başka alanda kullanılırlar. Ama derin bir merak duygusuyla sorduk mu: Yapay sinir ağı nedir ve gerçekten ne başarabilir?
Yapay sinir ağlarının insan sinir sisteminin işleyişini kopyaladığı şeklindeki ortak tanımla hepimiz karşılaşmışızdır. Bu, çalışma prensibini açıklıyor, ancak çoğumuz hala bir YSA'yı bu kadar özel yapan şeyin ne olduğunu veya hangi problem setleri için ideal olduğunu bilmiyoruz. Havayı temizlemek için yapay sinir ağlarında bulabileceğiniz en kapsamlı ve yine de erişilebilir rehber burada.
Yapay sinir ağı nedir?
Yapay zeka, makine öğrenimi, derin öğrenme ve sinir ağları gibi bir düzine terim olduğunda, kafanın karışması kolaydır. Bu dikeyler arasındaki gerçek çatallanma o kadar da karmaşık değil.
AI, eldeki konu olan evrensel kümedir. Akıllı programların nasıl çalıştığının ve yapıldığının sistematik olarak incelenmesidir. Makine öğrenimi, makinelerin kendi kendilerine nasıl öğrenebileceğine odaklanan bir AI alt kümesidir. Derin öğrenme, çıktı üretmek için sinir ağlarının katmanlarının nasıl kullanılabileceğine odaklanan bir başka makine öğrenimi alt kümesidir. Hiyerarşide gezinmek için bu görselleştirmeyi kullanabilirsiniz:

Peki yapay sinir ağı nedir? Cevap tam olarak popüler medyanın nasıl lanse ettiği. Büyük bir veri kümesinde doğrusal olmayan ilişkileri çözmek için sinir sistemini çoğaltan bir veri işleme ve çıktı üretme sistemidir. Veriler duyusal yollardan gelebilir ve metin, resim veya ses biçiminde olabilir.
Bir yapay sinir ağının nasıl çalıştığını anlamanın en iyi yolu, beyin içindeki doğal bir sinir ağının nasıl çalıştığını anlamak ve aralarında bir paralel çizmektir. Nöronlar, insan beyninin temel bileşenidir ve bildiğimiz şekliyle bilgi ve bilginin öğrenilmesinden ve saklanmasından sorumludur. Bunları beyindeki işlem birimi olarak düşünebilirsiniz. Duyusal verileri girdi olarak alır, işler ve diğer nöronlar tarafından kullanılan çıktı verilerini verirler. Bilgiler, kesin bir sonuca ulaşılana kadar işlenir ve iletilir.
Beyindeki temel sinir ağı sinapslarla birbirine bağlıdır. Bunları iki nöronu birbirine bağlayan bir köprünün son düğümleri olarak görselleştirebilirsiniz. Yani sinaps iki nöronun buluşma noktasıdır. Sinapslar bu sistemin önemli bir parçasıdır çünkü bir sinapsın gücü, anlama derinliğini ve bilginin kalıcılığını belirleyecektir.
Bir aktivite yaparken bu sinaptik ilişkileri güçlendiriyorsunuz. Beyninizdeki sinir ağını şu şekilde görselleştirebilirsiniz:
Beyninizin gerçek zamanlı olarak topladığı tüm duyusal veriler bu sinir ağları aracılığıyla işlenir. Sistemde bir çıkış noktası var. Ve ilk nöronlar tarafından işlendiklerinde, bir nörondan çıkan bir elektrik sinyalinin işlenmiş hali, başka bir nöron için girdi olur. Her nöron katmanındaki bu mikro bilgi işleme, bu ağı etkili ve verimli yapan şeydir. Bu yinelenen veri işleme temasını sinir ağı boyunca çoğaltarak, YSA'lar üstün çıktılar üretebilir.
Bir YSA'da her şey bu süreci kopyalamak için tasarlanmıştır. Matematiksel denklem için endişelenme. Şu anda anlaşılması gereken ana fikir bu değil. Sisteme 'X' etiketi ile giren tüm veriler, ağırlıklı bir sinyal oluşturmak için 'W' ağırlığına sahiptir. Bu, beyindeki bir sinaptik sinyalin gücünün rolünü çoğaltır. Önyargı değişkeni, fonksiyondan çıktının sonuçlarını kontrol etmek için eklenir.
Böylece, tüm bu veriler fonksiyonda işlenir ve bir çıktı ile sonuçlanırsınız. Tek katmanlı bir sinir ağı veya algılayıcı böyle görünür. Yapay sinir ağı fikri, daha güçlü çıktılar elde etmek için bu tür yapay nöronların çeşitli kombinasyonlarını birbirine bağlamak etrafında döner. Bu nedenle tipik yapay sinir ağının kavramsal çerçevesi şuna çok benzer:
Bir yapay sinir ağının nasıl çalıştığını derinlemesine incelerken, yakında gizli katmanı tanımlayacağız. Ancak yapay sinir ağının temel bir anlayışı söz konusu olduğunda, artık ilk ilkeleri biliyorsunuz.
Bu mekanizma, büyük veri kümelerini deşifre etmek için kullanılır. Çıktı genellikle tahmin için kullanılabilecek girdi olarak girilen değişkenler arasında bir nedensellik kurma eğilimindedir. Artık süreci bildiğinize göre, buradaki teknik tanımı tam olarak anlayabilirsiniz:
“Duyusal verileri öğrenen, yorumlayan ve sınıflandıran bir örüntü tanıyan bilgisayar algoritması aracılığıyla yapay bir sinir sistemi oluşturarak insan beyninden sonra modellenen bir ağ.”
Yapay sinir ağları nasıl çalışır ve öğrenir?
Kendinizi hazırlayın, burada işler ilginçleşmek üzere. Ve merak etmeyin – şu anda bir ton matematik yapmanıza gerek yok.
Sihir önce aktivasyon fonksiyonunda gerçekleşir. Aktivasyon fonksiyonu, nöronun aktive edilip edilmeyeceğini belirlemek için ilk işlemi yapar. Nöron aktif değilse, çıkışı girişiyle aynı olacaktır. O zaman hiçbir şey olmuyor. Bunun sinir ağında olması çok önemlidir, aksi takdirde sistem çıktı üzerinde hiçbir etkisi olmayan bir ton bilgiyi işlemeye zorlanacaktır. Görüyorsunuz, beynin sınırlı kapasitesi var ama onu en iyi şekilde kullanmak için optimize edildi.
Tüm yapay sinir ağlarında ortak olan bir merkezi özellik, doğrusal olmama kavramıdır. İncelenen değişkenlerin çoğu, gerçek hayatta doğrusal olmayan bir ilişkiye sahiptir.
Örneğin çikolatanın fiyatını ve çikolata sayısını alın. Bir çikolatanın 1 dolara mal olduğunu varsayalım. 100 çikolata ne kadar tutar? Muhtemelen 100 dolar. 10.000 çikolata ne kadar tutar? 10.000$ değil; çünkü satıcı ya tüm çikolataları bir araya getirmek için ekstra ambalaj kullanmanın maliyetini ekleyecek ya da envanterinin çoğunu tek seferde elinden çıkardığından maliyeti azaltacaktır. Doğrusal olmama kavramı budur.
Bir etkinleştirme işlevi, bilgilerin işlenip işlenmediğini belirlemek için temel matematiksel ilkeleri kullanacaktır. Aktivasyon fonksiyonlarının en yaygın biçimleri İkili Adım Fonksiyonu, Lojistik Fonksiyon, Hiperbolik Tanjant Fonksiyonu ve Rektifiye Doğrusal Birimlerdir. İşte bunlardan her birinin temel tanımı:
- İkili adım işlevi: Bu işlev, bir eşik temelinde bir nöronu etkinleştirir. Fonksiyon, kıyaslanan bir değerin üstünde veya altında bir sonuca sahipse, nöron etkinleştirilir.
- Lojistik fonksiyon: Bu fonksiyonun bir 'S' eğrisi şeklinde matematiksel bir sonucu vardır ve olasılıklar, nöronun etkinleştirilip etkinleştirilmeyeceğini belirlemek için anahtar kriter olduğunda kullanılır. Böylece herhangi bir noktada bu eğrinin eğimini hesaplayabilirsiniz. Bu fonksiyonun değeri 0 ile 1 arasındadır.
Eğim, bir diferansiyel fonksiyon kullanılarak hesaplanır. Kavram, iki değişken arasında doğrusal bir ilişki olmadığında kullanılır. Eğim, doğrusal olmayanlığın başladığı tam noktada eğriye dokunan bir teğetin değeridir. Lojistik fonksiyonun sorunu, negatif değerlere sahip bilgileri işlemek için iyi olmamasıdır. - Hiperbolik tanjant fonksiyonu: Değerlerinin -1 ile +1 arasında olması dışında lojistik fonksiyona oldukça benzer. Böylece, ağda işlenmeyen negatif bir değer sorunu ortadan kalkar.
- Rektifiye lineer birimler (ReLu): Bu fonksiyonun değerleri 0 ile pozitif sonsuz arasındadır. ReLu birkaç şeyi basitleştirir – girdi pozitifse 'x' değerini verir. Diğer tüm girişler için değer '0' olacaktır. Negatif sonsuz ve pozitif sonsuz arasında değerlere sahip bir Sızdıran ReLu kullanabilirsiniz. İşlenmekte olan değişkenler arasındaki ilişki gerçekten zayıf olduğunda ve aktivasyon fonksiyonu tarafından tamamen atlanabileceğinde kullanılır.
Şimdi, bir algılayıcı ve bir sinir ağının aynı iki diyagramına başvurabilirsiniz. Nöron sayısı dışında fark nedir? Temel fark, gizli katmandır. Bir sinir ağındaki giriş katmanı ile çıkış katmanı arasında gizli bir katman bulunur. Gizli katmanın görevi, işlemeyi iyileştirmek ve çıktı üzerinde güçlü bir etkisi olmayacak değişkenleri ortadan kaldırmaktır.
Bir girdi değişkeninin değerindeki değişikliğin etkisinin çıktı değişkeni üzerinde fark edilir olduğu bir veri kümesindeki örneklerin sayısı, gizli katman bu ilişkiyi gösterecektir. Gizli katman, YSA'nın bir sonraki işlem katmanına daha güçlü sinyaller vermesini kolaylaştırır.
Tüm bu matematiği yaptıktan ve gizli katmanın nasıl çalıştığını anladıktan sonra bile, bir yapay sinir ağının gerçekte nasıl öğrendiğini merak ediyor olabilirsiniz. Öğrenmenin ne olduğu temel sorusuyla başlayalım. Öğrenme, en basit ifadeyle, iki şey (faaliyetler, süreçler, değişkenler vb.) arasında nedensellik kurmaktır. Bir eğri topu nasıl atacağınızı 'öğrendiğinizde', topu belirli bir şekilde fırlatmanın fiziksel eylemi ile topun yörüngesinin belirli bir şekilde bükülmesini sağlama arasında nedensellik kuruyorsunuz.
Şimdi, bu nedenselliği kurmak çok zor. Korelasyonun nedenselliğe eşit olmadığını söylediğini hatırlıyor musunuz? İki değişkenin aynı yönde hareket ettiğini belirlemek oldukça kolaydır. Hangi değişkenin hangi değişkende harekete neden olduğunu kesin olarak söylemek çok zordur. Açıkçası, bunu çoğu zaman sezgisel olarak tespit edebiliyoruz; ama bir algoritmanın sezgiyi anlamasını nasıl sağlarsınız?

Bir maliyet işlevi kullanırsınız. Matematiksel olarak, veri kümesinin gerçek değeri ile veri kümesinin çıkış değeri arasındaki kare farkıdır. Ayrıca hata derecesini de düşünebilirsiniz. Kare alıyoruz çünkü bazen fark negatif olabilir.
Maliyet fonksiyonu ile her girdiden çıktıya işleme döngüsünü markalayabilirsiniz. Sizin ve YSA'nın işi, maliyet fonksiyonunu mümkün olan en düşük değerine indirgemektir. YSA'daki ağırlıkları ayarlayarak bunu elde edersiniz. (Sinaptik ilişkileri, yani ağırlıkları hatırlıyor musunuz? Bahsettiğimiz şey bu). Bunu yapmanın birkaç yolu vardır, ancak prensibi anladığınız kadarıyla, onu yürütmek için farklı araçlar kullanıyor olacaksınız.
Her döngü ile maliyet fonksiyonunu en aza indirmeyi hedefliyoruz. Girdiden çıktıya gitme sürecine ileri yayılma denir. Son gizli katmandan giriş katmanına doğru ağırlığı ters sırada ayarlayarak maliyet fonksiyonunu en aza indirmek için çıktı verilerini kullanma işlemine geriye doğru yayılma denir.
Veri kümesi çok büyük olduğunda verimsiz hale getiren Brute Force yöntemini veya bir optimizasyon algoritması olan Batch-Gradient Descent kullanarak bu ağırlıkları ayarlamaya devam edebilirsiniz. Artık bir yapay sinir ağının nasıl öğrendiğine dair sezgisel bir anlayışa sahipsiniz.
Tekrarlayan sinir ağları (RNN) ve evrişimli sinir ağları (CNN)
Bu iki sinir ağı biçimini anlamak, aynı zamanda yapay zeka uygulamasının iki farklı yönüne girişiniz olabilir - bilgisayarla görme ve doğal dil işleme. En basit haliyle, bu iki AI dalı, bir makinenin nesneleri görsel olarak tanımlamasına ve dilsel verilerin bağlamını anlamasına yardımcı olur. Tahmin edebileceğiniz gibi sürücüsüz arabalarda ve Siri gibi sanal asistanlarda bu dalların halihazırda kullanılan uygulamaları var.
Şimdi, bu dalların her birinin kendi yerleşik sinir ağı var. NLP, yüksek oranda tekrarlayan sinir ağlarına bağımlıdır. Bir RNN ve bir ANN arasındaki fark, bir ANN'de her giriş sinyalinin bir sonraki giriş sinyalinden bağımsız olarak kabul edilmesidir. Bu nedenle, iki düğüm arasında var olan girdi verilerinin kendi içinde herhangi bir ilişkisi yoktur.
Gerçekte, durum böyle değil. İletişim kurduğumuzda, her kelime bir sonraki kelimenin bağlamsal yolunu temizler. Bu nedenle, dilin temel doğası, daha önce girilen bilgiler ile daha sonra girilen bilgiler arasında karşılıklı bağımlılıklar yaratmasıdır. RNN'ler, bağlamı temizlemek için bu girişler arasındaki ilişkiyi kuran bir paralel bellek çalıştırarak buna duyarlıdır.
Konvolüsyonel sinir ağları ideal olarak bilgisayarla görme için kullanılır. Genel olarak kullanılan aktivasyon fonksiyonlarının yanı sıra, bir havuzlama fonksiyonu ve bir evrişim fonksiyonu eklerler. Bir evrişim işlevi, daha basit terimlerle, bir görüntünün girişinin ve ikinci bir görüntünün (bir filtre) girişinin nasıl üçüncü bir görüntü (sonuç) ile sonuçlanacağını gösterir. Bunu, bir sonuç görüntüsü (değiştirilmiş piksel değerleri) elde etmek için giriş görüntünüzün (orijinal piksel değerleri kümesi) üzerinde oturan filtrelenmiş bir görüntü (yeni bir piksel değerleri kümesi) olarak görselleştirerek hayal edebilirsiniz.
Bir havuzlama işlevi, bu bilgi kümesi üzerinde işlemeyi kolaylaştırmak için eklenen işleve bağlı olarak maksimum veya minimum değeri alacaktır. Bunları şu şekilde görselleştirebilirsiniz:


Havuzlama işlevi
Yapay sinir ağlarının 5 uygulaması
Şimdiye kadar konuştuklarımız kaputun altında olup bitiyordu. Artık, gelişen dünyamızla olan bağlarını tam olarak takdir etmek için bu YSA'ları uzaklaştırabilir ve çalışırken görebiliriz:
1. E-ticaret platformlarındaki önerileri kişiselleştirin
YSA'ların en eski uygulamalarından biri, her kullanıcı için e-ticaret platformu deneyimlerini kişiselleştirmek olmuştur. Netflix'teki gerçekten etkili önerileri hatırlıyor musunuz? Veya tam olarak doğru ürün önerileri Amazon? Bunlar ANN'nin bir sonucudur.
Burada kullanılan bir ton veri var: geçmiş satın alımlarınız, demografik verileriniz, coğrafi verileriniz ve aynı ürünü satın alan kişilerin daha sonra ne satın aldığını gösteren veriler. Bunların tümü, sizin için neyin işe yarayabileceğini belirlemek için girdi görevi görür. Aynı zamanda, gerçekten satın aldığınız şey, algoritmanın optimize edilmesine yardımcı olur. Her satın alma ile şirketi ve YSA'yı güçlendiren algoritmayı zenginleştiriyorsunuz. Aynı zamanda, platformda yapılan her yeni satın alma, algoritmanın size doğru ürünleri önerme konusundaki hünerini de artıracaktır.
2. Konuşma sohbet robotları için doğal dil işlemeden yararlanma
Kısa bir süre önce, sohbet kutuları web sitelerinde hız kazanmaya başladı. Bir temsilci bir tarafta oturur ve kutuya yazdığınız sorgularda size yardımcı olur. Ardından, sohbet robotlarına doğal dil işleme (NLP) adı verilen bir fenomen tanıtıldı ve her şey değişti.
NLP genellikle insan dil kapasitelerini çoğaltmak için istatistiksel kurallar kullanır ve diğer YSA uygulamaları gibi zamanla daha iyi hale gelir. Noktalama işaretleriniz, tonlamalarınız ve telaffuzlarınız, gramer seçimleriniz, sözdizimsel seçimleriniz, kelime ve cümle sıranız ve hatta seçtiğiniz dil bile NLP algoritmasını eğitmek için girdi görevi görebilir.
Chatbot, hem sorgularınızın bağlamını anlamak hem de yanıtları tarzınıza en uygun şekilde formüle etmek için bu girdileri kullanarak sohbet eder hale gelir. Aynı NLP, müzikte ses düzenleme ve güvenlik doğrulama amacıyla da kullanılıyor.
3. Yüksek profilli bir olayın sonuçlarını tahmin etmek
Çoğumuz, FIFA Dünya Kupası'nın yanı sıra başkanlık seçimleri sırasında AI destekli algoritmalar tarafından yapılan sonuç tahminlerini takip ediyoruz. Her iki olay da aşamalı olduğundan, algoritmanın etkinliğini hızlı bir şekilde anlamasına ve ekipler ve adaylar elenirken maliyet işlevini en aza indirmesine yardımcı olur. Bu gibi durumlarda asıl zorluk, girdi değişkenlerinin derecesidir. Adaylardan oyuncu istatistiklerine, demografiden anatomik yeteneklere kadar her şey dahil edilmelidir.
Hisse senedi piyasalarında, YSA kullanan tahmine dayalı algoritmalar bir süredir ortalıkta dolaşıyor. Haber güncellemeleri ve finansal ölçütler kullanılan temel girdi değişkenleridir. Bu sayede, çoğu borsa ve banka, yüksek frekanslı alım satım girişimleri kapsamında varlıklarını insan kapasitesini çok aşan hızlarda kolayca ticaret yapabilir.
Borsalarla ilgili sorun, verilerin her zaman gürültülü olmasıdır. Bir menkul kıymetin fiyatını etkileyebilecek öznel yargı derecesi çok yüksek olduğu için rastgelelik çok yüksektir. Bununla birlikte, YSA'lar bugünlerde her lider banka tarafından piyasa yapıcılığı faaliyetlerinde kullanılmaktadır.
4. Kredi yaptırımları
Aktüeryal tablolar, her bir sigorta adayı ile ilişkili risk faktörlerini belirlemek için zaten kullanılıyordu. YSA'lar tüm bu verileri bir üst seviyeye çıkardı.
Tüm borç verenler, sistemdeki güçlü bir şekilde belirlenmiş ağırlıklarla sahip oldukları onlarca yıllık verileri gözden geçirebilir ve kredi başvurunuzla ilgili uygun risk profilini belirlemek için bilgilerinizi girdi olarak kullanabilir. Yaşınız, cinsiyetiniz, ikamet ettiğiniz şehir, mezun olduğunuz okul, bağlı olduğunuz sektör, maaş ve tasarruf oranınız, kredi risk puanlarınızı belirlemek için girdi olarak kullanılır.
Daha önce bireysel kredi puanınıza büyük ölçüde bağımlı olan şey, şimdi çok daha kapsamlı bir mekanizma haline geldi. Birkaç özel fintech oyuncusunun, aynı YSA'ları işletmek ve profilleri bankalar tarafından çok riskli kabul edilen kişilere borç vermek için kişisel krediler alanına girmesinin nedeni budur.
5. Kendi kendine giden arabalar
Tesla, Waymo ve Uber benzer YSA'ları kullanıyor. Girdiler ve ürün mühendisliği farklı olabilirdi, ancak kendi kendini süren arabaları gerçeğe dönüştürmek için karmaşık görsel hesaplama kullanıyorlardı.
Kendi kendine sürüşün çoğu, gerçek dünyadan yakındaki araçlar, yol işaretleri, doğal ve yapay ışıklar, yayalar, binalar vb. şeklinde gelen bilgilerin işlenmesiyle ilgilidir. Açıkçası, bu sürücüsüz arabalara güç veren sinir ağları, burada tartıştığımızdan daha karmaşıktır, ancak açıkladığımız ilkelerle aynı ilkeler üzerinde çalışırlar.
Çözüm
YSA'lar gün geçtikçe daha sofistike hale geliyor. NLP'ler artık zihinsel sağlık sorunlarının erken teşhisine yardımcı oluyor, tıbbi görüntülemede bilgisayarlı görme kullanılıyor ve YSA'lar drone ile teslimatı destekliyor. YSA'lar daha karmaşık ve katmanlı hale geldikçe, bu sistemdeki insan zekasına olan ihtiyaç daha az olacaktır. Tasarım gibi alanlar bile üretken tasarımla yapay zeka çözümlerini uygulamaya başladı.
Bir araya getirilen tüm YSA'ların nihai evrimi, insanlığın bildiği ve bilmediği tüm bilgileri öğrenebilecek ve algılayabilecek kadar karmaşık bir zeka biçimi olan Genel Zeka olacaktır. Çok uzak bir gerçeklik olsa da, YSA'nın geniş çapta benimsenmesi sayesinde mümkün olsa bile akla yatkın bir kavram haline geldi.