У нас в гостях Олесь Петрів - інженер з розробки систем машинного навчання. Олесь працює над цілим рядом високотехнологічних проектів, таких як системи аналітики соцмедіа, технології для кіностудій, системи video super-resolution, багатовимірні карти можливих рішень, комп'ютерні зір і обробка мови, електронний мерчендайзер.
Олесь також веде авторський курс "Машинне навчання" на Prometheus.
Про нього говорять усі, але мало хто розуміє, що це насправді. Давайте спробуємо розібрати: Що являє собою штучний інтелект на всіх рівнях, як його можна описати простими, звичними людині або хоча б програмісту, словами?
Коли ми чуємо слова "штучний інтелект", в нас, швидше за все, виникають асоціації з фільмами "Термінатор" і "Матриця". Можливо, ми згадуємо робота Санні і ще багато таких фільмів, які показують, яким може бути холодний і сильний розум, геть позбавлений людяності. І ці образи сформували в наших головах стійке почуття недовіри і побоювання технологій, які володіють властивістю розвиватися самостійно.
Та навіть глибоко досвідчені люди в класичних ІТ-технологіях дуже скептично ставляться до ідеї, що система без покрокового контролю з боку людини може сама розробляти алгоритми дій. Що нам про це розповість людина, яка безпосередньо створює системи штучного інтелекту, вчить їх і працевлаштовує?
Що він думає про можливості штучного інтелекту конкурувати з людським мозком?
Олесь познайомить нас ближче зі світом штучного інтелекту:
І ще багато цікавого в нашому відео
0:53 Концептуальні відмінності розробки в структурі штучного інтелекту і класичного програмування
2:17 Порівняння нейромереж і машинного навчання. Нейросети на прикладі біологічних, їх навчання і можливості на сьогодні
3:37 Принцип розпізнання зображення. Незалежність нейромережі від людини
4:49 Нейронна мережа зсередини. На що впливає людина в роботі мережі?
6:46 Поетапна робота програміста з даними, архітектурою, модулями, шарами, розгалуженнями, послідовностями матричних мультипликаций і ітераційними зсувами
8:31 Самостійність мережі і необхідні дані для коректної роботи. Особливості тренування та «перенавчання» ІНС. Відмінності між тестової вибіркою і реальною
10:22 Властивість нейромереж до «зазубрювання» і результати такої роботи
11:39 Математики про відсутність контролю і аналізу роботи нейромережі
12:50 Розробка інтерпретації роботи нейромережі через бінарне дерево і архітектури, які не піддаються таким перетворенням. Розпізнавання «неіснуючого» і аналог DeepFake (заміна особи в фото, гіфках і відео за допомогою телефону)
18:15 Як відбувається заміна персонажів на відео і піксельна реалістичність. Про швидкий результат без індивідуального навчання нейромережі
21:26 Діскрімінатор і синтезатор в розробці, як банкір і фальшивомонетник - їх роль в поліпшенні роботи системи. NVIDIA і люди, яких не існує
24:05 Відмінності роботи зі статичними фото і динамічними відео. Навчання реалістичнї обробки відео
29:24 Проект для Netflix - як вдалося відтворити фільм Орсона Уеллса з чернеток режисера відзнятим 40 років тому. І чому це не змогли зробити Голлівудські кіностудії
35:59 Білий шум, виродження творчості і культури через автоматичне генерування контенту
39:49 Як вироджується контент в гонитві за відгуком на прикладі Фейсбуку, і які альтернативи
42:23 Регулювання авторського права на результати роботи і плагіат. HPІ ретрит в Голлівуді
45:27 Скорочення відео-трафіку шляхом передачі відео-контенту через набір контрольних точок з відтворенням особи. Перспективи розвитку технологій
47:55 Штучний інтелект і Big Data для медицини. Відсутність технології в практичній медицині
56:20 Neuralink – озвучування людських думок. Як стартап Ілона Маска вплине на майбутнє
57:37 Використання спільного мислення, досягнення і варіанти розвитку подій
1:00:32 Наш віртуальний світ, в якому ми кіборги
1:02:16 Про експеримент з внутрішнім вухом і голосовими зв'язками - або як читати і передавати думки
1:03:02 З чого почати розбиратися в темі штучного інтелекту
1:03:36 Відмінність процесів в людському мозку і штучному інтелекті. Створення електронної особистості
1:07:33 Data Science conference - про що говорять люди, які будуть змінювати наше майбутнє
0:53 Олесь, давай уявимо, що я - школяр, далекий від ІТ. Правда, не знаю, наскільки це можливо сьогодні: школярі, далекі від ІТ. Поясни мені, що таке машинне навчання, нейромережі, штучний інтелект.
Машинне навчання, нейромережі - це набір алгоритмів, які дозволяють вирішувати задачі, наприклад, класифікація, прогнозування якихось властивостей з даних, не будучи наперед хардкорно запрограмованими. Скажімо так: класичні алгоритми виглядають як? Є якась задача, і програміст, який бере і пише. Значить так: комп'ютер, ти пишеш спочатку от таку інструкцію, потім ти береш таку інструкцію, таку, таку... і комп'ютер просто тупо виконує послідовність інструкцій, в результаті вирішує задачу тим методом, яким програміст сказав комп'ютеру вирішити задачу. Підхід машинного навчання трошки відрізняється, де програміст задає архітектуру системи, дає їй дані, каже, яка задача, і ітеративно система оновлює внутрішнє своє правило поведінки таким чином, щоб вирішити фінальну задачу. Тут від програміста залежить тільки правильно сформульована задача і задана базова архітектура системи, яка самонавчається.
2:17 ...і нейромережі, і машинне навчання - це все-таки одне й те саме чи різне?
Ні-ні, це не те що різне, це взаємовкладені поняття. Сфера машинного навчання включає в себе велику кількість різних алгоритмів, які дозволяють знайти рішення задачі, аналізуючи дані. Нейромережі - це тільки один із способів вирішувати задачі, використовуючи дані, тренуючи так звані нейромережі. Хоча, якщо бути чесними, то з біологічними нейромережами в того, що ми називаємо штучні нейромережі, спільна тільки назва. Зараз дуже популярно казати, що штучні нейромережі - це такі маленькі моделі мозку, які навчаються подібно до того, як навчається мозок. Ні. Тобто, по-перше, ми до кінця не знаємо точно, як навчається мозок. Якщо бути об'єктивними, ми точно знаємо: мозок не навчається так, як навчаються зараз більшість штучних нейромереж. Через так званий propagation і метод зворотного розширення помилок. Але це доволі хороша математична модель для вирішення конкретних прикладних завдань. Вона не працює так, як працює мозок, але допомагає нам знаходити там котиків, собачок на картинках, рахувати кількість автомобілів, які проїхали там за 1 секунду відео.
Є завдання, наприклад, розпізнавати котиків на картинках і сказати: на цій картинці є котик, а на цій ось немає. Це означає, що інженерам треба сісти і зрозуміти, який набір візуальних ознак стовідсотково корелює з наявністю котика. І ось група інженерів посиділа б, придумали б якісь хард-каскади там або ще щось. Грубо кажучи, записали б всю цю логіку, що ось якщо такі градієнти на картинці є, ось таких немає, - це збільшує ймовірність того, що тут є котик, а якщо такі є, а ось таких немає, - це зменшує і т. д. І з перемінним успіхом це б працювало. І так досить до недавнього часу.
4:21 Це класичний алгоритм.
Так, алгоритмічний підхід. Як правило, він складався з того, що люди придумували якісь фічі, ознаки, які можна було дістати з зображень, тексту, даних, з якими працював алгоритм, а потім певна евристика, певна захардкоджена логіка: як з цими ознаками працювати? За яким принципом їх класифікувати як ті, що з котиками і без котиків?
Що означає "Ми підбираємо параметри"? Нейромережа сама підбирає ці параметри чи ми коригуємо алгоритм? Яка суть людини тут, тобто що ми змінюємо?
Ну ось в такому простому варіанті декількошарова повнозв'язна нейромережа. Це, якщо говорити об'єктивно, це просто кілька матриць. Матриця - це табличка зі значеннями. Шаром нейромережі ми називаємо матрицю значень, де на вхід ми подаємо вектор ознак, набір значень там теж від мінус нескінченності до плюс нескінченності, наприклад, або там від нуля до одиниці набір інтенсивності пікселів на зображенні.
Ми беремо цей вектор, множимо на матрицю, в результаті отримуємо якийсь інший вектор. Спочатку, припустимо, це матриця абсолютно випадкових значень. Ми взяли якийсь вектор, помножили на матрицю випадкових значень, отримали інший вектор певної розмірності теж з якимись значеннями. Припустимо, наша нейромережа має три шари. Це означає, що ми взяли 1 вектор, помножили на матрицю - отримали новий вектор. Помножили на ще якусь, ну там, додали якийсь вектор, так званий дієз, помножили на ще одну матрицю - отримали ще один вектор, і ще одна матриця, і ще один вектор. В результаті ця послідовність: множення на матрицю, додавання вектора, знову множення на матрицю, додавання вектора або застосування до цього вектора якоїсь функції, наприклад, відкидання всіх значень менше нуля. І ця послідовність множення вектора на матрицю і є прогін даних через нейромережу.
Процес навчання - це процес зміни цих параметрів матриці таким чином, щоб після перемножування вектора на цю матрицю на виході ми отримували значення, близькі до того, що ми хочемо отримати.
6:46 Це зрозуміло. Тепер все одно ще нижче на технічний рівень. Що ми конкретно робимо? Ми програмуємо десь, ось ці кулі нейромережі - що це таке? Це матриця, це таблиця бази даних, це файлик? Ну, ось, на технічному рівні що відбувається? Ти говориш високоабстрактно: ми ось вчимо нейромережу, змінюючи параметри... з технічної точки зору що ми робимо?
Роль програміста в тому, щоб задати архітектуру, реалізувати pipeline подачі даних, запропроцесити дані, проаналізувати: у нас тут є мільйон зображень, із них одна третя - якийсь шум і т. д.; відфільтрувати їх, подивитися, чи вся статистика правильно відповідає, чи всі лейбли відповідають одна іншій. Потім оголосити архітектуру нейромережі. Варіантів, яка це архітектура для вирішення конкретної задачі, тут вже наскільки фантазія дозволяє. Архітектура нейромережі буде складатися з таких же модулів, які реалізовані в більшості фреймворків. Зібравши певну послідовність цих блоків від одного-двох шарів закінчуючи сотнями із різними відгалуженнями рекурентними і іншими нейромережами, інженер конструює цей computation graph - послідовність матричних мультиплікацій додавань, віднімання і функцій активації, які на виході видають вектор у форматі наших міток.
Ітерація за ітерацією ваги цієї нейромережі зміщуються за рахунок повторення цього процесу обрахунку часткових похідних, зміщення вагів в правильному напрямку, подача знову…
8:31 Ось це зміщення нейромережа робить сама чи це саме частина роботи розробника?
Сама нейромережа нічого не робить, тому що немає якоїсь... немає суб'єкта нейромережі, яка щось змогла б робити. Є набір матриць, до яких ми можемо додати певні параметри, відняти їх. Цей процес ітеративно повторюється з кожною ітерацією, з кожним наступним прикладом даних. І саме тому глибокі нейромережі, весь Deep Learning - він потребує великої кількості прикладів, і дуже часно сотні тисяч. Чим більша кількість прикладів, чим більше вони різноманітні, тим стабільніша буде нейромережа.
Один раз задається гіперпараметр Learning Rating, один раз визначається, яким методом ми будемо тренувати. Наприклад, стохастичний градієнтний спуск, готується pipeline подача даних, ми підключаємо GPU, натискаємо тренування і бачимо, як значення помилки поступово, ітерація за ітерацією, 1000 ітерацій за 1000 ітерацій, поступово зменшується і зменшується, поки... Ну, якщо ми будемо дуже-дуже довго тренувати, то на тестовій, на тренувальній вибірці, на якій ми тренуємо, помилка врешті-решт досягне ледь не нульових значень або дуже маленьких значень. Але це ще не завжди означає, що наша нейромережа зрозуміла, і все вивчила, і ідеально вирішує завдання, тому що у нейромережі є одна з таких фундаментальних проблем перенавчання - overfit, коли на тренувальній вибірці нейромережа видає чи не нульову помилку, ідеально відрізняє там котика від собачки, помилка практично нульова. Але коли ми кидаємо зображення, які нейромережа не бачила під час тренування, то помилка дуже велика.
10:22 Є такий жарт, коли намальований, значить, тенісний стіл і там контуром намальована ракетка. І там: “нейромережа, намалюй мені ракетку, а вона туди котика вписала :)
Як правило, якщо дивитися на графік падіння помилки на тренувальній вибірці, він плавненько так падає, намагаючись наблизитися до нуля. У цей же самий час на тестувальній вибірці, як правило, спочатку все дуже подібно, але в певний момент помилка на тестувальній вибірці починає зростати. В точці, де помилка на тестувальній вибірці почала зростати, ми вважаємо, що тут модель вже почала переучуватися і просто запам'ятовувати приклади замість того, щоб реалізувати завдання, яке ми хочемо вирішити. Це означає, що незважаючи на те, що там помилка на тренувальній вибірці майже нульова, ми не можемо використовувати такі ваги через те, що вона буде дуже страшно фейлити в реальних ситуаціях. Це одна з ключових проблем нейромереж. Тому що часто вони в деяких завданнях роблять набагато меншу кількість помилок, ніж, наприклад, людина. Але коли роблять помилки, іноді ці помилки ну просто...
11:39 У багатьох людей, шанувальників класичної алгоритмізації, є велике побоювання відсутності можливості аудитування результату.
Мене трошки як математика бентежить погляд на, як це, на ці різні нейромережі та інше типу того, що ось ми їх навчимо, і вони нам далі будуть видавати якісь результати. Потім ми беремо їх, використовуємо там для прогнозування продажів, наприклад. Ми ось навчили їх, і вони тепер прогнозують замість нас. Як вони прогнозують, ми не знаємо, тому що ми не знаємо, що всередині там відбувається, але ми їм віримо. От мене як математика це бентежить з точки зору того, що, ну як ми, коли ти розумієш, що всередині відбувається, який алгоритм ти заклав - ти можеш цим керувати. Але якщо ти не розумієш, який закладений алгоритм, то рано чи пізно у тебе виникнуть питання: а що в цьому чорному ящику відбувається? І чи дійсно можна йому довіряти? Ось навчили ми цей чорний ящик правильні результати видавати в певних умовах. А умови змінилися. Які результати він видає? Ось, а він видає результати які? Чи можна цим результатами вірити чи не можна? Не знаю.
Так-так, є такий досить обґрунтований консьорн, і зараз дуже багато досліджень ведеться в напрямку автоматизованих методів інтерпретації через паралельні конструювання, трансформацію ось нейромереж в таке собі псевдодерево прийняття рішень, де важко інтерпретовані параметри матриць трансформуються у часто досить довгий, але набір бінарних логічних рішень "Так чи ні". Для людини це є хоча б трошки, але більш зрозумілим. Хоча з цим теж проблеми, тому що далеко не кожну архітектуру так просто конвертувати в таку інтерпретуєму форму. У випадках, коли це якісь класифікації, то там все простіше. Можна порахувати так звані attention карти. І побачити, що ось яка частина зображення максимально вплинула на те, що ось нейромережа класифікувала зображення так чи інакше. Іноді це досить контрінтуїтивні штуки, бо, наприклад, яскраві приклади є, де нейромережа ось зі стовідсотковою впевненістю говорить, що на картинці зображений вовк, хоча там немає жодного вовка.
Але вона ледь не 100% каже: це вовк. Потім, коли дивишся, а чому нейромережа зробила вердикт, що це вовк: через те, що на зображенні був сніг. І тоді: чому, якщо сніг, то вовк? А потім виявляється, що в тренувальному датасеті на всіх зображеннях там була купа собак, всяких тварин і т. д., але на всіх зображеннях, де був вовк, був сніг. Сніг більше ніде не був, окрім зображення вовка. I, типу, замість того, щоб вивчати нюанси того, чим вовк відрізняється від собаки, і всі ці деталі, нейромережа дуже швидко вивчила: о, якщо сніг, то це вовк!
Про що розповідав Олесь Петрів на конференціях I-Forum і Data Science. У чому різниця подачі матеріалу і що нового з'явилося за півроку.
15:00 Ти півроку тому виступав на I-Forum 2019 і сьогодні. У чому різниця цих двох доповідей? Що нового ти сьогодні сказав?
На І-форумі я розказував про те, як генеративні нейромережі загалом змінять інтерактивний сторітелінг, інтерактивні відомості, фотографії і те, як люди взаємодіють, сприймаючи контент. А сьогодні була більш така технічна частина щодо того, як ми це, власне, робимо у реальності. Не просто куди це все прямує, а які конкретні штуки, наприклад, ми там у NeoCortext використовуємо для того, щоб зробити відео реально інтерактивними, допомогти конкретно модифікувати, наприклад, риси обличчя. В даній доповіді конкретно було про методи репрезентації облич.
Про аналог DeepFake, який може працювати прямо на вашому телефоні - заміна будь-яких осіб у фотогіфках і відео.
А є якісь вже кейси практичні, де це використовують, такі технології?
Та ну от, наприклад, розробили продукт REFLECT, який дозволяє в один клік змінити Identity риси обличчя на будь-якій фотографії чи малюнку, картині. Зараз у продакшн раниться якраз відеоверсія цього application. Ну, я думаю про DeepFake всі чули.
16:13 Але зараз DeepFake - всі бачили, та мало хто уявляє, як воно робиться.
Як правило, це робиться... це треба мінімум тиждень, а то й більше часу, мати бекграунд хоча б у якійсь machine learning. Мати пару потужних відеокарт, на яких тренити нейромережі, створювати датасети, і це доволі така ресурсозатратна штука.
Ви викладаєте це прямо в мобільний додаток?
А ми робимо це в один клік. Ми зробили pipeline...
Тільки з фото чи є вже відео?
З фото. Вже є доступний в AppStore і Play Market, а з відео зараз Бета і буквально за місяць буде реліз. І на телефоні можна буде будь-яку gif-ку або відео в один клік вибрати по одній фотографії людини і вставити її в будь-який відеокліп gif і т. д. Ми думаємо, що подібна штука... до неї повинні мати доступ.
А яке бізнесове застосування?
По-перше, це інтерактивізація gif, потім можливість вдруге, втретє чи вдесяте продати контент, який вже відзнятий. Скажімо так, дати юзерам можливість вибирати, з яким актором дивитися фільм. Якщо хочеш подивитися "Титанік" не з ДіКапріо, а зі Скарлет Йохансон, чом би ні.
18:15 Давай зробимо стрибок, тому що багатьом розпізнавання, котик там чи не котик, завдання здається дуже тривіальним. Тому що в житті воно дуже тривіальне, тобто я добре розбираюся, де собачка, де вовк, а де котик. Ось. І воно здається дуже простим, і, загалом-то, все, що ти розповів, зрозуміло. А тепер давай до Life режиму заміни відео, яке ти показував. Тобто це та ж сама логіка, але трошки в іншій архітектурі, і більш складна. Це все про це ж?
В кінці кінців це матриці, які ітеративно змінюються в напрямку мінімізації помилки, просто формулювання завдання дещо відрізняється. Якщо ми говоримо про нейромережі, не знаю там, по заміні осіб, по заміні взагалі повністю тіла людини на відео, одну людину на іншу, то дуже важко сказати, яку класифікацію тут вирішує нейромережа. Тому що це непросто - визначити, чи є тут людина чи ні, і потрібно синтезувати щось. Ну, по-перше, сімейство архітектурне відрізняється від класичного, від тих, які використовуються в задачах класифікації, навіть локалізації зображень. Коли потрібно синтезувати зображення і синтезувати, щоб воно було реалістичним... Ну, припустимо, що ось останні: близько року займаюся розробкою систем по високоякісній заміні рис осіб на відео. Так, щоб можна було, використовуючи одну фотографію людини, кого-небудь замінити на будь-кого у відео із збереженням освітлення і всіх атрибутів і т. д. Так, щоб змінилася тільки ця частина структури особи, яка відповідає за розпізнавання певної особистості, а все інше замінити.
І це досить нетривіальне завдання, особливо коли ми хочемо зробити так, щоб кожен раз, коли потрібно нову людину замінити на відео, не доводилося перетреновувати всю нейромережу. Тому що такі методи вже є, їх називають DeepFake. Але кожен раз потрібно, якщо ми хочемо зробити новий DeepFake, зібрати датасет однієї людини, іншої людини, кілька днів це все тренувати, і взагалі бути як мінімум machine learner-ом, щоб знати, що ти робиш, і можливо потім в результаті щось вийде. А хочеться зробити так, щоб одна фотка - один клік - і все, без ніякого перетренування. І тут виникає проблема в тому, що ми хочемо, щоб на виході те, що нейромережа синтезувала, було реалістичним. Якщо у випадку з класифікацією зображень там, де котики - песики, досить просто сформулювати, що ми хочемо від нейромережі, як аналітично сформулювати поняття "реалістичність"? Зараз я собі навіть не уявляю, як можна просто взяти і написати формулу реалістичності обличчя. Відповідно, ми хочемо мінімізувати помилку, мінімізувати значення функції помилки, яку ми навіть не знаємо, цю функцію.
Ось ми плюс-мінус його відчуваємо: тут реалістично, а тут ні. Але чітко математично сформулювати, як в контексті пікселів це виглядає, ми не можемо. Відповідно, тут використовується підхід, який називається генеративні змагальні мережі - Generative adversarial networks (GANS).
21:26 Дискримінатор і синтезатор: як вони працюють в парі над вдосконаленням результату, як банкір і фальшивомонетник. Приклад від NVIDIA - люди, яких не існує.
Ідея дуже проста: якщо ми не знаємо, як описати функцію реалістичності, давайте натренуємо нейромережу, яка її вивчить. Що таке функція реалістичності? Ми, наприклад, точно можемо відрізнити нереалістичне зображення від реалістичного. Відповідно, ми можемо зробити бінарні мітки: ось тут реальна фотографія, а ось тут щось синтезоване, незрозуміле, нейромережею. І от ми маємо бінарні мітки 1-0, і ця модель називається дискримінатор. І вона ітерація за ітерацією вчиться відрізняти синтезоване зображення від реальної фотографії. Поступово з кожною наступною ітерацією її ваги апдейтяться таким чином, щоб відмежовувати реальні фотографії від синтезованих зображень все ефективніше і ефективніше. І тоді тренування складається з двох фаз: в одній фазі ми тренуємо дискримінатор, який вчиться відмежовувати, а в іншій фазі ми синтезуємо якесь зображення, вкидаємо це зображення в дискримінатор, рахуємо і бачимо, що дискримінатор каже. І дискримінатор каже: ні, вважаю, що це фейк, ну, це синтезоване. І оскільки у нас і дискримінатор, і генератор - все нейромережі, і кожна операція в процесі синтезу зображення і аналізу цього зображення - це диференційовані операції. Це значить, що ми відносно фінальної цієї функції реалізму, яку вивчає дискримінатор, ми можемо порахувати часткові похідні і порахувати градієнти в генератор. Так, щоб змінити ваги генератора таким чином, щоб наступного разу він видав щось, що, на думку дискримінатора, буде більш реалістичним. А дискримінатор потім знову піддонавчити. В результаті це така виходить гра з двох нейромереж, які мають протилежні задачі, як банкір і фальшивомонетник: один стає все більш і більш прискіпливим і уважним до деталей, а інший вчиться синтезувати все кращі і кращі підробки, які обійдуть увагу банкіра. В результаті цієї гри загалом вся система рухається у напрямку, де спочатку там щось незрозуміле синтезується, а потім поступово там з'являються очі, якийсь фон, обриси, геометричні якісь властивості, а потім далі, далі, далі... Я думаю, більшість вже бачила всякі демонстрації нейромереж, які там... NVIDIA, наприклад, півроку тому тренували, де синтезуються повністю синтезовані фотографії людей в суперкрутому резолюшені. Якщо тобі б не сказали, що таких людей не існує, скажемо так, наша внутрішня нейромережа спокійно б вирішила, що це реальна фотографія.
24:18 Складніший випадок, коли нам потрібно не просто синтезувати щось реалістичне, а мати певний контроль над тим, що ми синтезуємо. Наприклад, хочемо на вхід моделі податі зображення людини, хочемо, щоб вона щось з цим зображенням зробила, і на виході вона видала інші зображення, і щоб ми мали певний метод контролю над тим, що виходить на виході. Наприклад, контролювати і змінювати, там додавати усмішку, зістарювати людину або робити її молодою і т. д.
24:54 Додам трошки контексту. Чи правильно ми розуміємо, що щоб глядачам було зрозуміло, коли ми говоримо про одне зображення, ми так само маємо на увазі відео, де просто дуже багато цих зображень. Чи ні? Чи це різні технології, які створюють заміну особи у відео?
Одна з... Ось останній рік теж активно працюємо в "VideoGorillas", де ми працюємо над відео Super Resolution. Це коли у нас є на вхід SD відео, там 420 ПГ якість, і нам потрібно, прогнавши його через нейромережу, отримати forKey-версію відео з купою деталей, які додумані нейромережею. Наприклад, там є дерево, і на SD-якості у нас просто зелені плями і натяк на те, що там десь є якісь гілочки. На forKey-версії ми хочемо бачити листочки і те, як на них світло відбивається, і там текстуру цих листочків. І їх нейромережі потрібно додумати.
Є два джерела інформації: перше - це структурна інформація в межах однієї картинки. Наприклад, якщо нейромережа дуже багато прикладів побачить, що якщо є така зелена пляма на low resolution, то на high resolution, як правило, там листочки. Друге джерело інформації - це інформація, яка є на сусідніх фреймах. Тобто якщо ми візьмемо і будемо на вхід давати не тільки цей один кадр, який ми виробляємо, але і сусідні 5-7 фреймів, на сусідніх фреймах є додаткова інформація про те, що там, що насправді може бути між пікселями, які нам треба додумати. І агрегуючи інформацію з сусідніх фреймів, ми можемо з більшою впевненістю і достовірністю реконструювати, що було в цій частині зображення, яку ми засуперрезолюшили. Якщо ми там в 4 рази збільшуєм, це означає, що там, де був один піксель, нам потрібно намалювати 16 пікселів. І в SuperResolution, якщо його застосувати, от просто взяти так званий просто single Image SuperResolution, де ми взяли кожен кадр окремо, і кожен кадр окремо дивишся - ну, чітко, красиво, класно виглядає. Потім наступний - теж чітко, красиво, класно. Але за рахунок того, що не враховувалася темпоральна інформація, і кожен кадр оброблявся незалежно, якщо ми програємо це як відео, то потім виявиться, що всі дерева починають так мерехтіти, додумані волоски у когось на бороді теж починають рухатися, і всі ці дрібні деталі вони дуже сильно починають змінюватись від кадру до кадру. Відповідно, коли ми говоримо про синтез або якусь обробку відео, у нас завжди накладається ще один констрейн, крім того, що все це має бути якісно, чітко, красиво. У нас ще це має бути консистентним. Візуальні ознаки повинні від кадру до кадру змінюватися органічно, так само, як вони в природі змінюються.
Як це вирішується?
Тут ціла куча трюків є. Є перше: ми можемо розширити контекст вхідних даних, тобто замість того, щоб вкидати один кадр, ми можемо на вхід нейромережі вкидати там 7 кадрів. Другий спосіб, який, як правило, комбіновано використовується, - це додаткові констрейни на темпоральну консистентність. Тобто ми можемо тренувати нейромережу з отаким дискримінатором, а оцей дискримінатор на вхід отримує не одне зображення, а шматочок із трьох або чотирьох фреймів, прогнаних через нейромережу, і він має на вхід 3 фрейми реальні, із реального відео, i 3 фрейми синтезовані. І на реальних фреймах плавний рух, не знаю, якщо там в когось борода є, то волосинки плавно рухаються і дуже плавно змінюються, а на синтезованому вони отак від кадру до кадру сильно змінюються. І модель-дискримінатор вивчає: ага, оце означає синтезована, а це реальна. І таким чином бекпропагейтивши сигнал від цього дискримінатора в нейромережу, ми стимулюємо нейромережу, окрім того, щоб синтезувати реалістичні зображення, щоб вони ще були темпорально консистентні. Це один із способів.
29:24 Що для Netflix ви робили?
З Netflix була класна історія. У VideoGorillas ми зробили restore останнього фільму Орсона Уеллса - це такий голлівудський кінорежисер. Історія в тому, що в 70-х роках він знімав свій останній фільм. Відзняв його, встиг зробити режисерський чорновик, це навіть не режисерська версія, такий собі начерк із плівок, плюс-мінус як він собі бачив фінальний монтаж фільму у неймовірно поганій якості, і помер. Фільм так і не потрапив у продакшн, бо там разом з цим купа всяких історій. Після цього було декілька різних спроб за останні ці 40 років відновити цей фільм. Що значить відновити? Це означає провести процес майстер-ресторингу, коли береться оцей чорновик режисерський, беруться... а у цьому фільмі було 13 000 плівок, і зрозуміло, що ніяких записів про те, з якої плівки перші 5 секунд, з якої - другі 5 секунд, вони не збереглися, і потрібно було, дивлячись на цей...
А вони вже оцифровані, всі ці плівки?
Так. Скажімо так, по-перше, процес оцифрування - це теж така дуже нетривіальна процедура. Інші кіностудії теж свого часу намагалися це відресторити і т.д. Але Netflix вирішили втерти носа старим голлівудським кіностудіям і показати, що ми теж чогось варті: подивіться, ми візьмемо і припишемо Netflix поряд із ім'ям Орсона Уеллса. Ну, це круто.
Ніякої інформації про те, який кадр ввійшов, який не ввішов. Режисери на старості років, вони такі дуже специфічні люди, і типу їм не влом зробити там сто дублів, де актор повертається і дивується правильним чином. І там сто дублів, і чомусь він вибрав саме конкретний. І є така штука, як Creative intent, і його потрібно зберегти. І ти не можеш (сказати): “Та вони всі однакові! Яка там різниця, що там цей режисер вибрав?" Потрібно конкретно саме цей знайти серед сотні дублів. Причому там ще й крок певний правильний на цій плівці зробити. Ну, це неймовірно важка робота. Буквально донедавна все це робилося вручну: тобто багато людей сидять і мачать оці мільйони цих фреймів, намагаючись знайти: це той дубль чи не той, тут під тим кутом посміхається, чи це з іншої плівки?
Ну, це повний капець. Netflix спробували відресторити, і в процесі вони почали розуміти, чому іншим кіностудіям це теж не так просто вдалося і не так швидко. Бо ці 13 тисяч плівок і ніякої взагалі інформації: що, де, звідки. Вони там пару відсотків фільмів напіввручну, здається... ну, і побачили темпи, з якими вони ресторяться, і вони там взагалі були неоптимістичні. Тобто десятки років відновлювати фільм - це брєд. І ось вони вийшли на VideoGorillas, а в VideoGorillas у нас є Bigfoot.
Це такий інструмент, який ми зробили саме для такого use case, де ми беремо скани всіх плівок (13 000 плівок) i Майстер проганяє їх через детектор інтерест пойнт. Interest point detector - це ми на кадрі знаходимо такі частини кадру, які можуть бути максимально інформативні для того, щоб порівняти цей кадр з будь-якими іншими кадрами. І воно там інваріантно часто до змін освітлення, кольору, і т. д. І на кожному кадрі ми знаходимо кілька сотень таких інтерест пойнтів, проганяєм ці мільйони кадрів зі скану через детектор, потім проганяємо 200 000 кадрів з Майстра, який був, рахуємо цю матрицю 200 тисяч на 12 мільйонів і знаходимо послідовності, де кадри з Майстра, тобто режисерської версії, лінійно збігаються з послідовностями кадрів зі сканів. І на виході видаємо такий json, де написано: з такого-то по такий-то кадр Майстра - плівка номер така-то, така-то з цього-то цей кадр. Сам цей matching зайняв близько трохи менше двох діб, ось просто загнати на відеокарту, порахувати це і...
Арсеній, я, здається, знайшов інструмент, як тебе замінити...
А потім ще трохи більше тижня це ми просто перевіряли - дивилися, чи все правильно. І все правильно! З тих плівок, з цієї інформації, яка була.
Ми скинули Netflix, вони такі не до кінця зрозуміли, що відбулося. Вони типу дали дані, щоб ми подивилися, чи можемо ми щось з цим зробити, і щоб ми дали фідбек.
А ви скинули вже готовий фільм?
Файл, в якому розписано, які кадри звідки брати для того, щоб монтувати фінальний фільм. Ось. Ну, і вони змонтували фінальний фільм. І він через 40 років після смерті режисера з'явився в прокаті.
The Other Side of the Wind.
34:51 У мене все одно виникло тут дуже велике таке питання: у кожного режисера (він розвивається, так?), якщо дивитися одного режисера кілька фільмів. Як ви визначили, що він в цьому випадку взяв би саме ці кадри? Аналіз попередніх фільмів насправді не дає інформації повноцінної про те, що з цих 100 поворотів обличчя він вибрав саме той, який... прийняв рішення... Розумієш питання, так?
Так-так, але ми ж не вгадуємо. Типу, він вибрав оцю плівку чи не цю? У нас є об'єктивна метрика, наскільки два кадри між собою подібні, і наскільки між собою подібна послідовність кадрів. Навіть якщо, з точки зору людини, 2 дублі виглядають між собою дуже подібно, якщо придивитися до деталей, то, особливо ще й не на окремих фреймах, а на послідовності, то там дуже багато відмінностей навіть на майже ідентичних дублях. В... саме в контексті оцих дрібних деталей, ну не знаю, там під яким кутом край вуха у порівнянні там із краєм дверей і т. д.
35:59 Це крок у бік того, що в майбутньому сам фільм буде генеруватися нейромережею? Ну, розумієш питання? Тобто, якщо ми можемо зробити це, то ми теоретично можемо зробити і не просто ресторити, а генерувати картинку? Будь-яку. Ну, тобто навчаючи. Якщо ми можемо...
Насправді так. Тобто, скажімо так: момент, коли інтерактивний сторітелінг дійде до рівня, де глядач у процесі спостереження і споглядання відео чи якогось серіалу буде інтерактивно співгенерувати те, що він бачить, набагато ближче, ніж ми думаємо. Тобто це горизонт найближчих максимум 10 років.
36:53 Тобто для кожної людини картинка буде відрізнятися?
Сюжет може відрізнятися, картинка, набір акторів...
Добре. І тут ми переходимо до наступного цікавого питання: людський мозок, як нейромережа, теж тренується. Моє уявлення про прекрасне згенероване тим набором книг і фільмів, які я прочитав. Це по суті те ж саме упаковано. Ми говоримо, що різні нейромережі один одного тренують і зменшують ось цю помилку. Те ж саме відбувається там, припустимо, на моєму або твоєму прикладі. Наше уявлення про те, що добре, що красиво або що кардинально вибивається з цього відеоряду, формують інші нейромережі. Інші режисери, інші письменники і так далі. І це формування існує тільки тому, що вони створили щось унікальне. І тут питання: якщо контент буде формуватися під глядача, звідки він отримає базове уявлення про красиве?
Ні, ну тут... це вже таке філософське питання. Але треба чітко проводити межу: де уявлення про прекрасне сконструйоване як... соціумом, культурним контекстом, а де воно сконструйоване математикою. З-за того, що такі речі як гармоніки, пропорції і т. д., які є невід'ємним аспектом чого-небудь з того, що ми називаємо прекрасним, вони повинні бути.
Доповню ще питання: зараз, якщо подивитися на дітей, вже у багатьох виникає питання, хто більше виховує дітей: батьки або алгоритми Гугла? Так, тому що алгоритм підлаштовує під них, це зовсім примітивне питання, але це перший крок. Тобто алгоритм налаштовується, і у кожної людини YouTube свій. Тобто він бачить контент, якщо ми говоримо не пошук спеціалізований, а те, що підсовує нам алгоритм того, що б нам було цікаво. Точно так само працює Netflix і все іже з ними, намагаються все це використовувати. Якщо через якийсь час, доволі близький - через 10 років, ми отримаємо таку можливість, що контент буде генеруватися прямо ось з нуля. Не було такого, а ми його просто генеруємо на основі розуміння чогось насправді. Незрозуміло чого. Тобто були такі фільми. І ми будемо виховувати дітей, починаючи з малого віку, власне кажучи, не на тому, що було згенероване людською нейромережею, а на тому, що було згенероване математикою. Чи не вийде так (це дуже грубий приклад), що через якийсь час ми прийдемо до білого шуму? Ну, поріг цього буде падати, падати, ваги зрівнюватимуться, зрівнюватимуться, зрівнюватимуться... І чи не прийдемо ми до вимирання, власне кажучи, творчості і якості цього всього?
Так, я якось над цим думав. Я б більше переживав не з приводу того, що там станеться деградація якості, але проблема в максимізації фідбеку, тому що в гонитві за максимізацією відгуку від окремих груп ми алгоритмічно створюємо... Як це вже відбувається з Фейсбуком: для того, щоб максимізувати engagement, алгоритми сортування контенту переорганізовують стрічку новин так, щоб максимізувати включеність свідомості людини в те, що вона бачить. І виходить так, що половину постів, які насправді є серед твоїх друзів, ти не бачиш, а бачиш тільки те, що максимізує ймовірність твоєї реакції, тому що тоді ти напишеш коментар або створиш свій пост. Кожен четвертий пост на Фейсбуці - це реклама, відповідно, Фейсбуку потрібно зробити так, щоб люди максимально постили, коментували і створювали нового контенту, пофіг якого, головне, щоб...
41:00 І саме це і вироджує його. На мою думку. І чи не вийде так з відеоконтентом?
Я не думаю, що це прям буде настільки критично. Чому? Через те, що на Ютубі є мільйони акаунтів, мільйони YouTube-блогерів, які створюють контент, націлений на неймовірно різні аудиторії, які дуже сильно відрізняються за якістю. І, тим не менше, все одно є канали, які мають, ну, певну марку, і є канали, на яких хтось їсть морозиво і має своїх 100 тисяч переглядів. Через те, що він ось знайшов нішу таких дивних людей, яким впирає дивитися, як хтось їсть морозиво. І все класно, вони знайшли один одного. Але це не означає, що весь YouTube перетворився на ось такі нішеві, вироджені, дивні пари глядачів і контент-криейторів. Через те, що є канали, які поставили собі певну планку якості контенту, і вони знаходять досить широку аудиторію тих, для кого принциповий певний рівень якості контенту. Я думаю, що, скажімо так, товар різної якості існував завжди.
О'кей. Тоді повернемося до питання, можливо, ти про нього знаєш: авторське право на результати роботи. Розуміємо, так? Є фільм, який ви зробили, ревіталізація або ще щось, тобто він вже не зовсім той самий продукт, який був до цього. Кому належить авторське право на результат? А коли ми зробимо крок трошки далі і будемо генерувати це з умовних там шуму і випадкових відео, перевертаючи його кольори, події, послідовності, правила про те, що стільки-то відсотків в авторському праві вважаються плагіатом, з допомогою нейромережі ми можемо все це обійти. Задавши ось цей ось параметр: це не повинно проходити ось цю межу, і ми можемо генерувати. Чиє авторське право на це?
О, це зараз одна з найгарячіших тем взагалі. Цього року якраз біля Лос-Анджелеса, там раз на рік збираються всі голлівудщики на так званий НРІ ретріт, і це була червона нитка в контексті всієї цієї конференції. Тому що люди реально вже зараз задають це питання, тому що ми можемо синтезувати стільки... Ну, всі проблеми постмодернізму, вони прямо в юридичному аспекті меніфестували, бо все є інтерпретація, перегенерована інтерпретація і т. д. Зараз ситуація така, що, технології вже випередили юридичні інструменти. Вони насправді завжди випереджали. Але зараз різниця в швидкості, де люди юридично намагаються наздогнати технології, і темпи, з якими технології біжать вперед, вже настільки великі, що стає очевидним, що тут навіть немає сенсу намагатися наздогнати. Зараз багато хто думає в контексті використання технологій для того, щоб одного дня, можливо, врегулювати ці ж питання авторського права з використанням там блокчейнів всяких...
Якщо хтось створив новий контент, навіть зараз є пара стартапів, які там згрейзили непогані гроші для того, щоб дослідити можливість децентралізованих підписів контенту, які би принаймні могли б зафіксувати того, хто є оригінальним автором контенту, коли він перший раз всплив в системі.
Виникають інші питання: а чи завжди, якщо той, хто першим поширив певний контент, він не завжди є власником цього контенту. І там супутні проблеми виникають. Чесно кажучи, поки що це доволі невирішене питання навіть з технічної точки зору проблема, а з юридичної ці методи регуляції, які є, ну, вони смішні.
З технічної я читав якось статтю, що основна частина, ну, на чому заробляє контент, зрозуміло, ми згенерували щось, показуємо унікальний контент, реклама в тому числі. Ну, це прямий наслідок того, що ми можемо робити, як у нас зараз за результатами пошуку ми отримуємо рекламу схожих речей з Facebook, ну, і на всіх майданчиках. Те ж саме, я так розумію, буде і у відеопроцесингу: ми будемо отримувати, умовно кажучи, якщо для однієї людини буде показуватися автомат з "Кока-колою", а для іншого - автомат з "Пепсі" в одному і тому ж відеоряді. Тут плюс-мінус зрозуміло.
Читав статтю про те, що частина дуже висока використання заміни осіб. Насправді не тільки в заміні, а просто в передачі і створенні. Просто коли відеочат або стріми якісь з того ж YouTube, що зараз у Китаї вже є технологія, яка не передає відеопотік, а передає набір ось цих контрольних точок по обличчю, і відтворює на зворотному пристрої, тому що це кардинально зменшує трафік.
Так, ну в довгостроковій перспективі ми будемо обмінюватися, ніхто не буде посилати сирі дані, якщо ці дані ви розумієте на всіх рівнях абстракції. Немає сенсу посилати не зжаті пікселі, якщо можна заінкриптити відео чи фото у настільки ефективно зжату репрезентацію високоабстрактну, яка дозволяє максимально ідентично або на достатньому для юзера рівні декодувати їх там у сенсорні дані.
На мою думку, це величезна ніша для тих, хто... Для відеострімінгу і порносайтів... Тому що основна частина їх витрат - це, власне кажучи, передача трафіку.
Ну так, ну врешті-решт зжимання інформації, воно природньо веде до розуміння інформації. Тобто чим більше ми розуміємо дані, що в них, з яких патернів вони складаються, тим ефективніше ми можемо ці дані зжати. Зараз є доволі велика погоня за тим, щоб швидко і дуже ефективно зжимати дані, і швидко, і дуже ефективно їх декодувати.
47:55 В одній з книг Кай-Фу Лі "Наддержави штучного інтелекту" він наводить два вектора, на які спирається штучний інтелект: один спирається на дані, другий спирається на алгоритми. Чого більше в цьому, ти вважаєш?
Як показує практика, не маючи якісних даних, які би в тебе не були геніальні алгоритми, дуже важко досягти вау якогось ефекту. Тобто в більшості реальних кейсів 80% успіху - це хороші датасети. Збалансовані, різноманітні, великі по об'ємах, і потім оці 20% успіху - це нюанси архітектури.
48:35 А є якісь приклади, ну зараз ми завжди говоримо про датасети, які стосуються зображення. А є ще маса нейромереж, які там оперують якимись даними, тобто табличними елементами, тією ж біг-датою, яка там намагається знайти нові сутності, корисність з точки зору аналітики. А чи є якісь проекти, які оперують тактильними відчуттями?
Микола Максименко, мій знайомий, вони якось декілька років тому збирали доволі класний датасет, на якому заміряли там зміну патернів серцебиття, зміну рівня потовиділення, там, якщо не помиляюся...
Для якої задачі?
Для задачі реакції на візуальні стимули в фото- і відеоконтенті. Так щоб можна було прогнозувати, що така от послідовність візуальних образів може максимізувати, не знаю, там рівень стресу, чи там максимізувати серцебиття. В медичній сфері зараз дуже активно починають по-новому дивитися на всі дані, які були зібрані, бо нарешті плюс-мінус штучні нейромережі дозволяють от просто, не знаю, чи є якась клініка або будь-хто, хто зібрав достатньо медичних даних, може знайти закономірності, патерни, які, типу, дадуть інсайти, крутіші за мільярдні дослідження старими методами.
Є, звісно, проблема в тому, як їх потім заімплементити і ефективно використати, оскільки потрібно, особливо в доказовій медицині, крім того, що сказати діагноз, потрібно сказати, чому ви сказали цей діагноз. І з цим поки що є багато нюансів.
50:28 Які найцікавіші застосування нейромереж ти зустрічав у бізнесі? Ну, тобто зараз ми дуже багато поговорили з приводу створення контенту. Це все розважальні речі, ну, розважальні з практичної точки зору, багато там технологій під ними. Це для сектору В2С, тобто це бізнес, який генерує для кінцевого споживача контент. В В2В або всередині бізнесу, які дуже цікаві кейси ти можеш пригадати?
Скажімо так: не те що там прям суперунікальний цікавий, але дуже очевидний кейс з вигодою для рітейлу. Був у нас якось 3 роки тому цікавий проект з автоматизації роботи мерчендайзерів. Класичне завдання, де є купа товарів в супермаркетах. Товари стоять на своїх полицях не просто так, є купа розумних людей, які їх там розставляють правильним чином, для того щоб максимізувати там продаж, ефективність і т. д. І проблема тільки в тому, що в реальності їх там люди переставляють, хтось неправильно розставив і т. д. І є окремі люди, їх робота полягає в тому, щоб ходити по супермаркетах і дивитися, чи там "Кока-кола" не стоїть випадково, не дай Боже, поруч із "Пепсі" і т. д. Є планограма того, як воно має стояти, і є реальне зображення розстановки цих товарів. Та й зараз в більшості випадків теж це просто роблять люди. Людина приходить, дивиться. Само собою, якщо у вас там є мережа із сотні супермаркетів, то банально просто провести один цикл аналізу: чи у нас всі там умовні сирки стоять на своєму місці, то це дуже багато часу. Один цикл аналітики того, як, де, що стоїть, для того, щоб зрозуміти, як на спад продажів впливає неправильне їх розміщення. Можливо нам потрібно якийсь там холодильник перемістити в супермаркеті, і тоді це збільшить продажі. Йде дуже багато часу. І ми робили досить конкретний, він не супероригінальний, але із зрозумілою вигодою для клієнтів use case, де тренується нейромережа розпізнавати і локалізувати товари на полицях. І тоді, по-перше, не потрібно мерчендайзерів, бо будь-який працівник супермаркету просто один, або навіть можна автоматом поставити камеру, яка раз в певний час робить фотографію полиці, нейромережа автоматично детектить, де знаходиться товар, автоматично порівнює з планограмою, з тим, як вони повинні були знаходитися, і кидає вже звіт, що стільки-то і стільки-то пляшок пива стоять правильно, ці ось неправильно, а тут взагалі товар розійшовся - його немає. Ну, і це перетворює цей цикл аналітики з кількох тижнів до мало не real-time з можливістю аналізувати це в сотнях різних супермаркетів.
Проблема була тільки в тому, що... знову ж таки: дані. Ключова проблема була не в тому навіть, щоб натренувати нейромережі і весь цей pipeline зібрати, а в даних. Через те, щоб натренувати нейромережу, яка може розпізнавати, ну, умовно є якесь там пиво певної марки, і у нього є там пиво це світле, преміум світле, таке-то, таке-то, і візуально воно майже нічим не відрізняється, маленьким написом знизу. І перед тим, як тренувати таку нейромережу, треба зібрати датасет, де люди б взяли і все це повиділяли, кожен товар чітко вказали SKU (ідентифікатор товарної позиції).
Наприклад, є одна фотографія полиці з пивом, і там 300 пляшок, 50 різних брендів і сортів пива. Потрібно, щоб хтось взяв цю фотографію і ідеально все розмітив, і таких фотографій бажано сотні тисяч. І якщо порахувати, скільки буде коштувати нам взяти 100 000 фотографій, і щоб люди порозмічали. Тобто це кілька сотень тисяч фотографій розмічених, там за такими економічними розрахунками, коли це буде частина in-house людей робити, це мільйони доларів. Це самі неадекватні просто цифри! Тому що ти не можеш одну фотографію однієї людини розмітити, тому що є нульова ймовірність помилки, і чим більше SKU, тим більша ймовірність помилки. А люди роблять помилки, особливо якщо це монотонна робота. І потрібно, щоб кілька людей це розмітили, потім взяти ті, де вердикт людей збігся, потім ще роботу людини, яка це все провалідувала. Ну це жесть!
Але задачу хотілося вирішити, і ми взяли зробили віртуальний магазин, з фотореалістичним рейтрейсингом і рендерингом декількох десятків варіантів полиць, варіантів освітлень, деградації камери. Наробили там тисячі оцих моделей товарів і відрендерили мільйони зображень, причому з ідеальними лейблами, там по пікселях сегментаційними масками, картами глибини і даними, які ніколи би люди не розмітили, і завжди із стовідсотковою точністю розмітки без жодної помилки. Доволі непросто було зробити так, щоб воно реально суперфотореалістично виглядало, так щоб людина навіть сплутала - це фотка чи рендер. На цьому ми натренували, і воно працює. І це прикольний кейс, коли синтезовані дані дозволяють зекономити дуже багато грошей на розмітці даних.
Мікс технологій, які викликають у мене деякі побоювання. З одного боку, ти розповідаєш, що ми можемо генерувати, створювати будь-який контент, який є. А нещодавно Ілон Маск публікує свій стартап Neuralink. Чув? По суті, як тільки ми всередині отримаємо... тобто технологія не супернова, але просто... що ніхто не дійшов до рівня імплементації нейронитки в нейромережу людського мозку. Як тільки ми отримаємо можливість передавати образи прямо безпосередньо в мозок, мені здається, що ідея про те, що ми знаходимося у віртуальному світі, виявиться ближче, ніж може здатися.
Ну, я вважаю, що люди завжди знаходились у віртуальному світі.
Чому?
Про це, в принципі, і Платон казав. Тобто люди все життя живуть у віртуальних світах, які вони конструюють: світ мови, світ культури, світ,... Образи, якими ми оперуємо, до реального якогось об'єднання об'єктивно існуючого фізичного світу мають такий дуже віддалений стосунок.
57:37 Ну, типу, ми міняємо просто трошки інтерфейси. Я не думаю, що це щось нове. Тобто світ мови і культури, в якому ми існуємо, він такий самий віртуальний, як будь-який Neuralink може зробити чи будь-яка комп'ютерна гра. Роботи, професії, не знаю, там держави, соціальні установи, друзі, дружини, чоловіки - всі ці поняття, якими ми живемо, - це абсолютно віртуальні поняття. Тобто вони мають сенс тільки в межах гри, в яку люди грають, до якої підключився сервер, який називається мова і культура, і на ньому ми рендеримо світ, в якому типу живемо. І достатньо іноді там, я не знаю, виїхати кудись далеко в ліс, дуже далеко від цивілізації, щоб зрозуміти, наскільки це віртуальний світ, і наскільки...
Цікава точка зору...
Тому, типу, зміниться, я думаю, спроститься інтерфейс. Це, звісно, відкриває абсолютно нові можливості в плані синхронізації... Типу, що з цього вийде? Є такий автор Пітер Воттс, якщо я не помиляюсь, і в нього є книжечка, яка називається "Ехопраксія". Там він описує, як може виглядати людство в кінці 21 століття після активного розвитку штучного інтелекту. І взагалі, як може виглядати постсингулярне суспільство, де всі технології розвинулись далі. Тобто генетика, нейрофізіологічні зміни, штучний інтелект, обчислення на квантових комп'ютерах і т. д. Дуже багато чого дуже незвичного може виникнути, починаючи від ройових свідомостей, через те, що... Вже зараз є реальні кейси, коли там групу мишей через такий собі брейнкомп'ютер і комп'ютерні брейнінтерфейси, подібні до того, що роблять Neuralink, вдавалося перетворити по суті в метаорганізм, який для вирішення задач використовує ресурси не одного мозку, а декількох. Миші, будучи підключеними до однієї системи, вирішували локальні задачі, використовуючи інформацію, яка доступна тільки іншим мишам. Як це виглядало для окремої миші? Швидше всього, це було як якась певна метафізична інтуїція, просто умовний голос в голові або щось тебе спонукає зробити А, а не зробити Б. Чому? Ти не можеш пояснити.
Я думаю, якщо все буде ОК, і ми не зробимо якоїсь пакості для себе, і все буде розвиватися плюс-мінус по оптимістичному сценарію, то...
Хоча історія показує зворотне...
Ні, ну так... Але, сподіваюсь, нам клепки вистачить.
1:00:32 Ну, ми вже зараз, давним-давно стали, і я не буду унікальним в цьому, багато хто про це каже, що ми давно кіборги. Для вирішення неймовірної кількості буденних справ у процесі життя day-to-day ми використовуємо розширення мозку, просто зараз нам для цього треба зробити певні фізичні рухи: дістати телефон, ввести в Гуглі запит, не знаю: "Я їду з точки А в точку Б", і моїм пересуванням керує колективний механізм не просто абстрактного Гугла, а мільйонів людей, які впливають на те, як...
Як ти будеш об'їжджати пробку.
Як ти будеш рухатись. І тут Google - це тільки один із медіумів. Тобто насправді я вже є частиною колективної розумної системи, яка саморегулюється через посередництво різних там соцмереж, сервісів і т. д. Просто поки що ми це робимо через візуальний зовнішній інтерфейс, там телефон. І чим далі цей інтерфейс стає все меншим, меншим, компактнішим. І ми рухаємось просто в напрямку зменшення оцього інтервалу між тим, що, коли тобі потрібний доступ до ресурсів за межами твого мозку, і коли ти вже отримав відповідь. Так от всі оці брейнкомп'ютери і брейнкомп'ютерні інтерфейси - це апогей, який зводить це до одномоментності, коли як тільки тобі потрібен доступ до ресурсів за межами твого мозку, ти тут же їх отримаєш.
1:02:16 Зараз вже є... Я не знаю, може на TEDі бачили, просто класна демка, де чуваки взяли сенсор, який детектить сигнали до голосових зв'язок. Ну, ми коли собі в голові проговорюєм слова, до голосових зв'язок у нас йдуть такі ж самі сигнали, як якби ми вголос говорили. Можна детектити, що ти, грубо кажучи, проговорюєш у себе в голові. Ці чуваки поєднали детектор сигналів до голосових зв'язок з динаміком із кістковою проводимістю в один такий невеличкий девайс, який ось так збоку отут і коннектиться до телефону, інтернету. Ну, і показали, як людині задають питання: "Яка там, типу, умовно, погода в Гондурасі зараз?" І чувак такий каже, яка погода в Гондурасі, бо він подумав, задавши собі це питання і просто в голові почув відповідь. Ну, типу, тому воно не таке вже далеке майбутнє, як може здаватися.
1:03:02 Що порадиш для людей, які хочуть розібратися в темі штучного інтелекту? Ну ось топ якихось кількох книг, можливо, і що регулярно слід відстежувати, якісь ресурси, які регулярно про це пишуть?
Ну, залежно від рівня бекграунду, я би порадив... Це вже далеко не нова книжка, 2009 року вона, ще до всього цього хайпу і буму, книжечка називається "On intelligence", в якій, не заглиблюючись у нюанси конкретних реалізацій, конкретних архітектур, автор, колишній засновник, до речі, такої компанії Palm (Palm Inc. — Американська компанія-виробник кишенькових персональних комп'ютерів і смартфонів на основі Palm OS — лінійок продуктів Zire, Tungsten, Treo і аксесуарів до них. У минулому також випускала продукти сімейства Palm. У 2010 році придбана корпорацією Hewlett-Packard - прим. ред.). Може, пам'ятаєте сенсорні екрани?
Свого часу автор задавався питанням: як може працювати людський мозок? Аналізуючи останні там на свій час результати досліджень в галузі нейрофізіології, а також методи машинного навчання і т. д., мався проаналізувати, які точно механізми повинні бути в процесі, в основі так званого кортикального алгоритму навчання, того, як вчиться людський мозок. У незалежності від конкретних нюансів реалізації того, як ми це заімплементуєм, певні речі точно повинні бути. Це був набір відповідей і питань, що точно повинно бути, що плюс-мінус може бути, а може не бути, і без яких речей ми точно не наблизимося до хоча б часткової емуляції того, як працюють неокортикальні колонки в мозку людини, і якими речами ми можемо поступитися в моделях, а які є принципові. Я думаю, що для виникнення першого такого уявлення, чим, по-перше, відрізняється людський мозок від всіх лінійних моделей нейронних мереж, які ми зараз використовуємо. Бо насправді чисто алгоритмічно основа їхньої роботи за останні років 40 не сильно помінялася. Ну, тобто там з'явилися певні фреймворки, надбудови, дуже багато роботи по тому, як це масштабувати і запускати на реальних прикладних задачах, але ключові концептуальні речі - вони не змінилися. І вони все ще дуже далекі від біології. Дуже не наблизилися, а можливо навіть віддалилися від того, як швидше всього працюють біологічні методи навчання. А в даній галузі прорив не такий великий, як в напрямку практичного застосування. Ми навчилися вирішувати цілу купу різних задач часто краще, ніж це робить людина, але наблизитись хоча б трішки в плані того, як вчиться людина, у нас мало успіхів.
1:06:02 І ти вважаєш, що цей шлях не через поточні алгоритми?
Точно. По-перше, це не тільки моя думка, я слабо уявляю взагалі, чи можливе навчання якогось плюс-мінус людиноподібного інтелекту без тіла. Бо, типу, взаємозалежність на стількох фундаментальних рівнях, що... Взагалі сама ідея можливого інтелекту без агента як якогось вторинного інтелекту у вакуумі - це така собі ідея, як на мене. І тому... як інструмент по вирішенню окремих завдань: там автопілот, у вирішенні задач сегментації зображень і т. д. ми цілу купу таких інструментів створюємо. Але чи наближує це нас до якогось General AI (general artificial intelligence - штучний інтелект загального призначення), який може генералізувати на різні теми і бути повноцінним агентом, і взаємодіяти з реальністю, як якийсь суб'єкт, воно ні на крок не наближає. У напрямку General AI в нас не все так оптимістично, як це може здатися із заголовків новин.
1:07:27 Так, Олесь. Дякую за цікаві відповіді.
Друзі! Привіт всім. Перший раз ми з нашим каналом беремо участь в якості преси. Все, можна змінювати діяльність.
Так от: ми на Data Science conference. І сьогодні ось так ззаду навколо нас купа людей, які змінюватимуть наше майбутнє. Це не мотивуючі якісь тренінги про успішний успіх або виступи там якихось інфоциган, яких дуже багато, і які читають з листочка свої пости в Фейсбуці. Це дійсно ті люди, які аналізуватимуть все те, що ми з вами пишемо і робимо, фотографуємо, і змінюватимуть алгоритмами нашу поведінку. Стежимо за цим всім і будемо це вивчати.
Виходячи із того, що є кілька технологій, які ми розглядаємо, саме тому ми і хочемо брати досить складні теми, які змінять наше суспільство у майбутньому. Я вважаю, що Data Science - наука про дані - одна з тих, які, власне кажучи, це зроблять. Тому що за цим майбутнє. Те, що є сьогодні, через 10 років буде кардинально відрізнятися у всіх сферах нашого побутового життя, нашої корпоративної культури, в наших ентерпрайз можливих рішеннях. Якщо ви не займаєтеся цим сьогодні, ви, можливо, завтра вже не будете існувати.
Хочете бути в курсі новинок? Дивіться наші відео на каналі Perceptron >>>
Наші контакти >>>
SaaS сервіси
Програми 1С:Підприємство
CRM
ERP
Node.JS, .NET
1С:Підприємство
API, IPasS
Разработка Web Apps
1С:Підприємство Автоматизація
Аудит IT проектів
Інтеграція 1С:Підприємство
Отримуйте наші інформаційні матеріали:
Працюємо на IT-ринку з 2008 року.
Наша місія - спростити управління даними.
Copyright © 2008-2025 TQMsystems. Всі права захищені. Privacy Policy | Terms of Service