All streams
Search
Write a publication
Pull to refresh
131
0
Egor Malykh @devpony

User

Send message
Ну допустим, прилетели инопланетяне с альфы центавра и сказали: «Вот вам функция. Если она константная, то мы вас уничтожим, если сбалансированная — вам повезло.» И дали чёрный ящик с входом и выходом для пучка электронов. Классическая версия, говорят, тоже есть, но она дома, шлите туда запросы: 5 лет в одну сторону, 5 обратно.

Про возможность построения оракулов — это скорее к физикам. У нас есть прекрасная стройная теория, в которой можно использовать любые необходимые нам объекты классического мира в виде оракулов и мы ей пользуемся, не заботясь особо о практической реализации. Существуют алгоритмы, где оракул можно заранее вычислить на классическом компьютере и уже с его помощью решать гораздо более сложную задачу в квантовой модели.

Возвращаясь к вашему вопросу. С помощью базовых логических квантовых элементов можно построить произвольную булеву функцию. Допустим, у нас есть функция 1010 аргументов. Но мы так же знаем, как без вычислений функции построить её квантовый оракул из логических элементов. Тогда квантовый алгоритм окажется предпочтительным.

Алгоритм Дойча-Йожи — не самый лучший пример решения практически важных задач, однако он крайне интересен с теоретической точки зрения, позволяет показать все возможные преимущества квантового подхода и идеален для первого знакомства с квантовыми вычислениями в силу своей простоты.
Вот ваша сеть:

huynya

(почему я, а не вы сделали эту картинку?)

Вот разложение функции в ряд Фурье в L2:

image

Где коэффициенты, к слову, определяются единственным образом как скалярное произведение функции на элементы базиса. Если честно, даже отдалённого сходства не вижу.

Но… даже если бы сходство было… У вас сумма конечная, у ряда Фурье — бесконечная. К каким именно по счёту членам ряда сойдутся ваши коэффициенты? К первым? Почему? Почему не к сорок второму? Почему в ходе оптимизации коэффициенты сойдутся к аналитическим? Похожесть (и даже одинаковость) формул этого не гарантирует и не может гарантировать.
Вы показали нам формулу разложения функции в бесконечный (!) ряд Фурье, потом показали нам обычный однослойный перцептрон с экспоненциальной функцией активации и утверждаете теперь, что «сеть работает на основе ряда Фурье». Нет, не работает.

1. Почему вы показываете нам бесконечный ряд, когда ваша сеть обладает конечным набором параметров?
2. Где доказательство, что коэффициенты сойдутся к коэффициентам ряда Фурье? (Подсказка: не сойдутся)
3. Почему в статье полно формул, которые вообще ничего не значат и нет ни одной важной, например формулы инициализации весов?

У вашей сети и ряда Фурье из общего только значёк экспоненты. По факту это традиционный однослойный перцептрон с очень плохой функцией активации. К слову, комплекснозначная сеть полностью аналогична такой же вещественнозначной в два раза большего размера. А привычная CNN решила бы вашу задачу распознавания на 99%.
Не применима потому, что у нас нет правильно или неправильно классифицированных примеров, для каждой пары примеров мы имеем лишь вероятность наличия признака — вещественное число. Если бы мы возвращали 1 или 0, то можно было бы использовать accuracy = 1 — EER.

Концептуально метрики в идентификации отличается от accuracy тем, что классы не равнозначны и их нужно рассматривать отдельно (см. пример про разные FRR и FAR в разных задачах).
В идеале — да. На практике, конечно, так не делают. Используют выборку из базы некоторого фиксированного размера (порядка 2000 элементов, например), считают на ней расстояния и уже из неё формируют батч с выбором hard negative примеров.
1. В мой реализации — да. В оригинальной работе введены такие понятия, как hard negative — наиболее близкий негативный пример и hard positive — наиболее далёкий позитивный пример. Показано, что лучше начинать со случайного выбора, а затем включать hard negative.
2. Не изучал. Думаю, что никак не влияет. Тот же LFW очень не сбалансированный, однако на нём учат хорошие модели.
Спасибо за уточнение, буду знать.
О господи, кто-то обидел нейронные сети, нужно срочно-срочно мстить и писать гневные комментарии.
...
image
Есть у авторов (показывали на лекции) и, если не изменяет память, они её продают.
Недавно, в связи с разработкой новой линейки продукции, в нашей компании встала задача поиска идентичных изображений в базе.

Не являясь программистом, я не имею возможности самостоятельно проверить алгоритм в работе. Буду рад, если кто-то из членов Хабра-сообщества, сможет реализовать программно этот алгоритм и протестировать его в работе.


У вас в компании нет программистов? Почему вы рассказываете свой алгоритм сначала нам, а не коллегам? Вдруг он не решает вашу бизнесс-задачу?
Случайно скинул первую статью авторов. Вот вторая, где описано то, о чём я говорил: https://arxiv.org/abs/1503.02619.
Опять велосипеды… А вы смотрели вот эту статью: https://arxiv.org/abs/1306.3855? Их подход опережает все существующие алгоритмы на порядок и позволяет, например, при выделении региона изображения найти в базе крупные фотографии этого региона или, например, найти все фотографии, где объект, являющийся главным на текущей фотографии, на другой представляет лишь малую часть. Таким образом можно «отдалить» вид от часов на кремле до вида Москвы с птичьего полета и «приблизить» обратно. Естественно, с поиском просто похожих фотографий справляется великолепно. В статье так же предложены оптимизации для мгновенного поиска в базе по 10^7 изображениям.

Когда вы пытаетесь объяснить принцип работы системы "на пальцах", получается очень размыто и только больше запутывает. Не обязательно выкладывать код, опишите общепринятыми терминами и формулами математические модели, которые вы используете и вопросы отпадут. Сейчас статья скорее подходит для Geektimes.

Сложение и умножение это арифметика. Если относить к математике каждый пост, где используется базовая арифметика, тут будет страшная помойка. Какие новые результаты вы получили относительно "проблемы" умножения простых чисел, которые были бы применимы в теоретическом исследовании криптографии или её практическом применении? Как эта статья поможет специалистам по криптографии?

Можно начать с хороших обозначений. x0 заменить на x_0, * на \cdot и т.д. (Кстати, на телефоне формулы вообще не отображаются..) Затем внятно и понятно описать, что вы делаете и зачем, кому будет интересна ваша статья. В конце стоит в простом и понятном виде предоставить результат ваших изысканий, будь он теоретическим, практическим или отрицательным. Результат должен отвечать цели, поставленной в начале статьи. Не помешала бы пара картинок вместо простыней текста под спойлерами. Стоило тщательно подумать над выбором хабов. Ненормальное программирование — хорошо, а вот в математике или криптографии обычно сидят очень требовательные люди, тогда как ваша статья не имеет к этим хабам ну вообще ничего общего.

1) Авторы оригинальный статьи показали работоспособность подхода только для линейной функции.
2) Я пробовал встраивать в TPE более глубокую архитектуру в другой задаче, этот поход не работал. Даже добавление единственной нелинейности в виде гиперболического тангенса или сигмоиды ухудшает ситуацию.
3) С такими размерностями и количеством данных более глубокая архитектура, наверное, очень быстро переобучилась бы.

Идеологически подход заключается в том, что мы начинаем с обученного PCA и пытаемся его улучшить. Для более глубокой архитектуры, скорее всего, необходима подобная хорошая инициализация
Спасибо, исправил.
Спасибо, исправил.

Information

Rating
Does not participate
Location
Berlin, Berlin, Германия
Registered
Activity