HTML Diff
1 added 1 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: машинное обучение, machine learning, глубокое обучение, нейронные сети, deep learning, множества, сверхточные сети, поиск изображения, рекуррентная сеть, пуллинг</p>
1 <p>Теги: машинное обучение, machine learning, глубокое обучение, нейронные сети, deep learning, множества, сверхточные сети, поиск изображения, рекуррентная сеть, пуллинг</p>
2 <p>В некоторых задачах<strong>машинного обучения</strong>объектами исследования могут быть<strong>множества</strong>- наборы объектов произвольного размера. В<a>предыдущей заметке</a>я рассказывал о том, как работать со множествами когда их нужно предсказывать, а в этой заметке мы поговорим о задаче поиска изображения на основе множества<strong>тегов</strong>.</p>
2 <p>В некоторых задачах<strong>машинного обучения</strong>объектами исследования могут быть<strong>множества</strong>- наборы объектов произвольного размера. В<a>предыдущей заметке</a>я рассказывал о том, как работать со множествами когда их нужно предсказывать, а в этой заметке мы поговорим о задаче поиска изображения на основе множества<strong>тегов</strong>.</p>
3 <p>В случае с поиском изображения<strong>архитектура нейронной сети</strong>может быть, например, такой как в статье<a>"Learning Two-Branch Neural Networks for Image-Text Matching Tasks"</a>.<strong>Нейронная сеть</strong>в этом случае будет иметь две "головы": одна преобразует текстовое описание картинки в вектор признаков, вторая - само изображение. Целью обучения будет минимизировать расстояние между соответствующими друг другу парами (описание, изображение) и максимизировать в обратном случае.</p>
3 <p>В случае с поиском изображения<strong>архитектура нейронной сети</strong>может быть, например, такой как в статье<a>"Learning Two-Branch Neural Networks for Image-Text Matching Tasks"</a>.<strong>Нейронная сеть</strong>в этом случае будет иметь две "головы": одна преобразует текстовое описание картинки в вектор признаков, вторая - само изображение. Целью обучения будет минимизировать расстояние между соответствующими друг другу парами (описание, изображение) и максимизировать в обратном случае.</p>
4 <h2>А если у нас набор тегов?</h2>
4 <h2>А если у нас набор тегов?</h2>
5 - <p>Если вместо текстового описания у нас набор теов, мы, следуя примеру из прошлой заметки, можем рассматривать этот набор как последовательность и обрабатывать её с помощью<strong>рекуррентной нейронной сети</strong>. Причём теперь отсутствие порядка во множестве тегов может быть использовано для<strong>аугментации тренировочного сета</strong>.</p>
5 + <p>Если вместо текстового описания у нас набор тегов, мы, следуя примеру из прошлой заметки, можем рассматривать этот набор как последовательность и обрабатывать её с помощью<strong>рекуррентной нейронной сети</strong>. Причём теперь отсутствие порядка во множестве тегов может быть использовано для<strong>аугментации тренировочного сета</strong>.</p>
6 <p>По сути, для каждого изображения с n-тегами мы можем получить<em>n!</em>обучающих примеров. Правда, это не гарантирует независимости результата от порядка, но всё же станет некоторым приближением к решению проблемы порядка.</p>
6 <p>По сути, для каждого изображения с n-тегами мы можем получить<em>n!</em>обучающих примеров. Правда, это не гарантирует независимости результата от порядка, но всё же станет некоторым приближением к решению проблемы порядка.</p>
7 <h2>Поговорим о пуллинге</h2>
7 <h2>Поговорим о пуллинге</h2>
8 <p>Наиболее популярным способом обработки сетов является применение<strong>пуллинга</strong>- того самого, который используется в глубоких<strong>свёрхточных сетях</strong>, а точнее, его одномерных братьев. Первые слои сети обрабатывают каждый тег независимо, после чего вектора признаков от всех тегов, например,<strong>усредняются</strong>.</p>
8 <p>Наиболее популярным способом обработки сетов является применение<strong>пуллинга</strong>- того самого, который используется в глубоких<strong>свёрхточных сетях</strong>, а точнее, его одномерных братьев. Первые слои сети обрабатывают каждый тег независимо, после чего вектора признаков от всех тегов, например,<strong>усредняются</strong>.</p>
9 <p>Помимо усреднения, можно выбирать максимумы или минимумы каждого из параметров по этим векторам. Полученный вектор может быть пропущен ещё через несколько слоев<strong>нейронной сети</strong>или быть использован в качестве вектора признаков как есть. А в статье<a>"Deep Sets"</a>, представленной на конференции<em>NIPS 2017</em>, этот подход обобщается на класс функций инвариантных и эквивариантных к перестановкам. Кстати, среди соавторов этой статьи есть и наш соотечественник Руслан Салахутдинов - один из самых известных учёных в области науки о данных.</p>
9 <p>Помимо усреднения, можно выбирать максимумы или минимумы каждого из параметров по этим векторам. Полученный вектор может быть пропущен ещё через несколько слоев<strong>нейронной сети</strong>или быть использован в качестве вектора признаков как есть. А в статье<a>"Deep Sets"</a>, представленной на конференции<em>NIPS 2017</em>, этот подход обобщается на класс функций инвариантных и эквивариантных к перестановкам. Кстати, среди соавторов этой статьи есть и наш соотечественник Руслан Салахутдинов - один из самых известных учёных в области науки о данных.</p>
10 <p>Помимо описанных подходов для работы с множествами, в рамках своего<a>курса</a>я разберу статью под названием "PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation", посвящённую классификации и сегментации 3D-сцен, представленных множеством точек.</p>
10 <p>Помимо описанных подходов для работы с множествами, в рамках своего<a>курса</a>я разберу статью под названием "PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation", посвящённую классификации и сегментации 3D-сцен, представленных множеством точек.</p>
11 <p><em>Задать вопрос всегда можно в комментариях!</em></p>
11 <p><em>Задать вопрос всегда можно в комментариях!</em></p>
12  
12