Як навчити нейронну мережу

Як навчити нейронну мережу

Щодня ми спілкуємось з нейронними мережами і навіть не задумуємось що вони собою являють і як працюють. Програми, що реалізують технологію нейронних мереж, відповідають на ваші запитання, складають економічні прогнози, допомагають в діагностиці захворювань. В 2016 році програма AlphaGo виграла турнір в грі го у відомого гравця Лі Седоля. При дуже простих правилах перемогу в го не можна отримати перебором всіх можливих комбінацій, на це не вистарчить обчислювального ресурсу. Нейронна мережа навчилась грі, аналізуючи вже зіграні партії, виграшні комбінації, а також граючи сама з собою. Ідею штучної нейронної мережівперше описали математик Уолтер Пітс та нейропсихолог Уоррен Маккалок в 1943 році. ІНС – це обчислювальна модель з великою кількістю паралельно діючих процесів об’єднаних безліччю зв’язків. ЇЇ вузли – нейрони, розподіляються в мережі за рівнями – шарами. Спочатку інформація поступає на нейрони вхідного шару. Нейрони вхідного шару приймають цей сигнал і передають його далі нейронам прихованого або внутрішнього шару. В прихованому шарі відбувається основна обробка даних. Після чого інформація відправляється в останній шар – вихідний. Кількість прихованих шарів та кількість нейронів вибирається в залежності від задачі, яку розв’язує мережа об’єму даних та доступних обчислювальних ресурсів.

Існує два типи мереж: мережі прямого розповсюдження, де всі зв’язки мають чіткий рух від вхідних нейронів до їх виходів, та мережі рекуррентного типу, в яких дані з вихідних нейронів або з прихованого шару передаються частково в перший шар або в інший шар з меншим номером. Такі мережі часто застосовують для обробки послідовностей. Наприклад, для геномних даних, для обробки тексту або розпізнання мови.

В нейронних мереж багато важливих властивостей, але ключова з них – це здатність до навчання. Навчання нейтронних мереж схоже на процес навчання людини. Дитина отримує зоровий сигнал та пояснення вчителя «Дивись, це м’яч, це яблуко, а це клубок ниток». Постійно бачачи різні предмети з різних сторін, дитина вчиться впізнавати їх та відрізняти один від одного. Так навчається і нейронна мережа. Вона постійно аналізує свою роботу для того щоб розпізнати той чи інший образ. Наприклад, ми говоримо «Це м’яч». Якщо мережа починає стверджувати, що м’яч – це яблуко, ми знову пояснюємо їй: «Ні, це не яблуко. Це м’яч. А ось це клубок ниток!». Така процедура правок називається навчання з вчителем. В результаті нескінчена кількість яблук, м’ячів та клубків буде класифіковано. Для обробки великих масивів даних та виявлення спільностей використовуються методи навчання без вчителя. Вони працюють навіть тоді коли нема кому розмістити дані та пояснити нейромережі назви предметів. Наприклад, проаналізувавши дані абонентів операторів зв’язку, нейронна мережа виявить спільності, які можуть відповідати категоріям віку, професіям та користованим послугам. Такий розподіл прикладів на групи називається кластерізацією. Сьогодні розумні помічники спрощують життя та роботу в галузях, де людина повинна виконувати рутинні операції та приймати безліч типових рішень. Але скільки б не вдосконалювались штучні нейронні мережі, задачі їм завжди буде ставити людина.


Читати також