Sinir ağındaki örnekler, zaman adımları ve özellikler arasındaki fark


17

LSTM sinir ağında aşağıdaki blogdan geçiyorum: http://machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/

Yazar, giriş vektörü X'i LSTM'lerin farklı konfigürasyonu için [örnekler, zaman adımları, özellikler] olarak yeniden şekillendirir.

Yazar yazar

Aslında, harf dizileri ayrı özelliklerin bir zaman basamağı yerine bir unsurun zaman basamaklarıdır. Ağa daha fazla bağlam verdik, ancak beklediğimizden daha fazla sıralama yapmadık

Ne anlama geliyor?

Yanıtlar:


16

Bunu, ilgilendiğiniz [örnekler, time_steps, özellikler] 'in hemen altında buldum.

X = numpy.reshape(dataX, (len(dataX), seq_length, 1))

Örnekler - Bu len (veriX) veya sahip olduğunuz veri noktalarının miktarıdır.

Zaman adımları - Bu, tekrarlayan sinir ağınızı çalıştırdığınız zaman adımlarına eşittir. Ağınızın 60 karakterlik bir belleğe sahip olmasını istiyorsanız, bu sayı 60 olmalıdır.

Özellikler - bu, her zaman adımındaki özellik miktarıdır. Resimleri işliyorsanız, bu piksel miktarıdır. Bu durumda, her adımda 1 özelliğiniz var gibi görünüyor.


1
X = numpy.reshape (dataX, (len (dataX), 3, 1)) ve X = numpy.reshape (dataX, (len (dataX), 1, 3)) arasındaki farkı açıklayabilir misiniz? lstm?
Vipul Jain

1
(len (dataX), 3, 1) 3 tekrarlama için LSTM'yi çalıştırır ve şekil (1,) şeklinde bir girdi vektörü girer. (len (dataX), 1, 3) 1 yineleme için LSTM'yi çalıştırır. Bu, önceki yinelemelerden herhangi bir geri bildirim alınamayacağı için tekrarlayan bağlantılara sahip olmanın bile işe yaramaz olduğu anlamına gelir. Bu durumda, RNN'ye giriş şekli şekildedir (3,)
Joonatan Samuel

"(len (dataX), 3, 1) 3 yineleme için LSTM çalıştırır" bunun için çağ kullanmıyoruz. epoch = 3 ile aynı anlama geliyor mu?
Vipul Jain

1
Kaba çevirideki bir dönem, veri setimizdeki her veri noktasında bir kez eğitim aldığımız anlamına gelir. Antrenman yaparken, len (dataX) örneklerine bakıldığında 1 dönem sayılır. Bununla birlikte, RNN'ler verileri sırayla alır. Her eğitim örneğinde, verileri birden fazla yineleme üzerinden beslemeniz gerekir. Örneğin, "araba" kelimem var ve her yinelemede bir harf besliyorum, hesaplamayı tamamlamasına ve sonra bir sonraki harfi beslemesine izin verdim. "Araba" kelimesini işlemeyi tamamlamak için tüm kelimeyi harf harf ile işlemek için 3 iterasyona ihtiyaç vardır.
Joonatan Samuel

@JoonatanSamuel merhaba, çok zaman geçtiğini biliyorum ama aynı konuyu anlamakta çok zorlanıyorum. Cevabınız çok açık, ama hala biraz kafam karıştı. Her ay birkaç yıl boyunca satışları tanımlayan bir zaman serimiz olduğunu düşünelim (diyelim). Örneğin len (veri) = 3000, data.shape = (3000,1) düşünün, bu yüzden 3000 ay kayıt ettik. Sonrakini tahmin et : Bir sonrakini (yalnızca bir sonrakini!) Tahmin etmek için N önceki gözlemini kullanmak istersem, LSTM'ye giriş verilerinin şekli ne olmalıdır? Örneğin t-n,..., t-2, t-1, tahmin etmek için kullanmak isteseydik t.
Euler_Salter

0

Biraz çok geç ama her ihtimale karşı;
Bir Örnek , bireysel eğitim örneklerine atıfta bulunabilir. Bu nedenle “batch_size” değişkeni, sinir ağına gönderdiğiniz örnek sayısıdır. Yani, sinir ağına aynı anda kaç farklı örnek beslersiniz.

TimeSteps zamanın keneleridir. Örneklerinizin her biri ne kadar süredir. Örneğin, bir örnek 128-zaman aşaması içerebilir, burada her zaman aşaması sinyal işleme için bir saniyenin 30. saniyesi olabilir. Doğal Dil İşleme'de (NLP), kuruluma bağlı olarak bir zaman adımı karakter, sözcük veya cümle ile ilişkilendirilebilir.

Özellikler her adımda beslediğimiz boyut sayısıdır. Örneğin NLP'de, bir kelime word2vec kullanılarak 300 özellik ile temsil edilebilir. Sinyal işleme durumunda, sinyalinizin 3D olduğunu varsayalım. Yani, her eksende bir ivmeölçerin ölçümleri gibi bir X, Y ve Z sinyaliniz var. Bu, her örnek için her zaman adımında 3 özelliğin gönderileceği anlamına gelir. Guillaume

Tarafından


0

Bir örnekle cevabım: ["merhaba bu xyz", "nasılsın", "harika adam ..."]

bu durumda "[örnekler, zaman adımları, özellikler]" şu anlama gelir:

  • örnek: 3 çünkü listede 3 öğe var
  • zaman adımları: burada max_length = 4 uzunluk ("merhaba bu xyz") = 4; uzunluk ("nasılsın") = 4; length ("great man ...") = 2 (noktalama işaretlerini kaldırdıktan sonra "."). Bunun bir zaman adımı olduğunu söylemenin nedeni, ilk öğede "merhaba bu xyz" ==> t0 ("merhaba"), t1 ("bu"), t2 ("eşittir") ve t3 ("xyz")
  • özellikleri: her kelime için gömme boyutu. örneğin, "merhaba": 50D dizisi, "this": 50D dizisi vb.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.