Saya telah lama tertarik dalam komputasi kuantum dan menulis program untuk komputer kuantum IBM Q Experience 5- dan 14-qubit. Hari ini saya akan berbicara tentang teknologi yang dapat diterapkan dalam pembelajaran mesin setelah komputasi kuantum menaklukkan dunia. Spoiler for the Scientists date: di masa depan, Anda tidak akan dapat meluncurkan model dan pergi untuk minum kopi selama setengah hari. Komputer kuantum mengklik tugas pembelajaran mesin sekaligus, dan alasan seperti "model belajar" tidak lagi berfungsi. Diperlukan untuk meluncurkan bukan hanya satu model, tetapi setidaknya satu juta.

Banyak yang telah mendengar bahwa dengan bantuan komputer kuantum, penjahat cyber dapat membobol sistem enkripsi modern. Tidak seperti komputer klasik, yang RSA dan algoritma kriptografik sejenisnya merupakan penghalang yang baik untuk meretas, komputer kuantum menemukan faktor sederhana dalam hitungan menit. Ini berarti bahwa informasi yang dicegat oleh peretas cepat atau lambat akan didekripsi.
Tentu saja, beberapa aplikasi ini membuat takut komputer kuantum. Pada artikel ini, kita akan fokus pada sisi positif dan mempertimbangkan komputasi kuantum apa yang akan dapat memberikan yang baru untuk bidang seperti pembelajaran mesin.
Apa itu pembelajaran mesin kuantum dan apa perbedaannya dari konvensional
Di komputer modern, termasuk untuk pembelajaran mesin, perhitungan dilakukan menggunakan bit klasik. Dalam komputer kuantum, yang baru-baru ini mendapatkan popularitas dan secara aktif berkembang, bit dari jenis khusus digunakan - bit kuantum, atau disingkat qubit.
Untuk bit klasik, ada dua keadaan - 0 dan 1, sedangkan untuk qubit, jumlah tak terbatas kombinasi dua keadaan dimungkinkan - inilah yang disebut superposisi. Jika kucing SchrΓΆdinger dari eksperimen pemikiran terkenal, sebelum dibuka, hidup dan mati pada saat yang sama, maka qubit, sebelum diukur, dapat dalam superposisi, yaitu sama dengan nol dan satu pada saat yang sama.
Jika beberapa qubit digunakan, maka jumlah state yang mungkin tumbuh secara eksponensial: untuk dua qubit yang berada di superposisi, jumlah state adalah empat:
|Ο rangle=k1|00 rangle+k2|01 rangle+k3|10 rangle+k4|11 rangle
Dan untuk tiga qubit, sudah ada delapan negara:
|Ο rangle=k1|000 rangle+k2|001 rangle+k3|010 rangle+k4|011 rangle+k5|100 rangle+k6|101 rangle+k7|110 rangle+k8|111 rangle
Status ini tidak dapat diukur secara langsung, tetapi mereka dapat dikontrol. Dalam hal ini, sirkuit kuantum dengan probabilitas berbeda di beberapa negara pada saat yang sama, yang dapat digunakan untuk komputasi paralel.
Faktor-faktor dengan nilai qubit disebut amplitudo - ini adalah bilangan kompleks. Jika kita menghitung modulus amplitudo dan kuadratkan, maka kita mendapatkan probabilitas status. Jumlah probabilitas semua kombinasi kondisi qubit, seperti yang diharapkan, pada akhirnya harus sama dengan persatuan.

Sebagai contoh keadaan qubit yang berbeda, seseorang dapat memberikan putaran elektron atau polarisasi foton, tetapi opsi lain juga dimungkinkan. Hal utama adalah bahwa efek kuantum juga dapat diamati di dalamnya. Dengan demikian, hampir semua partikel dapat berupa qubit: elektron, foton, ion, dan sebagainya.
Bagaimana sebuah partikel dapat berada di dua keadaan secara bersamaan dan mengapa informasi tentang salah satu kondisi benar-benar hilang ketika mengukur qubit? Yang paling umum adalah dua interpretasi:
Penafsiran Kopenhagen mengklaim bahwa menjelaskan posisi suatu partikel sebelum pengukurannya tidak masuk akal, karena fisika adalah ilmu yang didasarkan pada pengukuran yang akurat, dan tidak boleh menjelaskan fenomena yang tidak dapat diamati. Jadi, jika kita menerima interpretasi Kopenhagen, kita dapat menyimpulkan bahwa tidak ada realitas objektif di tingkat mikro fisik.
Beberapa ilmuwan mematuhi
interpretasi multi-dunia , yang menurutnya terdapat jumlah tak terbatas alam semesta paralel, dan di sebagian kecil alam semesta ini sebuah partikel dapat mengambil keadaan nol, dan sisanya dapat mengambil satu keadaan. Deskripsi paling rinci dan pembenaran filosofis untuk interpretasi multi-dunia dapat ditemukan dalam buku David Deutsch, The Structure of Reality.
Dalam kasus apa pun, terlepas dari interpretasi mana yang Anda sukai, kita dapat mengasumsikan bahwa ketika mengukur qubit, fungsi gelombang runtuh (yaitu, ia berhenti berperilaku seperti gelombang dan menunjukkan sifat-sifat partikel), sedangkan qubit mengambil salah satu negara, lalu sebenarnya ada yang menjadi sedikit klasik.
Secara umum, bit klasik adalah bagian dari qubit, sehingga Ilmu Komputer klasik dapat dianggap sebagai bagian dari ilmu komputasi kuantum. Seperti disebutkan di atas, sembarang qubit setelah pengukuran menjadi bit klasik, yang, bagaimanapun, kemudian dapat ditransfer ke status superposisi.
Untuk tetap mendapatkan setidaknya beberapa informasi tentang superposisi qubit, Anda dapat menggunakan life hack yang cukup sederhana: buat superposisi yang sama berkali-kali (aktifkan qubit dengan operator yang sama) dan ukur qubit setiap kali. Dari distribusi nol dan yang diperoleh selama pengukuran, orang bisa mendapatkan ide probabilitas, yaitu, mencari tahu apa moduli dari amplitudo keadaan qubit kira-kira sama dengan.
Apa manfaat pembelajaran mesin kuantum?
Apa kelebihan superposisi untuk komputasi? Jika pada komputer biasa, ketika menjalankan program multithreaded, satu prosesor logis diperlukan untuk setiap utas, maka dalam komputer kuantum jumlah utas dapat tumbuh secara eksponensial karena jumlah qubit dalam rangkaian meningkat.
Misalnya, jika 1024 stream dalam komputer biasa memerlukan jumlah prosesor logis yang sama, maka dalam kuantum hanya 10. Benar, Anda hanya dapat menggunakan stream ini secara tidak langsung, yaitu, Anda tidak akan dapat langsung memantau pekerjaan mereka.
Anda juga harus memahami bahwa algoritma yang digunakan komputer kuantum berbeda dari algoritma yang dipelajari di bagian Ilmu Komputer pada komputer klasik. Tentu saja, Anda tidak dapat mentransfer algoritma klasik ke komputer kuantum tanpa terlebih dahulu mengubahnya. Selain itu, kecil kemungkinan bahwa sesuatu yang signifikan akan tetap dari algoritma asli. Kemungkinan besar, itu akan sepenuhnya diubah, sehingga hanya ide umum yang akan tetap ada (jika ada sesuatu yang tersisa).
Hal yang sama dapat dikatakan tentang pembelajaran mesin. Untuk komputer kuantum, analog dari algoritma pembelajaran mesin klasik sudah ada (misalnya, Random Forest, KNN, jaringan saraf). Tapi, pertama, mereka diimplementasikan dengan cara yang berbeda, dan kedua, cepat atau lambat, akan muncul algoritma baru yang akan mengambil keuntungan penuh dari keuntungan komputasi kuantum.
Semua spesialis di bidang data besar dan kecerdasan buatan menyadari situasi ketika seorang ilmuwan harus menunggu lama untuk model untuk belajar.
Tentu saja, ada model sederhana (seperti regresi linier) yang melatih data kecil dalam hitungan detik, tetapi dalam kasus model yang lebih kompleks, seperti jaringan saraf, pelatihan dapat berlangsung dari beberapa menit hingga beberapa minggu. Untuk memilah beberapa varian model seperti itu, diperlukan kesabaran yang luar biasa.
Ada juga model seperti itu yang bahkan tanggal paling sabar dari Scientist akan menolak untuk digunakan. Khususnya, model dengan jumlah bobot yang sangat besar atau model yang membutuhkan pencarian lengkap untuk jumlah kombinasi yang meningkat secara eksponensial. Penggunaan komputer kuantum cocok untuk tugas-tugas seperti itu, yang dapat mengurangi waktu komputasi dari beberapa tahun menjadi beberapa menit.
Mengapa kecerdasan buatan perlu mempercepat algoritme
Dalam dua atau tiga tahun terakhir, ada perkembangan pesat teknologi visi komputer, dan selama setahun terakhir banyak ditemukan dalam pemrosesan bahasa alami.
Dalam hal ini, pelatihan model yang rumit berlangsung sangat lama. Tetapi jika kita mengasumsikan bahwa model dengan kompleksitas yang sama atau bahkan lebih besar akan mengambil urutan besaran lebih sedikit, maka akan mungkin untuk menguji hipotesis dan menguji model lebih cepat.
Oleh karena itu, kemajuan dalam bidang-bidang ini akan terjadi pada kecepatan yang dipercepat: alih-alih satu atau dua penemuan penting per bulan, kami dapat mendengar tentang hal tersebut setiap hari. Pertumbuhan ganda eksponensial dalam kemajuan komputasi kuantum dapat menyebabkan tingkat kemajuan yang sama dalam pembelajaran mesin.
Mekanisme komputasi kuantum
Sebuah foton, elektron, ion, atau partikel lain dapat bertindak sebagai qubit. Jika ini adalah elektron, maka seseorang dapat mengukur putarannya (momentum sudut yang tepat) dan dengan demikian memperoleh 0 atau 1. Dalam notasi Dirac, keadaan ini dilambangkan sebagai berikut:
|0 rangle,|1 rangle
Keadaan qubit juga dapat diekspresikan menggunakan vektor. Ini adalah vektor keadaan qubit sama dengan 0:
|0 rangle= beginbmatrix10 endbmatrix
Dan ini adalah vektor qubit sama dengan 1:
|1 rangle= beginbmatrix01 endbmatrix
Peran penting dalam komputasi kuantum dimainkan oleh operator Hadamard:
H_1 = \ frac {1} {\ sqrt {2}} \ begin {bmatrix} 1 & 1 \\ 1 & -1 \ end {bmatrix}
Salah satu cara untuk mendapatkan superposisi adalah dengan menerapkan operator Hadamard ke qubit yang ada di salah satu dari dua kondisi dasar. Dalam hal ini, kami mendapatkan status qubit ketika probabilitas mendapatkan 0 atau 1 setelah pengukuran sama. Ini adalah bagaimana superposisi akan diperoleh jika keadaan awal qubit adalah nol:
\\ H_1 \ cdot | 0 \ rangle = \ frac {1} {\ sqrt {2}} \ begin {bmatrix} 1 & 1 \\ 1 & -1 \ end {bmatrix} \ cdot \ begin {bmatrix} 1 \\ 0 \ end {bmatrix} = \ frac {1} {\ sqrt {2}} (| 0 \ rangle + | 1 \ rangle)
Tapi superposisi seperti itu akan berubah jika kondisi awal tunggal:
\\ H_1 \ cdot | 1 \ rangle = \ frac {1} {\ sqrt {2}} \ begin {bmatrix} 1 & 1 \\ 1 & -1 \ end {bmatrix} \ cdot \ begin {bmatrix} 0 \\ 1 \ end {bmatrix} = \ frac {1} {\ sqrt {2}} (| 0 \ rangle - | 1 \ rangle)
Pilihan umum lainnya untuk bekerja dengan qubit adalah penggunaan keterikatan kuantum - seperti interkoneksi antara dua qubit, ketika bahkan ketika mereka dipisahkan jarak yang jauh, mereka menunjukkan korelasi 100 persen. Dalam korelasi langsung, jika salah satu qubit setelah pengukuran mengasumsikan keadaan tertentu, maka qubit lainnya memperoleh kondisi yang persis sama. Dengan hubungan terbalik, qubit mengambil status berlawanan setelah pengukuran.
Apa saja kemungkinan komputasi kuantum dan pembelajaran mesin kuantum?
Semua spesialis yang ingin menghemat waktu dapat menggunakan komputasi kuantum untuk pembelajaran mesin. Operasi seperti transformasi Fourier cepat, menemukan matriks terbalik, menghitung nilai eigen dan vektor matriks pada komputer kuantum terjadi dengan percepatan eksponensial.
Tentu saja, pekerjaan yang tidak terlalu intensif sumber daya (misalnya, visualisasi data) dapat terus dilakukan pada komputer biasa, tetapi algoritma pembelajaran mesin, atau setidaknya bagian-bagian yang dapat dipercepat menggunakan qubit, dapat diberikan ke komputer kuantum.
Salah satu pertanyaan yang mengganggu spesialis: bagaimana cara bekerja dengan data dalam komputasi kuantum? Bayangkan situasi bahwa kita memiliki gambar (untuk membuatnya lebih mudah, biarkan hitam dan putih), yang ingin kita kirimkan ke input dari jaringan saraf kuantum. Gambar memiliki ukuran 256 oleh 256 piksel - ukuran yang cukup standar untuk pengenalan gambar.
Untuk mewakili gambar ini sebagai angka, kami menyandikan setiap piksel dengan angka floating-point 64-bit (pada kenyataannya, bilangan bulat 8-bit sudah cukup, tetapi dalam praktiknya, matriks dengan nilai piksel diskalakan sebelum diterapkan ke input jaringan saraf, jadi matriks diisi dengan angka 32- atau 64-bit). Gambar seperti itu dapat direpresentasikan dalam bentuk matriks dari angka 65536, yang akan menimbang 512 kilobyte (jaringan saraf menerima gambar yang tidak terkompresi sebagai input), mis., 4194304 bit akan diperlukan.
Jika gambar ini disandikan menggunakan qubit, maka jumlahnya akan jauh lebih kecil: kami akan menerjemahkan n qubit menjadi superposisi, dan nilai setiap piksel dapat direpresentasikan sebagai amplitudo untuk setiap kemungkinan status. Jumlah negara tersebut adalah dua derajat n. Untuk menemukan n, kami menemukan logaritma biner dari jumlah piksel.
Seperti yang Anda lihat, tindakannya cukup sederhana, jadi Anda bahkan tidak perlu menulis rumus. Akibatnya, angka n ternyata menjadi 16. Itulah berapa banyak qubit yang diperlukan untuk menyandikan gambar ini, yaitu, 262.144 kali lebih sedikit daripada saat menggunakan bit klasik.
Jika kami memiliki 66 qubit, lalu menerjemahkannya menjadi superposisi, Anda dapat menyandikan lebih dari satu triliun gambar berwarna dalam format 4K.
Dengan demikian, pengkodean kuantum memungkinkan seseorang untuk mencapai kompresi informasi logaritmik. Dengan demikian, percepatan metode pembelajaran mesin ketika bekerja dengan data tersebut dapat eksponensial.
Bahasa dan perpustakaan pemrograman khusus
Saat ini, banyak bahasa pemrograman memiliki perpustakaan untuk komputasi kuantum. Beberapa perpustakaan ini hanya bekerja dengan simulasi komputasi kuantum, tetapi banyak yang mendukung komputer kuantum nyata, termasuk yang cloud, sebagai backend.
Jika Anda beroperasi secara langsung dengan qubit, maka ini mirip dengan menulis kode assembler tingkat rendah pada komputer klasik. Anehnya, salah satu dari bahasa pemrograman "tingkat rendah" yang digunakan untuk memprogram perhitungan pada komputer kuantum adalah Python.
Salah satu perpustakaan untuk bahasa ini -
Qiskit - berfungsi baik pada simulator dan pada backend kuantum, dan juga memungkinkan melakukan operasi pada qubit pada level rendah. Untuk pemrograman tingkat yang lebih tinggi, lebih mudah menggunakan
PennyLane , perpustakaan untuk pembelajaran mesin kuantum. Repositori perpustakaan ini memiliki contoh-contoh implementasi algoritma pembelajaran mesin, termasuk jaringan saraf kuantum.
Prospek untuk Quantum Computing
Pada Januari 2019, komputer kuantum komersial pertama dirilis - IBM Q System One. Juga sekarang, untuk komputasi kuantum, Anda dapat menggunakan sistem cloud untuk para peneliti dan perusahaan komersial.
Semua orang dapat menjalankan algoritma kuantum mereka pada platform cloud
IBM Q Experience , dan Anda bahkan tidak perlu tahu bahasa pemrograman untuk membuat skema kuantum, karena selain memasukkan perintah, Anda dapat menggunakan antarmuka grafis yang disebut Circuit Composer.
Pada bulan September 2019, informasi tidak resmi muncul bahwa Google telah mencapai keunggulan kuantum dengan menyelesaikan salah satu masalah pada komputer kuantum dengan kecepatan yang tidak tersedia bahkan untuk komputer super yang paling kuat. Sekalipun beritanya prematur, laporan-laporan seperti itu menunjukkan bahwa keunggulan kuantum sudah dekat.
Beberapa raksasa TI segera mencari solusi terbaik untuk komputer kuantum. Beberapa peneliti memperkirakan bahwa hukum yang mirip dengan Moore akan berlaku untuk komputer kuantum.
Benar, kecepatan pengembangan, tidak seperti komputer klasik, kemungkinan besar tidak menjadi eksponen tunggal biasa, tetapi dua kali lipat, sehingga programmer yang bekerja dengan komputasi kuantum harus membuat sejumlah besar program dalam waktu dekat.
Adapun bidang periklanan dan pemasaran, di mana saya saat ini bekerja, model pembelajaran mesin yang diterapkan harus mengalami transformasi lengkap. Apa yang bekerja pada komputer klasik akan jauh lebih rendah dalam hal kecepatan dan kualitas dibandingkan model-model masa depan.
Teknologi terbaru akan membawa perubahan pada proses pemindaian audiens target. Bot yang sulit dikendalikan oleh komputer kuantum akan membajak ruang terbuka jejaring sosial, menangkap perubahan terkecil dalam selera dan suasana hati para penonton. Siapa tahu, mungkin kampanye iklan sendiri dapat diluncurkan hanya dengan mengungkapkan keinginan umum ke komputer tentang tujuan mereka.