İleri beslemeli ve geri beslemeli sinir ağları


Birçok uygulamaya yönelik yapay zeka modelleme araştırmalarında sinir ağlarının yapısı giderek daha önemli hale geliyor. İki karşıt yapısal paradigma geliştirildi: geri beslemeli (tekrarlayan) sinir ağları ve ileri beslemeli sinir ağları. Bu makalede, her iki mimariyi ayrıntılı bir şekilde analiz ettikten sonra, derinlemesine bir karşılaştırma sunuyoruz. Daha sonra, bazı kullanım durumları aracılığıyla her bir sinir ağı yapısının performansını karşılaştırıyoruz.

Önkoşullar

Bu, bu alanda yeni başlayanlar için tasarlanmış Derin Öğrenme algoritmalarını optimize etmeye yönelik bir giriş makalesidir ve takip etmek için herhangi bir ek deneyim gerektirmez.

Öncelikle temel bilgilerle başlayalım.

Sinir Ağı Nedir?

Derin öğrenmenin temel yapı taşı olan sinir ağları, zorlu veri odaklı sorunlarla uğraşırken insan beyninin davranışını simüle etmeleriyle ünlüdür.

Gerekli çıktıyı oluşturmak için girdi verileri, üst üste dizilmiş birkaç yapay nöron katmanı aracılığıyla işlenir. Uygulamalar, basit görüntü sınıflandırmasından doğal dil işleme, metin üretimi ve dünyayla ilgili diğer problemler gibi daha kritik ve karmaşık problemlere kadar uzanır.

Sinir Ağlarının Elemanları

Sinir ağı mimarisini oluşturan nöronlar beynin organik davranışını kopyalar.

Sinir Ağındaki tek bir nöronun temel yapısı

Şimdi sinir ağıyla ilgili çeşitli bileşenleri tanımlayacağız ve bir nöronun bu temel temsilinden başlayarak en karmaşık mimarilerden bazılarını nasıl oluşturabileceğimizi göstereceğiz.

Giriş

Öğrenme modeline girilen verilerin (yani özelliklerin) toplanmasıdır. Örneğin, bir meteorolojik tahmin modeli için girdi olarak bir dizi mevcut atmosferik ölçüm kullanılabilir.

Ağırlık

Öğrenme sürecine en çok yardımcı olan özelliklere önem vermek ağırlık kullanmanın temel amacıdır. Giriş değeri ile ağırlık matrisi arasına skaler çarpım ekleyerek bazı özelliklerin etkisini artırırken bazılarının etkisini azaltabiliriz. Örneğin, yüksek perdeli bir notanın varlığı, müzik türü sınıflandırma modelinin seçimini, türler arasında yaygın olan diğer ortalama perdeli notalardan daha fazla etkileyecektir.

Aktivasyon Fonksiyonu

Girişlerle değişen doğrusallığı hesaba katmak için aktivasyon fonksiyonu, nöronların işleyişine doğrusal olmama durumunu getirir. O olmasaydı, çıktı basitçe girdi değerlerinin doğrusal bir birleşimi olurdu ve ağ, doğrusal olmayışı karşılayamazdı.

En sık kullanılan aktivasyon fonksiyonları şunlardır: Birim adım, sigmoid, parçalı doğrusal ve Gaussian.

Yaygın aktivasyon fonksiyonlarının çizimleri

Ön yargı

Önyargının amacı, aktivasyon fonksiyonunun ürettiği değeri değiştirmektir. İşlevi, doğrusal bir işlevdeki bir sabitinkiyle karşılaştırılabilir. Yani bu temelde aktivasyon fonksiyonu çıktısı için bir değişimdir.

Katmanlar

Yapay sinir ağı, üst üste istiflenmiş birden fazla sinir katmanından oluşur. Her katman, arka arkaya istiflenmiş birkaç nörondan oluşur. Üç tür katmanı ayırt ediyoruz: Giriş, Gizli ve Çıkış katmanı.

Giriş Katmanı

Modelin giriş katmanı, kendisine sunduğumuz verileri görüntüler veya sayısal vektör gibi dış kaynaklardan alır. Dış dünyadan gelen tüm bilgileri hiçbir işleme gerek duymadan ileten bir sinir ağının tüm tasarımında görülebilen tek katmandır.

Gizli Katmanlar

Derin öğrenmeyi bugünkü haline getiren şey gizli katmanlardır. Tüm hesaplamaları yapan ve verinin özelliklerini çıkaran ara katmanlardır. Verilerdeki gizli özelliklerin aranması, birbirine bağlı birçok gizli katmandan oluşabilir. Örneğin görüntü işlemede, ilk gizli katmanlar genellikle sınırların, şekillerin ve sınırların tespiti gibi daha üst düzey işlevlerden sorumludur. Daha sonraki gizli katmanlar ise tüm nesneleri sınıflandırmak veya bölümlere ayırmak gibi daha karmaşık görevleri yerine getirir.

Çıkış Katmanı

Nihai tahmin, önceki gizli katmanlardan gelen veriler kullanılarak çıktı katmanı tarafından yapılır. Nihai sonucu elde ettiğimiz katmandır, dolayısıyla en önemlisidir.

Çıkış katmanında sınıflandırma ve regresyon modelleri genellikle tek bir düğüme sahiptir. Ancak bu tamamen eldeki problemin doğasına ve modelin nasıl geliştirildiğine bağlıdır. En yeni modellerden bazıları iki boyutlu çıktı katmanına sahiptir. Örneğin, Meta'nın girişteki bir metinden yalnızca görseller üreten yeni Sahne Oluşturma modeli.

Bu katmanlar birlikte nasıl çalışır?

Giriş düğümleri verileri sayısal olarak ifade edilebilecek bir biçimde alır. Her düğüme bir numara atanır; sayı ne kadar yüksek olursa aktivasyon da o kadar büyük olur. Bilgi aktivasyon değerleri olarak görüntülenir. Ağ daha sonra bu bilgiyi dışarıya yayar. Etkinleştirme değeri, engellemeyi veya uyarımı temsil etmek üzere bağlantı güçlerine (ağırlıklara) dayalı olarak düğümden düğüme gönderilir.
Her düğüm, aktivasyon fonksiyonuna uygun olarak değeri değiştirmeden önce aldığı aktivasyon değerlerini ekler. Aktivasyon, çıkış düğümlerine ulaşmadan önce ağın gizli seviyeleri üzerinden ilerler. Giriş daha sonra çıkış düğümleri tarafından anlamlı bir şekilde dış dünyaya yansıtılır. Öngörülen değer ile gerçek değer arasındaki fark olan hata, her düğümün ağırlıklarının, her düğümün sorumlu olduğu hata oranına dağıtılmasıyla geriye doğru yayılır.

Temel sinir ağı örneği

Yukarıdaki örnekteki sinir ağı, üç giriş düğümünden oluşan bir giriş katmanı, her biri dört düğüme dayanan iki gizli katman ve iki düğümden oluşan bir çıkış katmanından oluşur.

İleri Beslemeli Sinir Ağlarının Yapısı

İleri beslemeli ağlarda sinyaller yalnızca tek yönde hareket edebilir. Bu ağlar, girişleri, çıkışları ve gizli katmanları olan, tekrarlanmayan ağ olarak kabul edilir. İşlem birimlerinin bir katmanı giriş verilerini alır ve orada hesaplamaları yürütür. Her bir işlem elemanı, girdilerinin ağırlıklı toplamına dayanarak hesaplamasını gerçekleştirir. Yeni türetilen değerler daha sonra sonraki katman için yeni giriş değerleri olarak kullanılır. Bu işlem tüm katmanlar geçildikten sonra çıktı belirlenene kadar devam eder.

Perceptron (doğrusal ve doğrusal olmayan) ve Radyal Temel Fonksiyon ağları ileri beslemeli ağlara örnektir. Aslında tek katmanlı algılayıcı ağ, sinir ağının en temel türüdür. Tek katmanlı çıktı düğümlerine sahiptir ve girdiler, bir dizi ağırlık aracılığıyla doğrudan çıktılara beslenir. Her düğüm ağırlıkların ve girdilerin çarpımlarının toplamını hesaplar. Bu sinir ağı yapısı inşa edilen ilk ve en temel mimarilerden biriydi.

Öğrenme, geri yayılım tekniği kullanılarak çok katmanlı ileri beslemeli bir sinir ağı üzerinde gerçekleştirilir. Her eğitim örneği için oluşturulan özellikler girdiler tarafından uyarılır. Gizli katman, giriş katmanının ağırlıklı çıktılarını eş zamanlı olarak besler. Gizli katmanın ağırlıklı çıktısı, ek gizli katmanlar vb. için girdi olarak kullanılabilir. Birçok gizli katmanın kullanılması isteğe bağlıdır; çoğu zaman temel ağlar için yalnızca bir tanesi kullanılır.

Çıkış katmanını oluşturan birimler, verilen örnekler için ağın tahminini yaymak amacıyla son gizli katmanın ağırlıklı çıkışlarını girdi olarak kullanır. Gizli katmanlarda ve çıktı katmanında yer alan birimler, sembolik biyolojik bileşenleri nedeniyle nöronlar veya çıktı birimleri olarak gösterilmektedir.

Evrişim sinir ağları (CNN'ler), ileri beslemeli mimarinin en iyi bilinen yinelemelerinden biridir. Bir görüntüdeki kalıpları tanımlamak için doğrusal cebirden, özellikle matris çarpımından kavramları kullanarak görüntü sınıflandırma ve nesne tanıma görevlerine daha ölçeklenebilir bir teknik sunarlar.

Aşağıda elle yazılan rakamları sınıflandıran bir CNN mimarisi örneği verilmiştir.

El yazısı rakam tanıma görevi için örnek bir CNN mimarisi (kaynak)

İlgili filtrelerin kullanımı yoluyla bir CNN, bir görüntüdeki mekansal ve zamansal bağımlılıkları etkili bir şekilde yakalayabilir. Dikkate alınması gereken daha az faktör olduğundan ve ağırlıklar yeniden kullanılabildiğinden mimari, görüntü veri kümesine daha iyi uyum sağlar. Başka bir deyişle ağ, görüntüdeki karmaşıklık düzeyini daha iyi kavrayacak şekilde eğitilebilir.

İleri Beslemeli Sinir Ağı nasıl eğitilir?

Bu tür ağların tipik algoritması geri yayılımdır. Bir sinir ağının ağırlıklarını önceki çağda (yani yinelemede) kaydedilen hata oranına göre ayarlamak için kullanılan bir tekniktir. Ağırlıkları doğru şekilde ayarlayarak hata oranlarını azaltabilir ve uygulanabilirliğini genişleterek modelin güvenilirliğini artırabilirsiniz.

Tek bir ağırlık için kayıp fonksiyonunun gradyanı, sinir ağının geri yayılım algoritması tarafından zincir kuralı kullanılarak hesaplanır. Yerel doğrudan hesaplamanın aksine, her seferinde bir katmanı verimli bir şekilde hesaplar. Degradeyi hesaplamasına rağmen degradenin nasıl uygulanması gerektiğini belirtmez. Delta kuralının hesaplama kapsamını genişletir.

Geri yayılım algoritmasının çizimi

Geri Beslemeli Sinir Ağlarının Yapısı

Yinelenen sinir ağı (RNN) gibi bir geri bildirim ağı, sinyallerin her iki yönde de hareket etmesi için döngüleri kullanmasına olanak tanıyan geri besleme yollarına sahiptir. Nöronal bağlantılar herhangi bir şekilde yapılabilir. Bu tür bir ağ döngüler içerdiğinden, eğitim sırasında denge durumuna ulaşana kadar sürekli gelişen, doğrusal olmayan dinamik bir sisteme dönüşür.

Araştırmalarda RNN, geri bildirim ağlarının en öne çıkan türüdür. Bunlar, zamansal bir sıra boyunca yönlendirilmiş veya yönlendirilmemiş bir grafik halinde düğümler arasındaki bağlantıları oluşturan yapay bir sinir ağıdır. Bunun sonucunda zamansal dinamik davranış sergileyebilir. RNN'ler, bir bellek biçimini temsil edebilen dahili durumlarını kullanarak farklı uzunluklardaki giriş dizilerini işleyebilir. Bu nedenle konuşma tanıma veya el yazısı tanıma gibi uygulamalar için kullanılabilirler.

Geri beslemeli sinir ağı örneği

Geri Bildirimli Sinir Ağı nasıl eğitilir?

Zaman içinde geriye yayılım veya BPTT, bu tür ağlar için yaygın bir algoritmadır. Belirli tekrarlayan sinir ağı türlerini eğitmek için gradyan tabanlı bir yöntemdir. Ve ileri beslemeli ağların geri yayılımının, geri besleme ağlarında mevcut yinelenmeye yönelik bir uyarlama ile genişletilmesi olarak kabul edilir.

CNN ve RNN

Daha önce de belirtildiği gibi, CNN'ler RNN gibi oluşturulmamıştır. RNN'ler sonuçları ağa geri gönderirken CNN'ler, filtreler ve havuzlama katmanları kullanan ileri beslemeli sinir ağlarıdır.

Uygulama açısından CNN'ler, görüntüler gibi mekansal verileri içeren problemleri modellemek için sıklıkla kullanılır. Metin veya görüntü dizileri gibi geçici, sıralı verileri işlerken RNN'ler daha iyi performans gösterir.

Bu farklılıklar aşağıdaki tabloda gruplandırılabilir:

Convolution Neural Networks (CNNs) Recurrent Neural Networks (RNNs)
Architecture Feed-forward neural network Feed-back neural network
Layout Multiple layers of nodes including convolutional layers Information flows in different directions, simulating a memory effect
Data type Image data Sequence data
Input/Output The size of the input and output are fixed (i.e input image with fixed size and outputs the classification) The size of the input and output may vary (i.e receiving different texts and generating different translations for example)
Use cases Image classification, recognition, medical imagery, image analysis, face detection Text translation, natural language processing, language translation, sentiment analysis
Drawbacks Large training data Slow and complex training procedures
Description CNN employs neuronal connection patterns. And, they are inspired by the arrangement of the individual neurons in the animal visual cortex, which allows them to respond to overlapping areas of the visual field. Time-series information is used by recurrent neural networks. For instance, a user’s previous words could influence the model prediction on what he can says next.

Mimari örnekleri: AlexNet

AlexNet olarak bilinen Evrişimli Sinir Ağı (CNN) mimarisi Alex Krizhevsky tarafından oluşturuldu. AlexNet'i sekiz katman oluşturdu; ilk beşi evrişimli katmanlardı, bazılarını maksimum havuzlama katmanları izledi ve son üçü tamamen bağlantılı katmanlardı. Eğitim verimliliği açısından tanh ve sigmoid'den daha iyi performans gösteren, doymamış ReLU aktivasyon fonksiyonundan yararlandı. Bilgisayarla görme alanında en etkili çalışmalardan biri olarak kabul edilen AlexNet, derin öğrenmeyi hızlandırmak için CNN'leri ve GPU'ları kullanan çok sayıda başka araştırmanın yayınlanmasına yol açtı. Hatta F'ye göre AlexNet yayını 2022 yılı itibarıyla 69.000'den fazla alıntı almıştır.

Piramit Havuzlama ve Denetimli AlexNet Mimarisi (kaynak)

LeNet

Yann LeCun, LeNet olarak bilinen evrişimli sinir ağı topolojisini önerdi. İlk evrişimli sinir ağlarından biri olan LeNet-5, derin öğrenmenin ilerlemesine yardımcı oldu. İlk evrişimli sinir ağının bir prototipi olan LeNet, evrişimli sinir ağının evrişimli katman, havuzlama katmanı ve tam bağlantı katmanı dahil olmak üzere temel bileşenlerine sahiptir ve gelecekteki ilerlemesi için zemin hazırlar. LeNet-5 şekilde görüldüğü gibi yedi katmandan oluşmaktadır.

LeNet-5'in Yapısı (kaynak)

Uzun kısa süreli hafıza (LSTM)

LSTM ağı, RNN'lerin öne çıkan örneklerinden biridir. Bu mimariler, tekli veri noktalarına ek olarak tüm veri dizilerini de analiz edebilir. Örneğin LSTM, bölümlere ayrılmamış el yazısı tanımlama, konuşma tanıma, dil çevirisi ve robot kontrolü gibi görevleri gerçekleştirmek için kullanılabilir.

Uzun Kısa Süreli Bellek (LSTM) hücresi (kaynak)

LSTM ağları hücrelerden oluşturulur (yukarıdaki şekle bakın), bir LSTM hücresinin temel bileşenleri genellikle şunlardır: unutma kapısı, giriş kapısı, çıkış kapısı ve hücre durumu.

Geçitli tekrarlayan birimler (GRU)

Bu RNN türevi, RNN modellerini karakterize eden kısa süreli bellek sorununu çözmeye çalıştığı için LSTM'lerle karşılaştırılabilir. GRU'nun bir LSTM'den daha az parametresi vardır çünkü bir çıkış kapısı yoktur, ancak unutma kapısı olan bir LSTM'ye benzer. GRU ve LSTM'nin bazı müzik modelleme, konuşma sinyali modelleme ve doğal dil işleme görevlerinde benzer şekilde performans gösterdiği keşfedildi. GRU'lar daha küçük ve daha az sıklıkta olan birçok veri kümesinde üstün performans göstermiştir.

Geçitli tekrarlayan birim hücrenin şeması (Kaynak)

Kullanım durumları

Uygulamaya bağlı olarak, bazı modellerde ileri beslemeli bir yapı daha iyi çalışabilirken, diğerlerinde geri beslemeli bir tasarım etkili bir şekilde performans gösterebilir. İşte bir mimariyi diğerine tercih etmenin tercih edildiği birkaç örnek.

Döviz kurlarını tahmin etme

Japon yeni döviz kurlarını modellemeye yönelik bir araştırmada, uygulanması son derece basit ve basit olmasına rağmen, örnek dışı verilerden elde edilen sonuçlar, ileri beslemeli modelin hem fiyat seviyelerini hem de fiyat yönünü tahmin etmede oldukça doğru olduğunu göstermektedir. Aslında ileri beslemeli model, tekrarlanan ağ tahmin performansından daha iyi performans gösterdi. Bunun nedeni, sıklıkla kafa karışıklığı veya kararsızlık yaşayan geri besleme modellerinin hem arkadan ileriye hem de ileriden geriye veri iletmek zorunda kalması olabilir.

Kısmen Tıkanmış Nesnelerin Tanınması

Nesne tanımlamada ileri beslemeli işlemenin kullanıldığı yönünde yaygın bir algı vardır. Tıkanmış uyaranlar için tekrarlayan yukarıdan aşağıya bağlantılar, giriş görüntülerindeki kayıp bilgileri yeniden oluşturabilir. Frankfurt İleri Araştırmalar Enstitüsü'nün yapay zeka araştırmacıları bu konuyu inceledi. Tıkanmış nesne tespiti için tekrarlayan sinir ağı mimarilerinin dikkate değer performans iyileştirmeleri sergilediğini gösterdiler. Aynı bulgular Journal of Cognitive Neuroscience'daki farklı bir makalede de bildirildi. Yazarlar tarafından gerçekleştirilen deney ve model simülasyonları, ileri beslemeli görüşün sınırlamalarını vurguluyor ve nesne tanımanın aslında çeşitli beyin alanlarının işbirliğine dayanan oldukça etkileşimli, dinamik bir süreç olduğunu öne sürüyor.

Görüntü sınıflandırması

Bazı durumlarda basit ileri beslemeli mimariler, uygun eğitim yaklaşımlarıyla birleştirildiğinde tekrarlayan ağlardan daha iyi performans gösterir. Örneğin, yalnızca çok katmanlı algılayıcılara dayalı bir görüntü sınıflandırma mimarisi olan ResMLP. Bir araştırma projesi, veri verimli eğitimle birlikte kullanıldığında bu tür bir yapının performansını gösterdi. Tek bir gizli katmana ve doğrusal yama etkileşim katmanına sahip ileri beslemeli bir ağdan oluşan artık bloklara sahip basit bir artık mimarinin, yukarıda tanıtılanlar gibi modern bir eğitim yöntemiyle kullanıldığında ImageNet sınıflandırma kıyaslamalarında şaşırtıcı derecede iyi performans gösterebileceği gösterilmiştir. Transformatör tabanlı mimariler.

Metin sınıflandırması

RNN'ler, daha önce tartışıldığı gibi, metin sınıflandırma problemleri için en başarılı modellerdir. Metni paylaşılan ve göreve özgü katmanlarla temsil etmek için yapılan bir çalışmada üç farklı bilgi paylaşım stratejisi önerildi. Bu görevlerin tümü, tüm ağ üzerinden ortaklaşa eğitilir. Önerilen RNN modelleri, dört kıyaslama metin sınıflandırma görevi üzerinde yapılan deneylere göre, metin sınıflandırma için yüksek bir performans gösterdi.

Başka bir makalede metin verileri için LSTM tabanlı bir duygu sınıflandırma yöntemi ortaya konmuştur. Bu LSTM tekniği, duyarlılık analizi modelleri için yüksek bir doğruluk olarak kabul edilen %85'lik bir doğruluk oranıyla duyarlılık sınıflandırması için performans göstermiştir.

Öğreticiler

Yakın zamanda Paperspace'in satın alınmasıyla birlikte hem CNN'ler hem de RNN'ler için yayınlanmış birçok öğreticiyi yayınlıyoruz. Başlamanız için bu listeden kısa bir seçim yapmanızı öneriyoruz:

Keras ile Yönlendirilmiş Maske R-CNN Kullanarak Nesne Algılama Bu eğitimde, etkili nesne tespiti için R-CNN maskesinin nesnelerin aday konumlarına nasıl yönlendirileceği anlatılmaktadır. Tam Python kodu dahildir.

Bu yazımızda metin özetleme için kullanılan bir RNN modeli olan Seq2Seq adlı modeli Keras kullanarak uyguluyoruz.

Keras'lı Çift Yönlü RNN'ler İçin Bir Kılavuz | DO Topluluk Blogu Bu seri, farklı tekrarlayan sinir ağlarına (RNN'ler) yönelik gelişmiş bir kılavuz sunar. Ağların kendisi, mimarileri, uygulamaları ve Keras kullanarak modellerin nasıl hayata geçirileceği hakkında bilgi edineceksiniz.

Daha sonra Çift Yönlü RNN'nin bu uygulamasında Keras kütüphanesini kullanarak bir duygu analizi modeli yaptık.

Çözüm

Basitçe söylemek gerekirse, çeşitli zorlukları çözmek için farklı araçlara ihtiyaç vardır. Makine öğrenimini ilk kez kullanmaya başladığınızda, çözmeye çalıştığınız sorunu anlamanız ve tanımlamanız çok önemlidir. Kendi başınıza bir şeyler inşa edebilecek kadar yetkin olmak çok fazla pratik gerektirir, bu nedenle bu alanda bilgi birikiminin artması uygulama prosedürlerini kolaylaştıracaktır.

Bu yazıda ileri beslemeli ve geri beslemeli sinir ağı topolojileri arasındaki farklara baktık. Daha sonra yapay zeka alanını ileriye taşıyan bu mimarilerin iki örneğini inceledik: evrişimli sinir ağları (CNN'ler) ve tekrarlayan sinir ağları (RNN'ler). Daha sonra her yapının örneklerini gerçek dünyadaki kullanım durumlarıyla birlikte verdik.

Kaynaklar

https://link.springer.com/article/10.1007/BF00868008

https://arxiv.org/pdf/2104.10615.pdf

https://dl.acm.org/doi/10.1162/jocn_a_00282

https://arxiv.org/pdf/2105.03404.pdf

https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf

https://www.ijcai.org/Proceedings/16/Papers/408.pdf

https://www.ijert.org/research/text-bazlı-sentiment-analiz-using-lstm-IJERTV9IS050290.pdf

İlgili makaleler: