1   ...   4   5   6   7   8   9   10   11   ...   23
Ім'я файлу: Богайчук Нейронні мережі.docx
Розширення: docx
Розмір: 1578кб.
Дата: 14.03.2021
скачати
Пов'язані файли:
strategichniy_menedzhment_.doc

Висновок



Нейронна мережа працює тільки з числовими вхідними даними, тому важливим етапом при підготовці даних є перетворення і кодування даних. При використанні на вхід нейронної мережі слід подавати значення з того діапазону, на якому вона навчалася. Існує поняття нормалізації даних. Метою нормалізації значень є перетворення даних до виду, який найбільш підходить для обробки, тобто дані, що надходять на вхід, повинні мати числовий тип, а їх значення повинні бути розподілені в певному діапазоні. На практиці ж саме предобробка даних може стати найбільш трудомістким елементом нейромережевого аналізу. Причому, знання основних принципів і прийомів передобробки даних не менше, а може бути навіть більш важливе, ніж знання власне нейромережевих алгоритмів. Весь технологічний ланцюжок, тобто необхідні етапи нейромережевого аналізу включають: кодування входів-виходів, нормування даних, передобробка даних, навчання та оцінка мережі. Успіх навчання нейромережі може вирішальним чином залежати від того, в якому вигляді представлена інформація для її навчання. Були розглянуті можливі проблеми при створенні навчального набору даних, а також додавання даних, як одним з найпростіших і ефективних способів поліпшити якість навчальної множини та вирішення описаних проблем. Поширеним підходом є програмна генерація. У разі використання синтетичних навчальних даних зручніше всього згенерувати відсутні навчальні приклади. Однак не у всіх завданнях допустимо використання програмно згенерованих даних. У таких випадках доводиться застосовувати складніші методи додавання даних. Більш ефективним підходом є так зване “збільшення даних”, тобто аугментація. Розглянута аугментація в просторі даних та в просторі ознак. Згідно з розглянутими джерелами, аугментація в просторі даних дає кращі результати, менш ресурсоємка, простіша в імплементації. Саме цей підхід є більш перспективним для використання в мережах для вирішення проблем недостатнього розміру навчальних даних або класового розбалансування датасету.
  1. РОЗМІР НАВЧАЛЬНОЇ МНОЖИНИ ТА КОНФІГУРАЦІЯ НЕЙРОННОЇ МЕРЕЖІ

    1. Вступ



В цьому розділі буде описане дослідження впливу набору навчальних даних на результати класифікації нейронною мережею. Розглядатиметься кореляція між об’ємом навчальної вибірки та точністю класифікації нейронної мережі. Для цього будуть розроблені тестові моделі двох найпопулярніших архітектур нейронних мереж – згорткова нейронна мережа (CNN) та багатошаровий персептрон (MLP). Буде експериментально обрано оптимальну конфігурацію багатошарового персептрону. В якості тестового датасету обрано MNIST dataset, так як він містить графічні дані, що відповідають усім критеріям щодо збалансування та нормалізації, що були описані в попередньому розділі.

    1. Перенавчання нейронної мережі



При навчанні нейронних мереж часто виникає проблема перенавчання (overfitting). Перенавчання, або надмірно близька підгонка - зайва точна відповідність нейронної мережі до конкретного набору навчальних прикладів, при якому мережу втрачає здатність до узагальнення.

Перенавчання виникає в разі занадто довгого навчання, недостатньої кількості навчальних прикладів або переускладненої структури нейронної мережі.

Перенавчання пов'язано з тим, що вибір навчальної (тренувальної) множини є випадковим. З перших кроків навчання відбувається зменшення похибки. На наступних кроках з метою зменшення похибки (цільової функції) параметри підлаштовуються під особливості навчальної множини. Однак при цьому відбувається "підлаштування" не під загальні закономірності ряду, а під особливості його частини - навчальної підмножини. При цьому точність прогнозу зменшується [25].

Один з варіантів боротьби з перенавчанням мережі - поділ навчальної вибірки на дві множини (навчальну і тестову).

На навчальній множині відбувається навчання нейронної мережі. На тестовій множині здійснюється перевірка побудованої моделі. Ці множини не повинні перетинатися.

З кожним кроком параметри моделі змінюються, однак постійне зменшення значення цільової функції відбувається саме на навчальній множині. При розбитті множини на дві можна спостерігати зміну похибки прогнозу на тестовій множині паралельно зі спостереженнями над навчальною множиною. Певну кількість кроків похибка прогнозу зменшується на обох множинах. Однак на певному етапі похибка на тестовій множині починає зростати, при цьому похибка на навчальній множині продовжує зменшуватися. Цей момент вважається кінцем реального або справжнього навчання, з нього і починається перенавчання.

У статистиці та машинному навчанні одним із найпоширеніших завдань є пристосовування «моделі» до набору тренувальних даних таким чином, щоби уможливити здійснення надійних передбачень на загальних даних, на яких не здійснювалося тренування. При перенавчанні статистична модель описує випадкову похибку або шум, замість взаємозв'язку, що лежить в основі даних [22]. Перенавчання виникає тоді, коли модель є занадто складною, такою, що має занадто багато параметрів відносно числа спостережень. Перенавчена модель має погану передбачувальну продуктивність, оскільки вона занадто сильно реагує на другорядні відхилення в тренувальних даних. Цю проблему добре ілюструє рисунок 2.1 та 2.2 [21].



Рис. 2.1 Графічне зображення перенавчання, де синім та червоним показані об’єкти різних класів, а чорною та зеленою лініями - робота різних класифікаторів
Зелена лінія представляє перенавчену модель, а чорна — регуляризовану. В той час як зелена лінія найкраще слідує тренувальним даним, вона занадто залежить від них, і, ймовірно, матиме вищий рівень похибки на нових небачених даних у порівнянні з чорною лінією.

Рис. 2.2 Приблизно лінійні дані, до яких пристосовано лінійну та поліноміальну функції
На рисунку 2.2 зображені зашумлені (приблизно лінійні) дані, до яких пристосовано лінійну та поліноміальну функції. Хоч поліноміальна функція й пристосована ідеально, від лінійної можна очікувати кращого узагальнення. Іншими словами, якби ці дві функції застосовувалися для екстраполювання даних за межами тих, до яких здійснювалося пристосовування, то лінійна функція робила би кращі передбачення.

Можливість перенавчання існує тому, що критерій, який застосовується для тренування моделі, відрізняється від критерію, який застосовується для оцінки її ефективності. Зокрема, модель зазвичай тренують шляхом максимізації її продуктивності на якомусь наборі тренувальних даних. Проте її ефективність визначається не її продуктивністю на тренувальних даних, а її здатністю працювати добре на даних небачених. Перенавчання стається тоді, коли модель починає «запам'ятовувати» тренувальні дані, замість того, щоби

«вчитися» узагальненню з тенденції [25]. Як крайній приклад, якщо число параметрів є таким же, або більшим, як число спостережень, то проста модель або процес навчання може відмінно передбачувати тренувальні дані, просто запам'ятовуючи їх повністю, але така модель зазвичай зазнаватиме рішучої невдачі при здійсненні передбачень про нові або небачені дані, оскільки ця проста модель взагалі не навчилася узагальнювати.

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

Щоби уникати перенавчання, необхідно використовувати додаткові методики (наприклад, перехресну перевірку, регуляризацію, ранню зупинку, обрізку, баєсові апріорні параметрів або порівняння моделей), які можуть вказувати, коли подальше тренування не даватиме кращого узагальнення. Основою деяких методик є або явно штрафувати занадто складні моделі, або перевіряти здатність моделі до узагальнення шляхом оцінки її продуктивності на наборі даних, не використаному для тренування, який вважається наближенням типових небачених даних, з якими стикатиметься модель.

Гарною аналогією перенавчання задачі є уявити дитину, яка намагається вивчити, що є вікном, а що не є вікном, ми починаємо показувати їй вікна, і вона виявляє на початковому етапі, що всі вікна мають скло та раму, і через них можна дивитися назовні, деякі з них може бути відчинено. Якщо ми продовжимо показувати ті самі вікна, то дитина може також зробити помилковий висновок, що всі вікна є зеленими, і що всі зелені рами є вікнами. Перенавчаючись таким чином цієї задачі.

Зазвичай алгоритм навчання тренується з використанням деякого набору

«тренувальних даних»: зразкових ситуацій, для яких бажаний вихід є відомим. Метою є, щоби алгоритм також добре працював над передбаченням виходу при подаванні «перевірних даних», які не траплялися під час його тренування.

Перенавчання є застосуванням моделей або процедур, які порушують лезо Оккама, наприклад, включаючи більше регульованих параметрів, ніж є зрештою оптимально, або використовуючи складніший підхід, ніж є зрештою

оптимально. Для прикладу завеликого числа регульованих параметрів розгляньмо такий набір даних, де тренувальні дані для y може бути адекватно передбачено лінійною функцією двох залежних змінних. Така функція вимагає лише трьох параметрів (відсікання та двох нахилів). Заміна цієї простої функції новою, складнішою квадратичною функцією, або новою, складнішою лінійною функцією від понад двох залежних змінних, несе ризик: лезо Оккама значить, що будь-яка задана складна функція є апріорі менш імовірною за будь-яку задану просту функцію. Якщо цю нову, складнішу функцію обрано замість простої функції, і якщо не було достатньо великої користі для пристосовування до тренувальних даних, щоби протиставити її підвищенню складності, то нова складніша функція «перенавчається» даних, і складна перенавчена функція, швидше за все, працюватиме гірше на перевірних даних за межами тренувального набору, ніж простіша функція, навіть якщо складніша функція працювала добре, або навіть краще, на наборі тренувальному.

При порівнянні різних типів моделей складність не можна вимірювати виключно підрахунком того, скільки параметрів існує в кожній з моделей; мусить також розглядатися й виразність кожного з параметрів. Наприклад, є нетривіальним порівнювати безпосередньо складності нейронної мережі (яка може відстежувати криволінійні взаємозв'язки) з m параметрами, та регресійної моделі з n параметрами.

Перенавчання є особливо ймовірним в тих випадках, коли навчання виконувалося занадто довго, або коли тренувальні зразки є рідкісними, що спричиняє пристосовування до дуже особливих випадкових ознак тренувальних даних, які не мають причинного взаємозв'язку з цільовою функцією [25]. В процесі цього перенавчання продуктивність на тренувальних зразках продовжує підвищуватися, тоді як продуктивність на небачених даних стає гіршою.

Як простий приклад розгляньмо базу даних роздрібних купівель, яка включає придбану позицію, покупця, та дату й час купівлі. Нескладно побудувати модель, яка ідеально пристосовується до тренувального набору із

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

Як правило, кажуть, що алгоритм навчання перенавчається відносно простішого, якщо він є точнішим у пристосовуванні до відомих даних (розумність заднім числом), але менш точним у передбачуванні нових даних (далекоглядність). Перенавчання можна інтуїтивно розуміти з точки зору тієї обставини, що інформацію з усього минулого досвіду може бути поділено на дві групи: інформацію, яка стосується майбутнього, і недоречну інформацію («шум»). За всіх інших рівних умов, що складнішим для передбачування є критерій (тобто, що вищою є невизначеність), то більше шуму, який треба ігнорувати, міститься в минулій інформації. Задача полягає у визначенні того, яку частину ігнорувати. Алгоритм навчання, який знижує шанси пристосовування до шуму, називається надійним.

Найочевиднішим наслідком перенавчання є погана продуктивність на перевірному наборі даних. До інших негативних наслідків належать:

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

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

    1. 1   ...   4   5   6   7   8   9   10   11   ...   23

      скачати

© Усі права захищені
написати до нас