Lebih
Apa perbedaan antara Keras' MaxPooling1D dan GlobalMaxPooling1D fungsi?
Kedua MaxPooling1D dan GlobalMaxPooling1D dijelaskan sebagai max penggabungan operasi untuk sementara data.
keras.lapisan-lapisan.pooling.MaxPooling1D(pool_size=2, langkah=Tidak ada, padding='valid')
Saya memahami bahwa GlobalMaxPooling1D tidak mengambil parameter input.
keras.lapisan-lapisan.pooling.GlobalMaxPooling1D()
Aku hanya ingin visual memahami bagaimana mereka berbeda dalam cara mereka bekerja?
41
2
Td;lr
GlobalMaxPooling1D
untuk sementara data-data yang diperlukan max vektor atas langkah-langkah dimensi. Sehingga tensor dengan bentuk [10, 4, 10] menjadi tensor dengan bentuk [10, 10] setelah global pooling.MaxPooling1D
membawa max ke langkah-langkah juga, tapi dibatasi untuk pool_size untuk setiap langkahnya. Jadi [10, 4, 10] tensor denganpooling_size=2
danlangkah=1
adalah [10, 3, 10] tensor setelahMaxPooling(pooling_size=2, langkah=1)
Jawaban panjang dengan grafis bantuan
Katakanlah kita memiliki kalimat sederhana dengan 4 kata-kata dan kami memiliki beberapa vektor pengkodean untuk kata-kata (seperti word2vec embeddings). Tentu saja anda tidak biasanya max renang di atas dan embedding Tensor tapi ini harus dilakukan untuk contoh. Juga global pooling bekerja di saluran tapi aku'll meninggalkan yang keluar dari ilustrasi ini. Akhirnya, hal-hal yang sedikit lebih rumit dengan padding tapi kita tidak perlu bahwa di sini juga.
Misalkan kita memiliki
MaxPooling1D(pool_size=2, langkah-langkah=1).
KemudianSehingga akan mengakibatkan [1, 3, 3] Tensor dengan masing-masing timestep menjadi max over 2D kolam renang. Dan karena kita memiliki 3 kolam renang outdoor kami telah efektif downsampled kami timesteps dari 4 ke 3.
Namun, jika kita menggunakan
GlobalMaxPooling1D
kita hanya akan mengambil max vektor dari kalimat itu (Tensor) yang mungkin adalah vektor representasi dari kata 'live'.Memang, di sini bagaimana GlobalMaxPooling1D didefinisikan dalam keras
Mudah-mudahan yang membantu, silakan meminta saya untuk mengklarifikasi apa-apa.
Selain itu berikut adalah contoh bahwa anda dapat bermain dengan:
@ThePassenger [x, y, z] dapat dilihat sebagai bahwa anda memiliki sebuah "para" dengan x elemen, dimana setiap elemen matriks dengan y baris dan kolom z. tapi juga karena anda memiliki matriks aith baris x dan kolom y dan untuk setiap elemen anda memiliki sebuah array dari z elemen.
renang adalah salah satu cara untuk mengurangi tensor misalnya, jika anda memiliki matriks baris x dan kolom y menerapkan penggabungan dapat memberikan anda sebuah matriks x-n baris dan y yang sama-m kolom.