Data Hidup di Ruang Geometris
Semua Sesuatu Adalah Vektor
Dalam pembelajaran mesin, data hidup di ruang geometris. Setiap titik data dengan N fitur adalah titik di ruang N-dimensional. Ini bukan metafora: ini adalah fondasi matematis yang sebenarnya dari setiap algoritma.
Gambar angka tangan (28×28 pixel) adalah titik di ruang 784-dimensional. Setiap pixel adalah satu koordinat. Dua angka yang mirip akan berada di titik yang dekat di ruang tersebut. Dua angka yang berbeda berjarak jauh.
Peta kata akan memetakan kata ke titik di ruang 300-dimensional. Kata-kata dengan arti yang sama akan berada di distrik yang sama. 'Dog' & 'puppy' dekat. 'Dog' & 'parliament' jauh.
Profil pengguna dengan 50 fitur (umur, sejarah pembelian, pola klik) adalah titik di ruang 50-dimensional. Mesin rekomendasi menemukan pengguna yang 'dekat' di ruang ini dan menyarankan apa yang disukai geometric neighbors mereka.
Geometri adalah cara kita berpikir tentang ruang-ruang ini. Jarak, arah, sudut, proyeksi: ini adalah operasi dasar dari pembelajaran mesin.
Operasi Vektor: Blok Bangunan
Produk Titik Memungkinkan Segala Sesuatu
Tiga operasi vektor yang paling penting dalam pembelajaran mesin:
Penjumlahan vektor: menggabungkan fitur atau sinyal. Jika Anda menambahkan dua vektor kata, Anda mendapatkan vektor yang mewakili kedua konsep yang diencerkan.
Penggandaan skalar: mengubah besar vektor tanpa mengubah arahnya. Tingkat belajar dalam gradient descent adalah pengganda skalar.
Produk titik: ini adalah tenaga kuda. Produk titik dua vektor a dan b sama dengan |a||b|cos(θ), di mana θ adalah sudut antara mereka. Ketika vektor-vektor tersebut normalisasi (satu panjang), produk titik ADALAH cosinus sudut.
Kesamaan kosinus = cos(θ) = (a·b) / (|a||b|)
Formula ini sendiri memungkinkan:
- Mesin pencari: menemukan dokumen yang mirip dengan kueri
- Mechanisme perhatian: memutuskan mana token yang penting bagi satu sama lain
- Mesin rekomendasi: memasangkan profil pengguna dengan profil item
- Penghasilan ulang generasi: menemukan konteks yang relevan untuk model bahasa
cos(θ) = 1 berarti vektor-vektor tersebut mengarah ke arah yang sama (makna yang sama). cos(θ) = 0 berarti mereka tegak lurus (tidak berhubungan). cos(θ) = -1 berarti mereka mengarah ke arah yang berlawanan (makna yang saling menentang).
Sama Similarity Kosinus
Kemiripan kosinus merupakan salah satu metrik yang paling sering digunakan dalam sistem pembelajaran mesin modern.
Tiga Cara Untuk Mengukur Jarak
Pilihan Metrik Jarak Mengubah Arti 'Mirip'
Diberi dua titik di ruang, ada banyak cara untuk mengukur 'jarak' antara mereka. Setiap metrik mendefinisikan geometri yang berbeda, & geometri tersebut menentukan apa yang model Anda pertimbangkan sebagai 'mirip.'
Jarak Euklides (L2): jarak garis lurus. d = √(Σ(aᵢ - bᵢ)²). Ini adalah 'jarak seperti burung' yang diharapkan oleh intuisi Anda. Ini menganggap semua dimensi sama dan sensitif terhadap magnitudo.
Jarak Manhattan (L1): jarak berjalan di jalan setapak. d = Σ|aᵢ - bᵢ|. Seperti menavigasi jalur kota: Anda hanya bisa bergerak di sumbu, tidak bisa melengkung diagonal. Lebih tahan terhadap outlier dalam dimensi tunggal karena tidak menyebabkan perbedaan disquared.
Jarak Kosinus: mengukur sudut antara vektor, mengabaikan magnitudo sepenuhnya. d = 1 - cos(θ). Dua dokumen tentang topik yang sama memiliki jarak kosinus kecil meskipun panjangnya berbeda. Dua dokumen sepanjang yang sama tentang topik yang berbeda memiliki jarak kosinus yang besar.
Pilihan tersebut tidak sembarangan. Jika magnitudo penting (dosage obat, suhu reaktor), gunakan Euclidean. Jika Anda peduli tentang proporsi daripada absolut (distribusi frekuensi kata, profil preferensi pengguna), gunakan cosine. Jika perbedaan fitur individu lebih penting daripada magnitudo total (diagnosis kerusakan, di mana spiking satu sensor bermakna), gunakan Manhattan.
K-Nearest Neighbors: Geometri Murni
KNN: Algoritma Geometri Termudah
K-Nearest Neighbors adalah algoritma geometri terbuka yang paling transparan dalam pembelajaran mesin. Ini tidak memiliki fase pelatihan: INI adalah data pelatihan.
Untuk mengklasifikasikan titik baru: cari K titik terdekat dalam data pelatihan. Biarkan mereka menentukan. Kelas mayoritas menang. Itu adalah seluruh algoritma.
Garis keputusan yang dihasilkan oleh KNN adalah diagram Voronoi: partisi ruang di mana setiap titik termasuk dalam region contoh pelatihan terdekatnya. Batasannya adalah bisector sejajar antara titik pelatihan yang berdekatan.
Inilah intuisi geometri yang penting: pilihan metrik jarak sepenuhnya mengubah diagram Voronoi. Jarak Euclidean menghasilkan batas yang melengkung dan lingkaran. Jarak Manhattan menghasilkan batas berbentuk persegi emas. Jarak cosine menghasilkan batas sudut, berbentuk kerucut.
Data pelatihan yang sama. K yang sama. Metrik jarak yang berbeda. Model yang sangat berbeda. Geometri ITULAH model.
Memilih Metrik Jarak
Metrik jarak tidak dapat diganti-gantikan: pilihan yang benar tergantung pada apa yang 'mirip' berarti untuk data Anda.
Hiperples: Batas Tertutup Flast di Dimensi Tinggi
Setiap Klasifikator Linier Menemukan Hiperpleks
Klasifikator linier menemukan permukaan datar yang memisahkan dua kelas. Dimensionalitas permukaan ini tergantung pada ruang:
- Dalam ruang 2D, batas adalah garis (1-dimensi)
- Dalam ruang 3D, batas adalah bidang (2-dimensi)
- Dalam ruang 784D (gambar jari-jari MNIST), batas adalah hiperpleks 783-dimensi
Polanya umum: dalam ruang N-dimensi, batas keputusan adalah permukaan datar (N-1)-dimensi yang disebut hiperpleks.
Regresi logistik, mesin pendukung SVM, & perceptron lapis tunggal semuanya adalah pencari hiperpleks. Mereka berbeda dalam CARA mereka menemukan hiperpleks terbaik:
- Regresi logistik mengoptimalkan kemungkinan klasifikasi yang benar
- SVMs mengoptimalkan jarak geometrik: jarak dari hiperpleks ke titik data terdekat
- Perceptrons hanya menemukan hiperpleks apa pun yang memisahkan data, tanpa jaminan optimalitas
Vektor bobot dari klasifikator linier ADALAH vektor normal ke hiperpleks. Istilah bias memindahkan hiperpleks jauh dari asal. Ini adalah objek geometris dengan interpretasi geometris.
Melebihi Batas Tertutup
Ketika Data Tidak Dapat Dipisahkan Linier
Banyak masalah nyata tidak dapat dipecahkan dengan batas tertutup. Pertimbangkan untuk mengklasifikasikan gambar kucing vs anjing: tidak ada satu hiperpleks di ruang piksel yang memisahkan mereka dengan bersih.
Ada dua strategi geometri:
Strategi 1: Trik Kernel: Transformasi data ke ruang dimensi lebih tinggi di mana data dapat dipisahkan linier. Contoh klasik: titik dalam lingkaran (kelas A) dan titik luar (kelas B) dalam 2D. Tidak ada garis yang memisahkan mereka. Tapi tambahkan dimensi ketiga z = x² + y², dan titik dalam (kecil x² + y²) berdiri rendah sementara titik luar (besar x² + y²) berdiri tinggi. Sekarang bidang datar memisahkan mereka dengan sempurna.
SVM dengan fungsi kernel melakukan ini secara implisit: mereka menghitung produk titik di ruang tinggi tanpa pernah membangun vektor nyata dimensi tinggi. Ini disebut 'trik kernel' dan ini adalah wawasan geometris.
Strategi 2: Jaringan Saraf Tiruan: Kumpulkan transformasi linear dengan fungsi aktivasi nonlinear. Setiap lapisan menerapkan transformasi linear (perkalian matriks = rotasi + skala + geser) diikuti oleh 'bengkok' nonlinear (ReLU, sigmoid, tanh). Komposisi banyak operasi linear-then-bend dapat meniru bentuk batas apapun yang kontinu.
Jaringan saraf tiruan dalam kedalaman adalah urutan transformasi geometri yang mengubah ruang input hingga kelas-kelas menjadi linear separable di lapisan terakhir.
Menguraikan Data Lingkaran
Ini adalah masalah geometri paling penting dalam pembelajaran mesin.
Permukaan Kerugian
Latihan = Berjalan Turun Gunung di Suatu Permukaan
Setiap model mesin pembelajaran memiliki parameter: bobot dan bias. Fungsi kerugian mengukur seberapa salah prediksi model. Bersama-sama, ini memdefinisikan permukaan kerugian: sebuah lahan di mana setiap titik mewakili set nilai parameter khusus, dan ketinggian adalah kerugian.
Untuk model dengan 2 parameter, permukaan kerugian adalah lahan 3D yang dapat Anda visualisasikan: bukit, lembah, dan dataran. Untuk model dengan 175 miliar parameter (seperti GPT-3), permukaan kerugian ada di ruang 175-miliar dimensi. Matematika tetap sama.
Gradien descent adalah algoritma yang menavigasi permukaan ini. Gradien adalah objek geometris: sebuah vektor yang mengarah ke arah kemiringan terbesar. Untuk mengurangi kerugian, bergeraklah ke arah sebaliknya: gradien negatif. Ini adalah secara literal berjalan di bukit.
Peringkat belajar mengontrol ukuran langkah. Terlalu besar & Anda melewatkan lembah. Terlalu kecil & Anda menggigiti. Gradien memberi tahu Anda arah; peringkat belajar memberi tahu Anda berapa jauh untuk langkah.
Titik Kait Sadel, Minima, dan Geometri Dimensi Tinggi
Lahan Kerugian Bukanlah Wadah Sederhana
Gambaran sederhana tentang pelatihan membayangkan sebuah wadah halus dengan titik terendah yang hanya satu. Kenyataannya jauh lebih kompleks:
Minima lokal: lembah yang tidak terdalam. Gradien descent dapat terperangkap di sini, puas bahwa setiap arah naik, meskipun lembah yang lebih dalam ada di tempat lain.
Titik kait: berbentuk seperti punggung kuda. Kerugian melengkung ke bawah dalam beberapa dimensi dan ke atas dalam yang lain. Dalam 2D ini sangat jarang. Dalam dimensi tinggi, titik kait lebih banyak daripada minima lokal. Poin kritis dalam ruang 1000 dimensi harus melengkung ke atas dalam SEMUA 1000 dimensi untuk menjadi minima lokal. Jika hanya satu dimensi melengkung ke bawah, itu adalah titik kait.
Lereng datar: daerah di mana gradien hampir nol. Pelatihan berhenti karena tidak ada kemiringan untuk diikuti.
Minima tajam vs datar: sebuah minima tajam adalah lembah yang sempit. Sebuah minima datar adalah lembah yang luas. Penelitian menyarankan bahwa minima datar menggeneralisasi lebih baik ke data yang belum terlihat, karena gangguan kecil terhadap parameter (dari noise di data baru) tidak secara drastis mengubah kerugian.
SGD dengan momentum membantu melewati titik kait dan minima tajam. Kerandoman dari stochastic gradient descent berfungsi seperti menggoyang sebuah bola pada permukaan: itu meluncur keluar dari lubang sempit dan menemukan lembah yang lebih lebar dan lebih datar.
SGD vs Gradient Descent Penuh-Batch
Ini adalah salah satu insight praktis terpenting dalam pelatihan machine learning.
Kata sebagai Vektor: Aritmatika Makna
Makna Memiliki Arah
Word2Vec, GloVe, dan embedding transformer modern mampu memetakan token kontinu (kata, sub-kata) ke dalam ruang vektor. Hasilnya adalah dunia geometri di mana makna memiliki koordinat.
Contoh yang terkenal: raja - pria + wanita ≈ ratu
Ini adalah aritmatika vektor. Vektor dari 'pria' ke 'raja' mewakili konsep 'kerajaan yang diterapkan pada pria.' Vektor dari 'wanita' ke 'ratu' mewakili 'kerajaan yang diterapkan pada wanita.' Vektor-vektor ini hampir paralel: arah yang sama, hubungan yang sama, awal yang berbeda.
Beberapa hubungan geometri lain yang muncul dari pelatihan pada teks:
- Paris - Prancis + Italia ≈ Roma (hubungan ibu kota)
- berjalan kaki - jalan kaki + berenang ≈ berenang (transformasi bentuk lampau)
- lebih besar - besar + kecil ≈ lebih kecil (bentuk perbandingan)
Tidak ada siapa pun yang memrogramkan hubungan-hubungan ini. Model menemukan bahwa makna memiliki struktur geometri dengan membaca miliaran kata. Arah dalam ruang koordinat kata mewakili hubungan semantik. Ini adalah salah satu penemuan geometri terdalam dalam pembelajaran mesin.
Hipotesis Manifold
Data Berdimensi Tinggi Hidup di Permukaan Bawah Berdimensi Rendah
Suatu gambar wajah berwarna abu-abu 64x64 memiliki 4.096 nilai piksel: itu adalah titik di ruang 4.096 dimensi. Tapi tidak setiap titik di ruang itu adalah wajah yang valid. Sebagian besar vektor acak 4.096 dimensi terlihat seperti noise statis, bukan wajah.
Hipotesis manifold menyatakan bahwa data berdimensi tinggi nyata sebenarnya hidup di atau dekat permukaan melingkar berdimensi rendah (manifold) yang terbenam di ruang berdimensi tinggi. Manifold wajah mungkin hanya 50 dimensi: didefinisikan oleh faktor seperti sudut cahaya, posisi kepala, ekspresi, warna kulit, usia.
Ini adalah klaim geometri dengan konsekuensi praktis:
- Penurunan Dimensi (PCA, t-SNE, UMAP) berfungsi karena data hampir memiliki dimensi yang rendah. Algoritma ini menemukan manifold dan memroyeksi ke dalamnya.
- Autoencoder belajar mengompresi data menjadi ruang laten berdimensi rendah (manifold) dan memulihkan dari dalamnya.
- Model Generatif (VAEs, model difusi) belajar manifold dan sampel titik baru di atasnya: menghasilkan wajah baru, musik baru, teks baru yang terlihat nyata karena terletak pada manifold yang belajar.
Jika model Anda gagal menggeneralisasi, satu penjelasan geometris adalah: ia belajar manifold yang salah. Data pelatihan menggarisbawahi permukaan yang tidak sesuai dengan distribusi data yang benar.
Analogi Vektor
Struktur geometris ruang representasi adalah salah satu hasil paling mengejutkan dalam pembelajaran mesin modern.
Grafik ROC: Kualitas Klasifikasi sebagai Luas
Metrik Evaluasi Hidup di Ruang Geometris
Grafik ROC (Receiver Operating Characteristic) memplot True Positive Rate (y-axis) melawan False Positive Rate (x-axis) saat menggeser batas klasifikasi dari 0 ke 1.
Ini adalah ruang geometris dengan landmark yang berarti:
- (0, 1): sudut kiri atas: klasifikasi sempurna. Setiap positif terdeteksi, nol alarm palsu.
- (0, 0): sudut kiri bawah: model mengklasifikasikan segalanya sebagai negatif.
- (1, 1): pojok kanan atas: model mengklasifikasikan segalanya sebagai positif.
- Diagonal dari (0,0) ke (1,1): klasifikator acak. Di setiap ambang batas, memiliki tingkat sebenarnya positif dan tingkat palsu positif yang sama.
AUC (Area Under the Curve) secara literal adalah pengukuran luas geometris. AUC = 0.5 berarti model acak (luas di bawah diagonal). AUC = 1.0 berarti klasifikasi sempurna (persegi trapesium unit penuh). Kurva ROC yang baik melengkung ke sudut kiri atas, menutupi lebih banyak area.
AUC memiliki interpretasi probabilistik yang indah: sama dengan probabilitas model menilai contoh positif acak lebih tinggi dari contoh negatif acak. Namun, secara geometris, itu hanya luas: dan sederhana geometrisnya yang membuatnya mudah dipahami.
Precision-Recall Space
Pertukaran Geometris yang Berbeda
Kurva precision-recall hidup di ruang geometris yang berbeda dari kurva ROC dan mereka ceritakan cerita yang berbeda.
Precision = dari semua yang model tunjuk sebagai positif, apa fraksi yang sebenarnya positif?
Recall = dari semua positif sebenarnya, apa fraksi yang ditemukan model?
Saat Anda menurunkan ambang batas klasifikasi (menandai lebih banyak hal sebagai positif), recall meningkat (Anda menangkap lebih banyak positif sebenarnya) tetapi precision biasanya menurun (Anda juga menangkap lebih banyak palsu positif). Pertukaran ini mengikuti kurva di ruang precision-recall.
F1 score = 2 × (precision × recall) / (precision + recall): rata-rata harmonik. Secara geometris, skor F1 sama dengan titik di kurva precision-recall di mana precision sama dengan recall. Ini adalah titik di mana kurva bertemu diagonal dari persegi precision-recall.
Average Precision (AP) = luas di bawah kurva precision-recall. Seperti AUC-ROC, itu ringkas kurva menjadi satu angka yang mewakili luas geometris.
Kurva ROC dan kurva precision-recall adalah pandangan geometris yang saling melengkapi dari model yang sama. Kurva ROC dapat mengoptimisasi secara salah pada dataset yang tidak seimbang (99% kelas negatif). Kurva precision-recall tetap informatif karena mereka fokus pada kelas positif.
Interpretasi AUC-ROC
Memahami apa yang diukur AUC-ROC secara geometris membantu Anda memilih antara model.
Transformers: Produk Titik sebagai Perhatian
Perhatian Adalah Pengukuran Kemiripan Geometris
Arsitektur transformer: dasar modern model bahasa: didasarkan pada operasi geometris: produk titik.
Untuk setiap token dalam suatu urutan, transformer menghitung tiga vektor: Query (Q), Key (K), dan Value (V): masing-masing diperoleh dengan mengalikan embedding masukan dengan matriks bobot yang dipelajari.
Skor perhatian antara dua token adalah: skor = Q · K^T / √d
Ini adalah **produk titik yang diska
l
Skor kemudian melewati softmax untuk menciptakan distribusi probabilitas: berat perhatian yang jumlahnya 1. Output adalah jumlah tertimbang vektor Value, di mana berat ditentukan oleh alihan geometris.
Dalam kalimat seperti 'Kucing itu duduk di lantai karena ia lelah,' perhatian menghitung: untuk kata 'itu,' kata mana yang memiliki alihan geometris terdekat? Jika vektor Q untuk 'itu' paling dekat dengan vektor K untuk 'kucing', model tersebut memperhatikan 'kucing' dan menyelesaikan referensi pronoun melalui geometri.
Perhatian Multi-Head: Pandangan Geometris Berbagai
Mengapa Multiple Heads?
Penggunaan self-attention dengan satu set Q, K, V matriks menghitung satu jenis alihan geometris. Namun, bahasa memiliki banyak jenis hubungan: sintaksis, semantik, posisional, referensial.
Multi-head attention menggunakan beberapa set matriks proyeksi Q, K, V, masing-masing memroyeksikan ke dalam ruang geometrik subspace yang berbeda. Setiap kepala mengukur alihan dalam subspace geometriknya sendiri.
Apa yang peneliti amati saat mereka memeriksa kepala attention:
- Kepala 1 mungkin mengecek kata sebelumnya (posisional proximity)
- Kepala 2 mungkin mengecek kata kerja dari subjek (ketergantungan sintaksis)
- Kepala 3 mungkin mengecek kata-kata yang berhubungan semantik sebelumnya dalam konteks
- Kepala 4 mungkin mengecek kata benda terakhir (coreference)
Setiap kepala adalah lensa geometrik yang berbeda pada data yang sama. Proyeksi memutar dan memperbesar ruang representasi secara berbeda, membuat hubungan yang berbeda terlihat melalui alihan.
Ini menjelaskan mengapa transformer lebih unggul dibandingkan model dengan satu mekanisme attention. Produk titik dalam ruang representasi penuh menggambarkan satu konsep kesamaan. Produk titik yang berbeda dalam subspace yang berbeda menggambarkan beberapa konsep kesamaan secara bersamaan.
Multi-Head Attention
Multi-head attention adalah salah satu inovasi arsitektural kunci dari transformer.
Pembelajaran Mesin Menggunakan Geometri
Benang Merah yang Melintang
Lihat apa yang telah kita pelajari. Setiap konsep utama belajar mesin memiliki inti geometris:
Data = titik dalam ruang multidimensional
Features = dimensi dari ruang tersebut
Similarity = jarak atau sudut antara titik
Classification = menemukan batas geometris antara kelas
Training = menelusuri permukaan kerugian dengan mengikuti gradien
Embeddings = koordinat sistem yang diajarkan di mana geometri mengkodekan arti
Evaluation = area di bawah kurva dalam ruang metrik
Attention = produk titik yang mengukur alihan sudut
Ini bukan kebetulan. Belajar mesin mengwarisi kerangka matematisnya dari aljabar linier dan geometri diferensial: bidang yang secara fundamental tentang ruang, bentuk, dan transformasi.
Memahami geometri memberikan Anda sesuatu yang tidak bisa diingatkan algoritma: intuisi. Ketika model Anda gagal, pandangan geometris menunjukkan di mana harus mencari. Apakah kelas-kelas tidak dapat dibedakan? Lihat batasnya. Apakah pelatihan terjebak? Periksa lahan kerugian. Apakah embedding jelek? Periksa jika item yang mirip dekat secara geometris. Apakah perhatian tersebar? Periksa proyeksi ruang subspace.
Geometri sama baiknya, Anda bekerja dengan 3 dimensi atau 3 miliar. Matematika skala. Intuisi transfer. Ini yang membuat geometri sebagai bahasa universal dari belajar mesin.
Debugging Geometris
Kita telah membahas vektor, jarak, batas, pelatihan, embedding, evaluasi, dan perhatian: semua melalui lensa geometri.