РАЗРАБОТКА МЕТОДА ПОВЫШЕНИЯ ТОЧНОСТИ НЕЙРОННЫХ СЕТЕЙ ПРИ НАЛИЧИИ ОШИБОК АННОТИРОВАНИЯ В ОБУЧАЮЩЕЙ ВЫБОРКЕ
|
ВВЕДЕНИЕ 3
1 Постановка задачи 6
1.1 Определения 6
1.2 Постановка задачи 6
2 Обзор актуальных методов 8
3 Описание исследуемого алгоритма 13
3.1 Local Intrinsic Dimensionality (LID) 13
3.2 Влияние ошибок аннотирования тренировочной выборки на LID 14
3.3 Метод обучения при наличии ошибок аннотирования 14
4 Реализация 17
5 Эксперименты 21
5.1 Изучение пространства характеристик нейронной сети 21
5.1.1 Вычисление значений LID относительно множеств .... 21
5.1.2 Вычисление расстояния до центроидов множеств 23
5.1.3 Модификация алгоритма обучения 24
5.2 Корректировка параметров реализованного метода 26
5.3 Изучение изменения значений LID в ходе обучения 28
6 Результаты 32
6.1 Вычисление значений LID на основе параллельно обучаемых
подсетей 32
6.1.1 Новый метод вычисления LID 32
6.1.2 Модификация алгоритма обучения 36
6.2 Очищение набора данных от шума 41
ЗАКЛЮЧЕНИЕ 44
СПИСОК ЛИТЕРАТУРЫ 46
ПРИЛОЖЕНИЯ 49
1 Постановка задачи 6
1.1 Определения 6
1.2 Постановка задачи 6
2 Обзор актуальных методов 8
3 Описание исследуемого алгоритма 13
3.1 Local Intrinsic Dimensionality (LID) 13
3.2 Влияние ошибок аннотирования тренировочной выборки на LID 14
3.3 Метод обучения при наличии ошибок аннотирования 14
4 Реализация 17
5 Эксперименты 21
5.1 Изучение пространства характеристик нейронной сети 21
5.1.1 Вычисление значений LID относительно множеств .... 21
5.1.2 Вычисление расстояния до центроидов множеств 23
5.1.3 Модификация алгоритма обучения 24
5.2 Корректировка параметров реализованного метода 26
5.3 Изучение изменения значений LID в ходе обучения 28
6 Результаты 32
6.1 Вычисление значений LID на основе параллельно обучаемых
подсетей 32
6.1.1 Новый метод вычисления LID 32
6.1.2 Модификация алгоритма обучения 36
6.2 Очищение набора данных от шума 41
ЗАКЛЮЧЕНИЕ 44
СПИСОК ЛИТЕРАТУРЫ 46
ПРИЛОЖЕНИЯ 49
Все алгоритмы машинного обучения, следующие схеме обучения с учителем требуют наличия обучающей выборки, элементы которой, как правило, задаются в виде пар данные - метка. В случае решения задачи классификации, данные представляют собой классифицируемый объект, например, изображение, а метка определяет ту категорию, к которой принадлежит это изображение. Основной сложностью в составлении такого набора данных является аннотирование классифицируемых объектов. В процессе аннотирования часто должен, хотя бы отчасти, участвовать человек, так как в противном случае уже имеется алгоритм, который успешно решает требуемую задачу. Таким образом, при аннотировании всегда присутствует человеческий фактор, что приводит к наличию в обучающей выборке ошибок аннотирования или по-другому - шума меток (англ. label noise). Явным примером задачи, в которой могут возникнуть ошибки аннотирования, является классификация собак по породам: существуют такие породы, что даже эксперту будет сложно определить правильный вариант с абсолютной уверенностью. Более того, ситуация может усугубляться, если для аннотирования используется краудсорсинг. Как правило, в таких случаях люди, аннотирующие данные, не имеют какой-либо специальной квалификации, связанной с решаемой задачей. Также некоторые люди могут намеренно выполнять аннотирование недобросовестно. По описанным причинам доля неправильно помеченных элементов тренировочной выборки может быть довольно большой, что, в свою очередь, часто приводит к понижению эффективности любого алгоритма машинного обучения [1] и, в частности, нейронных сетей [2].
Опишем в общих чертах проблему, к которой приводят ошибочно помеченные элементы. Изначально нейронная сеть, как правило, инициализируется случайными весами. После этого начинается процесс обучения. Каждый элемент тренировочной выборки подается на вход сети, которая выдает результат для этого элемента. В самом начале обучения ответы сети случайны, поэтому многие из них неверные. Благодаря неверным ответам происходит обновление весов сети таким образом, чтобы сеть на этих примерах ошибалась реже, а эффективность предсказаний в целом повышалась. На более поздних стадиях обучения доля примеров, на которых нейронная сеть дает неправильный результат, становится меньше, поэтому суммарное обновление параметров уменьшается. Однако в присутствии зашумленных меток с улучшением эффективности сети увеличивается и эффект шума, потому что среди множества элементов, на которых сеть ошибается, их доля возрастает. Следовательно, сеть может дать верное предсказание, но ей все равно придется обновляться, так как метка в наборе данных неверная. Таким образом, на поздних стадиях обучения большая часть обновлений может быть вызвана неправильными метками, что в свою очередь, как минимум, не позволит сети улучшаться, а как максимум, заставит сеть классифицировать правильно помеченные элементы неверно.
Цель нашей работы - разработка эффективного и конкурентоспособного метода решения задачи классификации изображении в присутствии ошибок аннотирования в обучающей выборке. Выделим задачи, которые необходимо решить, для достижения данной цели:
1) проведение анализа существующих эффективных методов решения задачи классификации в присутствии ошибок аннотирования;
2) выбор одного или нескольких из этих методов для базирования нашего исследования;
3) реализация программного продукта на основе существующих алгоритмов;
4) проведение экспериментов над реализованным алгоритмом;
5) усовершенствование исследованного метода или создание нового метода на его основе;
6) достижение нашим методом примерно равных или больших значений точности на тестовой выборке по сравнению со значениями, которых достигают существующие методы.
Опишем далее структуру нашей работы. Несмотря на то, что с практической точки зрения задача классификации при наличии ошибок аннотирования в обучающей выборке практически не отличается от случая,
когда ошибки отсутствуют, в части 1 описывается формальная постановка задачи классификации в присутствии таких ошибок.
Опубликовано множество работ, которые направлены на борьбу с проблемой ошибок аннотирования. Обзор актуальных методов дан в части
2. Один из таких методов был взят за основу для исследования и близко изучен. Описание этого метода дано в части 3. Часть 4 содержит описание архитектур рассматриваемых нейронных сетей и их параметров, а также результаты по реализации метода. В части 5 дан экспериментальный анализ алгоритма, в котором предлагаются способы его улучшения и, помимо этого, указываются некоторые его недостатки.
На основе этого анализа был получен более универсальный метод вычисления значений LID, излагаемый в части 6.1.1. Этот метод позволил в некоторых случаях улучшить результаты на рассматриваемых наборах данных. Во взятом за основу методе предполагается, что ошибки аннотирования не зависят от класса, к которому принадлежит элемент выборки. Данное предположение не всегда выполняется в реальных наборах данных, поэтому имеется обоснованная необходимость в расширении метода для успешной работы при любых видах ошибок аннотирования. На основе нового метода вычисления значений LID, нами был разработан алгоритм обучения при произвольном распределении ошибок аннотирования, который описывается в части 6.1.2.
Нами также был предложен еще один метод по повышению эффективности обучаемых моделей в присутствии ошибок аннотирования, который работает на основе любого другого алгоритма, решающего эту задачу. Этот метод излагается в части 6.2.
Опишем в общих чертах проблему, к которой приводят ошибочно помеченные элементы. Изначально нейронная сеть, как правило, инициализируется случайными весами. После этого начинается процесс обучения. Каждый элемент тренировочной выборки подается на вход сети, которая выдает результат для этого элемента. В самом начале обучения ответы сети случайны, поэтому многие из них неверные. Благодаря неверным ответам происходит обновление весов сети таким образом, чтобы сеть на этих примерах ошибалась реже, а эффективность предсказаний в целом повышалась. На более поздних стадиях обучения доля примеров, на которых нейронная сеть дает неправильный результат, становится меньше, поэтому суммарное обновление параметров уменьшается. Однако в присутствии зашумленных меток с улучшением эффективности сети увеличивается и эффект шума, потому что среди множества элементов, на которых сеть ошибается, их доля возрастает. Следовательно, сеть может дать верное предсказание, но ей все равно придется обновляться, так как метка в наборе данных неверная. Таким образом, на поздних стадиях обучения большая часть обновлений может быть вызвана неправильными метками, что в свою очередь, как минимум, не позволит сети улучшаться, а как максимум, заставит сеть классифицировать правильно помеченные элементы неверно.
Цель нашей работы - разработка эффективного и конкурентоспособного метода решения задачи классификации изображении в присутствии ошибок аннотирования в обучающей выборке. Выделим задачи, которые необходимо решить, для достижения данной цели:
1) проведение анализа существующих эффективных методов решения задачи классификации в присутствии ошибок аннотирования;
2) выбор одного или нескольких из этих методов для базирования нашего исследования;
3) реализация программного продукта на основе существующих алгоритмов;
4) проведение экспериментов над реализованным алгоритмом;
5) усовершенствование исследованного метода или создание нового метода на его основе;
6) достижение нашим методом примерно равных или больших значений точности на тестовой выборке по сравнению со значениями, которых достигают существующие методы.
Опишем далее структуру нашей работы. Несмотря на то, что с практической точки зрения задача классификации при наличии ошибок аннотирования в обучающей выборке практически не отличается от случая,
когда ошибки отсутствуют, в части 1 описывается формальная постановка задачи классификации в присутствии таких ошибок.
Опубликовано множество работ, которые направлены на борьбу с проблемой ошибок аннотирования. Обзор актуальных методов дан в части
2. Один из таких методов был взят за основу для исследования и близко изучен. Описание этого метода дано в части 3. Часть 4 содержит описание архитектур рассматриваемых нейронных сетей и их параметров, а также результаты по реализации метода. В части 5 дан экспериментальный анализ алгоритма, в котором предлагаются способы его улучшения и, помимо этого, указываются некоторые его недостатки.
На основе этого анализа был получен более универсальный метод вычисления значений LID, излагаемый в части 6.1.1. Этот метод позволил в некоторых случаях улучшить результаты на рассматриваемых наборах данных. Во взятом за основу методе предполагается, что ошибки аннотирования не зависят от класса, к которому принадлежит элемент выборки. Данное предположение не всегда выполняется в реальных наборах данных, поэтому имеется обоснованная необходимость в расширении метода для успешной работы при любых видах ошибок аннотирования. На основе нового метода вычисления значений LID, нами был разработан алгоритм обучения при произвольном распределении ошибок аннотирования, который описывается в части 6.1.2.
Нами также был предложен еще один метод по повышению эффективности обучаемых моделей в присутствии ошибок аннотирования, который работает на основе любого другого алгоритма, решающего эту задачу. Этот метод излагается в части 6.2.
Нами была рассмотрена задача обучения нейронных сетей в присутствии ошибок аннотирования в обучающей выборке. С целью получения нового эффективного метода, решающего эту задачу, был проведен анализ существующих актуальных методов (см. главу 2). Среди таковых алгоритм обучения из работы [9] был выбран за основу для нашего исследования.
Этот метод был успешно нами реализован (см. главу 4). Показатели эффективности реализованного метода примерно равны соответствующим значениям, представленным в [9], превышая их в некоторых случаях (см. часть 5.2).
Был проведен экспериментальный анализ рассматриваемого метода (см. главу 5), а также сделаны попытки его улучшения (см. часть 5.1). Проведено исследование поведения лежащей в основе алгоритма функции LID в ходе обучения (см. часть 5.3). Было показано, что оно не всегда соответствует тому, что было описано в исходной работе.
В связи с данной проблемой нами был предложен альтернативный метод вычисления функции LID на основе нескольких нейронных подсетей, обучающихся параллельно с основной сетью (см. часть 6.1.1). Благодаря этому методу, значения функции LID являются легко интерпретируемы и более предсказуемыми. Была сделана попытка модификации основного метода путем замены способа вычисления функции LID на новый. Полученные показатели эффективности в некоторых случаях превышают аналогичные значения основного метода.
Авторы исходного метода предполагают, что ошибки аннотирования не зависят от класса, к которому принадлежат элементы выборки. Данное предположение не всегда выполняется в реальных наборах данных, поэтому на основе нового упомянутого выше метода вычисления функции LID, нами был разработан алгоритм обучения при произвольном распределении ошибок аннотирования (см. часть 6.1.2). Наш алгоритм успешно работает как при выполнении указанных предположений, так и в произвольном случае, чем он в значительной степени отличается от метода, взятого за основу.
Помимо этого, нами был предложен еще один метод по повышению эффективности обучаемых моделей в присутствии ошибок аннотирования (см. часть 6.2). Этот метод основывается на очищении обучающей выборки от неправильно помеченных элементов. Преимуществом данного метода является то, что он может быть использован вместе с любым другим алгоритмом борьбы с ошибками аннотирования для детальнейшего повышения эффективности последнего. В частности, метод позволяет значительно повысить эффективность рассмотренного алгоритма.
Этот метод был успешно нами реализован (см. главу 4). Показатели эффективности реализованного метода примерно равны соответствующим значениям, представленным в [9], превышая их в некоторых случаях (см. часть 5.2).
Был проведен экспериментальный анализ рассматриваемого метода (см. главу 5), а также сделаны попытки его улучшения (см. часть 5.1). Проведено исследование поведения лежащей в основе алгоритма функции LID в ходе обучения (см. часть 5.3). Было показано, что оно не всегда соответствует тому, что было описано в исходной работе.
В связи с данной проблемой нами был предложен альтернативный метод вычисления функции LID на основе нескольких нейронных подсетей, обучающихся параллельно с основной сетью (см. часть 6.1.1). Благодаря этому методу, значения функции LID являются легко интерпретируемы и более предсказуемыми. Была сделана попытка модификации основного метода путем замены способа вычисления функции LID на новый. Полученные показатели эффективности в некоторых случаях превышают аналогичные значения основного метода.
Авторы исходного метода предполагают, что ошибки аннотирования не зависят от класса, к которому принадлежат элементы выборки. Данное предположение не всегда выполняется в реальных наборах данных, поэтому на основе нового упомянутого выше метода вычисления функции LID, нами был разработан алгоритм обучения при произвольном распределении ошибок аннотирования (см. часть 6.1.2). Наш алгоритм успешно работает как при выполнении указанных предположений, так и в произвольном случае, чем он в значительной степени отличается от метода, взятого за основу.
Помимо этого, нами был предложен еще один метод по повышению эффективности обучаемых моделей в присутствии ошибок аннотирования (см. часть 6.2). Этот метод основывается на очищении обучающей выборки от неправильно помеченных элементов. Преимуществом данного метода является то, что он может быть использован вместе с любым другим алгоритмом борьбы с ошибками аннотирования для детальнейшего повышения эффективности последнего. В частности, метод позволяет значительно повысить эффективность рассмотренного алгоритма.



