Rumah > pembangunan bahagian belakang > Tutorial Python > Adakah Lapisan Padat dalam Keras Meratakan Tensor Input?

Adakah Lapisan Padat dalam Keras Meratakan Tensor Input?

Barbara Streisand
Lepaskan: 2024-10-21 07:53:30
asal
1072 orang telah melayarinya

Does a Dense Layer in Keras Flatten the Input Tensor?

Memahami Gelagat Lapisan Padat Keras

Dalam Keras, lapisan Padat melakukan hasil darab titik antara pemberatnya dan tensor input. Tingkah laku lalai, seperti yang dinyatakan dalam dokumentasi, adalah untuk meratakan tensor input jika kedudukannya lebih besar daripada 2. Walau bagaimanapun, bertentangan dengan dokumentasi ini, lapisan Padat sebenarnya digunakan pada paksi terakhir tensor input.

Mari kita jelaskan dengan contoh. Andaikan lapisan Padat dengan unit m digunakan pada tensor input dengan bentuk (n_dim1, n_dim2, ..., n_dimk). Bentuk keluaran ialah (n_dim1, n_dim2, ..., m).

Pemerhatian ini membayangkan bahawa TimeDistributed(Dense(...)) dan Dense(...) adalah setara dari segi fungsi. Selain itu, menggunakan lapisan Padat dengan berat yang dikongsi mempunyai kesan yang menarik. Pertimbangkan rangkaian mainan berikut:

<code class="python">model = Sequential()
model.add(Dense(10, input_shape=(20, 5)))

model.summary()</code>
Salin selepas log masuk

Ringkasan model di bawah menunjukkan hanya 60 parameter boleh dilatih:

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_1 (Dense)              (None, 20, 10)            60        
=================================================================
Total params: 60
Trainable params: 60
Non-trainable params: 0
_________________________________________________________________
Salin selepas log masuk

Ini berlaku kerana setiap unit dalam lapisan Padat bersambung kepada semua lima elemen setiap baris dalam input dengan pemberat yang sama. Akibatnya, hanya 10 × 5 10 (parameter bias seunit) = 60 parameter diperlukan.

Untuk menggambarkan lebih lanjut tingkah laku ini, pertimbangkan perwakilan visual berikut:

[Imej lapisan Padat aplikasi pada input dengan dua atau lebih dimensi dalam Keras]

Dalam imej ini, lapisan Padat (ditunjukkan dalam warna merah) digunakan pada tensor input tiga dimensi. Tensor output juga adalah tiga dimensi, dengan setiap lajur dalam tensor input dipetakan secara bebas ke lajur dalam tensor output.

Atas ialah kandungan terperinci Adakah Lapisan Padat dalam Keras Meratakan Tensor Input?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan