Якщо кожен нейрон в нейронній мережі в основному є функцією логістичної регресії, чому багатошаровий краще?


13

Я проходжу курс DeepAI Cousera (відео 1 тиждень "Огляд нейронних мереж"), і Ендрю Нг пояснює, як кожен шар в нейронній мережі - лише чергова логістична регресія, але він не пояснює, як це робить більш точним.

Отже, у двошаровій мережі, як обчислення логістичного багаторазового використання робить її більш точною?


7
Часто, щоб підходити до хорошої єдиної логістичної регресії, вам потрібно зробити значну функцію інженерії. Двошаровий nn намагається зробити для вас якусь роботу.
Меттью Друрі

@msk, ви коли-небудь створювали нові функції на основі своїх оригінальних функцій для покращення логістичної регресії? Це те, що роблять приховані шари.
Рікардо Крус

Відповіді:


10

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

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

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

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


7

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

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


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

5

Коли в нейронній мережі існують приховані шари, ми додаємо нелінійні функції. Будь ласка, перевірте мою відповідь тут, щоб мати певний сенс.

що робить нейронні мережі нелінійною моделлю класифікації?

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


Ось чисельний приклад для вирішення коментарів ОП.

Припустимо, у нас є кадр даних , це матриця (10 точок даних, 3 функції.). Якщо ми хочемо мати прихованих об'єднань, то вагова матриця - матриця . Вихід для прихованого шару (вихід матричного множення ) - це кратна матриця, яка для кожної точки даних має функцій.10 × 3 7 W 3 × 7 X × W 10 × 7 7X10×37W3×7X×W10×77


Мені просто цікаво, то як будь-який із вузлів першого шару відрізняється у виході, тобто вузол 1 отримує X1, X2, X3, вузол 2 також отримує X1, X2, X3, якщо вони всі логістичні регресії, як це їх вихід буде різним?
mskw

припустимо, у вас є 3 функції та 10 прихованих одиниць, тоді вихід прихованого шару має 10 "сконструйованих функцій".
Хайтао Дю

Чому ви називаєте це "сконструйованими функціями" - це також функції, про які ви згадуєте X1, X2, X3?
mskw

Я відредагую свою відповідь, щоб адресувати ваші коментарі.
Haitao Du

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

3

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

Ви також згадуєте в коментарях про те, як ці вузли мають різні значення в одному шарі, якщо вони мають однакові входи? Це тому, що вони повинні мати різну вагу. Кожен вузол нейронної мережі приймає входів і видає значення де - обрана функція, в у нашому випадку сигмоїда, - ваги, - входи, а - деякий зміщення. Ваги вибираютьсяy j = f ( N i = 1 w j ix i + b j ) f w j i x i b jNyj=f(i=1Nwjixi+bj)fwjixibjалгоритмом оптимізації для оптимізації нашої мети, наприклад мінімізувати помилки класифікації. Ініціалізація дуже важлива для алгоритмів спуску градієнта, які зазвичай використовуються для оптимізації ваг. Див. Https://intoli.com/blog/neural-network-initialization/, якщо якщо всі ваги починаються з 0, мережа не може вивчити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.