Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Input Lapisan Padat Keras Membentuk Semula Tanpa Diduga?

Mengapa Input Lapisan Padat Keras Membentuk Semula Tanpa Diduga?

Barbara Streisand
Barbara Streisandasal
2024-10-21 07:57:30231semak imbas

Why Does the Keras Dense Layer Input Reshape Unexpectedly?

Pembentukan Semula Tidak Dijangka dalam Input Lapisan Padat Keras: Membongkar Misteri

Di Keras, lapisan Padat ialah blok binaan yang biasa digunakan untuk rangkaian saraf . Walau bagaimanapun, pengguna mungkin menghadapi gelagat yang tidak dijangka di mana input tidak diratakan sebelum menggunakan operasi lapisan.

Dalam coretan kod yang disediakan:

input1 = layers.Input((2,3))
output = layers.Dense(4)(input1)

Daripada meratakan input tensor input1 dengan dimensi (2,3), secara mengejutkan kami memerhatikan output tensor keluaran dengan dimensi (?, 2, 4). Ini bercanggah dengan dakwaan dokumentasi bahawa input dengan kedudukan lebih besar daripada 2 harus diratakan.

Memeriksa pelaksanaan Keras semasa, walau bagaimanapun, mendedahkan gelagat berbeza: lapisan Padat sebenarnya digunakan pada paksi terakhir tensor input. Ini bermakna bahawa dalam contoh yang diberikan, setiap baris 2D input1 secara bebas melalui lapisan bersambung padat. Akibatnya, output mengekalkan dimensi pertama dan menambah bilangan unit (4) yang ditentukan kepada dimensi terakhir.

Penyimpangan daripada dokumentasi ini mempunyai implikasi yang ketara:

  • Operasi yang setara daripada TimeDistributed(Dense(...)) dan Dense(...) atas input multidimensi.
  • Matriks berat dikongsi merentas unit dalam lapisan Dense.

Contoh :

model = Sequential()
model.add(Dense(10, input_shape=(20, 5)))

model.summary()

Ringkasan model yang terhasil menunjukkan hanya 60 parameter boleh dilatih, walaupun lapisan bersambung padat mempunyai 10 unit. Ini kerana setiap unit bersambung kepada 5 elemen setiap baris dengan pemberat yang sama.

Ilustrasi Visual:

[Imej: Ilustrasi visual menggunakan lapisan Padat pada input dengan dua atau lebih dimensi dalam Keras]

Kesimpulannya, lapisan Padat dalam Keras digunakan secara bebas pada paksi terakhir tensor input, yang membawa kepada output tidak rata dalam senario tertentu. Tingkah laku ini mempunyai implikasi untuk reka bentuk model dan perkongsian parameter.

Atas ialah kandungan terperinci Mengapa Input Lapisan Padat Keras Membentuk Semula Tanpa Diduga?. 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