Чому в нейронних мережах існують «сліпі плями»?

Відео: Навчання нейронних мереж | Глибоке навчання на Python

Математик Дмитро Вєтров про машинному навчанні, третьому поколінні нейронних мереж і комп`ютерному зорі

Відео: Нейронні мережі. просто

В даний час теорія і практика машинного навчання переживають справжню «глибинну революцію», викликану успішним застосуванням методів deep learning, що представляють собою третє покоління нейронних мереж. На відміну від класичних (другого покоління) нейронних мереж 80-90-х років минулого століття, нові парадигми навчання дозволили уникнути багатьох проблем, які стримували поширення і успішне застосування традиційних нейронних мереж. Мережі, навчені за допомогою алгоритмів глибинного навчання, не просто перевершили по точності кращі альтернативні підходи, а й у ряді завдань проявили зачатки розуміння сенсу інформації, що подається (наприклад, при розпізнаванні зображень, аналізі текстової інформації і так далі). Найбільш успішні сучасні промислові методи комп`ютерного зору і розпізнавання мови побудовані на використанні глибинних мереж, а гіганти IT-індустрії, такі як Apple, Google, Facebook, скуповують колективи дослідників, що займаються глибинним навчанням цілими лабораторіями.

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



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

У 2012 році на головній світовій конференції по машинному навчання співробітники корпорації Google представили нейронну мережу, навчену на базі фотографій flickr, яка показала рекордні результати по точності класифікації фотореалістичних зображень. Серед іншого було відзначено, що виходи деяких нейронів допускали інтерпретацію і були високорівневими фільтрами, які давали відгук на обличчя людей, морди котів і так далі. На цій підставі ряд спостерігачів зробили висновок про те, що окремі нейрони в нейронної мережі здатні вивчати різнотипні закономірності в даних, налаштовуючись кожен на свій тип закономірності. Насправді в сучасних алгоритмах навчання нейронних мереж ніде не використовується факт індивідуальної настройки окремих нейронів на закономірності певного роду. Більш того, така интерпретируемая «спеціалізація» ніяк в ході навчання мережі не заохочується, тому важко очікувати, що окремі нейрони виявляться більш специфічні, ніж випадкова комбінація їх виходів. При передачі сигналу по нейронної мережі на вхід кожного нейрона чергового шару подається лінійна комбінація виходів нейронів з попереднього шару, що приблизно відповідає експерименту, проведеного авторами статті, в якому вони брали випадкові лінійні комбінації виходів нейронів одного шару. Більш того, в роботах останніх років, наприклад, по так званим екстремально рандомізованих випадковим лісах (extremely randomized random forest), було показано, що застосування випадкових порогових вирішальних правил до великої кількості випадкових лінійних комбінацій ознак об`єкта дає результати, близькі до результатів, отриманих після застосування просунутих і трудомістких методів машинного навчання. Головне, щоб навчальна вибірка була великого розміру і лінійних комбінацій було досить багато. Так що отриманий авторами статті результат можна розглядати як певний аналог того, що було отримано кілька років до того для випадкових лісів. Оскільки нейронна мережа завжди використовує лінійні комбінації виходів нейронів, немає ніяких підстав очікувати, що різнотипні закономірності будуть «розщеплюватися» по окремим нейронам: ніякого інформаційного виграшу від цього не буде. Зрозуміло, можна спробувати модифікувати процедуру навчання, додавши туди явне вимога розщеплення по нейронам (наприклад, застосувавши варіації методу незалежних компонент), але це вже зовсім інша історія.



Друга теза статті має більш серйозні наслідки. Автори переконливо показують, що коректно навчені нейронні мережі, що показують прекрасні результати на валідаційної вибірці (тобто не страждають від ефекту перенавчання), стрімко деградують при невловимому для ока зміні картинки. На перший погляд здається, що це вирок сучасним нейронних мереж, але тільки на перший. Відразу виникає багато питань. Якщо нейронні мережі так катастрофічно нестійкі, то чому ж вони так успішно застосовувалися (і застосовуються) на практиці? Автори статті наводять приклади змін, яким вони піддавали вихідні зображення, щоб отримати ті, які неправильно орієнтуються нейронною мережею. Можна помітити, що ці зміни, м`яко кажучи, нефотореалістічниє і призводять до того, що сусідні пікселі картинки починають дрібно, але часто флуктуировать. Око цього не помічає, але ось нейронна мережа жодного разу не стикалася з такими флуктуаціями при навчанні. Уявіть, що, навчаючись пізнавати свиней, ви переглянули мільйон прикладів рожевих поросят, а в тестовій вибірці побачили чорного поросяти. Змогли б ви його правильно ідентифікувати і усвідомити, що це приклад того класу, серед мільйона об`єктів якого ви жодного разу не побачили чорного поросяти, і весь мільйон був рожевим? Дрібна, непомітна оку «брижі» дуже добре помітна сверточное мережі, яка не може співвіднести отримане зображення з тими прикладами, які зустрічалися на навчанні, так як ні на одному з них цієї ряби не було (а якби була, то чи не деградувала б на таких об`єктах). Висновок простий. Незважаючи на те, що погляд не вловлює відмінностей, відмінності між спотвореним і вихідним зображеннями величезні. Початкове зображення фотореалістичної, а спотворене практично ніколи не може бути отримано камерою без подальшої штучної обробки. І в цьому відношенні нейронна мережа дає нам вірний сигнал: це не справжня фотографія, а результат деякої штучної нетиповою постобработки. Де очей обманеться, нейронна мережа обдурити себе не дасть. Таким чином, за нейронні мережі можна бути спокійними. Якщо ми радикально (нехай і непомітно для ока) не змінимо вхідні дані, вони будуть давати надійні результати.

На жаль, не все так безхмарно. Можна уявити собі і іншу ситуацію. Знаючи принципи роботи нейронної мережі, вхідні дані можна спотворити так, що вона перестане робити те, для чого вона призначена. Уявіть собі, що зловмисник, підключившись до камери спостереження, з`єднаної з нейронною мережею, автоматично розпізнає людей, злегка спотворює сигнал, і нейронна мережа перестає впізнавати людей просто тому, що вона ніколи з таким спотворенням не стикалася. При цьому оператор, який періодично перевіряє сигнал з камери, ніякої підміни не помічає. Найнеприємніше полягає в тому, що це «не лікується» шляхом розширення навчальної вибірки. Доучивание нейронної мережі на спотворення одного роду не дає гарантії проти спотворень, як і раніше невловимих для ока, іншого роду, все ж перебрати неможливо: занадто велике їх різноманіття. З іншого боку, теоретично можливо розробити більш робастні методи шляхом загрубления процедур навчання, не дозволяючи їм використовувати закономірності, що руйнуються при невловимих зміни картинки. У цьому сенсі ця стаття послужила гарну службу, звернувши увагу наукового співтовариства на необхідність доопрацювання існуючих алгоритмів глибинного навчання. Думаю, в найближчі роки такі методи з`являться, і, як мінімум, для фотореалістичних зображень цей пролом вдасться закрити, перш ніж глибинні мережі замінять людей в системах відеоспостереження.

Відео: Нейронні мережі, технології майбутнього [GeekBrains]

Дмитро Вєтров

кандидат фізико-математичних наук, керівник дослідницької групи байесовских методів, начальник департаменту великих даних і інформаційного пошуку факультету комп`ютерних наук НДУ ВШЕ.


Увага, тільки СЬОГОДНІ!


Оцініть, будь ласка статтю
Всього голосів: 196