BERT Nedir?
BERT, Bidirectional Encoder Representations from Transformers anlamına gelir. Google tarafından geliştirilen bir Transformer tabanlı doğal dil işleme (NLP) modelidir. BERT’in temel özelliği, cümlelerin anlamını anlamak için iki yönlü (bidirectional) bir bağlam kullanmasıdır. Bu, bir kelimenin anlamını yalnızca solundaki kelimelerden değil, hem solundaki hem de sağındaki kelimelerden anlamasına olanak tanır.
BERT, özellikle şu iki temel görevde eğitilmiştir:
- Masked Language Modeling (MLM): Cümlede bazı kelimeler gizlenir ve modelin bu kelimeleri tahmin etmesi beklenir.
- Next Sentence Prediction (NSP): İki cümlenin sıralı olup olmadığını tahmin eder.
Transformer Mimarisinde Encoder ve Decoder Nasıl Çalışır?
Transformer modeli, Encoder ve Decoder olmak üzere iki ana bileşenden oluşur. BERT sadece Encoder bloğunu kullanır, ancak Decoder’ün nasıl çalıştığını anlamak faydalıdır.
Encoder ve Decoder Genel Yapısı
- Encoder:
- Girdi cümlesindeki kelimeleri işler.
- Her bir kelimeyi kelime gömme (word embedding) yoluyla bir vektöre dönüştürür.
- Bu vektörler, katmanlar boyunca işlenerek daha anlamlı bağlamsal temsillere dönüştürülür.
- Decoder:
- Encoder’dan gelen bağlamsal temsil vektörlerini alır.
- Çıktıyı üretmek için bu temsilleri işler (ör. bir çeviri modeli için hedef dildeki kelimeleri tahmin eder).
Encoder Nasıl Çalışır?
Encoder, aşağıdaki adımlarla çalışır:
Adım 1: Giriş ve Embedding
- Girdi cümlesi, kelime parçacıklarına (tokens) bölünür (ör.
["Hello", "world"]
). - Her bir kelime parçacığı, bir kelime gömme (embedding) vektörüne dönüştürülür.
- Positional Encoding eklenir: Transformer’da kelimelerin sırası önemli olduğu için, her kelimeye konum bilgisini temsil eden bir vektör eklenir.
Adım 2: Self-Attention Mekanizması
- Attention Skorları Hesaplama:
- Her kelimenin diğer kelimelerle olan ilişkisini belirlemek için Query (Sorgu), Key (Anahtar) ve Value (Değer) vektörleri oluşturulur.
- Bir kelimenin diğer kelimelere dikkat etmesi gereken düzeyi belirlemek için Query ve Key arasında bir çarpım yapılır. Bu, bir dikkat skoru (attention score) üretir.
- Bu skorlar, Softmax ile normalize edilir.
- Weighted Summation:
- Normalize edilen dikkat skorları, Value vektörleriyle çarpılır ve bu şekilde her kelimenin bağlamsal temsili elde edilir.
Adım 3: Feed-Forward Neural Network
- Her kelime için hesaplanan bağlamsal temsil, bir feed-forward sinir ağı (FFN) tarafından işlenir.
- Bu, kelimenin bağlamsal anlamını daha da zenginleştirir.
Adım 4: Layer Normalization ve Residual Connection
- Her adımda, modelin stabil kalması için bir layer normalization uygulanır.
- Bağlamsal bilginin kaybolmaması için, giriş bilgisi bu süreç boyunca residual connection ile taşınır.
Bu süreç, bir Encoder bloğu içinde tekrarlanır (örneğin, BERT-Base 12 Encoder bloğu kullanır).
Decoder Nasıl Çalışır?
Decoder, Encoder’dan farklı olarak iki dikkat mekanizması kullanır:
Adım 1: Giriş ve Embedding
- Çıktı dizisinin önceki kelimeleri alınır (ör. çeviri için).
- Bu kelimeler embedding vektörlerine dönüştürülür.
- Positional Encoding eklenir.
Adım 2: Masked Self-Attention
- Kelime tahmini sırasında, model yalnızca kendisinden önceki kelimelere bakar. Bu nedenle, future masking adı verilen bir yöntemle, gelecekteki kelimelere dikkat edilmesi engellenir.
Adım 3: Encoder-Decoder Attention
- Encoder’dan gelen bağlamsal temsiller, Decoder tarafından işlenir.
- Burada, Decoder’ın kelimeleri üretirken Encoder’dan gelen bilgilere nasıl dikkat etmesi gerektiğini belirlemek için bir dikkat mekanizması daha kullanılır.
Adım 4: Feed-Forward Neural Network
- Bağlamsal bilgiler, bir FFN tarafından işlenir.
Adım 5: Çıkış Tahmini
- Son adımda, bir softmax katmanı üzerinden kelime tahminleri yapılır.
BERT’in Encoder Kullanımı
BERT sadece Encoder bloğunu kullanır. Bu, BERT’in bir cümle veya metni iki yönlü olarak bağlamsallaştırmasını sağlar. Transformer mimarisindeki Decoder kısmı, BERT için gerekmez çünkü BERT bir dil üretme modeli değil, bir dil anlama modelidir.
Özet
- Encoder: Girdi cümlesinin bağlamını öğrenir ve her kelimenin bağlamsal anlamını çıkarır.
- Decoder: Encoder’dan gelen bağlamı kullanarak çıktılar üretir.
- BERT: Encoder yapılarını kullanarak metni anlama odaklı bir modeldir. Kelimelerin hem önceki hem de sonraki bağlamını öğrenir.
Bu bilgiler ışığında, BERT gibi modeller dil anlama ve metin sınıflandırma gibi birçok NLP görevinde üstün performans göstermektedir.
Bir yanıt yazın