Сиамская нейронная сеть - Siamese neural network
А Сиамская нейронная сеть (иногда называемый двойная нейронная сеть) является искусственная нейронная сеть который использует одинаковые веса при работе в тандеме с двумя разными входными векторами для вычисления сопоставимых выходных векторов.[1][2][3][4] Часто один из выходных векторов предварительно вычисляется, таким образом формируя базовую линию, с которой сравнивается другой выходной вектор. Это похоже на сравнение отпечатки пальцев но технически ее можно описать как функцию расстояния для хеширование с учетом местоположения.[нужна цитата ]
Можно создать структуру, которая по своим функциям похожа на сиамскую сеть, но реализует несколько иную функцию. Обычно это используется для сравнения похожих экземпляров в разных наборах типов.[нужна цитата ]
В тех случаях, когда может использоваться двойная сеть, меры сходства включают такие вещи, как распознавание рукописных чеков, автоматическое определение лиц на изображениях с камеры и сопоставление запросов с проиндексированными документами. Пожалуй, наиболее известное применение двойных сетей: распознавание лица, где известные изображения людей предварительно вычисляются и сравниваются с изображением с турникета или аналогичного. Сначала это не очевидно, но есть две несколько разные проблемы. Один из них - это распознавание человека среди большого количества других людей, то есть проблема распознавания лиц. DeepFace является примером такой системы.[4] В самой крайней форме это узнавание одного человека на вокзале или в аэропорту. Другой проверка лица, то есть проверить, совпадает ли фотография в пропуске с лицом, утверждающим, что это одно и то же лицо. Двойная сеть может быть одинаковой, но реализация может быть совершенно другой.
Учусь
Обучение в двойных сетях можно проводить с потеря тройки или же контрастная потеря. Для обучения по триплетной потере базовый вектор (изображение привязки) сравнивается с положительным вектором (истинное изображение) и отрицательным вектором (ложное изображение). Отрицательный вектор вызовет обучение в сети, а положительный вектор будет действовать как регуляризатор. Для обучения по контрастной потере должно быть уменьшение веса, чтобы упорядочить веса, или некоторая аналогичная операция, например нормализация.
Метрика расстояния для функции потерь может иметь следующие свойства[5]
- Неотрицательность:
- Идентичность различимого:
- Симметрия:
- Неравенство треугольника:
В частности, алгоритм триплетных потерь часто определяется квадратом евклидова (который, в отличие от евклидова, не имеет неравенства треугольника) в своей основе.
Предопределенные метрики, метрика евклидова расстояния
Общая цель обучения - свести к минимуму метрику расстояния для похожих объектов и максимизировать для разных. Это дает функцию потерь вроде
- индексы в набор векторов
- функция реализуется двойной сетью
Наиболее распространенная метрика расстояния Евклидово расстояние, в случае чего функцию потерь можно переписать в матричном виде как
Изученные метрики, нелинейная метрика расстояния
В более общем случае выходной вектор из двойной сети проходит через дополнительные сетевые уровни, реализующие нелинейные метрики расстояния.
- индексы в набор векторов
- функция реализуется двойной сетью
- функция, реализуемая сетью, объединяющей выходы из двойной сети
В матричной форме предыдущее часто аппроксимируется как Расстояние Махаланобиса для линейного пространства как[6]
Это может быть далее подразделено по крайней мере на Обучение без учителя и Контролируемое обучение.
Изученные метрики, сети полудвятников
Эта форма также позволяет двойной сети быть более полудвойной, выполняя несколько другие функции.
- индексы в набор векторов
- функция, реализованная полудвойной сетью
- функция, реализуемая сетью, объединяющей выходы из двойной сети
Двойные сети для отслеживания объектов
Двойные сети используются для отслеживания объектов из-за их уникальных двух тандемных входов и измерения сходства. При отслеживании объектов один вход двойной сети - это предварительно выбранный пользователем образец изображения, другой вход - это более крупное поисковое изображение, задача которой состоит в том, чтобы найти образец внутри поискового изображения. Путем измерения сходства между образцом и каждой частью поискового изображения двойная сеть может дать карту оценки сходства. Кроме того, при использовании полностью сверточной сети процесс вычисления показателя сходства каждого сектора может быть заменен только одним слоем взаимной корреляции.[7]
Полностью сверточная сеть Twin была впервые представлена в 2016 году и использовалась во многих высокопроизводительных нейронных сетях отслеживания объектов в реальном времени. Как и CFnet,[8] StructSiam,[9] СиамФК-три,[10] DSiam,[11] СА-Сиам,[12] SiamRPN,[13] DaSiamRPN,[14] Каскадный SiamRPN,[15] Сиаммаск,[16] SiamRPN ++,[17] Глубже и шире SiamRPN.[18]
Смотрите также
дальнейшее чтение
- Chicco, Давиде (2020), «Сиамские нейронные сети: обзор», Искусственные нейронные сети, 2190 (3-е изд.), Нью-Йорк, Нью-Йорк, США: Протоколы Springer, Humana Press, стр. 73-94, Дои:10.1007/978-1-0716-0826-5_3, ISBN 978-1-0716-0826-5
Рекомендации
- ^ Chicco, Давиде (2020), «Сиамские нейронные сети: обзор», Искусственные нейронные сети, 2190 (3-е изд.), Нью-Йорк, Нью-Йорк, США: Протоколы Springer, Humana Press, стр. 73-94, Дои:10.1007/978-1-0716-0826-5_3, ISBN 978-1-0716-0826-5
- ^ Бромли, Джейн; Гийон, Изабель; ЛеКун, Янн; Сэкингер, Эдуард; Шах, Роопак (1994). «Проверка подписи с помощью« сиамской »нейронной сети с временной задержкой» (PDF). Достижения в системах обработки нейронной информации 6: 737–744.
- ^ Chopra, S .; Hadsell, R .; ЛеКун, Ю. (июнь 2005 г.). «Дискриминационное изучение метрики подобия с применением проверки лицом к лицу». 2005 Конференция компьютерного общества IEEE по компьютерному зрению и распознаванию образов (CVPR'05). 1: 539–546 т. 1. Дои:10.1109 / CVPR.2005.202. ISBN 0-7695-2372-2.
- ^ а б Taigman, Y .; Ян, М .; Ранзато, М .; Вольф, Л. (июнь 2014 г.). «DeepFace: устранение пробелов в человеческом уровне при проверке лиц». Конференция IEEE 2014 года по компьютерному зрению и распознаванию образов: 1701–1708. Дои:10.1109 / CVPR.2014.220. ISBN 978-1-4799-5118-5.
- ^ Чаттерджи, Майтрейя; Ло, Юнань. «Изучение подобия с использованием (или без) сверточной нейронной сети» (PDF). Получено 2018-12-07.
- ^ Чандра, М. (1936). «Об обобщенном расстоянии в статистике» (PDF). Труды Национального института наук Индии. 1. 2: 49–55.
- ^ Полностью сверточные сиамские сети для отслеживания объектов arXiv:1606.09549
- ^ «Сквозное обучение представлению для отслеживания на основе фильтра корреляции».
- ^ «Структурированная сиамская сеть для визуального отслеживания в реальном времени» (PDF).
- ^ «Тройная потеря в сиамской сети для отслеживания объектов» (PDF).
- ^ «Изучение динамической сиамской сети для визуального отслеживания объектов» (PDF).
- ^ «Двойная сиамская сеть для отслеживания объектов в реальном времени» (PDF).
- ^ «Высокоэффективное визуальное отслеживание с помощью сети предложений сиамского региона» (PDF).
- ^ Чжу, Чжэн; Ван, Цян; Ли, Бо; Ву, Вэй; Ян, Цзюньцзе; Ху, Вейминг (2018). "Сиамские сети с учетом отвлекающих факторов для визуального отслеживания объектов". arXiv:1808.06048 [cs.CV ].
- ^ Fan, Heng; Линг, Хайбин (2018). «Сиамские каскадные региональные сети предложений для визуального отслеживания в реальном времени». arXiv:1812.06148 [cs.CV ].
- ^ Ван, Цян; Чжан, Ли; Бертинетто, Лука; Ху, Вейминг; Торр, Филип Х. С. (2018). «Быстрое отслеживание и сегментация объектов в Интернете: объединяющий подход». arXiv:1812.05050 [cs.CV ].
- ^ Ли, Бо; Ву, Вэй; Ван, Цян; Чжан, Фанъи; Син, Цзюньлянь; Ян, Цзюньцзе (2018). «SiamRPN ++: эволюция сиамского визуального отслеживания с очень глубокими сетями». arXiv:1812.11703 [cs.CV ].
- ^ Чжан, Чжипэн; Пэн, Houwen (2019). «Более глубокие и широкие сиамские сети для визуального отслеживания в реальном времени». arXiv:1901.01660 [cs.CV ].