Réduisez le temps de calcul de quelques années à quelques minutes. Comprendre l'apprentissage automatique quantique

Je m'intéresse depuis longtemps à l'informatique quantique et j'écris des programmes pour les ordinateurs quantiques IBM Q Experience à 5 et 14 qubits. Aujourd'hui, je vais parler des technologies qui peuvent être appliquées à l'apprentissage automatique après que l'informatique quantique a conquis le monde. Spoiler pour la date des scientifiques: à l'avenir, vous ne pourrez pas lancer le modèle et partir boire du café pendant une demi-journée. Un ordinateur quantique clique sur les tâches d'apprentissage automatique à la fois, et les excuses comme «l'apprentissage du modèle» ne fonctionnent plus. Il faudra lancer non pas un modèle, mais au moins un million.

image

Beaucoup ont entendu dire qu'avec l'aide d'ordinateurs quantiques, les cybercriminels peuvent s'introduire dans les systèmes de cryptage modernes. Contrairement aux ordinateurs classiques, pour lesquels RSA et des algorithmes cryptographiques similaires sont une bonne barrière au piratage, les ordinateurs quantiques trouvent des facteurs simples en quelques minutes. Cela signifie que les informations interceptées par les pirates seront tôt ou tard décryptées.

Bien sûr, certaines de ces applications font peur aux ordinateurs quantiques. Dans cet article, nous nous concentrerons sur le côté positif et examinerons ce que l'informatique quantique pourra en donner un nouveau pour un domaine tel que l'apprentissage automatique.

Qu'est-ce que l'apprentissage automatique quantique et quelle est sa différence par rapport à la conventionnelle


Dans les ordinateurs modernes, y compris pour l'apprentissage automatique, les calculs sont effectués à l'aide de bits classiques. Dans les ordinateurs quantiques, qui ont récemment gagné en popularité et se développent activement, des bits d'un type spécial sont utilisés - bits quantiques ou qubits abrégés.

Pour un bit classique, il y a deux états - 0 et 1, tandis que pour un qubit un nombre infini de combinaisons de deux états est possible - c'est la soi-disant superposition. Si le chat Schrödinger d'une expérience de pensée bien connue, avant qu'il ne soit ouvert, est vivant et mort en même temps, alors le qubit, avant d'être mesuré, peut être en superposition, c'est-à-dire égal à zéro et un au même moment.

Si plusieurs qubits sont utilisés, le nombre d'états possibles croît de façon exponentielle: pour deux qubits en superposition, le nombre d'états est de quatre:

|ψ rangle=k1|00 rangle+k2|01 rangle+k3|10 rangle+k4|11 rangle



Et pour trois qubits, il y a déjà huit états:

|ψ 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



Ces états ne peuvent pas être mesurés directement, mais ils peuvent être contrôlés. Dans ce cas, le circuit quantique est avec une probabilité différente dans plusieurs états en même temps, ce qui peut être utilisé pour le calcul parallèle.

Les facteurs avec des valeurs de qubit sont appelés amplitudes - ce sont des nombres complexes. Si nous calculons le module d'amplitude et le mettons au carré, alors nous obtenons la probabilité de l'état. La somme des probabilités de toutes les combinaisons d'états de qubit, comme prévu, devrait finalement être égale à l'unité.

image

Comme exemples d'états différents d'un qubit, on peut donner le spin électronique ou la polarisation d'un photon, mais d'autres options sont également possibles. L'essentiel est que des effets quantiques puissent également y être observés. Ainsi, presque n'importe quelle particule peut être un qubit: un électron, un photon, un ion, etc.

Comment une particule peut-elle être dans deux états simultanément et pourquoi les informations sur l'un des états sont-elles complètement perdues lors de la mesure d'un qubit? Les plus courantes sont deux interprétations:

L'interprétation de Copenhague prétend qu'expliquer la position d'une particule avant sa mesure n'a pas de sens, car la physique est une science basée sur des mesures précises, et ne devrait pas expliquer les phénomènes qui ne peuvent pas être observés. Ainsi, si nous acceptons l'interprétation de Copenhague, nous pouvons conclure qu'il n'y a pas de réalité objective au niveau micro physique.

Certains scientifiques adhèrent à une interprétation multi-monde , selon laquelle il existe un nombre infini d'univers parallèles, et dans une fraction de ces univers, une particule peut prendre l'état zéro, et dans le reste, elle peut prendre un seul état. La description la plus détaillée et la justification philosophique d'une interprétation multi-monde se trouvent dans le livre de David Deutsch, The Structure of Reality.

Dans tous les cas, quelle que soit l'une de ces interprétations que vous préférez, nous pouvons supposer que lors de la mesure d'un qubit, la fonction d'onde s'effondre (c'est-à-dire qu'elle cesse de se comporter comme une onde et présente les propriétés d'une particule), tandis que le qubit prend l'un des états, puis il devient en fait un morceau classique.

En général, les bits classiques sont un sous-ensemble de qubits, donc l'informatique classique pourrait être considérée comme un sous-ensemble de la science de l'informatique quantique. Comme mentionné ci-dessus, tout qubit après la mesure devient un bit classique, qui, cependant, peut ensuite être transféré dans un état de superposition.

Afin d'obtenir toujours au moins quelques informations sur la superposition de qubit, vous pouvez utiliser un hack de vie assez simple: créer plusieurs fois la même superposition (agir sur le qubit avec les mêmes opérateurs) et mesurer le qubit à chaque fois. A partir de la distribution des zéros et des uns obtenus lors des mesures, on peut se faire une idée des probabilités, c'est-à-dire trouver à quoi les modules d'amplitudes des états qubit peuvent être approximativement égaux.

Quels sont les avantages de l'apprentissage automatique quantique


Quels sont les avantages de la superposition pour l'informatique? Si sur un ordinateur ordinaire, lors de l'exécution de programmes multithreads, un processeur logique est requis pour chaque thread, alors dans un ordinateur quantique, le nombre de threads peut augmenter de façon exponentielle à mesure que le nombre de qubits dans le circuit augmente.

Par exemple, si 1024 flux sur un ordinateur ordinaire nécessitent le même nombre de processeurs logiques, alors dans un flux quantique, ce n'est que de 10. Vrai, vous ne pouvez utiliser ces flux que indirectement, c'est-à-dire que vous ne pourrez pas surveiller directement leur travail.

Vous devez également comprendre que les algorithmes utilisés par un ordinateur quantique sont différents des algorithmes étudiés dans les sections d'informatique sur les ordinateurs classiques. Bien sûr, vous ne pouvez pas transférer l'algorithme classique vers un ordinateur quantique sans d'abord le changer. De plus, il est peu probable que quelque chose de significatif reste de l'algorithme d'origine. Très probablement, il sera complètement changé, de sorte que seule une idée générale en restera (s'il en reste quelque chose).

On peut en dire autant de l'apprentissage automatique. Pour les ordinateurs quantiques, des analogues d'algorithmes classiques d'apprentissage automatique existent déjà (par exemple, Random Forest, KNN, réseaux de neurones). Mais, d'une part, ils sont mis en œuvre d'une manière différente, et d'autre part, tôt ou tard, des algorithmes complètement nouveaux apparaîtront qui tireront pleinement parti des avantages de l'informatique quantique.

Tous les spécialistes du domaine des mégadonnées et de l'intelligence artificielle sont conscients des situations où un scientifique doit attendre longtemps avant qu'un modèle apprenne.

Bien sûr, il existe des modèles simples (tels que la régression linéaire) qui s'entraînent sur de petites données en quelques secondes, mais dans le cas de modèles plus complexes, tels que les réseaux de neurones, la formation peut durer de quelques minutes à plusieurs semaines. Afin de trier plusieurs variantes de ces modèles, une patience remarquable est requise.

Il existe également de tels modèles que même la date la plus patiente du scientifique refusera d'utiliser. En particulier, les modèles avec un grand nombre de poids ou ceux qui nécessitent une recherche exhaustive d'un nombre croissant de combinaisons. L'utilisation d'ordinateurs quantiques convient à de telles tâches, ce qui peut réduire le temps de calcul de plusieurs années à plusieurs minutes.

Pourquoi l'intelligence artificielle doit accélérer les algorithmes


Au cours des deux ou trois dernières années, il y a eu un développement rapide des technologies de vision par ordinateur, et au cours de la dernière année, beaucoup a été inventé dans le traitement du langage naturel.

De plus, la formation de modèles complexes dure très longtemps. Mais si nous supposons que des modèles de complexité identique ou supérieure prendraient un ordre de grandeur moins de temps, il serait alors possible de tester des hypothèses et de tester des modèles beaucoup plus rapidement.

En conséquence, des progrès dans ces domaines se produiraient à un rythme accéléré: au lieu d'une ou deux découvertes notables par mois, nous pourrions en entendre parler quotidiennement. La double croissance exponentielle des progrès de l'informatique quantique peut conduire au même rythme de progrès dans l'apprentissage automatique.

Mécanismes de calcul quantique


Un photon, un électron, un ion ou une autre particule peut agir comme un qubit. S'il s'agit d'un électron, alors on peut mesurer son spin (moment angulaire propre) et ainsi obtenir 0 ou 1. Dans la notation Dirac, ces états sont notés comme suit:

|0 rangle,|1 rangle



L'état d'un qubit peut également être exprimé à l'aide d'un vecteur. Il s'agit du vecteur d'état d'un qubit égal à 0:

|0 rangle= beginbmatrix10 endbmatrix



Et ceci est un vecteur qubit égal à 1:

|1 rangle= beginbmatrix01 endbmatrix



L'opérateur Hadamard joue un rôle important dans l'informatique quantique:

H_1 = \ frac {1} {\ sqrt {2}} \ begin {bmatrix} 1 & 1 \\ 1 & -1 \ end {bmatrix}



Une façon d'obtenir une superposition consiste à appliquer l'opérateur Hadamard à un qubit qui se trouve dans l'un des deux états de base. Dans ce cas, nous obtenons un état qubit lorsque les probabilités d'obtenir 0 ou 1 après la mesure sont égales. C'est ainsi que la superposition sera obtenue si l'état initial du qubit est nul:

\\ 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)



Mais une telle superposition se révélera si l'état initial est unique:

\\ 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)



Une autre option courante pour travailler avec des qubits est l'utilisation de l'intrication quantique - une telle interconnexion entre deux qubits, même lorsqu'ils sont séparés sur une grande distance, ils présentent une corrélation de 100%. En corrélation directe, si l'un des qubits après une mesure suppose un certain état, alors l'autre qubit acquiert exactement le même état. Avec une relation inverse, les qubits prennent des états opposés après la mesure.

Quelles sont les possibilités de l'informatique quantique et de l'apprentissage automatique quantique?


Tous les spécialistes qui souhaitent gagner du temps peuvent utiliser l'informatique quantique pour l'apprentissage automatique. Des opérations telles que la transformée de Fourier rapide, la recherche de la matrice inverse, le calcul des valeurs propres et des vecteurs matriciels sur un ordinateur quantique se produisent avec une accélération exponentielle.

Bien sûr, le travail qui ne consomme pas beaucoup de ressources (par exemple, la visualisation des données) peut continuer à être effectué sur un ordinateur ordinaire, mais les algorithmes d'apprentissage automatique, ou du moins les parties qui peuvent être accélérées à l'aide de qubits, peuvent être confiés à un ordinateur quantique.

Une des questions qui dérange les spécialistes: comment travailler avec les données en informatique quantique? Imaginez la situation que nous avons une image (pour la rendre plus facile, qu'elle soit en noir et blanc), que nous voulons soumettre à l'entrée d'un réseau neuronal quantique. L'image a une taille de 256 par 256 pixels - une taille assez standard pour la reconnaissance d'image.

Afin de représenter cette image sous forme de nombres, nous codons chaque pixel avec un nombre à virgule flottante de 64 bits (en fait, un entier de 8 bits serait suffisant, mais en pratique, la matrice avec les valeurs des pixels est mise à l'échelle avant de s'appliquer à l'entrée du réseau de neurones, donc la matrice est remplie de nombres de 32 ou 64 bits). Une telle image peut être représentée sous la forme d'une matrice de 65536 nombres, qui pèsera 512 kilo-octets (le réseau de neurones reçoit une image non compressée en entrée), c'est-à-dire que 4194304 bits seront nécessaires.

Si cette image est codée à l'aide de qubits, alors leur nombre sera beaucoup plus petit: nous traduirons n qubits en superposition, et la valeur de chaque pixel peut être représentée comme l'amplitude pour chacun des états possibles. Le nombre de ces états est de deux degrés n. Pour trouver n, nous trouvons le logarithme binaire du nombre de pixels.

Comme vous pouvez le voir, les actions sont assez simples, vous n'avez donc même pas besoin d'écrire des formules. Par conséquent, le nombre n s'avère être 16. C'est le nombre de qubits nécessaires pour coder cette image, soit 262144 fois moins que lors de l'utilisation de bits classiques.

Si nous avons 66 qubits, puis en les traduisant en superposition, vous pouvez encoder plus d'un billion d'images couleur au format 4K.

Ainsi, le codage quantique permet de réaliser une compression logarithmique des informations. En conséquence, l'accélération des méthodes d'apprentissage automatique lors de l'utilisation de ces données peut être exponentielle.

Langages de programmation et bibliothèques spécialisés


Aujourd'hui, de nombreux langages de programmation ont des bibliothèques pour l'informatique quantique. Certaines de ces bibliothèques ne fonctionnent qu'avec la simulation de l'informatique quantique, mais beaucoup prennent en charge les vrais ordinateurs quantiques, y compris ceux en nuage, comme backend.

Si vous opérez directement avec des qubits, cela revient à écrire du code assembleur de bas niveau sur des ordinateurs classiques. Curieusement, Python est l'un de ces langages de programmation de «bas niveau» utilisés pour programmer des calculs sur des ordinateurs quantiques.

L'une des bibliothèques de ce langage - Qiskit - fonctionne à la fois sur le simulateur et sur le backend quantique, et permet également d'effectuer des opérations sur des qubits à un faible niveau. Pour une programmation de niveau supérieur, il est pratique d'utiliser PennyLane , une bibliothèque pour l'apprentissage automatique quantique. Le référentiel de cette bibliothèque contient des exemples de mise en œuvre d'algorithmes d'apprentissage automatique, y compris un réseau neuronal quantique.

Perspectives pour l'informatique quantique


En janvier 2019, le premier ordinateur quantique commercial a été lancé - l'IBM Q System One. De plus, maintenant, pour l'informatique quantique, vous pouvez utiliser des systèmes cloud pour les chercheurs et les entreprises commerciales.

Tout le monde peut exécuter son algorithme quantique sur la plateforme cloud IBM Q Experience , et pour créer un schéma quantique, il n'est même pas nécessaire de connaître les langages de programmation, car en plus de saisir des commandes, vous pouvez utiliser l'interface graphique appelée Circuit Composer.

En septembre 2019, des informations non officielles semblaient indiquer que Google avait atteint la supériorité quantique en résolvant l'un des problèmes sur un ordinateur quantique à une vitesse qui n'était même pas disponible pour le supercalculateur le plus puissant. Même si les nouvelles sont prématurées, de tels rapports suggèrent que la supériorité quantique est proche.

Plusieurs géants de l'informatique recherchent immédiatement les meilleures solutions pour les ordinateurs quantiques. Certains chercheurs prédisent qu’une loi similaire à celle de Moore s’appliquera aux ordinateurs quantiques.

Certes, la vitesse de développement, contrairement aux ordinateurs classiques, n'est probablement pas un exposant simple ordinaire, mais double, de sorte que les programmeurs travaillant avec l'informatique quantique devront créer un grand nombre de programmes dans un proche avenir.

Quant au domaine de la publicité et du marketing, dans lequel je travaille actuellement, les modèles d'apprentissage automatique appliqués doivent subir une transformation complète. Ce qui fonctionne sur les ordinateurs classiques sera nettement inférieur en termes de vitesse et de qualité aux modèles du futur.

Les dernières technologies n'apporteront pas moins de changements au processus de numérisation des publics cibles. Des robots insaisissables pilotés par des ordinateurs quantiques laboureront les espaces ouverts des réseaux sociaux, capturant les moindres changements dans les goûts et les humeurs du public. Qui sait, peut-être que les campagnes publicitaires elles-mêmes ne peuvent être lancées qu'en exprimant à l'ordinateur des souhaits généraux concernant leurs objectifs.

Source: https://habr.com/ru/post/fr472760/


All Articles