Tdは、LRの時間データのGlobalPooling1D
が ステップ寸法上の最大ベクトルを取ります。したがって、テンソルの形状[10,4,10]は、グローバルプーリング後のテンソル[10,10]の形状になります。 MaxPooling1D
は、各ステップについて最大値をとりますが、各ストライドのpool_sizeに制限されます。だから、pooling_size=2
とstride=1
と[10、4、10]テンソルはMaxPooling(pooling_size=2, stride=1)
長い答えた後、[10、3、10]テンソルであるグラフィック助けを借りて、
は、私たちが3で、簡単な文を考えてみましょう単語のベクトルエンコーディング(word2vec埋め込みなど)があります。もちろん、通常はプールを超えてTensorを埋め込むことはありませんが、これは例のために行うべきです。また、グローバルなプーリングはチャネル全体で機能しますが、この図から除外します。最後に、パディングでは少し複雑になりますが、ここではその必要はありません。
は、我々はそれが各タイムステップが2Dプールにわたって最大であると[1、3,3]テンソルをもたらすmaxPooling1D(pool_size=2, strides=1).
そして
the [[.7, -0.2, .1] | pool size is two
boy [.8, -.3, .2] | so look at two words at a time | stride=1 will
will [.2, -.1, .4] and take the max over those | move the pool down
live [.4 -.4, .8]] 2 vectors. Here we looking 1 word. Now we look
'the' and 'boy'. 'boy' and 'will' and
take the max.
を有していると仮定する。そして、3つのプールがあるので、タイムスタンプを4から3にダウンサンプリングしました。
しかし、GlobalPooling1D
を使用すると、おそらくその単語のベクトル表現であるその文(Tensor)ライブ'。私は何かを明確にするために実際に
が、ここではGlobalMaxPooling1Dができますkeras
class GlobalMaxPooling1D(_GlobalPooling1D):
"""Global max pooling operation for temporal data.
# Input shape
3D tensor with shape: `(batch_size, steps, features)`.
# Output shape
2D tensor with shape:
`(batch_size, channels)`
"""
def call(self, inputs):
return K.max(inputs, axis=1)
うまくいけば、で定義されているか、お問い合わせください。偉大な説明をだ
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, LSTM, MaxGlobalMaxPooling1D
D = np.random.rand(10, 6, 10)
model = Sequential()
model.add(LSTM(16, input_shape=(6, 10), return_sequences=True))
model.add(MaxPooling1D(pool_size=2, strides=1))
model.add(LSTM(10))
model.add(Dense(1))
model.compile(loss='binary_crossentropy', optimizer='sgd')
# print the summary to see how the dimension change after the layers are
# applied
print(model.summary())
# try a model with MaxGlobalPooling1D now
model = Sequential()
model.add(LSTM(16, input_shape=(6, 10), return_sequences=True))
model.add(GlobalMaxPooling1D())
model.add(Dense(1))
model.compile(loss='binary_crossentropy', optimizer='sgd')
print(model.summary())
:またここに
はあなたと遊ぶことができる例です。どうもありがとう! – KayBay[x、y、z]テンソルとは何ですか?私はテンソルを初めて使う人です。私はそれが3次元線形関係オブジェクトであることを理解しています。そしてプールは何ですか?この場合、それが読む単語の数ですか?私がリンクやチュートリアルにリダイレクトすることを躊躇しないでください – Marine1