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>- наборы объектов произвольного размера. Давайте рассмотрим возможные подходы к работе с множествами с помощью нейронных сетей.</p>
2
<p>В некоторых задачах машинного обучения объектами исследования могут быть<strong>множества</strong>- наборы объектов произвольного размера. Давайте рассмотрим возможные подходы к работе с множествами с помощью нейронных сетей.</p>
3
-
<p>В первой заметке мы поговорим о ситуации, когда исследуемый объект у нас один, а вот в качестве предсказаний модели мы ожидаем увидеть<strong>множество</strong>. Примером такой задачи может быть задача<strong>тегирования</strong>, когда одному изображению нужно поставить в соответствие набор описывающих его ключевых слов или тегов. А во второй заметке речь пойдет об<strong>обратной задаче</strong>- по набору тегов выбрать наиболее подходящее изображение.</p>
3
+
<p>В первой заметке мы поговорим о ситуации, когда исследуемый объект у нас один, а вот в качестве предсказаний модели мы ожидаем увидеть<strong>множество</strong>. Примером такой задачи может быть задача<strong>тегирования</strong>, когда одному изображению нужно поставить в соответствие набор описывающих его ключевых слов или тегов. А ��о второй заметке речь пойдет об<strong>обратной задаче</strong>- по набору тегов выбрать наиболее подходящее изображение.</p>
4
<p>Типичный<strong>датасет</strong>для обеих задач будет содержать пары, состоящие из изображения и соответствующего ему набора тегов. Нашей задачей будет выбрать наиболее подходящие теги из словаря всех возможных.</p>
4
<p>Типичный<strong>датасет</strong>для обеих задач будет содержать пары, состоящие из изображения и соответствующего ему набора тегов. Нашей задачей будет выбрать наиболее подходящие теги из словаря всех возможных.</p>
5
<h2>Итак, начнём!</h2>
5
<h2>Итак, начнём!</h2>
6
<p>В простейшем случае мы можем тренировать<strong>свёрточную сеть</strong>выдавать вероятность для каждого слова из словаря быть тегом для конкретного изображения. При таком подходе на выходе<strong>нейронной сети</strong>будет длинный вектор (размером со словарь), на основе которого мы можем выбрать какое-то количество наиболее подходящих слов.</p>
6
<p>В простейшем случае мы можем тренировать<strong>свёрточную сеть</strong>выдавать вероятность для каждого слова из словаря быть тегом для конкретного изображения. При таком подходе на выходе<strong>нейронной сети</strong>будет длинный вектор (размером со словарь), на основе которого мы можем выбрать какое-то количество наиболее подходящих слов.</p>
7
<p>Проблемы с таким подходом довольно очевидны: огромный размер последних слоёв сети, большая разрежённость, независимость тегов друг от друга и вопросы к выбору отсечки или количества тегов. Статья<a>"DeepSetNet: Predicting Sets with Deep Neural Networks"</a>, опубликованная в 2017 году на ICCV (международная конференция по компьютерному зрению), решает последнюю из этих проблем.</p>
7
<p>Проблемы с таким подходом довольно очевидны: огромный размер последних слоёв сети, большая разрежённость, независимость тегов друг от друга и вопросы к выбору отсечки или количества тегов. Статья<a>"DeepSetNet: Predicting Sets with Deep Neural Networks"</a>, опубликованная в 2017 году на ICCV (международная конференция по компьютерному зрению), решает последнюю из этих проблем.</p>
8
<p>В дополнение к<strong>свёрточной сети</strong>, предсказывающей вероятности для каждого из возможных тегов в виде вектора, авторы предлагают тренировать ещё одну<strong>нейронную сеть</strong>, предсказывающую количество тегов, которое нужно выбрать для данного изображения. И, хотя это не решает остальные проблемы, данная статья всё-таки является хорошей иллюстрацией того, как можно работать со множествами.</p>
8
<p>В дополнение к<strong>свёрточной сети</strong>, предсказывающей вероятности для каждого из возможных тегов в виде вектора, авторы предлагают тренировать ещё одну<strong>нейронную сеть</strong>, предсказывающую количество тегов, которое нужно выбрать для данного изображения. И, хотя это не решает остальные проблемы, данная статья всё-таки является хорошей иллюстрацией того, как можно работать со множествами.</p>
9
<h2>Какой ещё возможен подход?</h2>
9
<h2>Какой ещё возможен подход?</h2>
10
<p>Другой подход, позволяющий избежать проблем с большим размером выходного вектора, разрежённостью и определением количества тегов, заключается в использовании<strong>рекуррентных сетей</strong>. Чтобы провернуть этот трюк, достаточно представить набор тегов, описывающих изображение, в виде последовательности и<strong>заменить последние слои</strong>сети из предыдущего решения на рекуррентную сеть, порождающую тег за тегом. Причём одним из элементов словаря в данном случае будет тег типа<em><хватит></em>, появление которого на выходе<strong>рекуррентной сети</strong>должно останавливать процесс порождения новых тегов.</p>
10
<p>Другой подход, позволяющий избежать проблем с большим размером выходного вектора, разрежённостью и определением количества тегов, заключается в использовании<strong>рекуррентных сетей</strong>. Чтобы провернуть этот трюк, достаточно представить набор тегов, описывающих изображение, в виде последовательности и<strong>заменить последние слои</strong>сети из предыдущего решения на рекуррентную сеть, порождающую тег за тегом. Причём одним из элементов словаря в данном случае будет тег типа<em><хватит></em>, появление которого на выходе<strong>рекуррентной сети</strong>должно останавливать процесс порождения новых тегов.</p>
11
<p>Такой подход тоже не решает всех проблем, связанных с "предсказанием" множеств, но зачастую работает существенно лучше предсказания вероятностей для каждого слова. Одна из основных проблем -<strong>порядок тегов</strong>. Так как мы теперь работаем со множеством тегов как с последовательностью, нам надо установить порядок элементов в этой последовательности.</p>
11
<p>Такой подход тоже не решает всех проблем, связанных с "предсказанием" множеств, но зачастую работает существенно лучше предсказания вероятностей для каждого слова. Одна из основных проблем -<strong>порядок тегов</strong>. Так как мы теперь работаем со множеством тегов как с последовательностью, нам надо установить порядок элементов в этой последовательности.</p>
12
<p>Одно из возможных решений этой проблемы я разберу на<a>курсе</a>в лекции, посвящённой<strong>генеративным рекуррентным моделям</strong>.</p>
12
<p>Одно из возможных решений этой проблемы я разберу на<a>курсе</a>в лекции, посвящённой<strong>генеративным рекуррентным моделям</strong>.</p>
13
<p><em>Следите за новостями и не забывайте оставлять комментарии!</em></p>
13
<p><em>Следите за новостями и не забывайте оставлять комментарии!</em></p>
14
14