Що таке вага та упередженість у глибокому навчанні?


16

Я починаю вивчати машинне навчання з веб-сайту Tensorflow. Я розробив дуже рудиментарне розуміння потоку, за яким слідує програма глибокого навчання (цей метод змушує мене швидко вчитися, а не читати книги та великі статті).

Я натрапив на кілька заплутаних речей, з них 2:

  1. Упередження
  2. Вага

У навчальному посібнику MNIST на веб-сайті tensorflow вони згадували, що нам потрібні упередженість та вагомість, щоб знайти докази існування певного малюнка в зображенні. Що я не розумію - це де і як визначаються значення для зміщення та ваги?

Чи потрібно надавати ці значення чи бібліотека TensorFlow обчислює ці значення автоматично на основі набору даних про навчання?

Також, якщо ви могли б надати кілька пропозицій щодо того, як прискорити мої темпи в глибокому навчанні, це було б чудово!

Підручник для початківців Tensorflow


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

Це дуже просто, тому вам слід пройти такий курс, як запропонував @Emre.
HelloWorld

Відповіді:


11

Математично кажучи. Уявіть, що ви модель (ні, не така, малюнок 8)

Y=WХ+нiгеriан

То що ти розумієш? Об'єктивним є те, що передбачення в такій моделі, як у вас

Що стосується ваги, логічно кажучи, Вага - це ваш градієнт (лінійна алгебра),

Що таке градієнт? , це крутість лінійної функції.

Що робить лінійний градієнт дуже крутим (Високе додатне значення)?

Це тому, що невеликі зміни в X (введення) викликають великі відмінності по осі Y (вихід). Тож ви (вже не як модель, але геніальний математик (ваше alter ego)) або ваш комп'ютер намагається знайти цей градієнт, який ви можете назвати вагою. Різниця полягає в тому, що ви використовуєте книгу олівців і графіків, щоб знайти це, але чорна скринька робить свою електронну Магію з регістрами.

У процесі машинного навчання комп'ютер або Ви намагаєтеся намалювати багато прямих або лінійних функцій через точки даних,

Чому ви намагаєтесь намалювати багато прямих?

Тому що у своїй графічній книзі / пам’яті комп’ютера ви намагаєтеся побачити рядок, який відповідає відповідним чином.

Як я чи комп’ютер знаю лінію, яка відповідає відповідним чином?

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

Класно! так і що відбувається

Градієнт цього рядка обчислюється, скажімо, обчислюється вага ваги навчальної задачі

це машинне навчання в його основних розуміннях і студент середньої школи графік графік у своєму / її "Книзі"


10

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

де і як визначаються значення для зміщення та ваги?

Ваги та ухили - це навчальні параметри вашої моделі. Як і нейронні мережі, вони з'являються з однаковими назвами у споріднених моделях, таких як лінійна регресія. Більшість алгоритмів машинного навчання містять такі параметри, як навчаються, як цей.

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

Чи потрібно надавати ці значення чи бібліотека TensorFlow обчислює ці значення автоматично на основі набору даних про навчання?

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

Конкретний код, який обробляє зміни ваги та зміщення з підручника, такий:

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

і це:

sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

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

ух


8

Вага - Вага - міцність з'єднання. Якщо я збільшую вхід, то який вплив він має на вихід.

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

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

Низький ухил : пропонує більше припущень щодо форми цільової функції.

High-Bia s: пропонує менше припущень щодо форми цільової функції.


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