Нейробайесовский підхід до завдань машинного навчання. Лекція Дмитра Вєтрова в Яндексі

Цим постом ми завершуємо серію лекцій з Data Fest. Одним з центральних подій конференції стала доповідь Дмитра Вєтрова — професора факультету комп'ютерних наук НДУ ВШЕ. Дмитро входить в число найбільш відомих в Росії фахівців з машинного навчання і, починаючи з минулого року, працює в Яндексі провідним дослідником. У доповіді він розповідає про основи байєсівського підходу і пояснює, які переваги дає цей підхід при використанні нейронних мереж.


Під катом — розшифровка та частина слайдів.



Часу небагато, буду скакати по верхівках. Зацікавлені можуть дивитися слайди — там більш суворий висновок і багато гарних і різних формул. Будемо сподіватися, що буде не дуже нудно.

Про що я буду говорити. Спробую дати коротку характеристику байєсівських методів, байєсівського підходу як теорії ймовірності, як задачі машинного навчання. Цей підхід був досить популярний в 90-е і нульові роки — до того, як почалася глибока революція, викликана тріумфальною ходою глибинних нейронних мереж. Якийсь час здавалося: навіщо всі ці байесовские методи потрібні, у нас нейромережі і так прекрасно працюють. Але як часто буває, в якийсь момент з'ясувалося, що можна об'єднати переваги нейромережевого і байєсівського підходів. В першу чергу — завдяки тому, що з'явилися техніки варіаційного байєсівського виводу, і ці моделі не суперечать один одному, а навпаки, чудово доповнюють, взаємно посилюючи один одного.

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



Отже, що ж таке байєсовський підхід? Весь підхід базується на одній єдиній формулі або теоремі. Теорема Байєса наведена в математичній та концептуальної формах.

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

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

Друге цікаве властивість. Найпростіше правило підсумовування добутку ймовірностей означає: якщо у нас є імовірнісна модель — а іншими словами, спільне імовірнісний розподіл на всі змінні, що виникають у нашій задачі, — то ми, як мінімум теорії, завжди можемо побудувати будь імовірнісний прогноз, спрогнозувати нас цікавить змінну U, знаючи якісь спостережувані змінні О. При цьому є змінна L, яку ми не знаємо і вона нас не цікавить. По цій формулі вони відмінно виключаються з розгляду.

Для будь-яких комбінацій цих трьох груп змінних ми завжди можемо побудувати таке умовний розподіл, яке і вкаже, як змінилися наші уявлення про цікавлять нас величинах U, якщо ми поспостерігали Про величини, імовірно пов'язані з U.



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

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

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

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

Оскільки один може не знати одні чинники, а інший — інші, виникає поняття суб'єктивної невизначеності або суб'єктивного незнання.

Решта — прямі відмінності цієї інтерпретації. Усі величини у байесовском підході можна трактувати як випадкові. Апарат теорії ймовірностей застосовується до параметрів розподілу випадкової величини. Іншими словами, те, що в класичному підході безглуздо, байесовском підході набуває сенсу. Метод статистичного методу, замість методу максимальної правдоподібності — теорема Байєса. Оцінки отримуємо не точкові, а виду апостериорного розподілу, що дозволяє нам комбінувати різні імовірнісні моделі. І на відміну від частотного підходу — теоретично обґрунтованого при великих n, а деякі доводять, наприклад, при n, що прагнуть до нескінченності, — Байєсовський підхід вірний при будь-яких обсягах вибірки, навіть якщо n = 0. Просто в даному випадку апостеріорне розподіл співпаде з апріорним.



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

Давайте уявимо: дано кілька сліпих мудреців і один слон. Завдання — оцінити масу цього слона. Мудреці знають, що зараз будуть мацати якусь тварину. Яке саме — не знають, але вони повинні оцінити масу.



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

Оскільки мова йде про мудреців, вони знають характерні маси тварин на планеті Земля. Тому вони і отримують приблизно таке апріорне розподіл.

Перший мудрець підходить, мацає хвіст і робить висновок, що, мабуть, перед ним щось змееобразное або хвіст великої тварини. Отже, в процесі свого байєсівського висновку, об'єднавши результати своїх уявлень, які можна виразити у вигляді ймовірнісної поділи p1, він отримує апостеріорне розподіл р(θ) за умови х=1.

Далі підходить інший мудрець, який може не мацати, а скажімо, нюхати. Тут абсолютно інша модель. X2 — це величина зовсім з іншого домену, побічно характеризує масу тварини. У процесі свого байєсівського висновку він використовує як апріорного розподілу не вихідний, з якого все починали, а результат висновку попереднього мудреця. Тим самим ми можемо об'єднати два абсолютно різних вимірювання, два джерела інформації, в одній елегантною ймовірнісної моделі.

І ось, виконавши серію вимірювань, ми в кінцевому підсумку отримуємо вже досить гостре апостеріорне розподіл, майже точну оцінку. Ми вже з високою точністю можемо сказати, яка маса була у тварини. Це ілюстрація до третього властивості — до extendibility, тобто до можливості моделі весь час розширювати і зачіпати.

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

Стали очевидними дві речі. Для початку — чим більше мережа, тим вона в принципі краще. Великі мережі працюють краще, ніж маленькі. Але великі мережі починають перенавчатися. Якщо у нас кількість параметрів — 100 млн, то 1 млрд об'єктів — не дуже велика навчальна вибірка, і нам необхідно регуляризовывать процедуру такого машинного навчання.

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

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

Нарешті, третя перевага — можливість побудови моделі з латентними змінними. Про неї докладніше.



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

Метод простий, допускає рішення в явному вигляді. Але альтернативно можна сформулювати інакше, в термінах ймовірнісної моделі.



Уявімо, що наші дані влаштовані так: для кожного об'єкта є його приховане уявлення в просторі маленької розмірності. Тут воно позначене як z. А ми спостерігаємо лінійну функцію від цього прихованого уявлення в просторі з більш високою розмірністю. Ми взяли лінійну функцію і додатково додали нормальний шум. Тим самим ми отримали х, высокоразмерные дані, по яким нам вкрай бажано відновити їх низкоразмерное подання.



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

Нам задана вибірка, яка представляє собою высокоразмерное подання. Ми знаємо x, ми не знаємо z, і наше завдання — знайти параметр θ. θ — це матриця V, σ2 і все.

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

Виникає питання: а навіщо нам застосовувати ітераційний процес, коли ми знаємо, що завдання вирішується в явному вигляді?

Відповідь проста. Для початку — алгоритмічна складність. Складність аналітичного рішення — O(nD2), в той час як складність однієї ітерації ЕМ-алгоритму — O(nDd).

Якщо ми подумки уявімо, що проектуємо простір розмірності 1 млн в простір розмірністю 10, і ЇМ-алгоритм сходиться ітерацій за сто, то наша ітераційна схема буде працювати в 1000 разів швидше, ніж рішення в явному вигляді.

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

Виникає суміш методів головних компонент. Формально модель записується так. Просто ввели додаткову номенклатуру прихованих дискретних змінних t. І знову ж, ЇМ-алгоритм дозволяє нам знайти рішення задачі майже за тими ж формулами, хоча вихідний метод головних компонент нам не дозволяв проводити ніякі модифікації.



Ще одне — можливість працювати в ситуаціях, коли, припустимо, для нашої вибірки частина компонент х невідомі, дані пропущені. Буває таке? Суцільно й поруч. Кілька більш екзотична ситуація — коли нам відомі приховані подання частини об'єктів, низкоразмерное подання, цілком або частково. Але знову ж таки, така ситуація можлива.
вихідна модель методу головних компонент не здатна врахувати ні того, ні іншого, в той час як імовірнісна модель, сформульована на байесовском мовою, і те, і інше враховує елементарно — простий модифікацією ЕМ-алгоритму. Ми просто трохи змінюємо номенклатуру спостережуваних прихованих змінних.

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



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

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



Теорема Байєса. Хочемо за відомим X, M сказати щось про Z, який якось пов'язаний з X. Ми застосовуємо теорему Байєса. Питання: яке тут найвразливіше місце, який найважчий фргамент? Інтеграл.

У тих рідкісних випадках, коли інтеграл береться аналітично, все добре. Інша справа, якщо він аналітично не береться — адже ми представляємо, що говоримо про высокоразмерных даних, і тут інтеграл в просторі розмірністю не 1 або 2, а десятки і сотні тисяч.

З іншого боку, давайте запишемо ланцюжок. Стартуємо: ∫ p(X|Z) p(Z) dZ. Оскільки log P(X) dZ не залежить, це просто інтеграл по всьому Z, що дорівнює 1.

Друга дія. Висловили p(X), за цією формулою перенесли вліво, p(Z|X) в знаменник, записали під інтегралом.

Тепер у нас чисельник і знаменник залежать від Z, хоча їх приватне дає p(X), тобто не залежить від Z. Тотожність.

Далі помножили те, що стоїть під log, помножили на 1 і поділили на q(Z).

І останнє — розбили інтеграл на дві частини. Тут бачимо: друга частина — добре відома в теорії ймовірностей дивергенція Кульбака-Лейблера, величина невід'ємна і дорівнює нулю тоді і тільки тоді, коли ці два розподіли збігаються між собою. У якомусь сенсі це аналог відстані між розподілами. А нагадую, наше завдання оцінити p(Z|X) хоча б наближено, виконати байєсовський висновок.

Цю величину ми порахувати не можемо, тут фігурує p(Z|X). Зате відмінно можемо порахувати перший доданок. Кожне з доданків залежить від q(Z), але їх сума від q(Z) не залежить, тому що вона дорівнює log p(X). Виникає ідея: а давайте ми будемо перший доданок максимізувати по q(Z), за розподілом.

Це означає, що, максимізуючи перший доданок, ми мінімізуємо друге — яке показує ступінь наближення q(Z) до істинного апостеріорного розподілу. І ось, тим самим, ключова ідея: ми звели завдання байєсівського висновку, що включає в себе інтегрування в просторі високої розмірності, до задачі оптимізації.

Завдання оптимізації людство вміє вирішувати добре навіть при гігантських обсягах даних.



Такий підхід називається варіаційний Байєсівської. Ключова ідея — що висновок стає оптимізацією.

Які у нас є універсальні аналізатори, аппроксиматоры? Особливо придатні для роботи з великими даними? Нейронні мережі.

Про стохастичну оптимізацію не встигаю сказати.



Тут я вже зробив наступний крок — навчання з неповною розмітці. Дано Xtr, Z ми не знаємо, і нам би оптимізувати цей функціонал по θ. Ми навіть не можемо його в явному вигляді порахувати, але зате, коли ми замінили його на вариационную нижню оцінку L, з'явилася ще й залежність від θ — оскільки ми хочемо додатково ліву частину оптимізувати за θ. Ми можемо оптимізувати L одночасно з Q(Z) і θ. Оптимізація по θ дозволяє нам все краще описувати навчальну вибірку, а оптимізація по Q(Z) дозволяє все точніше проводити байєсовський висновок над прихованими змінними Z.

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

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



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

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

Здавалося б, давайте зробимо все те ж саме, тільки нехай буде не лінійна функція, а що-небудь більш хитра. Тут так і зроблено, μ та σ — тепер не лінійні функції від латентного подання даного об'єкта. Нехай це буде виходом нейронної мережі. Є нейронна мережа, яка отримує на вхід Zі і видає значення μ та σ, яке показує розподіл відповідного Xі. Ця нейронна мережа має ваги θ. В іншому модель та ж сама. Єдине, ми замість лінійної функції поставили сюди нелінійну, обумовлену нейронною мережею.



Все б добре, але проблема в наступному: у цій задачі строгий байєсовський висновок, на відміну від методу головних компонент, вже зробити не можна. Тому тут доводиться використовувати ту вариационную техніку, про яку я розповів раніше. Ми переходимо до варіаційної оцінці L, вводимо розподіл Q(Z), яке параметризуется через φ, і нехай це буде інша нейронна мережа. Чим багатше сімейство розподілів, де ми проводимо оптимізацію, тим краще. Найбагатше, що ми вміємо оптимізувати на сьогоднішній день, — нейронні мережі, що володіють достатньою гнучкістю.

Додамо допоміжну нейронну мережу. У неї будуть свої параметри φ. Мережа, яка приймає Z, повертає X. Ця мережа — навпаки, приймає X і повертає розподіл на Z.

Така техніка дуже схожа на те, що в нейронних мережах відомо як модель автокодировщика. Тільки тут все сформульовано на імовірнісному мовою, тому її назвали варіаційним автокодировщиком.



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

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

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

Крім того, в минулому році була запропонована техніка карт уваги, attention maps, яка теж дозволила суттєво розширити клас задач, розв'язуваних нейронними мережами. Для початку мова йде про завдання генерації тексту по зображенню. В основі такої техніки лежить варіаційний байєсовський висновок деякого спеціального виду, але по суті — теж базується на оптимізації певної еволюційної оцінки L(Q|θ).

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

Сподіваюся, мені вдалося донести переваги байєсівського підходу і сутність варіаційного байєсівського висновку, розповісти, завдяки чому байесовские методи вдалося масштабувати і перенести на великі дані. А як ми далі будемо схрещувати і отримувати нейробайеса — побачимо в найближчі роки. Спасибі.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.