Apa itu model ruang keadaan?

Apa yang dimaksud dengan model ruang keadaan (SSM)?

Model ruang keadaan (state space models/SSM) adalah kelas algoritma machine learning yang digunakan untuk membuat prediksi tentang sistem dinamis dengan memodelkan bagaimana keadaan internal mereka berkembang dari waktu ke waktu melalui persamaan diferensial. Secara historis digunakan dalam rekayasa sistem kontrol, SSM adalah platform matematika yang sangat fleksibel yang dapat disesuaikan dengan sebagian besar tugas pemodelan urutan. Mamba, sebuah arsitektur jaringan neural berbasis SSM, menyaingi transformer dalam hal kinerja pemodelan bahasa.

Model ruang keadaan memiliki asal-usul mereka dalam rekayasa sistem kontrol, di mana mereka memainkan peran penting dalam perhitungan navigasi untuk program Apollo pada tahun 1960-an.1 SSM juga digunakan secara menonjol dalam teknik elektro, di mana mereka sangat penting untuk pemrosesan sinyal, teori kontrol, dan robotika. Tetapi mungkin kualitas SSM yang paling penting adalah keserbagunaannya, terutama untuk sistem multi-input, multi-output.

Dasar dari SSM adalah dua persamaan sederhana: satu menggambarkan dinamika internal suatu sistem yang tidak dapat diamati secara langsung, dan yang lainnya menggambarkan bagaimana dinamika internal tersebut berhubungan dengan hasil yang dapat diamati. Formulasi sederhana dan fleksibel itu sangat mudah beradaptasi untuk berbagai macam data deret waktu multivariat.

Dalam bidang ekonomi, SSM dapat memodelkan bagaimana tren dan musim mempengaruhi harga saham. Dalam ilmu saraf, mereka dapat memetakan hubungan antara sinyal otak yang dapat diukur (seperti fMRI) dan aktivitas saraf yang mendasarinya. Dalam ekologi, SSM dapat membantu memodelkan dinamika populasi, pergerakan hewan, dan data tangkapan dan penangkapan kembali.2 SSM juga dimanfaatkan dalam prakiraan cuaca dan jenis analisis deret waktu lainnya.

Dalam beberapa tahun terakhir, penelitian tentang model ruang keadaan telah berfokus pada penggunaannya dalam pembelajaran mendalam, mengintegrasikan jaringan neural sebagai parameter persamaan SSM. Baru-baru ini dan terutama, ini telah menghasilkan arsitektur model Mamba untuk model bahasa besar (LLM), yang telah terbukti cocok dengan kapasitas kinerja model berbasis transformator sambil menawarkan kecepatan dan efisiensi yang unggul.

Apa itu ruang keadaan?

Kondisi suatu sistem pada saat tertentu ditentukan oleh nilai spesifik dari sejumlah variabel sistem. Tujuan dalam memodelkan ruang keadaan secara efektif adalah untuk mengidentifikasi subset terkecil dari variabel sistem yang diperlukan untuk mendeskripsikan sistem secara lengkap. Subset dari variabel sistem ini disebut variabel keadaan .Ruang keadaan adalah ruang berdimensi n yang sumbu-sumbunya (dimensinya) adalah variabel-variabel keadaan, yang berisi semua nilai yang mungkin untuk setiap variabel keadaan n tersebut.

Setiap variabel keadaan ini harus independen secara linier: dengan kata lain, tidak ada satu variabel keadaan yang dapat menjadi kombinasi (dengan penambahan atau pengurangan) dari variabel keadaan lainnya.

Keadaan spesifik sistem pada waktu tertentu dapat dinyatakan sebagai vektor keadaan, di mana setiap elemen vektor mewakili nilai variabel keadaan yang sesuai. Vektor keadaan memiliki jumlah dimensi yang sama dengan ruang keadaan itu sendiri. Vektor keadaan tertentu dapat dipahami sebagai sekumpulan “koordinat” spesifik dalam ruang keadaan.

Contoh-contoh ruang keadaan intuitif

Bayangkan sebuah mobil mainan bergerak di sepanjang jalur lurus dengan kecepatan konstan. Ruang keadaan dapat dimodelkan dengan 2 variabel keadaan: posisi mobil (diukur dalam jarak dari garis mulai) dan kecepatannya. Oleh karena itu, keadaan sistem pada waktu t dapat dinyatakan sebagai vektor keadaan 2 dimensi [posisit, kecepatant]. Dalam sistem sederhana ini, jika Anda mengetahui posisi dan kecepatan mobil secara tepat pada saat tertentu (keadaannya saat ini) Anda dapat memprediksi di mana mobil akan berada pada saat berikutnya.

Kecepatan sendiri menggabungkan 2 variabel sistem : kecepatan dan arah. Karena mobil bergerak di sepanjang lintasan lurus, maka kita dapat dengan mudah merepresentasikan gerakan mundur sebagai kecepatan negatif dan gerakan maju sebagai kecepatan positif. Tetapi mungkin saja, meskipun tidak efisien, untuk mengganti variabel status tunggal kecepatan dengan 2 variabel status kecepatan dan arah.

Jika mobil mainan itu bergerak melalui lapangan terbuka dan bukan di lintasan lurus, maka ruang keadaannya akan menjadi 4 dimensi, karena posisi mobil dan pergerakannya masing-masing membutuhkan setidaknya 2 dimensi untuk dapat dijelaskan secara lengkap.

Dalam praktiknya, "dimensi" ruang keadaan jarang sesuai dengan dimensi dunia fisik yang sudah dikenal dan mudah divisualisasikan. Misalnya, pertimbangkan papan tic tac toe. Kita dapat memperlakukan masing-masing dari 9 kotaknya sebagai variabel keadaan-yang nilainya bisa "0" untuk kosong, "1" untuk X, dan "2" untuk O-dalam ruang keadaan 9 dimensi. Konfigurasi papan apa pun dapat dinyatakan dalam bentuk ruang keadaan sebagai vektor keadaan 9 dimensi.

Tren AI terbaru, dipersembahkan oleh para pakar

Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Bagaimana model ruang keadaan bekerja?

Model ruang keadaan bertujuan untuk memprediksi bagaimana input ke dalam sistem tercermin dalam output dan bagaimana keadaan sistem itu sendiri berkembang dari waktu ke waktu dan sebagai respons terhadap input tertentu.

Pada setiap waktu t, SSM mengambil sekuens input x(t) dan memetakannya ke kondisi saat ini h(t) dan sekuens output y(t). Keadaan h(t) sering disebut sebagai keadaan laten karena, tidak seperti output sistem, keadaan ini tidak dapat diamati secara langsung, yaitu, keadaan laten (tersembunyi).

Representasi ruang keadaan suatu sistem dihitung menggunakan 2 persamaan diferensial orde pertama:

Persamaan keadaan, h(t)=A*h(t)+B*x(t) 
Persamaan output,
y(t)=C*h(t)+D*x(t)


Parameter kunci dari SSM adalah A, B, C dan D, yang biasanya berbentuk matriks. Setiap elemen dari setiap matriks mewakili hubungan — dinyatakan sebagai turunan orde pertama— dari variabel keadaan sehubungan dengan beberapa variabel lain (seperti variabel input eksternal, variabel keadaan lain, atau variabel itu sendiri). Menggunakan matriks membuat metode ruang keadaan menjadi alat yang kuat dan dapat diskalakan untuk mewakili sistem multi-input, multi-output (MIMO) yang kompleks dalam format yang ringkas dan standar.

Dalam teori kontrol dan disiplin terkait, matriks ini sering didefinisikan secara langsung: matriks ini mewakili dinamika sistem yang mapan, dan SSM digunakan untuk menemukan input x yang mengarah pada output y yang diinginkan atau keadaan optimal h. Dalam konsepsi SSM yang lebih modern, matriks tersebut sendiri merupakan parameter yang harus dioptimalkan melalui machine learning untuk mencerminkan pola dalam kumpulan data pelatihan. Dalam model pembelajaran mendalam, “parameterisasi” ini diwakili oleh bobot jaringan neural yang dapat dipelajari.

Persamaan ruang keadaan

Persamaan ruang keadaan (atau hanya persamaan keadaan), seperti namanya, menggambarkan keadaan sistem yang dimediasi oleh matriks A dan matriks B. Dalam notasi ini, h(0) dapat dipahami sebagai keadaan awal sistem, h(t) adalah keadaan laten pada waktu t, dan h'(t) - persamaan diferensial orde pertama untuk h(t) - adalah cara keadaan berubah pada waktu t.

Diagram persamaan ruang keadaan SSM Persamaan keadaan. Ilustrasi berasal dari Maarten Grootendorst "A Visual Guide to Mamba and State Space Models"

Untuk mengontekstualisasikan pengertian abstrak persamaan diferensial dan matriks, kita dapat menjelajahi contoh intuitif yang disederhanakan dari sistem dinamis di mana parameter A, B, C dan D sudah diketahui.

Sebagai contoh, bayangkan sebuah ekosistem kecil di sebuah pulau terpencil yang menjadi rumah bagi populasi ikan dan populasi burung pelikan yang memakan ikan-ikan tersebut. Kita dapat mewakili sistem ini menggunakan 2 variabel keadaan: F (jumlah ikan) dan P  (jumlah burung pelikan). Tujuan kami adalah mendefinisikan sebuah fungsi h(t) yang menggambarkan bagaimana keadaannya h(t), dinyatakan sebagai vektor keadaan [F(t),P(t)] , berubah pada waktu t.

Matriks A

Matriks A, yang juga disebut matriks transisi, menggambarkan bagaimana ekosistem pulau - yang diwakili oleh 2 variabel status - berkembang dari waktu ke waktu jika dibiarkan begitu saja. Lebih khusus lagi, ini menggambarkan bagaimana keadaan saat ini h mempengaruhi keadaan masa depan.

Mari kita asumsikan bahwa dinamika populasi ikan dan pelikan sangat sederhana dan konstan:

  • Dibiarkan begitu saja, populasi ikan  F meningkat pada tingkat 50%.
  • Jika dibiarkan begitu saja, populasi pelikan  P menurun sebesar 5%.
  • Setiap pelikan akan memakan 4 ikan dalam jangka waktu yang sama.
  • Untuk setiap 10 ikan tambahan, ekosistem dapat mendukung 1 pelikan tambahan.

Sekarang kita dapat mengekspresikan setiap dinamika ini dengan persamaan sederhana dan merepresentasikan persamaan-persamaan tersebut dalam sebuah matriks berukuran n x n, di mana n  = jumlah variabel keadaan. Setiap kolom dari matriks 2x2 A mewakili variabel keadaan dan setiap baris mewakili tingkat perubahannya - turunan orde pertama - sehubungan dengan setiap variabel keadaan. Anotasi miring telah ditambahkan untuk kejelasan.

 Fish(F)Pelicans(P)ChangestoFish0.5_-4_ChangestoPelicans0.1_-0.05_

Karena tingkat perubahan populasi konstan dalam skenario yang disederhanakan, elemen-elemen matriks A adalah konstanta sederhana. Skenario dunia nyata sering kali memerlukan lebih banyak variabel keadaan dan hubungan yang lebih kompleks secara matematis di antara mereka-tetapi cara hubungan tersebut diwakili dalam kisi-kisi matriks transisi A yang sesuai akan sama.

Dengan asumsi tidak adanya pengaruh eksternal, h'(t)=A*h(t) sudah cukup untuk menggambarkan bagaimana kondisi ekosistem pulau berevolusi dari waktu ke waktu.

h(t)=A*h(t)

h(t)=[0.5-40.1-0.05]*h(t)

h(t)=[0.5-40.1-0.05]*[F(t)P(t)]  

Memecahkan persamaan ini secara analitis memerlukan penghitungan nilai eigen dan vektor eigen dari Matriks A, yang berada di luar cakupan artikel ini. Namun ternyata, jika dibiarkan begitu saja, ekosistem ini tidak akan lestari: populasi ikan dan burung pelikan akan mengalami siklus yang saling berkaitan dan semakin ekstrem, yang akhirnya berujung pada kehancuran yang dahsyat.

Matriks B

Bagaimana jika ada juga faktor eksternal yang mempengaruhi ekosistem? Matriks B, juga disebut matriks input, menginformasikan separuh lainnya dari persamaan keadaan, menggambarkan bagaimana input yang diberikan mempengaruhi setiap variabel keadaan. Ini adalah matriks dengan ukuran n x m, di mana n = jumlah variabel keadaan dan m = jumlah variabel input eksternal. Inti dari teori kontrol adalah menentukan input sistem x(t) yang mencapai kondisi atau hasil yang diinginkan untuk sistem secara keseluruhan.

Untuk memperluas contoh ekosistem pulau kita, kita akan menambahkan input tunggal: pengiriman makanan ikan x (diukur dalam ton) pada waktu t. Asumsikan bahwa setiap satu ton makanan ikan yang dijatuhkan dari udara memungkinkan peningkatan populasi ikan sebesar 30% dan tidak berdampak pada populasi burung pelikan.

Karena kita memiliki 2 variabel keadaan dan 1 variabel input, kita akan menangkapnya dalam matriks input 2x1. Baris atas matriks B akan mewakili F, agar sesuai dengan matriks A.

 ChangetoFChangetoP   [0.30]

Kita sekarang dapat memodelkan keadaan ekosistem pulau pada waktu t menggunakan persamaan keadaan lengkap:

h(t)=A*h(t)+B*x(t)

h(t)=[0.5-40.1-0.05]h(t)+[0.30]x(t)

Dalam hal ini, tujuannya adalah untuk mengidentifikasi aturan optimal-biasanya diwakili oleh matriks lain yang elemen-elemennya merupakan fungsi dari variabel keadaan-untuk menambahkan input x(t) ke dalam ekosistem setiap kali populasi ikan menurun, dalam rangka menstabilkan ekosistem.

Persamaan output

Seperti yang telah disebutkan sebelumnya, tujuan dari persamaan keadaan adalah untuk menggambarkan "keadaan tersembunyi" h yang tidak dapat diamati secara langsung. SSM mengasumsikan adanya beberapa refleksi dari keadaan sebenarnya yang dapat diamati secara langsung, meskipun mungkin berisik atau tidak lengkap, dan memodelkannya menggunakan persamaan output (juga disebut persamaan observasi).

Diagram persamaan output SSM Persamaan output. Persamaan keadaan. Ilustrasi berasal dari "A Visual Guide to Mamba and State Space Models" karya Maarten Grootendorst.

Hal yang sama juga berlaku untuk contoh ekosistem sederhana kita: pada kenyataannya, mungkin mustahil untuk menghitung setiap ikan dan burung di sebuah pulau. Sebaliknya, studi ekologi mungkin menggunakan drone udara dan kamera bawah air untuk mensurvei secara objektif beberapa populasi ikan dan pelikan, kemudian membuat asumsi tentang bagaimana pengukuran tersebut berhubungan dengan keadaan sebenarnya dari ekosistem.

Matriks C

Matriks C (atau matriks output) menentukan hubungan antara variabel keadaan internal dan output, y. Output itu sendiri direpresentasikan sebagai vektor yang elemen-elemennya sesuai dengan nilai yang diamati untuk setiap variabel output. Dalam contoh ekosistem kita, mari kita tambahkan 4 output: 2 kamera bawah air untuk mengamati populasi ikan dan 2 drone udara untuk mengamati populasi burung pelikan.

  • Kamera 1 berada di lokasi yang baik dengan air jernih. Alat ini dapat dengan andal merekam sekitar 20% dari populasi ikan F yang sebenarnya (dan tidak ada satupun pelikan).
  • Kamera 2 berada di air keruh dan hanya dapat melihat sekitar 5% dari populasi ikan.
  • Drone 1 adalah drone baru yang berkualitas tinggi. Drone ini dapat melihat sekitar 25% dari populasi pelikan P yang sebenarnya, tetapi terbang terlalu tinggi untuk melihat ikan.
  • Drone 2 adalah drone yang lebih tua. Hanya dapat melihat sekitar 10% dari populasi pelikan.

Kita dapat mewakilkan variabel output ini dalam matriks p x n C, di mana n = jumlah variabel keadaan dan p = jumlah sinyal output yang akan diukur. Untuk menyelaraskan dengan matriks kita sebelumnya, kolom kiri sesuai dengan hubungan setiap variabel output dengan  F dan kolom kanan sesuai dengan hubungannya dengan  P .

Camera1Camera2Drone1Drone2[.20.0500.250.10]

Menghubungkan output dengan keadaan sistem

Kita sekarang dapat memodelkan output sistem y pada waktu t sebagai

 y(t)=C*h(t)=[.20.0500.250.10]*[F(t)P(t)]

Secara teoretis, hal ini akan memungkinkan kita untuk mendapatkan keadaan sebenarnya h dari pengukuran output y dengan merujuk pada persamaan keadaan dan output.

Pada kenyataannya, hubungan yang tepat antara pengukuran output dan kondisi sebenarnya jarang dapat diketahui, dan pengukuran output itu sendiri sering kali tidak sempurna dan tunduk pada variasi yang berisik. Sebagai contoh, tidak realistis untuk mengasumsikan bahwa Drone 1 akan menemukan tepat 25% burung pelikan di pulau itu. Filter Kalman adalah teknik yang biasa digunakan untuk menghasilkan estimasi keadaan sebenarnya dengan kemungkinan maksimum, menggunakan output sistem yang berisik.

Matriks D

Matriks D menjelaskan bagaimana input secara langsung mempengaruhi output sistem yang diamati. Hal ini sering kali dihilangkan dari diagram dan diskusi tentang SSM karena pada dasarnya ia melewati "model" yang sebenarnya, tidak memiliki hubungan langsung dengan keadaan itu sendiri.

Sebagai contoh, dalam contoh ekosistem kita, bayangkan jika arus air di perairan pulau menyebabkan makanan ikan yang dijatuhkan dari udara cenderung mengendap di dekat kamera 2. Hal ini dapat menyebabkan kamera 2 merekam persentase yang lebih besar dari populasi ikan yang sebenarnya daripada biasanya (dan kamera 1 menangkap persentase F yang lebih rendah daripada biasanya) setiap kali input ditingkatkan. Matriks p x m D akan memperhitungkan efek seperti itu pada masing-masing output.    

Dalam beberapa kasus, tidak ada hubungan langsung antara input dan output dan D langsung dikeluarkan dari model.

Akademi AI

Memilih model AI yang tepat untuk contoh penggunaan Anda

Lebih besar tidak selalu lebih baik dalam hal model AI. Pelajari cara menemukan model yang tepat untuk kebutuhan bisnis Anda. Kemudian dapatkan buku panduan untuk membantu Anda mengambil tindakan.

SSM dan machine learning

Menggunakan filter Kalman untuk memetakan output sistem ke kondisi sistem yang sebenarnya membutuhkan parameter A dan B yang harus diketahui sebelumnya. Tetapi dalam banyak kasus, dinamika sistem ruang keadaan—parameter A, B dan C—awalnya tidak diketahui. Parameter yang tepat harus ditentukan untuk menggunakan kerangka kerja SSM agar dapat membuat prediksi yang bermakna tentang sistem.

Sejumlah algoritma machine learning dapat digunakan untuk memperoleh nilai A, B, dan C dari input yang diketahui dan output yang sesuai, menggunakan 2 persamaan saling terkait yang menggambarkan interaksi mereka. Jika modelnya linear time-invariant (LTI)—jika dinamikanya konsisten dari waktu ke waktu dan output naik secara proporsional dengan input—algoritma maksimalisasi ekspektasi atau metode subruang seperti N4SID dapat memperkirakan parameter model secara efisien.

SSM dan pembelajaran mendalam

Dalam beberapa tahun terakhir, pembelajaran mendalam telah muncul sebagai sarana yang semakin umum untuk mempelajari parameter SSM. Pendekatan semacam itu mewakili matriks A, B dan C sebagai bobot jaringan neural. Dalam proses iteratif:

  • Model diberi input dari data pelatihan dan bertugas memprediksi output sistem.
  • Output yang diprediksi diukur terhadap output “ground truth” aktual untuk input itu, menggunakan fungsi kerugian.
  • Propagasi balik digunakan untuk menentukan bagaimana setiap parameter model—yaitu, setiap elemen dari matriks A, B dan C—berkontribusi pada kesalahan yang diukur.
  • Turunan gradien digunakan untuk mengoptimalkan parameter model dengan cara yang mengurangi kerugian (ketidakakuratan).
  • Proses ini diulangi, memperbarui matriks SSM hingga prediksi model mencapai ambang batas akurasi yang dapat diterima.

Dengan menggunakan proses pembelajaran yang diawasi ini (atau pembelajaran yang diawasi sendiri), model ini secara implisit mempelajari dinamika sistem ruang keadaan. Meskipun ini adalah cara yang kuat dan serbaguna untuk mempelajari parameter SSM yang optimal, namun membutuhkan banyak data pelatihan.

Tidak seperti SSM konvensional, SSM berbasis jaringan neural tidak dapat ditafsirkan: nilai matriksnya tidak lagi sesuai dengan hubungan antara variabel keadaan dan parameter model lainnya dengan cara yang intuitif, seperti pada contoh sebelumnya. Ini bukan kelemahan unik dari SSM mendalam, melainkan kualitas universal untuk model pembelajaran mendalam secara besar-besaran.

Model ruang keadaan diskret

SSM tradisional adalah model waktu kontinu yang dirancang untuk memodelkan urutan kontinu, seperti sinyal listrik atau lintasan benda bergerak. Namun, banyak modalitas data yang diproses oleh model pembelajaran mendalam modern - seperti teks, struktur molekul, perilaku pengguna, atau data deret waktu - biasanya berupa sekuens diskret. Menggunakan SSM untuk memodelkan sekuens diskret memerlukan cara untuk merepresentasikan langkah waktu yang berbeda dan spesifik sebagai bagian dari sinyal kontinu.

Secara konseptual, diskretisasi berarti pengambilan sampel "snapshot" dari nilai fungsi kontinu pada saat-saat tertentu. Hal ini memerlukan pengenalan parameter baru, ukuran langkah, , yang menentukan berapa lama snapshot "ditahan" pada setiap langkah waktu diskret t. Penyesuaian pada mirip dengan perubahan pada kualitas seperti resolusi data (untuk data deret waktu) atau kecepatan bingkai (untuk data video). Metode diskretisasi yang umum termasuk metode bilinear, metode Euler, dan metode zero order hold (ZOH) sederhana yang digunakan oleh banyak varian SSM modern (termasuk Mamba).

Koneksi antara SSM dan RNN

Sementara SSM waktu kontinu memetakan fungsi x(t) ke fungsi y(t), SSM waktu diskret adalah model sekuens ke sekuens. Secara matematis, SSM yang diskretisasi setara dengan jaringan neural berulang (RNN), yaitu ketika keadaan laten sistem setara dengan “keadaan tersembunyi” RNN.

Meskipun ada perbedaan dalam huruf tertentu yang digunakan untuk menyatakan input dan keadaan dalam persamaan SSM, dalam beberapa kasus, input dinyatakan sebagai u dan keadaan dinyatakan sebagai x, keterkaitan dengan RNN inilah yang memotivasi penggunaan h untuk menyatakan keadaan dalam sebagian besar konteks machine learning. Hubungan dengan RNN juga yang menyebabkan pengembangan arsitektur berbasis SSM modern seperti Mamba.

Parameter dan persamaan SSM yang didiskretisasi biasanya ditulis ulang untuk membedakannya dari persamaan waktu kontinu, menggunakan notasi subskrip yang biasanya digunakan untuk RNN. Dalam notasi ini, htt mewakili ruang keadaan yang diperbarui yang akan dihasilkan model dan ht-1 mewakili keadaan sebelumnya, yaitu ruang keadaan saat ini. Notasi A, B dan C juga diubah untuk mencerminkan bentuk diskretisasi mereka.

 ht=A¯ht-1+B¯xt 
 yt=C¯ht


Dalam formulasi diskret ini, status sistem diperbarui setelah setiap langkah waktu t (menggunakan persamaan keadaan), yang kemudian memungkinkan keadaan yang diperbarui untuk menginformasikan persamaan output dalam langkah waktu berikutnya.

Model ruang keadaan terstruktur

Meskipun memiliki banyak kelebihan, SSM diskret standar memiliki beberapa kekurangan penting dengan RNN. Dua kekurangan paling penting diatasi dengan diperkenalkannya model sekuens ruang keadaan terstruktur (atau “model S4”) oleh Albert Gu dkk pada tahun 2021: ketidakmampuannya dalam menangani sekuens panjang dan inefisiensi bawaannya selama pelatihan model.

Kekurangan pertama ditangani melalui strategi unik untuk inisialisasi parameter SSM sebelum pelatihan. Kekurangan terakhir ditangani melalui penemuan hubungan penting antara SSM dan jaringan neural konvolusional (CNN).

Inisialisasi HiPPO

Seperti RNN standar, SSM diskret konvensional secara inheren lemah dalam memodelkan dependensi jarak jauh. Dengan kata lain, mereka tidak pandai memahami hubungan antara langkah-langkah dalam urutan yang berjauhan, seperti kata-kata di awal dan akhir paragraf-yang membuat mereka lemah dalam memodelkan urutan yang panjang (seperti data teks) secara keseluruhan.

Untuk mengatasi hal ini, Gu dkk mengusulkan penggunaan teknik yang disebut HiPPO (kependekan dari High-order Polynomial Projection Operators) untuk menentukan cara matriks A dan B berperilaku.

Fungsi polinomial menggabungkan satu atau beberapa suku .Setiap suku terdiri dari koefisien dan fungsi dasar dari beberapa variabel. Sebagai contoh, 3x2 adalah suku yang koefisiennya adalah 3 dan basisnya adalah x2. "Orde" polinomial ditentukan oleh pangkat tertinggi dari basis yang dikandungnya: 3x2 + 5x adalah "polinomial tingkat dua". Semakin tinggi urutan polinomial, semakin detail rumit dapat ditangkap dalam kurvanya.

Fungsi polinomial ortogonal adalah "keluarga" polinomial khusus, yang mencakup beberapa urutan, di mana setiap polinomial secara matematis independen dari yang lain, memastikan tidak ada tumpang tindih yang berlebihan atau ketergantungan informasi di antara mereka. Mereka juga sangat kuat untuk kesalahan pembulatan kecil, membuatnya berguna untuk mendekati fungsi yang lebih kompleks. Keluarga polinomial ortogonal sendiri dihasilkan oleh aturan yang disebut rumus perulangan tiga suku. Metode HiPPO menggunakan rumus pengulangan tersebut untuk membangun matriks A dan B.

Pada hakikatnya, setiap kali keadaan ht diperbarui oleh persamaan keadaan A¯ht-1+B¯xt , elemen-elemen vektor keadaan ht bertindak sebagai koefisien ekspresi polinomial yang mendekati input asli. Input yang lebih lama diperkirakan melalui polinomial orde rendah yang menangkap detail yang luas dan frekuensi rendah (jangka panjang) dan input yang lebih baru diperkirakan melalui polinomial orde lebih tinggi yang menangkap detail yang halus dan frekuensi tinggi (jangka pendek). Karena polinomial yang dipilih bersifat ortogonal, tidak ada informasi yang diulang. Intinya, struktur ini memaksa ruang keadaan untuk "mengingat" seluruh riwayat input dengan "mengompres" secara efisien ke dalam vektor koefisien berukuran tetap.

Makalah S4 mencatat bahwa "hanya dengan memodifikasi SSM dari matriks acak A ke [Matriks HiPPO] meningkatkan kinerjanya pada tolok ukur MNIST berurutan dari 60% menjadi 98%," secara efektif memecahkan masalah memori jangka panjang SSM. Variasi selanjutnya dari SSM terstruktur, seperti DSS, S5, dan Mamba, menggunakan skema inisialisasi yang berbeda (seringkali lebih sederhana) untuk A dan B, tetapi tetap menggunakan prinsip inti HiPPO.

Koneksi antara SSM dan CNN

Seperti RNN konvensional, setara SSM diskret mereka sangat cepat pada inferensi autoregresif. Kekurangan dari kesetaraan ini adalah bahwa RNN sangat lambat untuk dilatih.

Untungnya, SSM yang didiskretisasi memiliki satu sifat penting yang membedakannya dari RNN lain: mereka secara eksklusif memodelkan ketergantungan linear. Dengan kata lain, mereka hanya menggunakan operasi perkalian dan penjumlahan yang sederhana dan langsung. Seperti yang ditunjukkan oleh makalah S4, perulangan linier yang sederhana, berulang, dan saling bergantung ini dapat dibuka menjadi kernel konvolusi 1 dimensi, yang secara langsung memetakan input x ke output y dalam satu langkah: . Ini dapat dihitung dengan sangat efisien menggunakan transformasi Fourier cepat.

Satu-satunya "syarat" adalah bahwa ini hanya mungkin ketika setiap langkah dari seluruh urutan input diketahui. Hal ini tidak terjadi pada saat inferensi: inti dari inferensi adalah menggunakan model untuk secara iteratif memprediksi langkah selanjutnya dalam suatu urutan, karena tidak diketahui. Tetapi selama pelatihan, ketika model diberi umpan sekuens sampel dan dioptimalkan untuk meningkatkan akurasi prediksinya, seluruh sekuens diketahui .

Hal ini memungkinkan SSM terstruktur untuk menikmati yang terbaik dari kedua dunia: selama pelatihan, SSM dapat dioperasikan dengan sangat efisien sebagai CNN; selama inferensi, SSM dapat dioperasikan dengan sangat efisien sebagai RNN.

Model Mamba

Mamba adalah arsitektur jaringan neural yang dibangun di atas varian khusus dari SSM terstruktur: model ruang keadaan selektif .Dalam tugas-tugas seperti pemodelan bahasa autoregresif, model Mamba telah membuktikan diri untuk mencocokkan atau melebihi kinerja model transformator di sebagian besar tolok ukur akademis sambil secara signifikan lebih cepat dan lebih hemat memori dalam kedua inferensi dalam pelatihan.

SSM biasa dirancang secara eksplisit untuk memetakan input ke output menggunakan seluruh riwayat input.Hal ini dapat diterima atau bahkan diinginkan untuk beberapa tugas pemodelan urutan, tetapi merupakan hambatan yang signifikan untuk sebagian besar tugas pemodelan bahasa tingkat lanjut. Model ruang keadaan selektif memberi Mamba kemampuan penting yang sebelumnya hanya ditawarkan oleh mekanisme perhatian diri dari arsitektur transformator: kemampuan untuk secara selektif fokus atau mengabaikan bagian tertentu dari riwayat input masa lalu berdasarkan relevansinya saat ini.

Dalam desain SSM sebelumnya, parameter A, B, C, D dan ∆ diperbaiki: setelah dioptimalkan melalui pelatihan model, mereka sama untuk setiap input. Dalam SSM selektif , parameter SSM bergantung pada input: parameter ini dihasilkan dengan mengalikan ("memproyeksikan") vektor input dengan lapisan bobot model, yang kemudian dioptimalkan dalam pelatihan.

Namun, karena SSM selektif bukan invarian waktu linier (LTI), mereka tidak dapat beroperasi sebagai CNN selama pelatihan. Penulis Mamba mengatasi kekurangan ini dengan pemindaian paralel yang sadar akan perangkat keras, sebuah algoritme yang mengoptimalkan cara unit pemrosesan grafis (GPU) menangani komputasi model dalam hierarki memorinya untuk memaksimalkan kecepatan dan efisiensi komputasi.

Diagram model ruang keadaan selektif Alokasi SSM dan RAM selektif pada GPU. Diambil dari makalah asli, "Mamba: Linear Time-Sequence Modeling with Selective State Spaces"
Solusi terkait
Model dasar

Jelajahi perpustakaan model dasar IBM di portfolio watsonx untuk menskalakan AI generatif untuk bisnis Anda dengan percaya diri.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Jelajahi perpustakaan model dasar IBM dalam portofolio IBM watsonx untuk menskalakan AI generatif untuk bisnis Anda dengan penuh percaya diri.

Temukan watsonx.ai Jelajahi model AI IBM Granite
Catatan kaki