Kursus Matematika untuk AI · Pelajaran 36 dari 180
Kernel dan Image Menunjukkan Informasi yang Hilang dan Jangkauan Lapisan Linear
Gunakan kernel dan image matriks untuk mengenali arah input yang dibuang, output yang dapat dicapai, serta batas rank pada proyeksi yang dipelajari.
Proyeksi sebuah model dapat mengubah dua vektor fitur yang berbeda menjadi representasi yang sama. Setelah itu terjadi, lapisan berikutnya tidak dapat membedakan kedua input tersebut hanya dari representasi itu. Dua konsep menjelaskan efek ini secara tepat: kernel menunjukkan perubahan input yang dihapus oleh pemetaan linear, sedangkan image menjelaskan output yang dapat dihasilkannya.
Di akhir pelajaran ini, kamu akan dapat mencari kedua himpunan tersebut untuk sebuah matriks kecil dan menjelaskan apa yang diungkapkannya tentang hilangnya informasi dan output yang dapat direpresentasikan.
Hasil belajar: Temukan contoh sederhana null space dan image, lalu tafsirkan maknanya.
Pelajaran ini menghubungkan rank matriks dari Pelajaran 033 dengan representasi matriks untuk pemetaan linear dari Pelajaran 035. Bagian 2.7.3 dari Mathematics for Machine Learning memperkenalkan image dan kernel suatu pemetaan linear. Proyeksi, perhitungan, interpretasi AI, visual, dan pertanyaan di bawah ini adalah karya orisinal.
Satu proyeksi dapat menghapus arah sekaligus membatasi output
Perhatikan pemetaan yang direpresentasikan oleh
Pemetaan ini mempertahankan dua koordinat pertama dan menetapkan koordinat ketiga menjadi nol. Kernel dari pemetaan linear adalah himpunan input di yang dipetakan ke vektor nol di . Image-nya adalah himpunan output di yang dapat dihasilkan oleh pemetaan itu dari suatu input. Kedua himpunan ini berada di ruang yang berbeda: kernel berkaitan dengan input, sedangkan image berkaitan dengan output.
Di sini, kernel berarti null space dari suatu pemetaan linear. Dalam machine learning, “kernel” juga berarti fungsi yang membandingkan contoh pada metode kernel; itu konsep yang berbeda.
Untuk , input mencapai nol tepat ketika dan , sementara boleh bernilai apa saja. Jadi, kernel-nya adalah sumbu :
Setiap output berbentuk , dan setiap vektor seperti itu dapat dicapai dengan input . Jadi, image-nya adalah bidang :
Gambar ini memisahkan kedua pertanyaan tersebut. Arah kernel vertikal menandai variasi input yang lenyap; bidang image yang diarsir menandai output yang masih dapat dicapai.
Ruang input ℝ³
- x = (2, 1, 0)
- x + k = (2, 1, 2)
- k = (0, 0, 2)
Output yang dapat dicapai: Im(P)
Koordinat ketiga setiap output adalah 0
P(x) = P(x + k) = (2, 1, 0)
Vektor kernel menjelaskan input mana yang melebur
Ambil lalu tambahkan vektor kernel . Kedua input ini berbeda, tetapi nilai hasil pemetaannya sama:
Jadi, kernel bukanlah daftar input yang diabaikan matriks satu per satu. Kernel adalah kumpulan arah yang dapat dilalui input tanpa mengubah hasilnya. Jika model hanya menerima vektor hasil proyeksi, model tidak dapat memulihkan posisi awal input di sepanjang arah tersebut.
Image membatasi apa yang dapat diterima kode di tahap berikutnya
Rank yang sama adalah dua karena image-nya memiliki dua arah independen. Dimensi kernel-nya juga satu. Kedua angka ini berjumlah sama dengan dimensi ruang input:
Inilah teorema rank-nullity untuk pemetaan linear dari ruang input berdimensi hingga. Teorema ini menghubungkan jumlah arah output independen dengan jumlah arah input independen yang dipetakan menjadi nol. Untuk matriks yang bekerja pada vektor kolom, image adalah span kolom-kolomnya, kernel diperoleh dengan menyelesaikan , dan rank ditambah nullity sama dengan , yaitu jumlah koordinat input.
Angka terakhir itu penting saat membaca bentuk tensor dalam kode. Operator @ NumPy berarti perkalian matriks: matriks dikalikan vektor dengan elemen menghasilkan vektor dengan elemen. Untuk proyeksi ini, perhitungan singkat berikut memastikan bahwa outputnya sama dan arah kernel lenyap:
import numpy as np
P = np.diag([1, 1, 0])
x = np.array([2, 1, 2])
k = np.array([0, 0, 2])
print(P @ x) # [2 1 0]
print(P @ (x - k)) # [2 1 0]
print(P @ k) # [0 0 0]
Pembedaan yang sama membantu mendiagnosis proyeksi yang dipelajari
Matriks bobot hasil pembelajaran juga memetakan satu vektor fitur ke vektor fitur lain. torch.nn.Linear dari PyTorch menerapkan pemetaan afin pada input yang disusun sebagai baris; menetapkan bias=False menyisakan pemetaan matriks saja. Dalam notasi vektor kolom, operasi yang sama adalah . Pemetaan bobot menentukan perbedaan input mana yang lenyap: jika , kedua input menghasilkan output yang sama karena bias yang sama saling meniadakan. Image pemetaan bobot menjelaskan arah output yang tersedia dari bobot; dengan bias, himpunan output lengkap adalah subruang yang bergeser, (dokumentasi PyTorch).
Kernel dan image menjawab pertanyaan debugging yang berbeda. Kernel tak nol berarti beberapa vektor fitur berbeda menjadi tak dapat dibedakan setelah melewati lapisan ini. Image yang terbatas berarti kombinasi fitur output tertentu sama sekali tidak dapat dihasilkan. Pemetaan dari ke dapat memiliki kernel nontrivial sambil tetap mencapai setiap titik dalam ruang output dua dimensinya. Sebaliknya, pemetaan dari ke dapat mempertahankan semua perbedaan input sementara outputnya terletak pada sebuah bidang. Bentuk output matriks saja tidak dapat menjawab kedua pertanyaan itu; rank dan subruang yang sebenarnya yang memberi tahu kita.
Langkah berikutnya adalah mencari arah mana yang redundan sebelum memampatkan representasi. Jika pilihan itu dipelajari alih-alih ditentukan sebelumnya, memeriksa rank, kernel, dan image pemetaan bobot akan menunjukkan apa yang masih dapat dibedakan dan diekspresikan oleh model di tahap berikutnya.
Uji pemahaman
Question 1
Apa kernel dari P(x, y, z) = (x, y, 0), dan apa image-nya?
Show the step-by-step solution
Agar input dipetakan ke nol, dua koordinat pertamanya harus nol, sedangkan koordinat ketiganya boleh berupa bilangan real apa saja. Jadi, . Setiap output memiliki koordinat ketiga nol, dan setiap dihasilkan oleh input . Karena itu, , yaitu bidang .
Question 2
Hitung P(4, −2, 5). Informasi apa yang dipertahankan dan dibuang oleh output?
Show the step-by-step solution
Terapkan matriks pada setiap koordinat: . Koordinat pertama dan kedua dipertahankan, sedangkan koordinat ketiga dihapus. Karena itu, dua input dengan dua koordinat pertama yang sama akan memiliki output yang sama.
Question 3
Mengapa (2, 1, 0) dan (2, 1, 6) memiliki output yang sama di bawah P?
Show the step-by-step solution
Selisih keduanya adalah , yang berada di dalam kernel karena . Berdasarkan linearitas, .
Question 4
Jika pemetaan linear memiliki ruang input berdimensi tiga dan rank 2, berapa nullity-nya?
Show the step-by-step solution
Teorema rank-nullity menyatakan . Substitusi memberi , sehingga nullity-nya adalah . Ada satu arah input independen yang dipetakan menjadi nol.
Question 5
Dapatkah pemetaan dari ℝ³ ke ℝ² memiliki kernel tak nol dan tetap mencapai setiap output di ℝ²?
Show the step-by-step solution
Ya. Pemetaan koordinat memiliki kernel , yang bukan nol, dan image-nya adalah seluruh karena setiap dicapai dari . Hilangnya informasi input dan ketercapaian output adalah sifat yang terpisah.
Question 6
Jika lapisan linear menambahkan bias tetap b, apakah bias itu mengubah perbedaan input yang melebur menjadi output yang sama?
Show the step-by-step solution
Tidak. Jika , maka . Bias saling meniadakan, sehingga tepat ketika berada di kernel pemetaan bobot . Himpunan output yang mungkin bergeser dari menjadi .
Question 7
Apa yang diberitahukan oleh pemetaan bobot yang rank-nya kurang penuh tentang kemungkinan representasi pada lapisan model?
Show the step-by-step solution
Rank yang kurang penuh berarti image memiliki lebih sedikit arah independen daripada dimensi ruang output, sehingga beberapa arah output tak dapat dicapai. Jika rank juga lebih kecil daripada dimensi input, teorema rank-nullity menunjukkan bahwa kernel juga tak nol: beberapa input berbeda melebur. Periksa kedua dimensi sebelum menyimpulkan bahwa kedua efek tersebut terjadi.