Лого на 91. НЕГ „Проф. Константин Гълъбов“

Избираем модул · Урок 17

Невронна мрежа

Слоеве, скрити признаци и обратно разпространение. Защо два слоя решават XOR и какво означава „дълбоко“ обучение.

От един неврон към мрежа

Един неврон дели пространството с права. Ако подредим няколко неврона в слой и подадем изходите им на следващ слой, всеки следващ слой работи вече не върху суровите признаци, а върху онова, което предишният е открил.

входскрит слойскрит слойизходВсяка връзка е едно тегло — тук те са 3·4 + 4·4 + 4·2 = 36.
Всеки кръг е неврон, всяка линия — тегло. Обучението намира стойностите на всички тегла едновременно.

Как два слоя решават XOR

Скритият слой построява нови признаци. За XOR стигат два неврона: единият се възбужда при „поне един вход е 1“ (ИЛИ), другият — при „и двата са 1“ (И). В новото пространство от тези два признака четирите точки вече се делят с права: XOR е „ИЛИ, но не И“.

Скрит признак

Стойността, която изчислява неврон от вътрешен слой. Никой не му е казвал какво да представлява — тя се появява в хода на обучението.

Това е цялата идея на дълбокото обучение

Не пишем признаци на ръка. Мрежата ги открива сама, слой по слой: при разпознаване на образи първите слоеве откриват ръбове, следващите — форми, следващите — цели обекти.

Обратно разпространение

Как да разберем колко е виновно едно тегло дълбоко в мрежата за крайната грешка? Отговорът е обратно разпространение (backpropagation) — начин грешката да се проследи назад през слоевете.

  1. Подаваме примера напред и получаваме изхода.
  2. Сравняваме го с истината и смятаме загубата.
  3. Тръгваме назад: за последния слой е ясно колко всяко тегло е допринесло за грешката.
  4. Прехвърляме „вината“ към предишния слой и повтаряме до първия.
  5. Всяко тегло се премества малко надолу по своя наклон — това е градиентното спускане от урок 12.

Математиката отдолу

Обратното разпространение не е нов алгоритъм за обучение, а ефективен начин да се пресметнат наклоните за всички тегла наведнъж (верижното правило за производни). Обучението си остава градиентно спускане.

Речникът

  • Слой — група неврони, работещи върху един и същ вход.
  • Дълбока мрежа — мрежа с повече от един скрит слой. Оттам идва „дълбоко обучение“.
  • Параметри — всички тегла и отмествания. Броят им е мярката, с която се сравняват моделите (7 милиарда, 70 милиарда…).
  • Епоха — едно преминаване през целия обучаващ набор.
  • Архитектура — колко слоя, колко неврона, как са свързани. Избира се от човека, а теглата — от обучението.

Кога мрежата не е правилният избор

Малко данни

Мрежа с 50 000 параметъра върху 300 примера ще запамети данните. За таблични данни с няколко хиляди реда случайната гора от урок 15 почти винаги побеждава.

Изискване за обяснимост

От дървото се вади правило. От мрежата — не. Съществуват методи за обяснение, но те дават приблизителна картина, а не самото решение.

Къде мрежите са незаменими

Изображения, звук, текст, видео — там, където признаците не могат да бъдат описани от човек. Никой не може да напише правилата за разпознаване на лице; мрежата ги открива от примери.