RNN nedir?
Yinelemeli sinir ağı (RNN), sıralı bir veri girişini işlemek ve belirli bir sıralı veri çıkışına dönüştürmek için eğitilmiş derin öğrenme modelidir. Sıralı veriler, karmaşık anlam bilim ve söz dizimi kurallarına dayalı olarak sıralı bileşenlerin birbiriyle ilişkili olduğu kelimeler, cümleler veya zaman serisi verileri gibi verilerdir. RNN, metni bir dilden diğerine çevirmek gibi insanların sıralı veri dönüşümlerini gerçekleştirmesini taklit eden, birbirine bağlı birçok bileşenden oluşan bir yazılım sistemidir. RNN'lerin yerini, büyük oranda sıralı veri işlemede çok daha verimli olan dönüştürücü tabanlı yapay zeka (AI) ve büyük dil modelleri (LLM) alıyor.
Sinir ağları hakkında bilgi edinin
Derin öğrenme hakkında bilgi edinin
Yinelemeli sinir ağı nasıl çalışır?
Aşağıdaki resim bir RNN'nin diyagramını göstermektedir.
RNN'ler, karmaşık görevleri gerçekleştirmek için birlikte çalışan veri işleme düğümleri olan nöronlardan oluşur. Nöronlar girdi, çıktı ve gizli katmanlar olarak düzenlenmiştir. Giriş katmanı işlenecek bilgileri alır, çıktı katmanı ise sonucu sağlar. Veri işleme, analiz ve tahmin gizli katmanda gerçekleşir.
Gizli Katman
RNN'ler, aldıkları sıralı verileri gizli katmanlara her seferinde bir adım ileterek çalışır. Bununla birlikte, kendi kendini döngüleyen veya tekrarlayan bir iş akışına da sahiptirler; gizli katman, kısa vadeli bir bellek bileşeninde gelecekteki tahminler için önceki girdileri hatırlayabilir ve kullanabilir. Bir sonraki diziyi tahmin etmek için mevcut girişi ve depolanan belleği kullanır.
Şu sıraya göz atın: Elma kırmızıdır. RNN'nin Elma giriş dizisini aldığında kırmızıyı tahmin etmesini istiyorsunuz. Gizli katman Elma kelimesini işlediğinde bir kopyasını hafızasında saklar. Daha sonra dır kelimeyi gördüğünde Elma kelimesini hafızasından hatırlar ve tam diziyi anlar: Elma x'tir. Daha sonra daha iyi doğruluk için kırmızı kelimesini tahmin edebilir. Bu, RNN'leri konuşma tanıma, makine çevirisi ve diğer dil modelleme görevlerinde faydalı kılar.
Makine çevirisi hakkında bilgi edinin
Eğitim
Makine öğrenimi (ML) mühendisleri, modeli eğitim verileriyle besleyerek ve performansını iyileştirerek RNN'ler gibi derin sinir ağlarını eğitir. ML'de nöronun ağırlıkları, eğitim sırasında öğrenilen bilgilerin çıktıyı tahmin ederken ne kadar etkili olduğunu belirleyen sinyallerdir. Bir RNN'deki her katman aynı ağırlığı paylaşır.
ML mühendisleri, tahmin doğruluğunu artırmak için ağırlıkları ayarlar. Model hatasını hesaplamak ve ağırlığını buna göre ayarlamak için zaman içinde geri yayılma (BPTT) adı verilen bir teknik kullanırlar. BPTT, çıktıyı önceki zaman adımına geri döndürür ve hata oranını yeniden hesaplar. Bu şekilde, dizideki hangi gizli durumun önemli bir hataya neden olduğunu belirleyebilir ve hata payını azaltmak için ağırlığı yeniden ayarlayabilir.
Yinelemeli sinir ağlarının türleri nelerdir?
RNN'ler genellikle bire bir mimari ile karakterize edilir: Bir giriş dizisi, bir çıktı ile ilişkilendirilir. Bununla birlikte, bunları belirli amaçlar için çeşitli konfigürasyonlara esnek bir şekilde ayarlayabilirsiniz. Aşağıda birkaç yaygın RNN türü görebilirsiniz.
Bire çok
Bu RNN tipi, bir girişi birkaç çıkışa kanalize eder. Tek bir anahtar kelimeden bir cümle oluşturarak görsel alt yazısı gibi dilsel uygulamaları mümkün kılar.
Çoğa çok
Model, birden fazla çıkışı tahmin etmek için birden fazla girdi kullanır. Örneğin, bir cümleyi analiz eden ve kelimeleri farklı bir dilde doğru bir şekilde yapılandıran RNN'li bir dil çevirmeni oluşturabilirsiniz.
Çoğa bir
Birkaç giriş bir çıkışa eşlenir. Bu, modelin müşterilerin girdi referanslarından olumlu, olumsuz ve tarafsız gibi duyguları tahmin ettiği duyarlılık analizi gibi uygulamalarda yararlıdır.
Yinelemeli sinir ağları ile diğer derin öğrenme ağları nasıl karşılaştırılır?
RNN'ler birkaç farklı sinir ağı mimarisinden biridir.
Yinelemeli sinir ağı ve beslemeli sinir ağı
RNN'ler gibi beslemeli sinir ağları da bilgiyi mimarinin bir ucundan diğer ucuna ileten yapay sinir ağlarıdır. Beslemeli bir sinir ağı basit sınıflandırma, regresyon veya tanıma görevlerini gerçekleştirebilse de işlediği önceki girdiyi hatırlayamaz. Örneğin, nöronu dır ekini işleyene dek Elma kelimesini unutur. RNN, nörona gizli bir bellek durumu ekleyerek bu bellek sınırlamasının üstesinden gelir.
Yinelemeli sinir ağı ve evrişimli sinir ağları
Evrişimli sinir ağları, zamansal verileri işlemek için tasarlanmış yapay sinir ağlarıdır. Sinir ağındaki bir dizi evrişimli katman ve havuz katmanından geçirerek video ile görüntülerden uzamsal bilgi çıkarmak için evrişimli sinir ağlarını kullanabilirsiniz. RNN'ler, sıralı verilerde uzun vadeli bağımlılıklar yakalamak için tasarlanmıştır
Tekrarlayan sinir ağı mimarisinin varyantları arasında neler vardır?
RNN mimarisi, ML modellerinin dil işleme özelliklerine kavuşmasının temelini atmıştır. Bellek tutma ilkesini paylaşan ve orijinal işlevselliğini geliştiren çeşitli varyantlar ortaya çıkmıştır. Aşağıda bazı örnekler verilmiştir.
Çift yönlü tekrarlayan sinir ağları
Çift yönlü tekrarlayan sinir ağı (BRNN), veri dizilerini gizli düğümlerin ileri ve geri katmanlarıyla işler. İleri katman, önceki girişi gizli durumda depolayan ve sonraki çıktıyı tahmin etmek için kullanan RNN'ye benzer şekilde çalışır. Geri katman ise mevcut gizli durumu güncellemek için hem mevcut girişi hem de gelecekteki gizli durumu alarak ters yönde çalışır. Her iki katmanı birleştirmek, BRNN'nin geçmiş ve gelecekteki bağlamları dikkate alarak tahmin doğruluğunu iyileştirmesini sağlar. Örneğin, Elma ağaçları uzundur cümlesindeki ağaçlar kelimesini tahmin etmek için BRNN'yi kullanabilirsiniz.
Uzun kısa süreli bellek
Uzun kısa süreli bellek (LSTM), modelin daha uzun bir zaman çizelgesine uyum sağlamak için bellek kapasitesini genişletmesini sağlayan bir RNN varyantıdır. Bir RNN yalnızca yakın geçmiş girdilerini hatırlayabilir. Tahminini iyileştirmek için önceki birkaç diziden gelen girdileri kullanamaz.
Aşağıdaki cümlelere göz atın: Tom bir kedidir. Tom'un en sevdiği yemek balıktır. Bir RNN kullanırken model Tom'un bir kedi olduğunu hatırlayamaz. Son kelimeyi tahmin ederken çeşitli yiyecekler üretebilir. LSTM ağları, gizli katmanda hücre adı verilen özel bir bellek bloğu ekler. Her hücre, katmanın yararlı bilgileri hatırlamasını sağlayan bir giriş kapısı, çıkış kapısı ve unutma kapısı tarafından kontrol edilir. Örneğin, hücre Tom ve kedi kelimelerini hatırlayarak modelin balık kelimesini tahmin etmesini sağlar.
Geçitli tekrarlayan birimler
Geçitli tekrarlayan birim (GRU), seçici bellek tutmayı sağlayan bir RNN'dir. Model bir güncelleme ekler ve hafızadaki bilgileri depolayabilen veya kaldırabilen gizli katmanının geçidini unutur.
Tekrarlayan sinir ağlarının sınırlamaları nelerdir?
RNN'nin tanıtımından bu yana, ML mühendisleri RNN'ler ve bunların varyantları ile doğal dil işleme (NLP) uygulamalarında önemli ilerleme kaydettiler. Bununla birlikte, RNN model ailesinin birkaç sınırlaması vardır.
Doğal dil işleme hakkında bilgi edinin
Patlayan gradyan
Bir RNN, ilk eğitimdeki çıktıyı yanlış tahmin edebilir. Hata oranını azaltmak için modelin parametrelerini ayarlamak üzere birkaç yinelemeye ihtiyacınız olur. Modelin parametresine karşılık gelen hata oranının hassasiyetini gradyan olarak tanımlayabilirsiniz. Gradyanı indiğiniz tepenin meyili olarak düşünebilirsiniz. Daha dik bir gradyan, modelin daha hızlı öğrenmesini sağlarken sığ bir gradyan öğrenme oranını azaltır.
Patlayan gradyan, RNN kararsız hale gelene kadar gradyanın katlanarak arttığı durumda gerçekleşir. Gradyanlar sonsuz büyüdüğünde RNN düzensiz davranır ve aşırı uyum gibi performans sorunlarına neden olur. Aşırı uyum, modelin eğitim verileriyle doğru bir şekilde tahmin edebileceği ancak aynı şeyi gerçek dünya verileriyle yapamadığı bir olgudur.
Kaybolan gradyan
Kaybolan gradyan problemi, modelin gradyanının eğitimde sıfıra yaklaştığı bir durumdur. Gradyan kaybolduğunda RNN eğitim verilerinden etkili bir şekilde öğrenemez, bu da yetersiz uyum ile sonuçlanır. Yetersiz bir model, ağırlıkları uygun şekilde ayarlanmadığı için gerçek hayattaki uygulamalarda iyi performans gösteremez. RNN'ler, uzun veri dizilerini işlediklerinde kaybolma ve patlayan gradyan riski altındadır.
Yavaş eğitim süresi
Bir RNN, verileri sırayla işler, bu da çok sayıda metni verimli bir şekilde işleme yeteneğini sınırlar. Örneğin bir RNN modeli, bir alıcının duyarlılığını birkaç cümleyle analiz edebilir. Bununla birlikte, bir makalenin bir sayfasını özetlemek için büyük bilgi işlem gücü, bellek alanı ve zaman gerekir.
Dönüştürücüler tekrarlayan sinir ağlarının sınırlamalarını nasıl aşar?
Dönüştürücüler, bir kodlayıcı-kod çözücü ileri beslemeli sinir ağında öz dikkat mekanizmalarını kullanan derin öğrenme modelleridir. Sıralı verileri RNN'ler gibi işleyebilirler.
Öz dikkat
Dönüştürücüler, veri dizilerinin karşılıklı bağımlılıklarını yakalamak için gizli durumlar kullanmaz. Bunun yerine, veri dizilerini paralel olarak işlemek için bir öz dikkat mekanizması kullanırlar. Bu, dönüştürücülerin bir RNN'den daha kısa sürede daha uzun dizileri eğitmesini ve işlemesini sağlar. Dönüştürücüler, öz dikkat mekanizması ile RNN'lerin karşılaştığı bellek sınırlamalarının ve dizi karşılıklı bağımlılıklarının üstesinden gelir. Dönüştürücüler, veri dizilerini paralel olarak işleyebilir ve her girdinin diğerleriyle nasıl ilişkili olduğunu hatırlamak için konumsal kodlamayı kullanabilir.
Paralellik
Dönüştürücüler, eğitim sırasında paralelliği etkinleştirerek RNN'lerin karşılaştığı gradyan sorunlarını çözer. Bir dönüştürücü tüm giriş dizilerini aynı anda işlediği içim geri yayılma kısıtlamalarına tabi değildir çünkü gradyanlar tüm ağırlıklara serbestçe akabilir. Ayrıca, grafik işleme birimlerinin (GPU'lar) üretici yapay zeka geliştirmelerine sunduğu paralel hesaplama için optimize edilmişlerdir. Paralellik, dönüştürücülerin büyük ölçüde ölçeklenmesini ve daha büyük modeller oluşturarak karmaşık NLP görevlerini yerine getirmesini sağlar.
AWS, RNN gereksinimlerinizi nasıl destekler?
Amazon Web Services'taki (AWS) Üretici Yapay Zeka, gelişmiş dönüştürücü tabanlı teknolojiyle geleneksel yapay zeka uygulamalarını oluşturmak, yönetmek ve ölçeklendirmek için kullanabileceğiniz hizmetler, araçlar ve kaynaklar sağlar. Örneğin:
- Amazon SageMaker, verileri hazırlamak ve ML modelleri oluşturmak, eğitmek ve dağıtmak için kullanılabilecek tam olarak yönetilen bir hizmettir. Tam olarak yönetilen altyapıya, araçlara ve iş akışlarına sahiptir.
- Amazon Bedrock, sektör lideri altyapı modellerinin (FM) güvenli ve verimli bir şekilde özelleştirilmesini ve dağıtılmasını sağlayarak üretici yapay zeka geliştirmeyi basitleştirir.
- AWS Trainium, derin öğrenme modellerini bulutta uygun bir şekilde eğitmek ve ölçeklendirmek için kullanabileceğiniz bir ML hızlandırıcısıdır.
Bugün bir hesap oluşturarak AWS'de üretici yapay zekayı kullanmaya başlayın.