Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] QKNN #270

Merged
merged 16 commits into from
Nov 15, 2021
Merged

[WIP] QKNN #270

merged 16 commits into from
Nov 15, 2021

Conversation

tokarev-i-v
Copy link
Collaborator

Времени к сожалению мало совсем имею в распоряжении. Пока так.
Статью выбрал: https://arxiv.org/pdf/2003.09187.pdf
имплементация: https://github.com/GroenteLepel/qiskit-quantum-knn

@vvssttkk vvssttkk linked an issue Nov 10, 2021 that may be closed by this pull request
@vvssttkk
Copy link
Member

vvssttkk commented Nov 10, 2021

а так правильно делать ссылки?

[операторами Паули](qubit.html#id24)

кто подскажет, поему книга не собирается – https://github.com/SemyonSinchenko/qmlcourse/runs/4168245130?check_suite_focus=true, вроде с файлом bibliograhpy всё нормально

@vvssttkk
Copy link
Member

@polyzer это ты так много добавил ссылок в qmlcourseRU/_bibliography/references.bib, а взял произвольные и не нашел и использование в этой лекции
и у тебя локально книга нормально собирается?

@alexey-pronkin
Copy link
Collaborator

alexey-pronkin commented Nov 10, 2021

вручную удалил то, что смог найти, но это не дело, надо прикрутить что-то из tex пакетов, чтобы удалять повторяющиеся вещи в .bib, и желательно добавить в прекоммиты #271

@tokarev-i-v
Copy link
Collaborator Author

Да, локально всё ок.

@vvssttkk
Copy link
Member

vvssttkk commented Nov 11, 2021

собранная книга – http://54.89.156.216/270_merge/_build/html/book/qmlkindsblock/qknn.html – заходите посмотреть и оставляйте комментарии

Copy link
Member

@vvssttkk vvssttkk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

кванты пахнут вечностью, после прочтения для меня qknn теперь и жук и жаба одновременно

qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved
qmlcourseRU/book/qmlkindsblock/qknn.md Show resolved Hide resolved
qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved
qmlcourseRU/book/qmlkindsblock/qknn.md Show resolved Hide resolved
qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved
|\psi_j\rangle = \frac{-i}{\sqrt{2}}\left(e^{i\pi\theta_j}|\psi_{j+}\rangle - e^{-i\pi\theta_j}|\psi_{j-}\rangle \right)
$$

7. Теперь применяем алгоритм QPE (Quantum Phase Estimation), чтобы перевести значение фазы $\theta_j$ в числовое представление.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

эх.. ссыль бы на qpe

qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved
qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved
qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved
qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved
@tokarev-i-v
Copy link
Collaborator Author

Там много ещё чего надо править, я это в выхи смогу сделать, скорее всего

@vvssttkk
Copy link
Member

@polyzer завтра твоя лекция выходит, успеваешь?

Copy link
Collaborator

@Randl Randl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Код бы еще показать. В целом мне не хватает немного интуиции, что мы пытаемся делать на high level.


Давайте немножко вспомним задачу классификации с использованием классического $kNN$ алгоритма:

У нас есть $\vec{x} \in \{0, 1 \}^N$ - **тестовый образец**, а также **тренировочные образцы** - это набор векторов $\vec{v_i} \in \{0, 1 \}^N$, в котором каждый вектор уже размечен. И наша задача подобрать правильную метку тестовому образцу.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Эм, векторы точно бинарные? Обычно вроде метрическое пространство берется, например R^d

Copy link
Collaborator

@alexey-pronkin alexey-pronkin Nov 14, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Векторы не бинарные, это мы потом кодируем их в бинарные квантовые состояния, как я понимаю, для меры близости

qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved
F_j = F(\psi, \phi_j) = |\langle \psi | \phi_j \rangle |^2
$$

А $F = [F_0, F_1, ..., F_{M-1}]$ - это таблица $fidelity$ значений между тестовым состоянием и каждым из тренировочных.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

не надо писать слова в math-mode


1.1. Выполняется преобразование: $\xi^{amp}|j\rangle|0\rangle = |j\rangle|\psi_j\rangle$. В амплитуду состояния $|\psi_j\rangle$ закодирована информация о числе $F_j$. Делается это с помощью Swap test.

1.2. Выполняется преобразование $\xi^{dig}|j\rangle|\psi_j\rangle = |j\rangle|F_j\rangle$
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Очень vague. "Чтобы прсчитать F, посчитаем сначала первую часть, а потом вторую".

qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved

Теперь займёмся вопросом конструирования оракула $O_{y,A}$. Просьба держаться за ваши кресла.

Вначале мы подготовим состояния. Но чтобы это сделать нам нужны оракулы $\mathcal{V}, \mathcal{W}$. Как их имплементировать указано в статье, которая указывалась выше.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

лучше еще раз сослаться просто чем отсылать куда то назад

$$

$$
\mathcal{W}|j\rangle|0^n\rangle = |j\rangle|\phi\rangle
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

что такое |\phi\rangle

qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved
qmlcourseRU/book/qmlkindsblock/qknn.md Outdated Show resolved Hide resolved
На этом шаге информация о $fidelity$ теперь закодирована в амплитуды. Теперь же мы должны перевести $fidelity$ из амплитуды в число.


5. Теперь мы будем конструировать новый гейт G. Вообще говоря, он описан в работе {cite}`PhysRevA.99.012301`, где Вы можете подробнее с ним ознакомиться.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хоть бы вкратце объяснить что он делает

@tokarev-i-v
Copy link
Collaborator Author

Скоро запушу небольшие правки и пару рисунков. Пока без кода... Посмотрел на ту чужеродную реализацию, она там довольно большая... Как это вписать за день - хз.

@SemyonSinchenko
Copy link
Collaborator

Скоро запушу небольшие правки и пару рисунков. Пока без кода... Посмотрел на ту чужеродную реализацию, она там довольно большая... Как это вписать за день - хз.

Давайте реализацию вынесем в отдельную задачу.

@alexey-pronkin
Copy link
Collaborator

alexey-pronkin commented Nov 14, 2021

Можно позаимствовать пример с Ирисами из либы, что в описании https://github.com/GroenteLepel/qiskit-quantum-knn/blob/f991903b28e27d562665b23d01f9c0e69c69f913/qiskit_quantum_knn/qknn/qkneighborsclassifier.py#L60
А нет, ерунду сказал про обзор сверху, удалил.

@alexey-pronkin
Copy link
Collaborator

alexey-pronkin commented Nov 14, 2021

Желательно добавить описание из статьи пункта 2.2 (три шага), иначе вообще не понятно что происходит, согласен с @Randl как раз там о высокоуровневой интуиции.

@vvssttkk vvssttkk merged commit 3d28514 into master Nov 15, 2021
@vvssttkk vvssttkk deleted the lecture/qknn branch November 15, 2021 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Квантовый KNN
5 participants