È necessaria la correzione degli errori?


20

Perché hai bisogno della correzione degli errori? La mia comprensione è che la correzione degli errori rimuove gli errori dal rumore, ma il rumore dovrebbe farsi una media. Per chiarire quello che sto chiedendo, perché non è possibile, invece di comportare la correzione degli errori, semplicemente eseguire le operazioni, diciamo cento volte, e scegliere la risposta media / più comune?

Risposte:


18

Non si adatta bene. Dopo un calcolo moderatamente lungo, rimarrai sostanzialmente con lo stato di massima miscelazione o qualunque punto fisso abbia il tuo rumore. Per scalare a calcoli lunghi arbitrari è necessario correggere gli errori prima che diventino troppo grandi.

Ecco alcuni brevi calcoli per l'intuizione data sopra. Considera il modello di rumore bianco semplice (rumore depolarizzante), doveρè lo stato ideale (siapplica lanotazione standard). Se si concatenanontali processi rumorosi, il nuovo parametro noise èε=1-(1-ε)n, che aumenta esponenzialmente il numero di gate (o altre fonti di errore). Se si ripete l'esperimentom-Times e si assume che le scale di errore standard come1

ρ(ε)=(1ε)ρ+εItrI,
ρnε=1(1ε)nm vedi che il numero di corsemsarebbe esponenzialmente nella lunghezza del tuo calcolo!1mm

11

Se il tasso di errore erano abbastanza basso, si potrebbe eseguire un calcolo un centinaio di volte e prendere la risposta più comune. Ad esempio, questo funzionerebbe se il tasso di errore fosse abbastanza basso da rendere il numero previsto di errori per calcolo molto piccolo - il che significa che quanto bene funzionerà questa strategia dipenderebbe da quanto tempo e complicato calcolo vorrebbe fare.

Una volta che il tasso di errore o la lunghezza del tuo calcolo diventano sufficientemente elevati, non puoi più avere la certezza che il risultato più probabile è che ci sono stati zero errori: a un certo punto diventa più probabile che tu ne abbia uno, o due, o più errori, di quello hai zero. In questo caso, non c'è nulla che impedisca alla maggior parte dei casi di darti una risposta errata. Cosa poi?

Questi problemi non sono speciali per il calcolo quantistico: si applicano anche al calcolo classico - succede solo che quasi tutta la nostra tecnologia è in uno stato di maturità sufficientemente avanzato che questi problemi non ci riguardano nella pratica; che potrebbe esserci una maggiore possibilità che il tuo computer venga colpito da un calcolo intermedio del meteorite (o che si sta esaurendo la carica della batteria o che tu decida di spegnerlo) piuttosto che ci sia un errore hardware. La particolarità (temporanea) del calcolo quantistico è che la tecnologia non è ancora abbastanza matura per permetterci di essere così rilassati sulla possibilità di errore.

In quei tempi in cui il calcolo classico hastato in una fase in cui la correzione degli errori era sia pratica che necessaria, siamo stati in grado di fare uso di alcune tecniche matematiche - correzione degli errori - che hanno permesso di sopprimere il tasso di errore effettivo e, in linea di principio, di renderlo basso come ci piaceva. Le stesse tecniche possono sorprendentemente essere utilizzate per la correzione di errori quantistici - con un po 'di estensione, per adattarsi alla differenza tra informazione quantistica e classica. Inizialmente, prima della metà degli anni '90, si pensava che la correzione dell'errore quantistico fosse impossibile a causa della continuità dello spazio degli stati quantistici. Ma a quanto pare, applicando le classiche tecniche di correzione degli errori nel modo giusto ai diversi modi in cui un qubit potrebbe essere misurato (di solito descritto come "bit" e "fase"), in linea di principio puoi anche sopprimere molti tipi di rumore sui sistemi quantistici. Queste tecniche non sono speciali nemmeno per i qubit: la stessa idea può essere utilizzata per sistemi quantistici di qualsiasi dimensione finita (anche se per modelli come il calcolo adiabatico, potrebbe quindi ostacolare l'esecuzione effettiva del calcolo che si desidera eseguire).

Al momento sto scrivendo questo, i qubit individuali sono così difficili da costruire e da marshallare che le persone sperano di cavarsela facendo calcoli di principi senza alcuna correzione di errori. Va bene, ma limiterà quanto tempo possono essere i loro calcoli fino a quando il numero di errori accumulati è abbastanza grande da rendere il calcolo significativo. Esistono due soluzioni: migliorare la soppressione del rumore o applicare la correzione degli errori. Entrambe sono buone idee, ma è possibile che la correzione degli errori sia più facile da eseguire a medio e lungo termine rispetto alla soppressione delle fonti di rumore.


Come correzione rapida, l'hardware moderno soffre di tassi di errore non trascurabili e vengono utilizzati metodi di correzione degli errori. Detto questo, ovviamente il tuo punto sui problemi è molto peggio sugli attuali computer quantistici.
Nat

@Nat: interessante. Sono vagamente consapevole del fatto che questo potrebbe essere attualmente il caso delle GPU e (in un contesto che non prevede il calcolo attivo) anche gli array RAID sono un esempio evidente. Ma potresti descrivere altre piattaforme hardware per le quali il calcolo classico deve fare affidamento sulla correzione degli errori durante un calcolo?
Niel de Beaudrap,

Sembra che gli errori siano più frequentemente nei contesti di rete, seguiti dalla memoria del disco, seguita dalla RAM. Protocolli e dischi di rete implementano abitualmente trucchi per la correzione degli errori. La RAM è un miscuglio; la RAM server / workstation tende a utilizzare il codice di correzione degli errori (ECC), sebbene la RAM dei consumatori spesso non lo faccia. All'interno della CPU, immagino che abbiano tattiche più specifiche per l'implementazione, ma quelle sarebbero probabilmente segreti del produttore. Le percentuali di errore nelle CPU e nelle GPU diventano rilevanti a un livello osservabile in alcuni casi, ad esempio nelle decisioni di overclocking e di blocco del core del produttore.
Nat

In realtà è un po 'curioso di correggere gli errori di tipo CPU ora. Voglio dire, la cache sembrerebbe incline agli stessi problemi della normale RAM (a meno che in qualche modo non sia bufferizzata con più potenza o qualcosa del genere?), Che presumibilmente sarebbe inaccettabile nel server / contesti di workstation. Ma a livello di registro? Sarebbe qualcosa di pulito da leggere; non ho visto nulla immediatamente su Google, anche se suppongo che tali informazioni sarebbero probabilmente un segreto commerciale.
Nat

8

Ora, aggiungendo alla risposta di M. Stern :

Il motivo principale per cui è necessaria la correzione degli errori per i computer quantistici è perché i qubit hanno un continuum di stati (sto prendendo in considerazione i computer quantistici basati su qubit, al momento, per semplicità).

Nei computer quantistici, a differenza dei computer classici, ogni bit non esiste solo in due possibili stati. Ad esempio, una probabile fonte di errore è l'eccessiva rotazione: potrebbe supporre a diventare alfa | 0 + β e i & Phi; | 1 ma in realtà diventa alfa | 0 + β e I ( φ + δ ) | 1 α|0+β|1α|0+βeiϕ|1α|0+βei(ϕ+δ)|1. Lo stato attuale è vicino allo stato corretto ma è ancora sbagliato. Se non facciamo qualcosa al riguardo, i piccoli errori si accumuleranno nel corso del tempo e alla fine diventeranno un grosso errore.

Inoltre, gli stati quantistici sono molto delicati e qualsiasi interazione con l'ambiente può causare decoerenza e collasso di uno stato come a | 0 con probabilità | α | 2 o | 1 con probabilità | β | 2 .α|0+β|1|0|α|2|1|β|2

In un computer classico se si dice che il valore di un bit viene replicato n-volte come segue:

e

000000...n times
111111...n times

Nel caso dopo la fase simile è prodotto può essere corretto dal computer classico che invia 0000000000 causa maggioranza dei bit erano 0 ' s e probabilmente il compito prefissato dell'operazione iniziale era replicare il 0000100010000000000000s0 bit volte.10

Ma per i qubit un tale metodo di correzione degli errori non funzionerà, perché prima di tutto la duplicazione diretta dei qubit non è possibile a causa del teorema di non clonazione . E in secondo luogo, anche se potessi replicare 10-volte è altamente probabile che ci si finisce con qualcosa di simile ( α | 0 + β | 1 ) ( α e i ε | 0 + β e i ε|ψ=α|0+β|1cioè con errori nelle fasi, in cui tutti i qubit si troverebbero in stati diversi (a causa degli errori). Cioè, la situazione non è più binaria. Un computer quantistico, a differenza di un computer classico, non può più dire che: "Dato che la maggior parte dei bit sono nello stato0lasciami convertire il resto in0(α|0+β|1)(αeiϵ|0+βeiϵ|1)(αeiϵ2|0+βeiϵ2|1)...00 !", Per correggere qualsiasi errore che si è verificato durante l'operazione. Questo perché tutto il stati dei 10 qubit diversi potrebbero essere diversi l'uno dall'altro, dopo la cosiddetta operazione di "replica". Il numero di tali possibili errori continuerà ad aumentare rapidamente man mano che sempre più operazioni vengono eseguite su un sistema di qubit. M. Stern ha effettivamente usato la giusta terminologia nella sua risposta alla tua domanda, cioè "che non siadatta bene".1010

Quindi, hai bisogno di un diversa gamma di tecniche di correzione degli errori per gestire gli errori che si verificano durante il funzionamento di un computer quantistico, che può gestire non solo errori di capovolgimento dei bit, ma anche errori di sfasamento. Inoltre, deve essere resistente alla decoerenza involontaria. Una cosa da tenere a mente è che la maggior parte delle porte quantistiche non sarà "perfetta", anche se con il giusto numero di "porte quantistiche universali" è possibile avvicinarsi arbitrariamente alla costruzione di qualsiasi porta quantistica che comporti (in teoria) una trasformazione unitaria.

Niel de Beaudrap menziona che ci sono modi intelligenti per applicare le classiche tecniche di correzione degli errori in modo tale da poter correggere molti degli errori che si verificano durante le operazioni quantistiche, il che è effettivamente corretto, ed è esattamente ciò che fanno i codici di correzione degli errori quantistici attuali. Vorrei aggiungere quanto segue da Wikipedia , in quanto potrebbe dare una certa chiarezza su come i codici quantici di correzione degli errori affrontano il problema sopra descritto:

I codici di correzione degli errori classici utilizzano una misurazione della sindrome per diagnosticare quale errore corrompe uno stato codificato. Quindi invertiamo un errore applicando un'operazione correttiva basata sulla sindrome. La correzione dell'errore quantistico impiega anche misurazioni della sindrome. Eseguiamo una misurazione multi-qubit che non disturba le informazioni quantistiche nello stato codificato ma recupera le informazioni sull'errore. Una misurazione della sindrome può determinare se un qubit è stato corrotto e, in tal caso, quale. Inoltre, il risultato di questa operazione (la sindrome) ci dice non solo quale qubit fisico è stato interessato, ma anche, in quali modi diversi è stato interessato. Quest'ultimo è controintuitivo a prima vista: poiché il rumore è arbitrario, come può l'effetto del rumore essere una delle poche possibilità distinte? Nella maggior parte dei codici, l'effetto è un bit flip, o un segno (della fase) flip, o entrambi (corrispondenti alle matrici di Pauli X, Z e Y). Il motivo è che la misurazione della sindrome ha l'effetto proiettivo di una misurazione quantistica. Quindi, anche se l'errore dovuto al rumore era arbitrario, può essere espresso come una sovrapposizione di operazioni di base - la base di errore (che qui è data dalle matrici di Pauli e dall'identità). La misurazione della sindrome "forza" il qubit a "decidere" che un determinato "errore di Pauli" sia "accaduto", e la sindrome ci dice quale, in modo che possiamo lasciare che lo stesso operatore Pauli agisca di nuovo sul qubit corrotto per ripristinare l'effetto dell'errore.

La misurazione della sindrome ci dice il più possibile dell'errore che si è verificato, ma nulla del valore che è memorizzato nel qubit logico, altrimenti la misurazione distruggerebbe qualsiasi sovrapposizione quantistica di questo qubit logico con altri qubit nel quantum computer.


Nota : non ho fornito alcun esempio delle attuali tecniche di correzione degli errori quantistici. Esistono molti buoni libri di testo che trattano questo argomento. Tuttavia, spero che questa risposta fornisca ai lettori un'idea di base del perché abbiamo bisogno di errori nella correzione dei codici nel calcolo quantistico.


Ulteriori letture consigliate:

Video lezione consigliata:

Mini Crash Course: correzione quantistica degli errori di Ben Reichardt, University of Southern California


3
Non sono sicuro che il fatto che esista un continuum di stati abbia un ruolo. Il calcolo classico con i bit avrebbe anche gli stessi problemi se la nostra tecnologia fosse meno matura, e in effetti ha sofferto significativamente di rumore in varie fasi del suo sviluppo. Sia nel caso classico sia in quello quantistico, il rumore non si allontana convenientemente in circostanze normali
Niel de Beaudrap

@NieldeBeaudrap Ha un ruolo importante. Nel calcolo classico sai che dovresti avere a che fare solo con due stati, in anticipo . Basta considerare un esempio: nel calcolo classico se un segnale di5 mV rappresenta "alto" (o 1-state) while 0 mV rappresenta teoricamente il "basso" (o 0-stato), se l'operazione si è conclusa con qualcosa di simile 0.5 mV verrebbe automaticamente arrotondato a 0 mV perché è molto più vicino 0 mV di 5mV. Ma in caso di qubit ci sono un numero infinito di stati possibili e tale arrotondamento non funziona.
Sanchayan Dutta,

Naturalmente non ti sbagli quando dici che anche il calcolo classico soffriva del problema del rumore. Esiste anche una teoria consolidata dei codici classici di correzione degli errori! Tuttavia, la situazione è molto più grave in caso di calcolo quantistico a causa della possibilità di un numero infinito di stati di esistenza di un singolo qubit.
Sanchayan Dutta,

1
Le tecniche utilizzate per la correzione dell'errore quantistico non implicano il fatto che lo spazio degli stati sia infinito in alcun modo. Gli argomenti che stai facendo sembrano tracciare un'analogia tra calcolo quantistico e calcolo analogico --- mentre esiste una somiglianza, ciò implicherebbe che la correzione dell'errore quantistico sarebbe impossibile se si trattasse di un'analogia del suono. Al contrario, lo spazio degli stati di molti qubit è anche come una distribuzione di probabilità su stringhe di bit, di cui esiste anche un continuum; e tuttavia è sufficiente eseguire la correzione degli errori su stringhe di bit definite per eliminare l'errore.
Niel de Beaudrap,

1
@glS Ho rimosso la prima frase. Hai ragione. Stavo interpretando il calcolo in modo non correlato.
Sanchayan Dutta,

2

Perché hai bisogno della correzione degli errori? La mia comprensione è che la correzione degli errori rimuove gli errori dal rumore, ma il rumore dovrebbe farsi una media.

Se hai costruito una casa o una strada e il rumore era una varianza, una differenza, rispetto alla rettilineità, alla direzione, non è solo / semplicemente: "Come sarebbe", ma "Come sarebbe?" - una sovrapposizione di efficienza e correttezza.

Se due persone calcolassero la circonferenza di una pallina da golf con un diametro, ciascuna otterrebbe una risposta simile, fatta salva l'accuratezza dei loro calcoli; se ciascuno usasse più cifre decimali sarebbe "abbastanza buono".

Se a due persone fossero state fornite attrezzature e ingredienti identici e le stesse ricette per una torta, dovremmo aspettarci risultati identici?

Per chiarire cosa sto chiedendo, perché non è possibile, invece di comportare la correzione degli errori, semplicemente eseguire le operazioni, diciamo cento volte, e scegliere la risposta media / più comune?

Stai rovinando la pesatura, toccando il dito sulla bilancia.

Se sei ad un concerto rumoroso e provi a comunicare con la persona accanto a te, ti capiscono la prima volta, ogni volta?

Se racconti una storia o diffondi una voce (e alcune persone comunicano alla lettera, alcune aggiungono il loro giro e altre dimenticano le parti), quando ti torna indietro fa una media se stessa e diventa essenzialmente (ma non identicamente) la stessa cosa hai detto? - improbabile.

È come piegare un pezzo di carta e poi appiattirlo.

Tutte queste analogie avevano lo scopo di offrire semplicità oltre esattezza, puoi rileggerle alcune volte, fare una media e avere la risposta esatta o no. ;)


Una spiegazione più tecnica del perché la correzione dell'errore quantistico è difficile ma necessaria è spiegata sulla pagina web di Wikipedia: " Correzione dell'errore quantistico ":

"La correzione dell'errore quantistico (QEC) viene utilizzata nell'informatica quantistica per proteggere le informazioni quantistiche da errori dovuti a decoerenza e altro rumore quantico . La correzione dell'errore quantistico è essenziale se si vuole ottenere un calcolo quantico tollerante ai guasti che può gestire non solo il rumore immagazzinato informazione quantistica, ma anche con porte quantiche difettose, preparazione quantistica difettosa e misurazioni errate. ".

"La classica correzione degli errori impiega la ridondanza ." ...

"La copia di informazioni quantistiche non è possibile a causa del teorema della non clonazione . Questo teorema sembra presentare un ostacolo alla formulazione di una teoria della correzione dell'errore quantistico. Ma è possibile diffondere le informazioni di un qubit su uno stato fortemente intricato di diversi ( fisici) qubit. Peter Shor ha scoperto per la prima volta questo metodo di formulazione di un codice di correzione di errori quantici memorizzando le informazioni di un qubit su uno stato altamente intricato di nove qubit. Un codice di correzione di errori quantistici protegge le informazioni quantistiche da errori di forma limitata. ".


2

il rumore dovrebbe farsi una media.

Il rumore non è perfettamente nella media. Questo è l'errore del giocatore. Anche se il rumore tende a vagare avanti e indietro, si accumula comunque nel tempo.

Ad esempio, se generi N lanci di monete giusti e li sommi, l'entità prevista della differenza è esattamente N/2 la testa cresce come O(N). Questo è quadraticamente migliore delO(N) ti aspetti da una moneta distorta, ma sicuramente non 0.

Ancora peggio, nel contesto di un calcolo su molti qubit il rumore non si annulla quasi altrettanto, perché il rumore non è più lungo una singola dimensione. In un computer quantistico conQ qubit e rumore a qubit singolo, ci sono 2Qdimensioni in qualsiasi momento per l'attivazione del rumore (una per ciascun asse X / Z di ciascun qubit). E mentre calcoli con i qubit, queste dimensioni cambiano per corrispondere ai diversi sottospazi di a2Qspazio dimensionale. Ciò rende improbabile che il rumore successivo annulli il rumore precedente e, di conseguenza, si ritorna aO(N) accumulo di rumore.

eseguire le operazioni, diciamo, cento volte e scegliere la risposta media / più comune?

Man mano che i calcoli si ingrandiscono e si allungano, la possibilità di non vedere alcun rumore o di eliminarli perfettamente diventa rapidamente così vicina allo 0% che non ci si può aspettare di vedere la risposta corretta anche una volta anche se si ripetono i calcoli un trilione di volte.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.