WO2023243011A1 - 情報処理プログラム、情報処理方法、および情報処理装置 - Google Patents

情報処理プログラム、情報処理方法、および情報処理装置 Download PDF

Info

Publication number
WO2023243011A1
WO2023243011A1 PCT/JP2022/024000 JP2022024000W WO2023243011A1 WO 2023243011 A1 WO2023243011 A1 WO 2023243011A1 JP 2022024000 W JP2022024000 W JP 2022024000W WO 2023243011 A1 WO2023243011 A1 WO 2023243011A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
update process
parameter
coefficient
information processing
Prior art date
Application number
PCT/JP2022/024000
Other languages
English (en)
French (fr)
Inventor
憲彦 高橋
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2022/024000 priority Critical patent/WO2023243011A1/ja
Publication of WO2023243011A1 publication Critical patent/WO2023243011A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present invention relates to an information processing program, an information processing method, and an information processing device.
  • VQE Variational Quantum Eigensolver
  • a quantum computer measures the expected value of a quantum state based on a variational quantum circuit parameterized by a plurality of parameters ⁇ .
  • the expected value of energy can be obtained from the expected value of the quantum state.
  • a classical computer adjusts the parameter ⁇ so that the energy is lower.
  • Such a process for adjusting the parameter ⁇ is called an optimization process.
  • the quantum computer generates a quantum state using the optimized parameter ⁇ and measures the expected value again.
  • Quantum computers and classical computers repeatedly measure the expected value of the quantum state and optimize parameters until the energy converges.
  • a quantum computing device As a technology related to quantum computation, for example, a quantum computing device has been proposed that can execute a quantum variational algorithm even if the error rate of the quantum computing device is not a sufficiently small value. Techniques regarding generation of trial states for VQE have also been proposed. In addition, classical computers estimate the expected value of a Hamiltonian that can be expressed as a linear combination of observables based on the expected value of the observables for a quantum state, and convert one or both of the Hamiltonian and the quantum state. Optimization methods have also been proposed. Furthermore, techniques have been proposed to facilitate quantum computation of Monte Carlo minimization.
  • the present invention aims to reduce VQE computation time.
  • One proposal provides an information processing program that causes a computer to multiple times update the values of parameters applied to a variational quantum circuit used for VQE calculations.
  • the computer periodically changes the value for each update process of the coefficient used in the update process of the parameter value to a value higher and lower than a predetermined reference value as the number of updates indicating the number of update processes increases. Decide on a value that changes over time.
  • the computer changes the value of the parameter from the pre-update value to the changed value by the amount of change according to the value of the coefficient determined for the number of updates of the update process to be executed. , update the value of the parameter.
  • VQE computation time is reduced.
  • FIG. 3 is a diagram illustrating an example of an information processing method according to the first embodiment. It is a figure showing an example of system configuration of a 2nd embodiment.
  • 1 is a diagram showing an example of classical computer hardware;
  • FIG. It is a diagram showing an example of a variational quantum circuit.
  • FIG. 2 is a block diagram illustrating an example of the functionality of a classical computer for VQE calculations.
  • 3 is a flowchart illustrating an example of a procedure for VQE calculation processing. It is a figure which shows an example of VQE calculation of the energy of a hydrogen molecule.
  • FIG. 3 is a diagram illustrating an example of a change in step size.
  • FIG. 3 is a diagram illustrating an example of the relationship between m and the number of optimizations.
  • the present embodiment will be described below with reference to the drawings. Note that each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
  • the first embodiment is an information processing method that reduces the number of optimization iterations and shortens calculation time by accelerating energy convergence in VQE calculations.
  • FIG. 1 is a diagram illustrating an example of an information processing method according to the first embodiment.
  • FIG. 1 shows an information processing apparatus 10 that implements an information processing method.
  • the information processing device 10 can implement the information processing method by executing an information processing program, for example.
  • the information processing device 10 includes a storage section 11 and a processing section 12.
  • the storage unit 11 is, for example, a memory or a storage device included in the information processing device 10.
  • the processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing device 10.
  • the storage unit 11 stores a variational quantum circuit 1 corresponding to a quantum many-body system to be solved by VQE calculation.
  • the variational quantum circuit 1 is parameterized by, for example, a plurality of parameter sets ⁇ ( ⁇ 1 , ⁇ 2 , . . . ).
  • the processing unit 12 performs VQE calculation.
  • the processing unit 12 uses, for example, the quantum computer 2 to measure the expected value of the quantum state by the variational quantum circuit 1 to which the value of the parameter at that time is applied.
  • the processing unit 12 calculates the energy of the quantum many-body system based on the expected value of the quantum state.
  • the processing unit 12 determines whether the calculated energy satisfies a predetermined convergence condition, and if it does not, updates the value of the parameter set ⁇ in a direction that reduces the energy. Such updating of the values of the set ⁇ of a plurality of parameters is called parameter optimization.
  • the processing unit 12 repeatedly performs expected value measurement and parameter optimization using the quantum computer 2 until the energy satisfies the convergence condition.
  • the processing unit 12 dynamically adjusts a coefficient that adjusts the magnitude of the change in the value of the set ⁇ of a plurality of parameters in parameter optimization as the VQE calculation progresses.
  • Change to The coefficient is, for example, the step size ⁇ .
  • the step size ⁇ is, for example, the learning rate in the gradient descent method.
  • the processing unit 12 changes the value for each update process of the coefficient used in the update process of the value of the parameter applied to the variational quantum circuit 1 to a predetermined value as the number of updates indicating the number of update processes increases. A value that periodically changes between higher and lower values than the reference value is determined.
  • the number of updates is k (k is a natural number)
  • the value of the coefficient is determined for each value of the number of updates k.
  • the reference value ( ⁇ 0 ) is “0.05”.
  • the change period of the coefficient value may be, for example, one period with a fixed number of updates.
  • two update processes constitute one cycle. In this case, each time the number of updates increases by 1, values higher and lower than the reference value are alternately repeated.
  • the processing unit 12 can dynamically calculate the value of the coefficient for each update process during the VQE calculation process. For example, when the kth first update process of the parameter value is performed in the process of VQE calculation, the processing unit 12 updates the k+1st update process based on the first change amount of the parameter value in the first update process. Calculate the value of the coefficient used in the second update process.
  • the processing unit 12 updates the next update process based on the average value of the first change amount of each parameter value of the plurality of parameter sets ⁇ ( ⁇ 1 , ⁇ 2 , . . . ) in the first update process. Calculate the values of coefficients commonly used in determining the updated values of a plurality of parameters in the update process of step 2.
  • is the amount of change in the parameter value in the k-th update process (the difference in the parameter value before and after the update).
  • the processing unit 12 determines the amount of change in the value of the parameter in the update process repeatedly executed during the VQE calculation process based on the value of the coefficient determined for the number of updates of the update process to be executed. For example, the processing unit 12 increases the amount of change in the parameter value as the coefficient value increases. Then, the processing unit 12 updates the value of the parameter from the value of the parameter before updating to the value changed by the determined amount of change.
  • the processing unit 12 determines that the coefficient value is the product ( ⁇ k ( ⁇ f( ⁇ )/ ⁇ p ) of the slope of the cost function (f( ⁇ )) corresponding to the parameter value before updating and the coefficient value ) is determined as the amount of change.
  • the cost function is, for example, a function whose value decreases as the energy of the quantum many-body system to be solved decreases.
  • the processing unit 12 periodically changes the value of the coefficient between a value larger and a value smaller than the reference value. This speeds up energy convergence when the coefficient value becomes larger than the reference value, and reduces the number of iterative processes (including parameter optimization and expected value measurement).
  • the amount of change in the parameter can be appropriately adjusted by changing the value of the coefficient.
  • the processing unit 12 calculates the value of the coefficient to be used in the (k+1)th update process based on the amount of change in the value of the parameter in the k-th update process. For example, the processing unit 12 decreases the value of the coefficient used in the (k+1)th update process as the amount of change in the value of the k-th update process parameter increases. Thereby, it is possible to dynamically calculate the value of the coefficient that periodically changes between higher and lower values than the reference value during the VQE calculation process.
  • the second embodiment shortens the VQE calculation time by accelerating energy convergence in VQE calculation using a quantum computer.
  • the process of updating the value of the set of parameters ⁇ so as to reduce the energy of the quantum many-body system is called an optimization process.
  • the number of times optimization processing is executed during the VQE calculation process is called the number of optimization times.
  • a coefficient that adjusts the amount of change in the set ⁇ of a plurality of parameters is called a step size.
  • FIG. 2 is a diagram showing an example of the system configuration of the second embodiment.
  • the classical computer 100 and the quantum computer 200 are connected via a network.
  • Classical computer 100 is a Neumann type computer.
  • the classical computer 100 performs processing such as parameter optimization calculation in VQE calculation.
  • the quantum computer 200 is a quantum gate type quantum computer that performs desired calculations by manipulating the states of quantum bits based on quantum circuits. In the VQE calculation, the quantum computer 200 obtains the expected value of the quantum state indicated by the variational quantum circuit based on the variational quantum circuit according to the value of the specified parameter.
  • FIG. 3 is a diagram showing an example of classical computer hardware.
  • the classical computer 100 is entirely controlled by a processor 101.
  • a memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109.
  • Processor 101 may be a multiprocessor.
  • the processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor).
  • At least a part of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).
  • ASIC Application Specific Integrated Circuit
  • PLD Programmable Logic Device
  • the memory 102 is used as the main storage device of the classical computer 100.
  • the memory 102 temporarily stores at least a portion of OS (Operating System) programs and application programs to be executed by the processor 101.
  • the memory 102 also stores various data used for processing by the processor 101.
  • a volatile semiconductor storage device such as a RAM (Random Access Memory) is used, for example.
  • Peripheral devices connected to the bus 109 include a storage device 103, a GPU (Graphics Processing Unit) 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.
  • a storage device 103 a graphics processing unit
  • a GPU Graphics Processing Unit
  • the storage device 103 electrically or magnetically writes and reads data to and from a built-in recording medium.
  • the storage device 103 is used as an auxiliary storage device for the classical computer 100.
  • the storage device 103 stores OS programs, application programs, and various data.
  • an HDD Hard Disk Drive
  • an SSD Solid State Drive
  • the GPU 104 is an arithmetic unit that performs image processing, and is also called a graphics controller.
  • a monitor 21 is connected to the GPU 104.
  • the GPU 104 displays an image on the screen of the monitor 21 according to instructions from the processor 101. Examples of the monitor 21 include a display device using organic EL (Electro Luminescence) and a liquid crystal display device.
  • a keyboard 22 and a mouse 23 are connected to the input interface 105.
  • the input interface 105 transmits signals sent from the keyboard 22 and mouse 23 to the processor 101.
  • the mouse 23 is an example of a pointing device, and other pointing devices can also be used.
  • Other pointing devices include touch panels, tablets, touch pads, trackballs, and the like.
  • the optical drive device 106 reads data recorded on the optical disc 24 or writes data to the optical disc 24 using laser light or the like.
  • the optical disc 24 is a portable recording medium on which data is recorded so as to be readable by reflection of light. Examples of the optical disc 24 include a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable)/RW (ReWritable).
  • the device connection interface 107 is a communication interface for connecting peripheral devices to the classical computer 100.
  • a memory device 25 or a memory reader/writer 26 can be connected to the device connection interface 107.
  • the memory device 25 is a recording medium equipped with a communication function with the device connection interface 107.
  • the memory reader/writer 26 is a device that writes data to or reads data from the memory card 27.
  • the memory card 27 is a card-type recording medium.
  • the network interface 108 is connected to the quantum computer 200 via a network.
  • the network interface 108 transmits information such as a request for quantum calculation to the quantum computer 200 and receives information indicating a calculation result from the quantum computer 200.
  • the network interface 108 is a wired communication interface that is connected to a wired communication device such as a switch or a router using a cable.
  • the classical computer 100 can implement the processing functions of the second embodiment using the hardware described above. Note that the apparatus shown in the first embodiment can also be realized by the same hardware as the classical computer 100 shown in FIG. 3.
  • the classical computer 100 realizes the processing functions of the second embodiment by, for example, executing a program recorded on a computer-readable recording medium.
  • a program that describes the processing content to be executed by the classical computer 100 can be recorded on various recording media.
  • a program to be executed by the classical computer 100 can be stored in the storage device 103.
  • the processor 101 loads at least part of the program in the storage device 103 into the memory 102 and executes the program.
  • the program to be executed by the classical computer 100 may be recorded on a portable recording medium such as the optical disk 24, the memory device 25, or the memory card 27.
  • the program stored in the portable recording medium becomes executable after being installed in the storage device 103 under the control of the processor 101, for example.
  • the processor 101 can also directly read and execute a program from a portable recording medium.
  • the classical computer 100 and the quantum computer 200 cooperate to execute VQE calculations.
  • a plurality of parameter sets ⁇ are used in the variational quantum circuit used for VQE calculation.
  • FIG. 4 is a diagram showing an example of a variational quantum circuit.
  • FIG. 4 shows an example of a variational quantum circuit 30 for determining the base value of the energy of hydrogen molecules.
  • operations on four quantum bits (qubits 0 to 3) are shown.
  • a horizontal line associated with each quantum bit indicates a gate operation for that quantum bit.
  • gate operations set for each quantum bit are executed in order from the left.
  • the one-qubit gates 31a to 31l are quantum gates that perform a rotation operation around a predetermined axis by a specified angle.
  • the variational quantum circuit 30 is shown to sequentially perform a rotation operation around the z-axis, a rotation operation around the y-axis, and a rotation operation around the z-axis for each quantum bit.
  • the rotation angles of the one-qubit gates 31a to 31c that act on the first quantum bit (qubit 0) are ⁇ 0 , ⁇ 1 , and ⁇ 2 , respectively.
  • the rotation angles of the one-qubit gates 31d to 31f acting on the second quantum bit (qubit 1) are ⁇ 3 , ⁇ 4 , and ⁇ 5 , respectively.
  • the rotation angles of the one-qubit gates 31g to 31i acting on the third qubit (qubit 2) are ⁇ 6 , ⁇ 7 , and ⁇ 8 , respectively.
  • the rotation angles of the one-qubit gates 31j to 31l that act on the fourth qubit (qubit 3) are ⁇ 9 , ⁇ 10 , and ⁇ 11 , respectively.
  • the two-qubit gate 32a is a CNOT gate that indicates a CNOT operation between the third and fourth qubits.
  • the third qubit is the control qubit
  • the fourth qubit is the target qubit.
  • the two-qubit gate 32b is a CNOT gate that indicates a CNOT operation between the third and first qubit.
  • the third qubit is the control qubit
  • the first qubit is the target qubit.
  • the two-qubit gate 32c is a CNOT gate that indicates a CNOT operation between the fourth and second quantum bits.
  • the fourth qubit is the control qubit
  • the second qubit is the target qubit.
  • Symbols 33a to 33d shown at the right end of the line corresponding to each quantum bit indicate quantum state measurement operations.
  • a gradient is used, for example, in optimizing the set ⁇ of a plurality of parameters.
  • the value of the p-th (p is a natural number) parameter ⁇ p in the k-th (k is a natural number) optimization process is assumed to be ⁇ p,k .
  • ⁇ p,k+1 in the k+1st optimization process can be calculated using the following equation (1) using ⁇ p,k .
  • is a parameter (step size) that determines the weight of numerical values updated in one optimization process.
  • is also called the learning rate.
  • f( ⁇ ) is a cost function representing energy.
  • ⁇ f( ⁇ )/ ⁇ p is the axial gradient of the parameter ⁇ p .
  • the gradient is the partial differential coefficient with respect to the parameter ⁇ p at the point ( ⁇ 1,k , ⁇ 2,k , . . . ) of f( ⁇ ).
  • the value of step size ⁇ is fixed and optimization is performed.
  • the ⁇ value is too large, especially in the early stages of optimization, the values of multiple parameter sets ⁇ may change too much in a single optimization process, and the optimization path that should originally be followed may be changed too much. There is a possibility that the optimization will not go well due to deviation.
  • the value of ⁇ is too small at the final stage of optimization, the amount of change in each value of a plurality of parameter sets ⁇ may be underestimated, resulting in an increase in the number of optimizations.
  • the classical computer 100 changes the value of the step size ⁇ for each optimization process, as shown in equations (2) and (3).
  • ⁇ k is the step size in the k-th optimization process.
  • D 0 is a preset constant (real number).
  • D k is the average value of the amount of change in the parameter ⁇ p in the set ⁇ of a plurality of parameters in the k-th optimization process.
  • D k is determined according to equation (4).
  • N is the number of parameters (N is a natural number).
  • m in equation (3) is a preset constant (real number). Note that the value of m is selected so that the number of optimization iterations is as small as possible.
  • FIG. 5 is a block diagram illustrating an example of the functionality of a classical computer for VQE calculations.
  • the classical computer 100 includes a quantum calculation management section 110 and an optimization calculation section 120.
  • the quantum calculation management unit 110 generates a variational quantum circuit for calculating the energy of a quantum many-body system such as a molecule, and instructs the quantum computer 200 to perform energy calculation based on the variational quantum circuit.
  • the quantum calculation management unit 110 generates a variational quantum circuit for quantum chemical calculation, and sets a set ⁇ of a plurality of parameters related to gate operations at quantum gates in the variational quantum circuit.
  • the quantum calculation management unit 110 sets initial values to the values of a plurality of parameter sets ⁇ before the first energy calculation based on the variational quantum circuit.
  • the initial value of each parameter is, for example, a value specified in advance by the user. Furthermore, random values may be used as the initial values of each parameter.
  • the quantum calculation management unit 110 obtains from the quantum computer 200 an energy calculation result based on a variational quantum circuit parameterized by a plurality of parameter sets ⁇ . Upon acquiring the energy calculation results, the quantum calculation management unit 110 determines whether the energy has converged. If the energy has not converged, the quantum calculation management unit 110 instructs the optimization calculation unit 120 to optimize the parameters.
  • the optimization calculation unit 120 optimizes a plurality of parameter sets ⁇ for each optimization process. For example, the optimization calculation unit 120 updates the value of the set ⁇ of a plurality of parameters in a direction that decreases the energy value. When the optimization calculation is completed, the optimization calculation unit 120 notifies the quantum calculation management unit 110 of the updated value of the set of parameters ⁇ .
  • each element shown in FIG. 5 can be realized, for example, by causing a computer to execute a program module corresponding to the element.
  • the procedure of VQE calculation processing will be explained in detail.
  • FIG. 6 is a flowchart illustrating an example of a procedure for VQE calculation processing. The process shown in FIG. 6 will be described below in accordance with step numbers.
  • the quantum calculation management unit 110 uses, for example, a prespecified value as the initial value of the set ⁇ of the plurality of parameters.
  • the quantum calculation management unit 110 sets an initial value ⁇ 0 of the step size ⁇ used in parameter optimization.
  • the initial value ⁇ 0 is, for example, a value specified in advance.
  • the quantum calculation management unit 110 instructs the quantum computer 200 to measure the expected value.
  • the quantum calculation management unit 110 transmits the generated variational quantum circuit and the value of a set of parameters ⁇ to the quantum computer 200, and instructs the quantum computer 200 to calculate the expected value of each quantum bit based on the variational quantum circuit.
  • the quantum computer 200 measures the expected value of a quantum bit based on a variational quantum circuit parameterized by a plurality of parameter sets ⁇ .
  • the quantum calculation management unit 110 determines whether the energy has converged. For example, the quantum calculation management unit 110 calculates the value of a cost function f( ⁇ ) representing energy, and uses the calculation result as an energy value. The quantum calculation management unit 110 determines that the energy has converged when the energy value satisfies a predetermined convergence condition. For example, the quantum calculation management unit 110 determines that the energy has converged if the energy value has reached a value known as the ground state energy value. Further, the quantum calculation management unit 110 may determine that the energy has converged when the difference between the energy value calculated this time and the energy value calculated last time is less than or equal to a predetermined threshold.
  • the quantum calculation management unit 110 When the energy converges, the quantum calculation management unit 110 outputs a solution according to the state of the quantum bit at that time, and ends the VQE calculation process. Further, if the energy has not converged, the quantum calculation management unit 110 advances the process to step S105.
  • the quantum calculation management unit 110 stores the set ⁇ of a plurality of parameters in the memory 102 as ⁇ old .
  • the optimization calculation unit 120 performs optimization calculation of the set ⁇ of a plurality of parameters using the previously calculated step size ⁇ . For example, the optimization calculation unit 120 performs the calculation shown in equation (2). Note that in the first optimization calculation process, the optimization calculation unit 120 sets the preset initial value ⁇ 0 of the step size ⁇ as the applied step size ⁇ . The optimization calculation unit 120 updates the value of the set of parameters ⁇ to the value calculated by the optimization calculation.
  • Step S107 The optimization calculation unit 120 calculates a new step size based on the average value of the differences between the updated parameter set ⁇ and ⁇ old .
  • the calculated step size is used in the next optimization calculation. After that, the optimization calculation unit 120 advances the process to step S103.
  • FIG. 7 is a diagram showing an example of VQE calculation of the energy of hydrogen molecules.
  • graphs 31 and 32 show the results of calculating the energy of hydrogen molecules (H 2 ) using VQE when the interatomic distance is 0.7 ⁇ .
  • the horizontal axis is a value indicating the number of optimization processes (the number of optimizations), and the vertical axis is the energy value.
  • Graph 32 is an expanded version of the range of energy values from “-1.16" to "-1.06" in graph 31.
  • black circles indicate changes in energy when the step size ⁇ is a fixed value
  • open circles indicate changes in energy when the step size ⁇ is varied.
  • the energy calculated in one optimization process decreases as the number of repetitions of the optimization process increases.
  • a dynamically varying value is used as the step size ⁇
  • the energy decreases faster than when a fixed value is used as the step size ⁇ .
  • the number of optimizations when the energy converges is “93”.
  • the number of optimizations when the energy converges is “42”.
  • FIG. 8 is a diagram showing an example of how the step size changes.
  • the horizontal axis is the number of optimizations
  • the vertical axis is the step size.
  • black circles indicate changes in the step size when the step size ⁇ is a fixed value
  • white circles indicate changes in the step size when the step size ⁇ is varied.
  • the initial values of the step size ⁇ are both “0.05”.
  • the step size ⁇ is a fixed value, the step size remains “0.05” throughout the VQE calculation.
  • step size ⁇ When dynamically varying the step size ⁇ , each time the optimization count increases by 1, the step size ⁇ alternates between a larger value and a smaller value than the initial value. Furthermore, as the number of optimizations increases, the difference in step size ⁇ from the initial value becomes larger. That is, the amplitude of the variation in step size ⁇ increases as the number of optimizations increases.
  • the amount of change in the set of parameters ⁇ in the k-th optimization process is given by the average value D k of equation (4).
  • the average value D k is the denominator in the parentheses of the (D 0 /D k ) m part, so the larger the average value D k
  • the step size ⁇ k becomes smaller. That is, the larger the amount of change in the set of parameters ⁇ , the smaller the step size ⁇ k of the next optimization process.
  • the value of m in equation (3) is "0.6".
  • FIG. 9 is a diagram showing an example of the relationship between m and the number of optimizations.
  • a graph 34 shown in FIG. 9 shows the number of optimizations at the time of energy convergence depending on the value of m.
  • the horizontal axis of the graph 34 is the value of m, and the vertical axis is the number of optimizations at the time of energy convergence.
  • the step size ⁇ always remains at the initial value ⁇ 0 . Therefore, when the value of m is "0", the number of optimizations during energy convergence is "93" as shown in FIG. Further, when the value of m is "0.6", the number of optimizations at the time of energy convergence is "42" as shown in FIG. That is, the effect of reducing the number of optimizations at the time of energy convergence by dynamically varying the step size ⁇ is about 55% at maximum.
  • the step size ⁇ is calculated for each optimization process, but the step size for each optimization process is set in advance so that the step size varies as shown in FIG. You can stay there.
  • the step size ⁇ alternately repeats values larger and smaller than the initial value for each optimization process, but for example, it is possible to make the oscillation period of the step size ⁇ longer.
  • one cycle consists of four optimization processes, and after executing two optimization processes with a step size larger than the initial value, the optimization process is executed twice with a step size smaller than the initial value. It is also possible to do so.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

VQE計算時間を短縮する。 情報処理装置(10)は、VQE計算に使用する変分量子回路(1)に適用するパラメータの値の更新処理を複数回実行する。そのために情報処理装置(10)は、パラメータの値の更新処理で使用する係数の更新処理ごとの値を、更新処理が何回目なのかを示す更新回数の増加に伴って所定の基準値より高い値と低い値とに周期的に変化する値に決定する。情報処理装置(10)は、VQEの計算過程で複数回実行する更新処理において、実行する更新処理の更新回数に対して決定された係数の値に応じたパラメータの値の変化量を決定する。そして情報処理装置(10)は、更新前のパラメータの値から決定した変化量だけ変化させた値へ、パラメータの値を更新する。

Description

情報処理プログラム、情報処理方法、および情報処理装置
 本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
 量子コンピュータやシミュレータを用いて量子化学計算を行うための手法として、VQE(Variational Quantum Eigensolver:変分量子固有値ソルバー)アルゴリズムがある。このVQEアルゴリズムは、例えば物質の基底状態のエネルギー値を求めるために用いられる。
 VQEアルゴリズムによる量子化学計算(VQE計算)では、例えば量子コンピュータが、複数のパラメータθによりパラメタライズされた変分量子回路に基づいて量子状態の期待値を測定する。量子状態の期待値からエネルギーの期待値が得られる。量子状態の期待値に基づいて、古典コンピュータが、エネルギーがより低くなるようにパラメータθの調整処理を行う。このようなパラメータθの調整処理を最適化処理と呼ぶ。量子コンピュータは、最適化されたパラメータθを用いて量子状態を生成し期待値を再度測定する。量子コンピュータと古典コンピュータは、量子状態の期待値の測定とパラメータの最適化とをエネルギーが収束するまで繰り返す。
 量子計算に関する技術としては、例えば量子演算装置の誤り率が十分小さい値でなくても、量子変分アルゴリズムを実行することができる量子演算装置が提案されている。またVQEのための試行状態の生成に関する技術も提案されている。また古典的なコンピュータで、量子状態に対し、観測量の期待値に基づいて、観測量の線形結合として表現可能なハミルトニアンの期待値を推定し、ハミルトニアンと量子状態の一方または両方を変換する量子最適化方法も提案されている。さらにモンテカルロ最小化の量子計算を容易にする技術も提案されている。
特開2021-26370号公報 特表2020-534607号公報 米国特許出願公開第2020/0057957号明細書 米国特許出願公開第2019/0384597号明細書
 VQE計算では、最適化処理ごとのパラメータの値の変化量が大きすぎると、パラメータの値が、エネルギー最小値に到達するための理想的な遷移過程から大きく逸脱し、エネルギーが正しく収束しない可能性がある。そのため従来は、最適化処理ごとのパラメータの値の変化量を十分に小さくして、最適化処理が行われる。しかし最適化処理ごとのパラメータの値の変化量が小さいとエネルギーが少しずつしか低減せず、収束するまでの処理の繰り返し回数が多くなる。そのためVQE計算に要する時間が長期化してしまう。
 1つの側面では、本件は、VQE計算時間を短縮することを目的とする。
 1つの案では、VQE計算に使用する変分量子回路に適用するパラメータの値の更新処理を複数回コンピュータに実行させる情報処理プログラムが提供される。
 コンピュータは、パラメータの値の更新処理で使用する係数の更新処理ごとの値を、更新処理が何回目なのかを示す更新回数の増加に伴って所定の基準値より高い値と低い値とに周期的に変化する値に決定する。そしてコンピュータは、VQE計算で複数回実行する更新処理において、実行する更新処理の更新回数に対して決定された係数の値に応じた変化量だけ、更新前のパラメータの値から変化させた値へ、パラメータの値を更新する。
 1態様によれば、VQE計算時間が短縮される。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態に係る情報処理方法の一例を示す図である。 第2の実施の形態のシステム構成の一例を示す図である。 古典コンピュータのハードウェアの一例を示す図である。 変分量子回路の一例を示す図である。 VQE計算のための古典コンピュータの機能の一例を示すブロック図である。 VQE計算処理の手順の一例を示すフローチャートである。 水素分子のエネルギーのVQE計算の一例を示す図である。 ステップサイズの変化状況の一例を示す図である。 mと最適化回数との関係の一例を示す図である。
 以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
 〔第1の実施の形態〕
 第1の実施の形態は、VQE計算においてエネルギーの収束を早めることで最適化の繰り返し回数を削減し、計算時間を短縮する情報処理方法である。
 図1は、第1の実施の形態に係る情報処理方法の一例を示す図である。図1には、情報処理方法を実施する情報処理装置10が示されている。情報処理装置10は、例えば情報処理プログラムを実行することにより、情報処理方法を実施することができる。
 情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリまたはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサまたは演算回路である。
 記憶部11には、VQE計算による求解対象の量子多体系に対応する変分量子回路1を記憶する。変分量子回路1は、例えば複数のパラメータの組θ(θ1,θ2,・・・)でパラメタライズされている。
 処理部12は、VQE計算を行う。VQE計算では、処理部12は、例えば量子コンピュータ2を用いて、そのときのパラメータの値を適用した変分量子回路1により量子状態の期待値を測定する。処理部12は、量子状態の期待値に基づいて、量子多体系のエネルギーを計算する。処理部12は、計算したエネルギーが所定の収束条件を満たすか否かを判定し、満たさなければ、エネルギーが小さくなる方向へ複数のパラメータの組θの値を更新する。このような複数のパラメータの組θの値の更新は、パラメータの最適化と呼ばれる。処理部12は、エネルギーが収束条件を満たすまで、量子コンピュータ2を用いた期待値測定とパラメータの最適化とを繰り返し実行する。
 このようなVQE計算において、処理部12は、パラメータの最適化における複数のパラメータの組θの値をどの程度の大きさで変化させるかを調整する係数を、VQE計算の進行に伴って動的に変更する。係数は、例えばステップサイズηである。ステップサイズηは、例えば勾配降下法における学習率である。
 例えば処理部12は、変分量子回路1に適用するパラメータの値の更新処理で使用する係数の更新処理ごとの値を、更新処理が何回目なのかを示す更新回数の増加に伴って所定の基準値より高い値と低い値とに周期的に変化する値に決定する。更新回数をk(kは自然数)とすると、更新回数kの値ごとの係数の値が決定される。
 図1の例では、基準値(η0)が「0.05」である。そして、更新回数の増加に伴って、更新回数それぞれに対応する係数の値が、「0.05」より高い値と低い値とが周期的に変化している。係数の値の変化周期は、例えば一定の更新回数で1周期となっていてもよい。図1の例では、2回の更新処理で1周期となっている。この場合、更新回数が1増えるごとに基準値より高い値と低い値とが交互に繰り返される。
 処理部12は、更新処理ごとの係数の値を、VQE計算過程において動的に算出することができる。例えば処理部12は、VQE計算の過程でパラメータの値のk回目の第1の更新処理が行われると、第1の更新処理におけるパラメータの値の第1の変化量に基づいて、k+1回目の第2の更新処理で使用する係数の値を算出する。
 なお処理部12は、第1の更新処理における複数のパラメータの組θ(θ1,θ2,・・・)のパラメータそれぞれの値の第1の変化量の平均値に基づいて、次の第2の更新処理における複数のパラメータの更新後の値の決定に共通で使用する係数の値を計算する。k回目の更新処理における第1の変化量の平均値は、例えば「Dk=Σ|θp,k-θp,k-1|/N」(θp,kは、更新回数kにおけるp番目のパラメータの値、Nはパラメータ数)と表される。「|θp,k-θp,k-1|」は、k回目の更新処理でのパラメータの値の変化量(更新前後でのパラメータの値の差分)である。
 k+1回目の更新処理で使用する係数(ステップサイズηk)の値は、例えば「ηk=(D0/Dkm・η0」(D0,mは所定の実数)と表される。
 処理部12は、VQEの計算過程で繰り返し実行する更新処理において、実行する更新処理の更新回数に対して決定された係数の値に基づいてパラメータの値の変化量を決定する。例えば処理部12は、係数の値が大きいほどパラメータの値の変化量を大きくする。そして処理部12は、決定した変化量だけ更新前のパラメータの値から変化させた値へ、パラメータの値を更新する。
 例えば処理部12は、係数の値が更新前のパラメータの値に応じたコスト関数(f(θ))の勾配と係数の値との積(ηk(∂f(θ)/∂θp))を、変化量に決定する。コスト関数は、例えば求解対象の量子多体系のエネルギーが小さいほど値が小さくなる関数である。
 このようにVQE計算のパラメータの更新処理ごとに係数を動的に変化させることで、エネルギーを早期に収束させて最適化の繰り返し回数を削減することが可能となる。すなわち、係数の値が大きすぎる場合は1回の更新処理でパラメータの値が変化し過ぎてしまい、最適化がうまくいかない可能性がある。他方、係数の値が小さすぎる場合はパラメータの値の変化量が過小となり、更新処理を含む繰り返し処理の回数が増えてしまう。処理部12は、係数の値を、基準値より大きな値と小さな値とに周期的に変更する。これにより、係数の値が基準値より大きな値となったときにエネルギーの収束が早められ、繰り返し処理(パラメータの最適化と期待値測定を含む)の回数が削減される。また係数の値を基準値より小さな値とした更新処理が1周期内に挟まることで、パラメータの値の変化量が大きい状況を継続させずに済み、パラメータの最適化の経路を大きく逸脱してしまうことを抑止できる。
 また更新前のパラメータの値に応じたコスト関数の勾配と係数の値との積をパラメータの変化量に決定することにより、係数の値が大きいほどパラメータの変化量が大きくなる。これにより、係数の値の変更により、パラメータの変化量を適切に調整することができる。
 また処理部12は、k回目の更新処理におけるパラメータの値の変化量に基づいて、k+1回目の更新処理で使用する係数の値を算出する。例えば処理部12は、k回目の更新処理パラメータの値の変化量が大きいほど、k+1回目の更新処理で使用する係数の値を小さくする。これにより、基準値より高い値と低い値とに周期的に変化するような係数の値を、VQE計算過程で動的に算出することができる。
 また複数のパラメータそれぞれの値の第1の変化量の平均値に基づいて、第2の更新処理において複数のパラメータの更新後の値の決定に共通で使用する係数の値を計算することで、係数の値の計算負荷を軽減することができる。
 さらに更新回数が1増えるごとに基準値より高い値と低い値とを交互に繰り返す値に、更新回数ごとの係数の値を決定することで、例えばパラメータの値の変化量が大きい状況と小さい状況とを、VQE計算の繰り返し処理ごとに交互に発生させることができる。これにより、パラメータの値の変化量が大きい状況が連続することでパラメータの値が最適化の経路を逸脱してしまうことを抑制できる。しかもパラメータの値の変化量が大きくなる状況を適度に発生させ、エネルギーの収束を早めることができる。
 〔第2の実施の形態〕
 第2の実施の形態は、量子コンピュータを用いたVQE計算において、エネルギーの収束を早めることで、VQE計算時間を短縮するものである。なお、第2の実施の形態では、量子多体系のエネルギーを小さくするように複数のパラメータの組θの値を更新する処理を最適化処理と呼ぶ。VQE計算過程での最適化処理の実行回数を最適化回数と呼ぶ。また最適化処理において複数のパラメータの組θの変化量を調整する係数をステップサイズと呼ぶ。
 図2は、第2の実施の形態のシステム構成の一例を示す図である。古典コンピュータ100と量子コンピュータ200とはネットワークで接続されている。古典コンピュータ100は、ノイマン型のコンピュータである。古典コンピュータ100は、VQE計算におけるパラメータの最適化計算などの処理を行う。量子コンピュータ200は、量子回路に基づいて量子ビットの状態を操作することで所望の計算を行う量子ゲート方式の量子コンピュータである。量子コンピュータ200は、VQE計算において、変分量子回路に基づいて、指定されたパラメータの値に応じて、変分量子回路で示される量子状態の期待値を得る。
 図3は、古典コンピュータのハードウェアの一例を示す図である。古典コンピュータ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
 メモリ102は、古典コンピュータ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
 バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
 ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、古典コンピュータ100の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
 GPU104は画像処理を行う演算装置であり、グラフィックコントローラとも呼ばれる。GPU104には、モニタ21が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
 入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
 光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
 機器接続インタフェース107は、古典コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
 ネットワークインタフェース108は、ネットワークを介して量子コンピュータ200に接続されている。ネットワークインタフェース108は、量子コンピュータ200へ量子計算の要求などの情報を送信し、量子コンピュータ200から計算結果を示す情報を受信する。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。
 古典コンピュータ100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した装置も、図3に示した古典コンピュータ100と同様のハードウェアにより実現することができる。
 古典コンピュータ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。古典コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、古典コンピュータ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また古典コンピュータ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
 このようなシステムにおいて、古典コンピュータ100と量子コンピュータ200とが連係してVQE計算を実行する。VQE計算に利用する変分量子回路には、複数のパラメータの組θが用いられる。
 図4は、変分量子回路の一例を示す図である。図4には、水素分子のエネルギーの基底値を求めるための変分量子回路30の例が示されている。変分量子回路30には、4つの量子ビット(qubit 0~3)に対する操作が示されている。各量子ビットに対応付けられた横線上に、その量子ビットに対するゲート操作が示されている。量子コンピュータ200が量子計算を行う際には、各量子ビットに対して設定されているゲート操作が、左から順に実行される。
 1量子ビットゲート31a~31lは、指定された角度だけ所定の軸周りの回転操作を行う量子ゲートである。変分量子回路30は、各量子ビットに対して、z軸周りの回転操作、y軸周りの回転操作、z軸周りの回転操作を順に実行することが示されている。
 1量子ビットゲート31a~31lの回転角は、複数のパラメータの組θ(θ={θ1,θ2,・・・})で示される。1つ目の量子ビット(qubit 0)に作用させる1量子ビットゲート31a~31cの回転角は、それぞれθ0、θ1、θ2である。2つ目の量子ビット(qubit 1)に作用させる1量子ビットゲート31d~31fの回転角は、それぞれθ3、θ4、θ5である。3つ目の量子ビット(qubit 2)に作用させる1量子ビットゲート31g~31iの回転角は、それぞれθ6、θ7、θ8である。4つ目の量子ビット(qubit 3)に作用させる1量子ビットゲート31j~31lの回転角は、それぞれθ9、θ10、θ11である。
 所定の軸周りの回転操作の後、2量子ビットゲート32a,32b,32cによるゲート操作が行われる。2量子ビットゲート32aは、3つ目と4つ目の量子ビットの間のCNOT操作を示すCNOTゲートである。このCNOTゲートでは、3つ目の量子ビットがコントロール量子ビットであり、4つ目の量子ビットがターゲット量子ビットである。2量子ビットゲート32bは、3つ目と1つ目の量子ビットの間のCNOT操作を示すCNOTゲートである。このCNOTゲートでは、3つ目の量子ビットがコントロール量子ビットであり、1つ目の量子ビットがターゲット量子ビットである。2量子ビットゲート32cは、4つ目と2つ目の量子ビットの間のCNOT操作を示すCNOTゲートである。このCNOTゲートでは、4つ目の量子ビットがコントロール量子ビットであり、2つ目の量子ビットがターゲット量子ビットである。
 各量子ビットに対応する線の右端に示されている記号33a~33dは、量子状態の測定操作を示している。
 このような変分量子回路30を用いてVQE計算を行う場合、例えば複数のパラメータの組θの最適化において勾配が用いられる。ここでp番目(pは自然数)のパラメータθpのk回目(kは自然数)の最適化処理における値をθp,kとする。例えば、最適化のk+1回目の最適化処理におけるθp,k+1は、θp,kを用いて次の式(1)で計算できる。
Figure JPOXMLDOC01-appb-M000001
 ηは1回の最適化処理で更新する数値の重みを決めるパラメータ(ステップサイズ)である。ηは学習率とも呼ばれる。f(θ)はエネルギーを表すコスト関数である。∂f(θ)/∂θpは、パラメータθpの軸方向の勾配である。勾配は、f(θ)の点(θ1,k,θ2,k,・・・)における、パラメータθpに関する偏微分係数である。
 式(1)の例では、ステップサイズηの値は固定して最適化を行うものである。しかしながら、例えば、特に最適化の初期の段階でη値が大きすぎる場合は1回の最適化処理で複数のパラメータの組θそれぞれの値が変化し過ぎてしまい、本来たどるべき最適化の経路を逸脱してしまって最適化がうまくいかない可能性がある。また、特に最適化の最終段階でηの値が小さすぎる場合は複数のパラメータの組θそれぞれの値の変化量を過小評価してしまって最適化の回数が増えてしまう可能性がある。
 そこで古典コンピュータ100は、VQE計算における最適化において、式(2)、式(3)に示すように、ステップサイズηの値を最適化処理ごとに変化させる。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 ここでηkは、k回目の最適化処理におけるステップサイズである。D0は、予め設定された定数(実数)である。Dkは、k回目の最適化処理における複数のパラメータの組θ内のパラメータθpの変化量の平均値である。Dkは、式(4)に従って求められる。
Figure JPOXMLDOC01-appb-M000004
 ここでNは、パラメータの個数である(Nは自然数)。また式(3)のmは、予め設定された定数(実数)である。なおmの値は、最適化の繰り返し数がなるべく小さくなるように選択される。
 古典コンピュータ100は、式(3)~式(4)に従ってステップサイズを動的に変化させることで、エネルギーの収束を早め、繰り返し回数を削減することが可能となる。
 図5は、VQE計算のための古典コンピュータの機能の一例を示すブロック図である。古典コンピュータ100は、量子計算管理部110と最適化計算部120とを有する。
 量子計算管理部110は、分子などの量子多体系のエネルギーを計算するための変分量子回路を生成し、その変分量子回路に基づくエネルギー計算を量子コンピュータ200に指示する。例えば量子計算管理部110は、量子化学計算のための変分量子回路を生成すると共に、その変分量子回路における量子ゲートでのゲート操作に関する複数のパラメータの組θを設定する。量子計算管理部110は、変分量子回路に基づく最初のエネルギー計算の前に、複数のパラメータの組θの値に初期値を設定する。各パラメータの初期値は、例えばユーザが予め指定した値である。また各パラメータの初期値としてランダムな値を用いてもよい。
 量子計算管理部110は、複数のパラメータの組θでパラメタライズされた変分量子回路に基づくエネルギーの計算結果を量子コンピュータ200から取得する。エネルギーの計算結果を取得すると、量子計算管理部110は、エネルギーが収束したか否かを判定する。量子計算管理部110は、エネルギーが収束していなければ、最適化計算部120にパラメータの最適化を指示する。
 最適化計算部120は、最適化処理1回ごとに、複数のパラメータの組θの最適化を行う。例えば最適化計算部120は、エネルギー値が小さくなる方向へ、複数のパラメータの組θの値を更新する。最適化計算部120は、最適化の計算が終了すると、更新された複数のパラメータの組θの値を量子計算管理部110に通知する。
 なお図5に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
 次にVQE計算処理の手順について詳細に説明する。
 図6は、VQE計算処理の手順の一例を示すフローチャートである。以下、図6に示す処理をステップ番号に沿って説明する。
 [ステップS101]量子計算管理部110は、複数のパラメータの組θ={θ1,θ2,・・・}によりパラメタライズされた変分量子回路を生成する。量子計算管理部110は、複数のパラメータの組θの初期値としては、例えば予め指定された値を用いる。
 [ステップS102]量子計算管理部110は、パラメータの最適化で使用するステップサイズηの初期値η0を設定する。初期値η0は、例えば予め指定された値である。
 [ステップS103]量子計算管理部110は、量子コンピュータ200へ、期待値の測定を指示する。例えば量子計算管理部110は、生成した変分量子回路と複数のパラメータの組θの値とを量子コンピュータ200に送信し、変分量子回路に基づく各量子ビットの期待値の計算を指示する。量子コンピュータ200は、複数のパラメータの組θでパラメタライズされた変分量子回路に基づいて、量子ビットの期待値を測定する。
 [ステップS104]量子計算管理部110は、エネルギーが収束したか否かを判断する。例えば量子計算管理部110は、エネルギーを表すコスト関数f(θ)の値を計算し、計算結果をエネルギー値とする。量子計算管理部110は、エネルギー値が所定の収束条件を満たす場合、エネルギーが収束したと判断する。例えば量子計算管理部110は、エネルギー値が、基底状態のエネルギー値として既知の値に達していれば、エネルギーが収束したと判断する。また量子計算管理部110は、今回計算したエネルギー値と前回計算したエネルギー値との差が所定の閾値以下の場合に、エネルギーが収束したと判断してもよい。量子計算管理部110は、エネルギーが収束した場合、そのときの量子ビットの状態に応じた解を出力し、VQE計算処理を終了する。また量子計算管理部110は、エネルギーが収束していなければ、処理をステップS105に進める。
 [ステップS105]量子計算管理部110は、複数のパラメータの組θをθoldとしてメモリ102に保存する。
 [ステップS106]最適化計算部120は、前回計算したステップサイズηを用いて、複数のパラメータの組θの最適化計算を行う。例えば最適化計算部120は、式(2)に示す計算を行う。なお最適化計算部120は、最初の最適化計算処理では、予め設定されたステップサイズηの初期値η0を、適用するステップサイズηとする。最適化計算部120は、最適化計算によって算出された値に、複数のパラメータの組θの値を更新する。
 [ステップS107]最適化計算部120は、更新した複数のパラメータの組θとθoldとの差の平均値に基づいて、新たなステップサイズを計算する。計算したステップサイズは、次回の最適化計算で利用される。その後、最適化計算部120は、処理をステップS103に進める。
 このようにしてVQE計算を行うことで、最適化計算ごとのステップサイズηが動的に変更され、エネルギーの収束を早めることができる。
 図7は、水素分子のエネルギーのVQE計算の一例を示す図である。図7では、原子間距離が0.7Åの場合の水素分子(H2)のエネルギーをVQEで計算した結果が、グラフ31,32に示されている。
 グラフ31,32は、横軸が何回目の最適化処理なのかを示す値(最適化回数)であり、縦軸がエネルギーの値である。グラフ32は、グラフ31のエネルギー値「-1.16」~「-1.06」の範囲を拡大したものである。グラフ31,32において、黒丸がステップサイズηを固定の値とした場合のエネルギーの変化を示し、白丸がステップサイズηを変動させた場合のエネルギーの変化を示す。
 1回の最適化処理で計算されるエネルギーは、最適化処理の繰り返し回数が増えるごとに低下している。ステップサイズηとして固定値を用いた場合よりも、ステップサイズηとして動的に変動する値を用いた場合の方が、エネルギーの低下速度が速い。その結果、ステップサイズηとして固定値を用いた場合、エネルギーが収束したときの最適化回数は「93」となっている。またステップサイズηとして動的に変動する値を用いた場合、エネルギーが収束したときの最適化回数は「42」となっている。このようにステップサイズηを動的に変動させることで、ステップサイズηを固定値とした場合よりも少ない最適化回数でエネルギーが収束している。
 図8は、ステップサイズの変化状況の一例を示す図である。図8に示すグラフ33は、横軸が最適化回数であり、縦軸がステップサイズである。グラフ33において、黒丸がステップサイズηを固定の値とした場合のステップサイズの変化を示し、白丸がステップサイズηを変動させた場合のステップサイズの変化を示す。
 図8の例では、ステップサイズηの初期値は共に「0.05」である。ステップサイズηを固定値とする場合、VQE計算全体を通して、ステップサイズは「0.05」のままである。
 ステップサイズηを動的に変動させる場合、最適化回数が1だけ進むごとに、ステップサイズηは、初期値より大きな値と小さな値とが交互に繰り返されている。また最適化回数が増えるほど、ステップサイズηの初期値からの差が大きくなっている。すなわち、ステップサイズηの変動の振幅は、最適化回数の増加に伴って大きくなる。
 ここで、ステップサイズηが周期的に変化する理由について説明する。k回目の最適化処理における複数のパラメータの組θの変化量は、式(4)の平均値Dkで与えられる。次の最適化処理のステップサイズηkを求める式(3)では、(D0/Dkmの部分の括弧内で、平均値Dkが分母であるため、平均値Dkが大きいほどステップサイズηkは小さくなる。すなわち、複数のパラメータの組θの変化量が大きいほど、次の最適化処理のステップサイズηkは小さくなる。すると、次の最適化処理においてはステップサイズηkが小さいために複数のパラメータの組θの変化量(平均値Dk)も小さくなる。すると、式(3)により求められるステップサイズηkは大きくなり、複数のパラメータの組θの変化量が大きくなる。以上のようにして、ステップサイズが小さい場合と大きい場合を交互に繰り返すことになる。その結果、図8に示すようなグラフ33が得られる。
 ところで図7,図8に示したVQE計算では、式(3)のmの値は「0.6」である。mの値が大きいほど、最適化回数の削減効果が期待できるが、mの値が大きすぎるとステップサイズが大きくなりすぎて最適化の経路を逸脱してしまうためエネルギーが正しく収束しない。
 図9は、mと最適化回数との関係の一例を示す図である。図9に示すグラフ34は、mの値に応じたエネルギー収束時点での最適化回数を示している。グラフ34の横軸がmの値であり、縦軸がエネルギー収束時点での最適化回数である。
 図9に示すように、mの値を「0」から徐々に大きくしていくと、最適化回数の削減効果も大きくなる。mが「0.6」まで大きくなると、エネルギー収束時の最適化回数の削減効果が最大となる。mが「0.6」を超えると、エネルギーが正しく収束せず、エネルギー収束時の最適化回数が計測不能となる。そのため、mの取り得る値の範囲は「0≦m≦0.6」となる。
 なおmの値が「0」の場合、ステップサイズηは常に初期値η0のままとなる。そのためmの値が「0」の場合のエネルギー収束時の最適化回数は、図7に示した通り「93」である。またmの値が「0.6」の場合のエネルギー収束時の最適化回数は、図7に示した通り「42」である。すなわち、ステップサイズηを動的に変動させることによるエネルギー収束時の最適化回数の削減効果は、最大で55%程度となっている。
 このように、VQE計算の各最適化処理においてステップサイズを動的に変化させることで、エネルギーの収束を早め、収束までの最適化回数を削減することが可能となる。その結果、VQE計算に要する計算時間も削減される。水素分子のVQE計算であれば、エネルギー収束までの処理の繰り返し回数を最大約55%削減でき、VQE計算時間も同程度削減できる。
 VQE計算時間を大幅に削減できることにより、例えば使用できる量子ビット数に物理的な制限がある量子コンピュータ(特にNISQ(Noisy Intermediate-Scale Quantum Computer))を用いて、量子化学計算を効率良く行うことが可能となる。
 〔その他の実施の形態〕
 第2の実施の形態では、ステップサイズηを最適化処理ごとに計算しているが、図8に示す通りにステップサイズが変動するように、最適化処理ごとのステップサイズを予め設定しておいてもよい。
 また第2の実施の形態の例では、ステップサイズηが、初期値より大きな値と小さな値とが最適化処理ごとに交互に繰り返しているが、例えばステップサイズηの振動周期をもっと長くすることも可能である。例えば4回の最適化処理を1周期とし、初期値より大きな値のステップサイズで2回の最適化処理を実行した後、初期値より小さなステップサイズで2回の最適化処理を実行するようにすることも可能である。
 上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 1 変分量子回路
 2 量子コンピュータ
 10 情報処理装置
 11 記憶部
 12 処理部

Claims (7)

  1.  VQE(Variational Quantum Eigensolver)計算に使用する変分量子回路に適用するパラメータの値の更新処理を複数回コンピュータに実行させるプログラムであって、
     前記パラメータの値の前記更新処理で使用する係数の前記更新処理ごとの値を、前記更新処理が何回目なのかを示す更新回数の増加に伴って所定の基準値より高い値と低い値とに周期的に変化する値に決定し、
     前記VQE計算で複数回実行する前記更新処理において、実行する前記更新処理の前記更新回数に対して決定された前記係数の値に応じた変化量だけ、更新前の前記パラメータの値から変化させた値へ、前記パラメータの値を更新する、
     処理をコンピュータに実行させる情報処理プログラム。
  2.  前記パラメータの値を更新する処理では、前記係数の値が大きいほど前記変化量を大きくする、
     請求項1記載の情報処理プログラム。
  3.  前記係数の前記更新処理ごとの値を決定する処理では、前記VQE計算の過程で前記パラメータの値のk回目(kは自然数)の第1の更新処理が行われると、前記第1の更新処理における前記パラメータの値の第1の変化量に基づいて、k+1回目の第2の更新処理で使用する前記係数の値を算出する、
     請求項1または2に記載の情報処理プログラム。
  4.  前記係数の前記更新処理ごとの値を決定する処理では、複数の前記パラメータそれぞれの値の前記第1の変化量の平均値に基づいて、前記第2の更新処理における複数の前記パラメータの更新後の値の決定に共通で使用する前記係数の値を計算する、
     請求項3記載の情報処理プログラム。
  5.  前記係数の前記更新処理ごとの値を決定する処理では、前記更新回数が1増えるごとに前記基準値より高い値と低い値とを交互に繰り返す値に、前記更新回数ごとの前記係数の値を決定する、
     請求項1記載の情報処理プログラム。
  6.  VQE計算に使用する変分量子回路に適用するパラメータの値の更新処理を複数回コンピュータに実行させるプログラムであって、
     前記パラメータの値の前記更新処理で使用する係数の前記更新処理ごとの値を、前記更新処理が何回目なのかを示す更新回数の増加に伴って所定の基準値より高い値と低い値とに周期的に変化する値に決定し、
     前記VQE計算で複数回実行する前記更新処理において、実行する前記更新処理の前記更新回数に対して決定された前記係数の値に応じた変化量だけ、更新前の前記パラメータの値から変化させた値へ、前記パラメータの値を更新する、
     処理をコンピュータが実行する情報処理方法。
  7.  VQE計算に使用する変分量子回路に適用するパラメータの値の更新処理を複数回実行する情報処理装置であって、
     前記パラメータの値の前記更新処理で使用する係数の前記更新処理ごとの値を、前記更新処理が何回目なのかを示す更新回数の増加に伴って所定の基準値より高い値と低い値とに周期的に変化する値に決定し、前記VQE計算で複数回実行する前記更新処理において、実行する前記更新処理の前記更新回数に対して決定された前記係数の値に応じた変化量だけ、更新前の前記パラメータの値から変化させた値へ、前記パラメータの値を更新する処理部、
     を有する情報処理装置。
PCT/JP2022/024000 2022-06-15 2022-06-15 情報処理プログラム、情報処理方法、および情報処理装置 WO2023243011A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/024000 WO2023243011A1 (ja) 2022-06-15 2022-06-15 情報処理プログラム、情報処理方法、および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/024000 WO2023243011A1 (ja) 2022-06-15 2022-06-15 情報処理プログラム、情報処理方法、および情報処理装置

Publications (1)

Publication Number Publication Date
WO2023243011A1 true WO2023243011A1 (ja) 2023-12-21

Family

ID=89192456

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/024000 WO2023243011A1 (ja) 2022-06-15 2022-06-15 情報処理プログラム、情報処理方法、および情報処理装置

Country Status (1)

Country Link
WO (1) WO2023243011A1 (ja)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HUANG RUI, TAN XIAOQING, XU QINGSHAN: "Learning to Learn Variational Quantum Algorithm", IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS, IEEE, USA, vol. 34, no. 11, 1 November 2023 (2023-11-01), USA, pages 8430 - 8440, XP093117830, ISSN: 2162-237X, DOI: 10.1109/TNNLS.2022.3151127 *
SMITH LESLIE N: "Cyclical Learning Rates for Training Neural Networks", ARXIV (CORNELL UNIVERSITY), CORNELL UNIVERSITY LIBRARY, ARXIV.ORG, ITHACA, 4 April 2017 (2017-04-04), Ithaca, XP093117833, [retrieved on 20240110], DOI: 10.48550/arxiv.1506.01186v6 *

Similar Documents

Publication Publication Date Title
US11288589B1 (en) Quantum circuit modeling
CN115427981A (zh) 用于分子和旋转系统的量子模拟的方法和系统
JP7015405B1 (ja) 学習モデルの生成方法、プログラム、情報処理装置及び学習用データの生成方法
JP2021086371A (ja) 学習プログラム、学習方法および学習装置
JP2024508076A (ja) 量子回路シミュレーション方法、装置、コンピュータ機器及びプログラム
Pahariya et al. Software cost estimation using computational intelligence techniques
JP7421475B2 (ja) 学習方法、混合率予測方法及び学習装置
Patel et al. Curriculum reinforcement learning for quantum architecture search under hardware errors
WO2023243011A1 (ja) 情報処理プログラム、情報処理方法、および情報処理装置
JP7511230B2 (ja) 量子回路生成装置、量子回路生成方法及び量子回路生成プログラム
EP3968240A1 (en) Information processing system, information processing method, and program
US20220012291A1 (en) Information processing system, information processing method, and non-transitory computer-readable storage medium for storing program
EP3614314B1 (en) Method and apparatus for generating chemical structure using neural network
WO2024134823A1 (ja) 情報処理プログラム、情報処理方法、および情報処理装置
JP7428932B2 (ja) 量子計算制御プログラム、量子計算制御方法及び情報処理装置
JP7323519B2 (ja) データ管理システム、データ管理装置、データ管理方法及びデータ管理プログラム
CN114417543A (zh) 用于优化的设备和方法
WO2023144884A1 (ja) パラメータ最適化プログラム、パラメータ最適化方法、および情報処理装置
WO2024004072A1 (ja) 量子回路設計プログラム、量子回路設計方法および量子回路設計装置
WO2024171610A1 (ja) 量子化学計算プログラム、量子化学計算方法、および情報処理装置
WO2023209828A1 (ja) 複数量子ビットオブザーバブルのパーティショニングプログラム、複数量子ビットオブザーバブルのパーティショニング方法、および情報処理装置
JP7489876B2 (ja) モデル解析装置、モデル解析方法、及びプログラム
WO2024089862A1 (ja) 分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置
JP7553873B2 (ja) 量子回路設計装置、量子回路設計プログラムおよび量子回路設計方法
WO2024180888A1 (ja) プログラム、データ処理方法およびデータ処理装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22946829

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2024528001

Country of ref document: JP

Kind code of ref document: A