Spanish
Idiomas
English
Bengali
French
Hindi
Italian
Japanese
Korean
Malayalam
Russian
Spanish
Tamil
Turkish
Vietnamese
  • Docs >
  • Descripción general de Qiskit Machine Learning
Shortcuts



Descripción general de Qiskit Machine Learning

Descripción general

Qiskit Machine Learning presenta bloques de construcción computacionales fundamentales, como Quantum Kernels y Quantum Neural Networks, que se utilizan en diferentes aplicaciones, incluidas la clasificación y la regresión. Por un lado, este diseño es muy fácil de usar y permite a los usuarios prototipar rápidamente un primer modelo sin conocimientos profundos de computación cuántica. Por otro lado, Qiskit Machine Learning es muy flexible y los usuarios pueden extenderlo fácilmente para respaldar la investigación de machine learning cuántico de vanguardia.

Qiskit Machine Learning proporciona la clase QuantumKernel que se puede usar fácilmente para calcular directamente las matrices del kernel para conjuntos de datos dados o se puede pasar a un Clasificador Cuántico de Vectores de Soporte (Quantum Support Vector Classifier) (QSVC) o Regresor Cuántico de Vectores de Soporte (Quantum Support Vector Regressor) (QSVR) para empezar a resolver rápidamente problemas de clasificación o regresión. También se puede utilizar con muchos otros algoritmos de machine learning basados en kernels existentes de frameworks clásicos establecidos.

Qiskit Machine Learning define una interfaz genérica para redes neuronales que es implementada por diferentes redes neuronales cuánticas. Se proporcionan múltiples implementaciones listas para usarse, como la clase OpflowQNN, la TwoLayerQNN, y la CircuitQNN. La clase OpflowQNN permite a los usuarios combinar circuitos cuánticos parametrizados con observables mecánicos cuánticos. Los circuitos se pueden construir usando, por ejemplo, bloques de construcción de la biblioteca de circuitos de Qiskit, y la salida de QNN viene dada por el valor esperado del observable. La clase TwoLayerQNN es un caso especial de la OpflowQNN que toma como entrada un mapa de características y un ansatz. La clase CircuitQNN toma directamente las mediciones del circuito cuántico como salida sin un observable. La salida se puede utilizar como un lote de muestras, es decir, una lista de cadenas de bits medidas a partir de los qubits del circuito, o como un vector disperso de las probabilidades de muestreo resultantes para cada cadena de bits. La primera es de interés en el aprendizaje de distribuciones resultantes de un circuito cuántico dado, mientras que la segunda tiene aplicación, por ejemplo, en regresión o clasificación. Se puede usar un paso de posprocesamiento para interpretar una cadena de bits dada en un contexto particular, por ejemplo, traduciéndola a un conjunto de clases.

Las redes neuronales incluyen la funcionalidad para evaluarlas para una entrada determinada, así como para calcular los gradientes correspondientes, lo cual es importante para un entrenamiento eficiente. Para entrenar y usar redes neuronales, Qiskit Machine Learning proporciona una variedad de algoritmos de aprendizaje como la clase NeuralNetworkClassifier y NeuralNetworkRegressor. Ambas toman una QNN como entrada y luego la utilizan en un contexto de clasificación o regresión. Para permitir un comienzo fácil, se proporcionan dos implementaciones convenientes: el Clasificador Cuántico Variacional (VQC) así como el Regresor Cuántico Variacional (VQR). Ambos toman solo un mapa de características y un ansatz y construyen la QNN subyacente automáticamente.

Además de los modelos provistos directamente en Qiskit Machine Learning, se tiene la clase TorchConnector, que permite a los usuarios integrar todas nuestras redes neuronales cuánticas directamente en la biblioteca de machine learning de código abierto PyTorch. Gracias al framework de gradiente de Qiskit, esto incluye la diferenciación automática, los gradientes generales calculados por PyTorch durante la retropropagación también toman en cuenta las redes neuronales cuánticas. El diseño flexible también permite la construcción de conectores a otros paquetes en el futuro.

Siguientes Pasos

Primeros pasos

Tutoriales