Lewati ke konten utama

Ulasan metode machine learning yang relevan

Dalam bagian ini, kita akan mengulas beberapa istilah dan metode kunci dari machine learning klasik yang akan membantu kita lebih memahami alur kerja dalam quantum machine learning. Kita akan memperkenalkan beberapa istilah umum terlebih dahulu, sebelum mendalami dua jenis machine learning: metode kernel (terutama dalam konteks support vector machine) dan jaringan saraf. Tentu ada koneksi antar metode ini, tapi kita akan memperlakukannya sebagai hal yang berbeda karena perbedaan alur kerja kuantum yang dibahas di sini dan pelajaran selanjutnya. Ini hanya gambaran singkat, dan kita akan melewatkan banyak nuansa. Untuk gambaran yang lebih lengkap tentang machine learning, kami merekomendasikan sumber seperti [1-3].

Jenis-jenis machine learning

Sebagai definisi sederhana, machine learning adalah kumpulan algoritma yang menganalisis dan menarik kesimpulan dari pola dan hubungan dalam data. Secara garis besar, algoritma machine learning dapat dikelompokkan menjadi tiga kategori utama tergantung pada jenis data yang terlibat dan bagaimana algoritma belajar tanpa diprogram secara eksplisit:

  1. Supervised learning (Pembelajaran terarah): Dalam supervised learning, data yang digunakan untuk melatih model diberi label. Tujuan algoritma ini adalah mempelajari hubungan antara data dan label atau output yang sesuai, serta menggeneralisasikan ini ke data yang belum pernah dilihat. Tugas umum dalam kelas ini adalah klasifikasi dan regresi.
  2. Unsupervised learning (Pembelajaran tidak terarah): Berbeda dengan supervised learning, unsupervised learning menggunakan data tanpa label untuk melatih model machine learning. Tujuan algoritma seperti ini adalah menemukan pola dan struktur tersembunyi dalam data. Beberapa algoritma dalam kelas ini adalah algoritma pengelompokan dan reduksi dimensi. Beberapa model generatif seperti generative adversarial networks dan variational autoencoders juga bisa dikategorikan di sini.
  3. Reinforcement learning (Pembelajaran penguatan): Algoritma dalam kategori machine learning ini didefinisikan oleh agen yang berinteraksi dengan lingkungan. Agen mengambil tindakan dan menerima umpan balik dari lingkungannya dalam bentuk hadiah dan hukuman. Akhirnya melalui mekanisme umpan balik ini, agen belajar mengambil serangkaian tindakan yang tepat untuk melakukan tugas tertentu.

A diagrammatic representation of supervised and unsupervised learning.

Gambar kiri menunjukkan dua kategori data berlabel seperti dalam supervised learning. Dalam kasus ini, kategori-kategorinya dapat dipisahkan secara linear. Gambar kanan menunjukkan kelompok-kelompok data. Dalam tugas unsupervised learning, data ini awalnya tidak akan diberi label dan algoritma akan mempelajari distribusinya, mungkin mencari kelompok. Untuk keperluan memvisualisasikan kelompok contoh yang mungkin diidentifikasi oleh algoritma, titik-titik data kini telah diberi label. Perbedaan utama antara keduanya adalah bahwa proses supervised learning dimulai dengan data yang sudah diberi label dan proses unsupervised dimulai dengan data tanpa label, meskipun data mungkin diberi label di akhir.

Mengenalkan "kuantum" ke machine learning

Kita sekarang bisa mulai menjelajahi bagaimana "kuantum" diperkenalkan ke machine learning. Dalam kategorisasi yang lebih luas ini, kita mempertimbangkan jenis model/algoritma pada perangkat pemrosesan, serta jenis data yang diberikan padanya. Gambar di atas merangkum kemungkinan kombinasi ini.

A diagram showing quadrants with algorithms on one axis and data on the other, where each can be quantum or classical in nature.

Misalnya, CC berarti kita memiliki dataset klasik – seperti gambar, suara, atau teks yang bisa kita simpan di komputer klasik – dan kita juga menggunakan komputer klasik untuk menjalankan algoritma machine learning. Ini persis setting machine learning klasik. Di sisi lain, QQ berarti kita menggunakan komputer kuantum untuk memproses data kuantum. Di sini, "data kuantum" bisa berarti beberapa hal, dan bisa bergantung pada konteks. Data kuantum bisa dianggap sebagai sekumpulan hasil pengukuran yang diperoleh dari perangkat kuantum, atau bisa merujuk pada keadaan yang telah disiapkan di komputer kuantum oleh algoritma lain. Di masa depan, bahkan bisa merujuk pada data yang disimpan dalam QRAM (Quantum Random Access Memory), yang saat ini belum ada. Ketika para peneliti berbicara tentang quantum machine learning, mereka biasanya merujuk pada rezim CQ, di mana dataset yang ada adalah klasik dan perangkat pemrosesan yang menjalankan algoritma machine learning adalah komputer kuantum. Dalam bagian kursus berikutnya, kita akan fokus pada algoritma-algoritma seperti itu.

Support vector machines

Kita sekarang mengulas kelas algoritma yang disebut support vector machines dari sudut pandang machine learning klasik. Nanti kita akan menunjukkan cara memasukkan komputasi kuantum ke dalam algoritma ini.

A diagram of a support vector machine.

Anggap ada tugas klasifikasi biner pada dataset dengan ruang fitur dua dimensi seperti yang ditunjukkan pada plot. Satu hal yang bisa kita lakukan untuk melakukan klasifikasi untuk dataset ini adalah menemukan garis, atau secara umum hyperplane yang memisahkan dua kelas. Dalam praktiknya kita bisa menemukan hyperplane pemisah yang tak terhitung banyaknya, jadi pertanyaannya adalah: Bagaimana kita mendefinisikan yang optimal? Idenya adalah bahwa batas keputusan yang sangat baik harus memaksimalkan margin, yang didefinisikan sebagai jarak ke titik-titik terdekat di setiap kelas. Dalam setting ini, titik-titik data dengan jarak terkecil ke batas keputusan disebut support vectors.

Batas keputusan linear bisa dijelaskan dengan beberapa cara; dalam beberapa hal cara paling lugas adalah yang ditunjukkan dalam f1f_1 di bawah ini. Di sini, Θ\Theta adalah sekumpulan parameter yang mendefinisikan hyperplane, x\vec{x} adalah datasetmu, dan bb adalah pergeseran konstan. Φ\Phi adalah pemetaan dari ruang titik data input yang sering (tapi tidak selalu) ke ruang berdimensi lebih tinggi. Kita akan kembali ke pemetaan ini di bawah.

Dalam model f1,f_1, Θ\Theta adalah vektor parameter yang dapat disetel yang akan dipelajari oleh model. Ini yang kita sebut "formulasi primal". Dengan beberapa manipulasi matematika kita bisa menunjukkan bahwa ada cara kedua kita bisa merumuskan masalah yang sama. Kita sebut ini "formulasi dual", yang digambarkan oleh persamaan f2f_2 di bawah ini. Untuk formulasi ini, kita perlu mengoptimalkan parameter alpha. Perbedaan utamanya adalah bahwa dalam formulasi primal persamaan memiliki produk dalam antara vektor fitur dan parameter yang dapat dipelajari, sedangkan dalam formulasi dual produk dalamnya adalah antar vektor fitur. Meskipun bentuk dual mencakup fitur data pelatihan dan label yang sesuai, kita akan melihat di bagian berikutnya bagaimana itu terbukti lebih berguna daripada bentuk primal.

f1(x)=ΘTΦ(x)+bf_1(\vec{x}) = \Theta^T \Phi(\vec{x})+b f2(x)=i=1nαiyiΦT(xi)Φ(x)+bf_2(\vec{x}) = \sum_{i=1}^n \alpha_i y_i \Phi^T(\vec{x}_i)\Phi(\vec{x})+b

Metode kernel dan bagaimana kuantum bisa berperan

Video di bawah memotivasi bagaimana kuantum bisa berperan dalam pengklasifikasi linear. Ini dijelaskan lebih detail dalam teks.

Pindah ke ruang berdimensi lebih tinggi

Dalam ini dan subbagian berikutnya, diskusi berfokus pada pemetaan ke dimensi yang lebih tinggi. Poin di sini adalah untuk menjelaskan "kernel trick" dalam konteks pemetaan antara ruang, dan dengan demikian menyiapkan panggung untuk apa itu quantum kernel. Poinnya bukan bahwa dimensi yang lebih tinggi dalam fungsi gelombang kuantum menyelesaikan semua masalah kita. Seperti yang disebutkan dalam pengantar, peta fitur Gaussian klasik sudah tak terbatas dimensinya. Dimensionalitas fitur data itu penting, tapi keadaan kuantum berdimensi tinggi tidak cukup untuk peningkatan dibandingkan metode klasik.

Secara grafis, seseorang dapat dengan mudah melihat bagaimana kita bisa menggeneralisasi pendekatan SVM ke kasus di mana data asli tidak dapat dipisahkan secara linear, mengingat pemetaan yang tepat ke dimensi yang lebih tinggi. Melihat data dua dimensi di sebelah kiri, kita dapat melihat bahwa tidak ada batas keputusan linear yang dapat memisahkan dua kelas. Namun, kita bisa mempertimbangkan untuk menambahkan fitur ketiga ke ruang fitur kita. Jika fitur baru ini adalah - misalnya - jarak ke asal dari dua fitur sebelumnya x1x_1 dan x2x_2, maka data menjadi dapat dipisahkan secara linear. Ini juga berarti kita bisa menjalankan algoritma support vector machine dengan sukses sekarang pada ruang fitur berdimensi lebih tinggi ini.

A diagram showing a ring of one data type with a second data type filling in the middle of the ring. A second cell shows the data projected into 3D, as in a bowl shape. Now the data are linearly separable.

Kita juga menyebut "pemetaan fitur" ini Φ\Phi. Peta fitur sering memetakan dari ruang data input ke dimensi yang lebih tinggi, seperti yang ditunjukkan di sini, tapi ada model dan algoritma yang memanfaatkan pemetaan ke dimensi yang lebih rendah. Pemetaan ke dimensi yang lebih tinggi hanyalah kasus yang mudah untuk divisualisasikan dan dipahami.

x=(x1x2)\vec{x} = \begin{pmatrix}x_1 \\ x_2 \end{pmatrix} Φ(x)=(x1x2x12+x22)\vec{\Phi}(\vec{x}) = \begin{pmatrix}x_1 \\ x_2 \\ {x_1}^2+{x_2}^2\end{pmatrix}

Beberapa peta fitur mungkin memetakan ke ruang berdimensi sangat tinggi. Dalam kasus seperti itu, dimensionalitas yang tinggi membuat produk dalam lebih mahal secara komputasi. Kita akan kembali ke poin itu di bawah.

Mengapa bentuk dual berguna?

Ingat formulasi primal dan dual dari model batas linear kita:

f1(x)=ΘTΦ(x)+bf_1(\vec{x}) = \Theta^T \Phi(\vec{x})+b f2(x)=i=1nαiyiΦT(xi)Φ(x)+bf_2(\vec{x}) = \sum_{i=1}^n \alpha_i y_i \Phi^T(\vec{x}_i)\Phi(\vec{x})+b

Sekarang setelah kita tahu bahwa menggunakan peta fitur untuk mencapai ruang berdimensi lebih tinggi bisa memungkinkan kita berhasil menemukan hyperplane pemisah, kita bisa mengganti vektor fitur asli x\vec{x} dalam persamaan dengan vektor yang dipetakan fiturnya. Namun, jika kita melakukan ini dalam formulasi primal, kita menghadapi masalah harus menghitung produk dalam antara parameter dan peta fitur yang berpotensi sangat berdimensi tinggi. Namun, dalam formulasi dual, kita melihat bahwa ini diganti dengan produk dalam antara vektor yang dipetakan fiturnya dari input yang berbeda.

Untuk beberapa peta fitur, mungkin dimungkinkan untuk menulis produk dalam dari vektor yang dipetakan fiturnya ΦT(xi)Φ(xj)\vec{\Phi}^T(\vec{x}_i)\cdot \vec{\Phi}(\vec{x}_j) sebagai fungsi sederhana k(xi,xj)k(\vec{x}_i, \vec{x}_j) dari variabel asli (berdimensi lebih rendah) xi\vec{x}_i dan xj\vec{x}_j. Untuk beberapa pilihan Φ,\Phi, kita bahkan mungkin bisa menulis ΦT(xi)Φ(xj)\vec{\Phi}^T(\vec{x}_i)\cdot \vec{\Phi}(\vec{x}_j) sebagai fungsi sederhana dari produk dalam berdimensi lebih rendah xiTxj\vec{x}_i^T\vec{x}_j. Ini sangat menguntungkan secara komputasi karena kita bisa mengakses ruang di mana data dapat dipisahkan secara linear, tapi tanpa biaya manipulasi dalam dimensi yang lebih tinggi. Bahkan, karena vektor yang dipetakan fiturnya hanya muncul dalam f2f_2 dalam produk dalam, kita mungkin bahkan tidak perlu secara eksplisit melakukan pemetaan fitur untuk menghitung produk dalam. Kita menyebut fungsi k(xi,xj)k(\vec{x}_i, \vec{x}_j) yang menghitung produk dalam sebagai "fungsi kernel", dan cara menghindari komputasi peta fitur ini disebut "kernel trick". Bahkan, vektor yang dipetakan fiturnya bahkan bisa tak terbatas dimensinya, tapi kernel mungkin masih sangat efisien untuk dihitung.

Fungsi kernel itu sendiri adalah fungsi dari dua vektor data input. Memasukkan setiap pasang vektor data dalam dataset sebagai argumen dari fungsi kernel menghasilkan matriks simetris, semi-definit positif, yang disebut matriks kernel:

k=(k(x1,x1)k(x1,x2)...k(x2,x1)k(x2,x2)...)k = \begin{pmatrix}k(\vec{x}_1,\vec{x}_1) & k(\vec{x}_1,\vec{x}_2) & ... \\ k(\vec{x}_2,\vec{x}_1) & k(\vec{x}_2,\vec{x}_2) & ... \\ \vdots & \vdots & \ddots\end{pmatrix}

Setelah kita menghitung matriks kernel, maka kita bisa menemukan parameter optimal (αi\alpha_i) menggunakan metode seperti perangkat lunak quadratic programming atau algoritma yang disebut "sequential minimal optimization". Tentu saja, ini mengasumsikan ada kernel yang dapat dihitung secara efisien yang sesuai dengan peta fitur yang membuat kelas data kamu dapat dipisahkan secara linear. Pendekatan terkait tapi baru adalah estimasi quantum kernel.

Quantum kernels

Komputer kuantum, atau keadaan kuantum secara umum, memungkinkan definisi yang sangat alami dari "quantum kernel". Kita bisa menginterpretasikan pengkodean input x\vec{x} ke dalam keadaan kuantum Φ(x)|\Phi(\vec{x})\rangle sebagai peta fitur. Proses ini mungkin memang memetakan data ke ruang berdimensi sangat tinggi seperti yang umum dalam peta fitur klasik, tapi dimensionalitasnya akan bergantung pada metode pengkodean (lihat pelajaran Pengkodean Data). Ingat bahwa produk dalam dari dua keadaan kuantum ψϕ\langle \psi | \phi \rangle berkaitan dengan probabilitas mengukur keadaan ϕ|\phi\rangle saat dalam keadaan ψ|\psi\rangle. Kita bisa memperkirakan produk dalam dari dua titik data yang dipetakan Φ(xi)\vec{\Phi}(\vec{x}_i) dan Φ(xj)\vec{\Phi}(\vec{x}_j) dengan membuat pengukuran yang cukup banyak dari circuit yang dihasilkan.

An abstract representation of a kernel as a circuit.

Seperti yang akan kita lihat nanti dalam kursus, kita bisa menggunakan pengukuran pada Circuit kuantum seperti yang ditunjukkan di atas untuk memperkirakan kernel, dan kita kemudian bisa menjalankan optimasi SVM secara klasik pada matriks kernel untuk mempelajari parameter yang dapat disetel.

Variational quantum classifiers dan jaringan saraf

Algoritma quantum machine learning jangka pendek lainnya disebut "variational quantum circuits" (VQC). Ketika circuit ini digunakan dalam tugas klasifikasi, kamu mungkin melihat singkatan yang sama digunakan untuk merujuk pada "variational quantum classifiers" (juga VQC). Ini sering memanfaatkan struktur yang mirip dengan jaringan saraf klasik (NN); dan dalam kasus-kasus itu kamu akan melihatnya dijelaskan sebagai quantum neural networks (QNN). Penting untuk dipahami bahwa VQC lebih umum dan tidak harus mengikuti struktur NN, tapi kita mulai dengan analogi NN untuk membantu memperjelas peran yang bisa dimainkan kuantum dalam alur kerja machine learning yang ada. Kita kemudian akan mendiskusikan generalisasi. Kita mulai dengan mengulas kembali jaringan saraf klasik.

Video di bawah ini memberikan ulasan singkat tentang jaringan saraf, dan di mana mereka tumpang tindih dengan variational quantum circuits. Ini lebih dieksplorasi dalam teks.

Jaringan saraf adalah model komputasi yang secara longgar terinspirasi oleh struktur dan fungsi neuron dalam otak. Neuron-neuron ini, yang merupakan node yang kita lihat dalam gambar, diorganisir ke dalam lapisan, dan terhubung melalui bobot.

QML_CR_background_QNN_2ndlayer.png

Lapisan pertama adalah lapisan input, dan aktivasi an0a_n^0 neuron dalam lapisan ini diumpankan langsung dari data x\vec{x} yang akan dianalisis (seperti bayangan piksel individual dalam sebuah gambar, misalnya). Lapisan terakhir adalah lapisan output yang mendeskripsikan kategorisasi (seperti mengklasifikasikan gambar memiliki peluang 90% sebagai anjing, dan 10% peluang sebagai kucing, untuk tetap dengan contoh gambar).

QML_CR_background_QNN_output.png

Neuron-neuron di setiap lapisan memproses sinyal yang mereka terima dari lapisan sebelumnya dan mentransmisikannya ke lapisan berikutnya melalui bobot, wiw_i (koneksi dalam diagram). Jika kita fokus pada salah satu neuron ini, kita memiliki blok bangunan jaringan saraf, yang disebut "perceptron". Secara matematis, perceptron menerima vektor input x\vec{x}, dan menghitung produk dalamnya dengan vektor bobot yang dapat dilatih ditambah beberapa bias. Dan sangat penting, perceptron menerapkan fungsi aktivasi non-linear (σ\sigma) di atas komputasi ini. Fungsi aktivasi non-linear ini sangat penting untuk kekuatan ekspresif yang besar dari jaringan saraf. Cara lain untuk memikirkan ini adalah bahwa, jika kita tidak memiliki non-linieritas di antara lapisan, maka kita pada prinsipnya bisa menulis seluruh jaringan saraf sebagai satu perkalian matriks besar. Ini hanya akan menghasilkan model linear, yang tidak akan mampu menangkap pola kompleks yang dapat ditangkap oleh jaringan saraf dalam. Oleh karena itu, fungsi aktivasi non-linear sangat fundamental dalam jaringan saraf.

perceptron_CP.png

Fungsi seperti

f(x)=σ(wx+b)f(\vec{x}) = \sigma (\vec{w}\cdot \vec{x}+\vec{b})

dihitung di setiap neuron menggunakan data yang diketahui x\vec{x} dan σ\sigma non-linear serta vektor bobot yang tidak diketahui w\vec{w} dan bias b\vec{b}. Umumnya, bisa ada bobot non-nol antara semua neuron di semua lapisan, dan kita akan menyebut bobot dari lapisan LL ke lapisan L+1L+1 antara neuron mm dan n,n, wm,nLw^L_{m,n}. Demikian pula, bias pada neuron ke-nthn^\text{th} dari lapisan ke-LthL^\text{th} akan menjadi bnL.b^L_n. Bias di sini tidak terkait dengan bb-bb dari diskusi quantum kernel.

Kamu mungkin memulai jaringan saraf kamu dengan sekumpulan bobot dan bias acak, atau dari konfigurasi awal yang diketahui wajar. Dari situ, idenya adalah memeriksa seberapa baik jaringan saraf kamu mengklasifikasikan hal-hal dan memperbaikinya. Kita menggunakan fungsi biaya untuk mendeskripsikan seberapa jauh jaringan saraf kita menyimpang dari klasifikasi yang benar. Ada banyak cara mendefinisikan fungsi biaya. Kita akan mendeskripsikan satu contoh umum di sini, yang melibatkan mean-squared error (MSE):

C(wm,nL,bnL)=1Ni=1Ntrainj=1Noutputs(vi,jpi,j)2C(w^L_{m,n},b^L_n) = \frac{1}{N}\sum_{i=1}^{N_\text{train}}\sum_{j=1}^{N_\text{outputs}}{(v_{i,j}-p_{i,j})^2}

Bergantung pada aplikasimu, ini bisa berarti mengambil perbedaan antara nilai aktual vi,jv_{i,j} dari sebuah gambar ii dari data pelatihan untuk output jj (misalnya, nilai 1,0 pada neuron lapisan output untuk "anjing" dan 0 pada semua neuron lain) dan nilai yang diprediksi pi,jp_{i,j}. Kuadratkan perbedaan itu dan jumlahkan semua kategori, sehingga menangkap bukan hanya apakah kategori yang tepat paling diaktifkan, tapi juga apakah aktivasi yang salah berkurang. Kemudian kita jumlahkan semua contoh dalam set pelatihan kita dan mendapatkan biaya.

Kita kemudian memvariasikan parameter seperti bobot di setiap lapisan, antara semua neuron, dan bias pada semua neuron. Rutinitas optimasi klasik seperti gradient descent digunakan untuk mencari minimum lokal dalam fungsi biaya.

Quantum perceptron

Untuk dapat membangun padanan kuantum dari perceptron, salah satu hal yang perlu kita pertimbangkan adalah kemampuan untuk mengimplementasikan non-linieritas dengan circuit kuantum, yang merupakan peran fungsi aktivasi dalam jaringan saraf klasik. Ini karena tanpa pertimbangan tambahan, circuit kuantum hanya mengimplementasikan operasi unitari, yang hanya linear. Ada berbagai metode yang bisa kita gunakan untuk memperkenalkan non-linieritas pada circuit kuantum. Salah satu metode utamanya adalah menggunakan pengukuran sebagai sumber non-linieritas. Pertimbangan lain mencakup metode berbasis quantum Fourier transform, pengukuran mid-circuit atau dynamic circuits, dan tracing Qubit keluar dari circuit.

Quantum neural network

Quantum neural network (QNN) bekerja dengan pertama mengkodekan data input dengan lapisan unitari UU dalam gambar, kemudian menerapkan circuit kuantum yang sesuai dengan bobot antar lapisan (WW di bawah), dan akhirnya lapisan pengukuran. Beberapa poin kunci tentang ini:

  • Pemuatan data dan pembobotan adalah operasi linear.
  • Pengukuran adalah non-linear.
  • Jadi seperti dalam NN klasik, kita memiliki komponen linear dan non-linear.
  • Circuit bobot masih memiliki parameter variasional, jadi masih ada minimisasi klasik yang harus dilakukan.

A representation of a quantum neural network as a circuit.

Kita bisa menggunakan circuit seperti di atas untuk menghitung fungsi fQNN(x)=0U(X)WOWU(x)0f_{QNN}(x) = \langle 0|U^{\dagger}(X)W^{\dagger}OWU(x)|0\rangle Perhatikan bahwa fungsi ini umumnya tidak sama dengan fungsi f(x)f(x) yang dijelaskan dalam NN klasik. Khususnya, fungsi ini mencakup potensi banyak lapisan dari banyak bobot, dan diterapkan di seluruh data yang dimuat ke dalam circuit kuantum kamu oleh UU.

Generalisasi

Kita sekarang bisa melihat salah satu cara membangun padanan kuantum dari jaringan saraf. Dalam model ini, aliran informasi berbeda dari jaringan saraf feed-forward klasik. Dalam setting klasik, informasi akan mengalir dari kiri ke kanan, dimulai dari input dan berakhir dengan output model, dan ke arah sebaliknya saat melakukan backpropagation untuk melatih model.

A diagram showing several layers of gates within a quantum neural network

Namun, dalam konstruksi quantum neural network ini, kita melihat bahwa blok unitari yang mengkodekan data berulang di antara blok unitari variasional dengan parameter yang dapat dilatih. Strategi ini, yang kita sebut "data reuploading", didukung oleh hasil teoritis yang menarik. Faktanya, sebuah makalah oleh Pérez-Salinas et al. menunjukkan bahwa, dengan bantuan multiple data-reuploading, "satu Qubit memberikan kemampuan komputasi yang cukup untuk membangun pengklasifikasi kuantum universal ketika dibantu dengan subrutin klasik." Oleh karena itu, data reuploading adalah teknik yang bisa kita gunakan untuk meningkatkan ekspresivitas dan kekuatan representasi model, memungkinkan quantum neural network untuk mendekati fungsi kompleks.

Referensi

[1] "Reinforcement Learning: An Introduction", Richard S. Sutton and Richard G. Barto, MIT Press, Second Edition, Cambridge, MA, 2018

[2] "Pattern Recognition and Machine Learning", Christopher M. Bishop, Springer, 2006

[3] "Foundations of Machine Learning", Mehryar Mohri, Afshin Rostamizadeh, and Ameet Talwalkar, MIT Press, Second Edition, 2018.

Source: IBM Quantum docs — updated 20 Jan 2026
English version on doQumentation — updated 7 Mei 2026
This translation based on the English version of approx. 27 Mar 2026