Помощь в написании студенческих работ
Антистрессовый сервис

Предварительная подготовка данных для улучшения качества обучения нейронной сети

РефератПомощь в написанииУзнать стоимостьмоей работы

Эта «уловка» с одной стороны увеличивает продолжительность каждой эпохи (эпоха — один цикл машинного обучения, за который оно обрабатывает полный набор входных данных), с другой же сеть получает в свое распоряжение вдвое больше обучающих примеров, а следовательно учится быстрее. Важно скорее даже не количество, а то, что составляя карты признаков для изображения, сеть получает информацию о линиях… Читать ещё >

Предварительная подготовка данных для улучшения качества обучения нейронной сети (реферат, курсовая, диплом, контрольная)

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

Программист выступает тем самым родителем для нейронных сетей, и именно на него ложится ответственность за ее обучение. Конечно, существуют варианты нейронных сетей, обучающиеся без учителя, такие как самоорганизующиеся карты Кохонена, однако спектр решаемых ими задач невелик. В подавляющем большинстве сеть нужно обучать человеку.

Однако каждый родитель старается помочь своему ребенку в обучении, обеспечить для этого все условия. Программист, в свою очередь, имеет возможность также помогать распознавателю, предварительно подготовив изображения для того, чтобы сеть обучалась быстрее.

Таких «уловок» довольно много, каждый определяет, нужны ли они его системе или нет. Поэтому стоит рассказать только о тех, которые использовались для конкретной задачи.

Горизонтальный поворот

Горизонтальный поворот (fliphorizontally) — это не просто поворот по оси вращения, это зеркальное отражение исходной картинки. По своей сути создается зеркальный аналог и впоследствии, когда система начнет свое обучение, он подастся ей на вход, равноправно с другими рисунками.

Эта «уловка» с одной стороны увеличивает продолжительность каждой эпохи (эпоха — один цикл машинного обучения, за который оно обрабатывает полный набор входных данных), с другой же сеть получает в свое распоряжение вдвое больше обучающих примеров, а следовательно учится быстрее. Важно скорее даже не количество, а то, что составляя карты признаков для изображения, сеть получает информацию о линиях и дугах находящихся в определенном ракурсе, в свою очередь данные отраженные по горизонтали несут в себе тот же признак, ту, же линию, но расположенную совсем иначе. Это позволяет обучиться сети на данном примере гораздо качественнее.

Что касается увеличения затрат памяти на это, то нейронные сети и без того крайне габаритны в решении любых задач, так что программист изначально должен понимать, что понадобятся немалые ресурсы. Так что увеличение обучающих примеров, не должно особо смущать разработчика. Хотя исходная выборка в конкретной задаче составляла всего 50 000, возможно, будь задача связана с миллионом входных изображений, или еще на порядки выше, то данный метод стал бы скорее обузой, нежели помощью.

Перемешивание обучающих примеров

Что касается подачи данных, то нейросети в разы быстрее обучаются, если подаются наиболее непредсказуемые примеры из обучающей выборки. [18, 19] В связи с этим системе лучше всего подавать наименее знакомые примеры.

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

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

Деформация изображения

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

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

Линейные искажения обеспечиваются простыми операциями, такими как сдвиг, поворот, масштабирование.

Нелинейные искажения или, как принято их называть, эластичные формируются следующим образом [15]:

Предварительная подготовка данных для улучшения качества обучения нейронной сети.

Сначала создается гауссово ядро посредством построения матрицы, значение элемента (x, y) которой вычисляется по формуле:

Предварительная подготовка данных для улучшения качества обучения нейронной сети.

.

Предварительная подготовка данных для улучшения качества обучения нейронной сети.
Предварительная подготовка данных для улучшения качества обучения нейронной сети.

где — размер ядра. Чаще всего это ядро выбирают нечетным и пропорциональным радиусу так, чтобы в это ядро попадали значения функции Гаусса вплоть до уменьшения от максимального значения в пределах 0,1−0,3.

Предварительная подготовка данных для улучшения качества обучения нейронной сети.

Далее генерируются две матрицы размером (по размеру входного изображения). Значения элементов матриц выбираются как случайные величины, равномерно распределенные на отрезке [-1, 1]. К этим матрицам применяется размытие изображения с использованием ранее сформированного ядра. Далее ищется новое значение для каждого пикселя входного изображения с применением билинейной интерполяции и сформированных матриц.

Такая предварительная подготовка проводится не единожды, а предшествует каждой эпохе, это позволяет каждый раз подавать на обучение «новые» для системы наборы образцов.

Показать весь текст
Заполнить форму текущей работой