CQCL/lambeq

[Question] What's the purpose of the classical parametrization and classical training ?

Closed this issue · 1 comments

Hello, I was wondering what is the purpose of including the classical training and parametrization facilities in a quantum natural language processing library.

I'm not sure how to properly elaborate more on this question. The only thing that comes to my mind is that having a classical equivalent of those two steps of the pipeline is useful to properly compare the result, but I'm fairly sure I'm missing something.

P.s. I suggest enabling "Discussions" from the repository's settings so that people can post there their questions instead of opening an issue.

Hi @mspronesti, thanks for the question. We have enabled Discussions now, so feel free to move your question there and we'll copy the response.

In general, including classical training in lambeq is useful for many reasons:

  • First, lambeq is something more than a QNLP toolkit, it's a language modelling tool capable of representing language in many different levels of abstraction (syntax trees, pregroup diagrams, string/monoidal diagrams, quantum circuits, ZX-diagrams (this one is coming soon). For example, the abstract representation given by a string diagram is equivalent to a tensor network, which can be executed on classical hardware. Not giving this ability to the user would leave the toolkit incomplete in our opinion.
  • As you mentioned, comparison and benchmarking between quantum models and similar classical implementations is always helpful. In fact, all of our development in CQ follows this pattern, initial exploratory experiments on classical hardware, then simulations and translation to purely quantum models.
  • Access to quantum hardware is still limited. When it's available, today's quantum computers are still weak, so it's not possible to run large-scale experiments on them. In many cases, your only option is a "quantum-friendly" classical model.

Hope this helps, let us know if you need any clarifications.