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

Adakah Lapisan Padat dalam Keras Meratakan Tensor Input?

Barbara Streisand
Barbara Streisandasal
2024-10-21 07:53:30988semak imbas

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>

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
_________________________________________________________________

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!

Kenyataan:
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