Keras Embedding Layers hakkında


#1

Merhabalar, Embedding Layers ı kerasın resmi dokümantasyonu üzerinden tam olarak kavrayamadım. Acaba tam olarak neden kullanıldığı ve ne olduğunu kavramakta zorluk çekmekteyim. Bu konudaki yardımlarınız bekliyorum.


#2

Lookup table gibi bir şey embedding layerlar ya (keras’a has değil, tensorflow’da pytorch’ta da var hatta Theano’da bile vardı).

Genelde NLP tasklerinde kullanıldığı için oradan örnekleyecek olursak, öncelikle datasetindeki tüm stringleri integer’a çevirip bir vocabulary oluşturuyorsun. Embedding’in yaptığı işte bu integerları corresponding embedding değerlerine map etmek oluyor. Misal Embedding(7, 6, 5) olarak bir kullanımda, lookup table’ın sizeının 7 olduğu (vocabulary size), her bir kelimeninin embedding length’inin 6 olduğu ve datasetindeki her bir data point’in length’inin 5 olduğu bilgisini veriyorsun. Eğer pretrained embedding kullanmayacaksan da “embedding_initializer” ile her bir embedding vektörünün nasıl initialize edileceğini belirtiyorsun.

Üşendiğim için çok örnek veremedim de ilgili linkte örneğiyle anlatıyor: https://stats.stackexchange.com/questions/270546/how-does-keras-embedding-layer-work


#3

Bilgilendirme için Teşekkürler.


#4

@Bahadir bey cevaplamış ben ufak bir ilave yapayım
embedding katmanı aslında word2vect yapıyor. Eğer pre-trained vect değerleri yüklemediyseniz eğitimini ağın genel eğitimiyle birlikte yapıyor.


#5

Bilgilendirme için teşekkür ederim.