Столична влада запустить нейронну мережу, яка розпізнаватиме автомобілі за силуетом, маркою та ліхтарями. Про це повідомили у Центрі організації дорожнього руху Департаменту транспорту та дорожньо-транспортної інфраструктури міста Москви.

Передбачається, що «розумна» система знизить навантаження на операторів та підвищить якість процесу передобробки порушень, зафіксованих автоматичними засобами фіксації правопорушень у галузі дорожнього руху. Використовуватиметься нейронна мережа в центрі фото-відеофіксації ЦОДД, який обробляє фотографії з камер. До речі, щодня туди надходить до 400 тисяч матеріалів.

За словами експерта в галузі сучасних технологій Андрія Михайлюка, Москва – лідер у сфері застосування сучасних технологій. Він додав, що нейронна система потрібна для обробки випадків, коли камера не може розпізнати номер автомобіля.

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

При цьому людський ресурс – обмежений. Михайлюк вважає, що передача цієї функції комп'ютеру є цілком логічною.

Таке завдання має вирішувати не людина, а система машинного навчання, – зазначив він.

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

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

Експерт наголосив, що Росія у плані застосування сучасних технологій для виписки штрафів значно випереджає інші країни світу. На його думку, вся справа у нашому менталітеті.

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

У Москві на даний момент працює 1,5 тисяч стаціонарних камер фіксації порушень. У 2016 році за допомогою фото-відеофіксації було винесено 11,7 мільйонів штрафних постанов, у 2017 році – 24,6 мільйона, а за десять місяців 2018 року – понад 25 мільйонів. Зазначимо, що у Центрі організації дорожнього руху 280 співробітників займаються перевіркою інформації, виправленням помилок та контролем якості фото-відеофіксації.

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

Ім'я їм - легіон

На сьогоднішній день у Москві загалом встановлено близько 167 тис. камер, з яких за дорожньою обстановкою стежать майже 2 тис. комплексів автоматичної фіксації порушень правил дорожнього руху, та їх кількість постійно зростає. На даний момент штрафувати порушників допомагають 1,5 тис. стаціонарних, понад 30 пересувних, майже 400 мобільних та ще 110 встановлених на громадському наземному транспорті комплексів. Безперечно, робота з покращення ситуації з безпекою на дорогах проводиться масштабна: лише у 2017 році за допомогою засобів фотовідеофіксації було виявлено понад 83 млн правопорушень (роком раніше – трохи більше 60 млн), проте нерідко трапляється так, що автоматичні системидають збій та страждають ні в чому не винні автомобілісти.

Перші стаціонарні комплекси фотовідеофіксації порушень правил дорожнього руху з'явилися на вилітних магістралях столиці ще у 2006–2007 роках у рамках федеральної цільової програми «Підвищення безпеки дорожнього руху у 2006–2010 роках». Оскільки ситуація на дорогах відтоді помітно покращала, дорожні камери ставитимуть і надалі.

Сучасні комплекси вміють не тільки фіксувати перевищення швидкості, їзду по узбіччі або виїзд на смуги для громадського транспорту, але й обчислювати порушників, які пересуваються містом без ОСАЦВ, зупиняються або паркуються в зонах, де і без їхнього автомобіля проїхати складно, або на місцях інвалідів, нехтують вимогами дорожніх знаків та розмітки тощо. Нещодавно в столиці з'явилися дорожні камери, що контролюють стоп-лінію. А вже у 2019 році ЦКУ «Центр організації дорожнього руху» (ЦОДД) встановить 200 комплексів для контролю за безпекою найуразливіших учасників руху на дорогах – камери будуть націлені на водіїв, які не пропускають пішоходів на зебрі. Нагадаємо, штраф за подібне правопорушення згідно зі статтею 12.18 КоАП становить від 1,5 тис. до 2,5 тис. рублів.

Не за горами поява зовсім нового для автомобілістів штрафу - про нього 12 листопада голова ДІБДР Михайло Черніков. Інспекція має намір запровадити санкцію за небезпечне водіння. Контролювати лихі та виносити постанови любителям гри «в шашечки», швидше за все, також доручать комплексам фотовідеофіксації.

Стріляють у спину

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

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

У середньому фокусна відстань, на якій камера «ловить» порушника, становить від 50 м до 500 м. А ось поріг максимальної швидкості, яка може бути зафіксована пристроєм, суттєво збільшили: діапазон сучасних комплексів становить 0–250 км/год, а не 0-180 км/год, як це було раніше.

Сучасні комплекси навчилися розпізнавати навіть брудні чи деформовані номери і почали рідше помилятися. Наприклад, похибка популярних у Москві комплексів «Автоураган» залежно від швидкості транспортного засобускладає всього 1-2 км/год, а різних модифікацій комплексу "Стрілка" не перевищує 2 км/год. Останні, до речі, оснащені спеціальним «двірником» - пристроєм, який зможе самостійно очистити вічко камери, якщо на нього потрапив бруд.

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

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

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

Як не потрапити під камеру?

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

У маркетах для пристроїв на базі Android або Apple існує безліч програм з аналогічним функціоналом. Ціна на такі програми, залежно від їх можливостей та точності, коливається від 100 до 1650 рублів. Або ж можна скористатися безкоштовним навігатором, попередньо активувавши в налаштуваннях функцію звукового сповіщення про камери та інші дорожні події. Щоправда, варто враховувати, що дані, наприклад, про нові камери або мобільні пости ДПС туди заносять такі ж користувачі, як і ви.

Як довести свою правоту?

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

Механізм оскарження ухвал наступний:

На подання скарги ви маєте 10 діб з моменту отримання штрафу (стаття 30.3 КоАПу);

Скарга може бути подана як особисто (у сервісні центри «Московський транспорт» або приймальну МАДІ), так і в електронному вигляді (через портал Автокод або електронну приймальну уряду Москви);

Комплект документів має містити як саму підписану власноруч скаргу, так і додаткові матеріали (фотографії, відеозаписи чи інші документи), які підтверджують інформацію, викладену у вашому зверненні;

У разі якщо до моменту подання скарги, відведені КоАПом 10 діб, вже пройшли, до пакету документів слід додати клопотання про відновлення пропущеного терміну оскарження постанови про адміністративне правопорушення, яку необхідно також власноручно підписати;

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

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

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

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

Нейросітка від «Яндекс» називається DeepHD. Раніше вона вже встигла добре показати себе, коли була використана для покращення якості фільмів, які розповідають про Велику Вітчизняну війну. Тоді на зміни було піддано сім фільмів. Тепер черга дійшла і до радянської мультиплікації: Снігова королева, Оленька квіточка, Кошеня на ім'я Гав, Умка шукає друга, Дюймовочка та ін.

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

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

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

Сподобалася ця новина? Тоді тисни.

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

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

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

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

Штучний інтелект чи машинне навчання?

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

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

Епоха наївного пошуку

Спочатку був просто пошук слів – інвертований індекс. Потім сторінок стало надто багато, їх почало ранжувати. Почали враховуватися різні ускладнення – частота слів, tf-idf.

Епоха посилань

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

Епоха машинного навчання

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

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

Один із найкращих алгоритмів машинного навчання винайшли в Яндексі - Матрікснет. Можна сказати, що ранжуванню допомагає колективний розум користувачів та «мудрість натовпу». Інформація про сайти та поведінку людей перетворюється на безліч факторів, кожен з яких використовується Матрикснетом для побудови формули ранжирування. Фактично формулу ранжування пише машина (виходило близько 300 мегабайт).

Але «класичне» машинне навчання має межу: воно працює тільки там, де дуже багато даних. Невеликий приклад. Мільйони користувачів вводять запит [вконтакте], щоб знайти той самий сайт. В даному випадку їхня поведінка є настільки сильним сигналом, що пошук не змушує людей дивитися на видачу, а підказує адресу відразу при введенні запиту.

Але люди складніші, і хочуть від пошуку дедалі більше. Наразі вже до 40% усіх запитів унікальні, тобто не повторюються хоча б двічі протягом усього періоду спостережень. Це означає, що у пошуку немає даних про поведінку користувачів у достатній кількості, і Матрікснет позбавляється цінних факторів. Такі запити в Яндексі називають "довгим хвостом", оскільки всі разом вони становлять суттєву частку звернень до нашого пошуку.

Епоха штучного інтелекту

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

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

Як правило, низькочастотні та унікальні запити досить складні для пошуку – знайти хорошу відповідь на них помітно важче. Як це зробити? У нас немає підказок від користувачів (який документ кращий, а який – гірший), тому для вирішення пошукового завдання потрібно навчитися краще розуміти смислову відповідність між двома текстами: запитом та документом.

Легко сказати

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

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

Декілька слів про те, як це працює в пошуку по картинках. Ви берете зображення і за допомогою нейронних мереж перетворюєте його на вектор у N-мірному просторі. Берете запит (який може бути як у текстовому вигляді, так і у вигляді іншої картинки) і робите з ним те саме. А потім порівнюєте ці вектори. Чим ближче вони один до одного, тим більше зображення відповідає запиту.

Ок, якщо це працює в картинках, чому б не застосувати цю логіку в web-пошуку?

Диявол у технологіях

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

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

DSSM

У 2013 році дослідники з Microsoft Research описали свій підхід, який отримав назву Deep Structured Semantic Model.

На вхід моделі подаються тексти запитів та заголовків. Для зменшення розмірів моделі над ними проводиться операція, яку автори називають word hashing. До тексту додаються маркери початку та кінця, після чого він розбивається на літерні триграми. Наприклад, для запиту [палех] ми отримаємо триграми [па, але, лех, ех]. Оскільки кількість різних триграм обмежена, ми можемо представити текст запиту як вектора розміром кілька десятків тисяч елементів (розмір нашого алфавіту в 3 ступеня). Відповідні триграм запиту елементи вектора дорівнюватимуть 1, решта - 0. По суті, ми відзначаємо таким чином входження триграм з тексту в словник, що складається з усіх відомих триграм. Якщо порівняти такі вектори, то можна дізнатися тільки про наявність однакових триграм у запиті та заголовку, що не становить особливого інтересу. Тому тепер їх треба перетворити на інші вектори, які вже матимуть потрібні нам властивості семантичної близькості.

Після вхідного шару, як і належить у глибоких архітектурах, розташовано кілька прихованих шарів як запиту, так заголовка. Останній шар розміром 128 елементів і служить вектором, який використовується для порівняння. Виходом моделі є результат скалярного множення останніх векторів заголовка та запиту (якщо бути дуже точним, то обчислюється косинус кута між векторами). Модель навчається в такий спосіб, щоб позитивно навчальних прикладів вихідне значення було великим, а негативних - маленьким. Інакше висловлюючись, порівнюючи вектори останнього шару, ми можемо обчислити помилку передбачення і модифікувати модель в такий спосіб, щоб помилка зменшилася.

Ми в Яндексі активно досліджуємо моделі на основі штучних нейронних мереж, тому зацікавилися моделлю DSSM. Далі ми розповімо про свої експерименти у цій галузі.

Теорія та практика

Характерна властивість алгоритмів, що описуються в науковій літературі, полягає в тому, що вони не завжди працюють із коробки. Справа в тому, що «академічний» дослідник і дослідник з промисловості перебувають у суттєво різних умовах. Як відправна точка (baseline), з якою автор наукової публікації порівнює своє рішення, має виступати якийсь загальновідомий алгоритм - так забезпечується відтворюваність результатів. Дослідники беруть результати раніше опублікованого підходу і показують, як їх можна перевершити. Наприклад, автори оригінального DSSM порівнюють свою модель за метрикою NDCG з алгоритмами BM25 та LSA. У випадку з прикладним дослідником, який займається якістю пошуку в реальній пошуковій машині, відправною точкою служить не один конкретний алгоритм, а все ранжування в цілому. Мета розробника Яндекса полягає не в тому, щоб обігнати BM25, а в тому, щоб досягти поліпшення на тлі всієї множини раніше впроваджених факторів і моделей. Таким чином, baseline для дослідника в Яндексі надзвичайно високий, і багато алгоритмів, що мають наукову новизну і показують хороші результати при «академічному» підході, виявляються марними на практиці, оскільки не дозволяють реально покращити якість пошуку.

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

Великий вхідний шар

В оригінальній моделі DSSM вхідний шар є безліч літерних триграм. Його розмір дорівнює 30 000. Підхід на основі триграм має кілька переваг. По-перше, їх відносно мало, тому робота з ними не потребує великих ресурсів. По-друге, їх застосування полегшує виявлення помилок і помилок у словах. Проте, наші експерименти показали, що уявлення текстів як «мішка» триграм помітно знижує виразну силу мережі. Тому ми радикально збільшили розмір вхідного шару, включивши до нього, окрім літерних триграм, ще близько 2 мільйонів слів та словосполучень. Таким чином, ми представляємо тексти запиту та заголовка у вигляді спільного «мішка» слів, словесних біграм та літерних триграм.

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

Тяжко у навчанні: як нейронна мережа боролася сама з собою і навчилася на своїх помилках

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

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

Перша спроба

Спочатку як негативний приклад просто візьмемо заголовок випадкового документа. Наприклад, для запиту [палехський розпис] випадковим заголовком може бути «Правила дорожнього руху 2016 РФ». Зрозуміло, повністю виключити те, що випадково обраний із мільярдів документ буде релевантним запиту, не можна, але ймовірність цього настільки мала, що їй можна знехтувати. Таким чином, ми можемо дуже легко отримувати велику кількість негативних прикладів. Здавалося б, тепер ми можемо навчити нашу мережу саме тому, чого хочеться - відрізняти хороші документи, які цікавлять користувачів, від документів, які не мають жодного стосунку. На жаль, навчена на таких прикладах модель виявилася досить слабкою. Нейронна мережа – штука розумна і завжди знайде спосіб спростити собі роботу. У цьому випадку вона просто почала вишукувати однакові слова в запитах і заголовках: є хороша пара, ні погана. Але це ми самі вміємо робити. Для нас важливо, щоб мережа навчилася розрізняти неочевидні закономірності.

Ще одна спроба

Наступний експеримент полягав у тому, щоб додавати до заголовків негативних прикладів слова із запиту. Наприклад, для запиту [палехський розпис] випадковий заголовок виглядав як [Правила дорожнього руху 2016 РФ розпис]. Нейронної мережі довелося трохи складніше, проте вона досить швидко навчилася добре відрізняти природні пари від складених вручну. Стало зрозуміло, що такими методами успіху не досягнемо.

Успіх

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

Подібна схема навчання у науковій літературі зазвичай називається hard negative mining. Також не можна не відзначити, що схожі по ідеї рішення набули широкого поширення в науковому співтоваристві для генерації зображень, що реалістично виглядають, подібний клас моделей отримав назву Generative Adversarial Networks.

Різні цілі

Як позитивні приклади дослідники з Microsoft Research використовувалися кліки за документами. Однак, як уже було сказано, це досить ненадійний сигнал про смислову відповідність заголовка запиту. Зрештою, наше завдання полягає не в тому, щоб підняти в пошуковій видачі відвідувані сайти, а в тому, щоб знайти дійсно корисну інформацію. Тому ми намагалися як мету навчання використовувати інші характеристики поведінки користувача. Наприклад, одна з моделей передбачала, чи залишиться користувач на сайті чи піде. Інша – як довго він затримається на сайті. Як виявилося, можна помітно покращити результати, якщо оптимізувати таку цільову метрику, яка свідчить про те, що користувач знайшов те, що йому потрібно.

Профіт

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

Як приклад візьмемо запит [келлська книга] і подивимося, яке значення набувають фактори на різних заголовках. Для контролю додамо до списку заголовків явно нерелевантний результат.

Усі фактори в Яндексі нормуються в інтервал. Очікується, що BM25 має високі значення для заголовків, які містять слова запиту. І цілком передбачувано, що цей фактор набуває нульового значення на заголовках, що не мають спільних слів із запитом. Тепер зверніть увагу на те, як поводиться нейронна модель. Вона однаково добре розпізнає зв'язок запиту як із російськомовним заголовком релевантної сторінки з Вікіпедії, так і із заголовком статті на англійською! Крім того, здається, що модель «побачила» зв'язок запиту із заголовком, в якому не згадується кельська книга, але є близьке за змістом словосполучення (ірландські євангелія). Значення моделі для нерелевантного заголовка істотно нижче.

Тепер давайте подивимося, як поводитимуться наші чинники, якщо ми переформулюємо запит, не змінюючи його сенсу: [євангеліє з келлсу].

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

Ще приклад. Запит [оповідання у якому розчавили метелика].

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

А що далі?

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

Наприклад, очевидно, що заголовок містить неповну інформацію про документ, і добре навчитися будувати модель за повним текстом (як виявилося, це не зовсім тривіальне завдання). Далі, можна уявити моделі, що мають значно складнішу архітектуру, ніж DSSM - є підстави припускати, що таким чином ми зможемо краще обробляти деякі конструкції природних мов. Свою довгострокову мету ми бачимо у створенні моделей, здатних «розуміти» семантичну відповідність запитів та документів на рівні, який можна порівняти з рівнем людини. На шляху до цієї мети буде багато складнощів – тим цікавіше буде його пройти. Ми обіцяємо розповідати про свою роботу у цій галузі. Слідкуйте за наступними публікаціями.

Письменник-фантаст Сергій Лук'яненко спільно з нейронною мережею «Яндекса» створили твір у стилі циклу «Вечори на хуторі поблизу Диканьки». Письменник розробив персонажів та основні сюжетні лінії, а потім нейромережа згенерувала на цій базі оповідання «Дурний договір», яке знаходиться у відкритому доступі.

Особливості розробки

Ідея проекту належить телеканалу ТВ-3. Приводом став вихід фільму «Гоголь. Страшна помста», прем'єра якого у Росії призначена на 30 серпня 2018 року. Продюсер Валерій Федорович наголосив, що процес створення оповідання відповідає тому, як працював над своїми творами Гоголь. Але якщо народні перекази для Миколи Васильовича записувала та надсилала листами матір, то в даному випадку інформацію обробляє нейромережу, а фольклорну «їжу» забезпечує літератор.

Програма додала в оповідання «Дурний договір» безліч деталей, сюжетних ліній, а також забезпечила схожу з гоголівською мову оповіді. Такого результату вдалося досягти завдяки попередньому навчанню з урахуванням російської прози загалом, та був на творах письменника зокрема.

Думка письменника

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