Максимальный репост. Как соцсети заставляют нас верить фейковым новостям - читать онлайн книгу. Автор: Борислав Козловский cтр.№ 36

читать книги онлайн бесплатно
 
 

Онлайн книга - Максимальный репост. Как соцсети заставляют нас верить фейковым новостям | Автор книги - Борислав Козловский

Cтраница 36
читать онлайн книги бесплатно


К чему простые и быстрые алгоритмы безнадежно глухи – так это к интонации и стилю. Они не отличают стихов от прозы. Скрытые цитаты и сарказм за пределами их понимания, потому что для простой модели ваша запись – мешок слов (у специалистов по машинному обучению это устоявшийся термин): слова либо есть, либо нет, а в каком порядке идут и что означают вместе, уже неважно. И если вы из чувства возмущения приводите кусок чужой прямой речи, который вас задел, и как угодно его комментируете – вас запросто заблокируют за оскорбительный контент.

Еще простые линейные модели не умеют видеть смысл в комбинациях признаков. Если на «Титанике» выжили все мужчины из второго класса, которые сели на лайнер в Саутгемптоне (потому что, скажем, всех их разместили в удачных каютах рядом со спасательной шлюпкой), то модель выдаст только скромную порцию баллов за Саутгемптон и за второй класс, а более тонких закономерностей не увидит – и ошибется в прогнозе.

Консилиум врачей: решающие деревья

Ситуация: врач скорой зашел в дом и, чтобы решить, надо ли везти пациента в больницу, начинает с вопроса «на что жалуемся?». С точки зрения математики это по-прежнему все та же задача про «Титаник»: есть люди, у них много характеристик (медики называют их словом «симптомы»), и в конце нужно ответить «да» или «нет».

Сценарии диалога врача с больным можно нарисовать в форме ветвящегося дерева: каждый следующий вопрос зависит от ответа на предыдущий. Если у пациента болит горло, надо спросить про температуру. Если хватается за сердце – проверить пульс.

Такие ветвящиеся деревья в мире алгоритмов – проверенный способ искать и находить то, что вам нужно, в огромных множествах. В 2007 году появилась интернет-игра «Акинатор», где ее главный персонаж – одноименный джин – предлагал угадать какого угодно персонажа (реального человека, героя мультфильма, историческую личность) за 15–20 вопросов, на которые можно ответить «да», «нет» или «не знаю». «Ваш персонаж существовал в реальности?» «Ваш персонаж женского пола?» «Ваш персонаж старше сорока лет?» «Ваш персонаж умер?» «У вашего персонажа больше одной головы?»

Каждый правильно заданный вопрос сужает поле вариантов – миллионы имен, упомянутых в кино и книгах, – примерно вдвое, следующий – еще вдвое, пока в итоге, на конце одной из ветвей дерева поиска, не остается один наиболее реальный кандидат. На десятом или двадцатом ходу (как повезет) Акинатор выдает ответ: царь обезьян Хануман, Емельян Пугачев, Человек-Паук. Хотя иногда и промахивается – вместо контрреволюционера и живого монгольского бога барона Унгерна предлагает революционера Григория Котовского.

Дерево решений в голове у врача точно так же позволяет проделать путь от общей ситуации к конкретной гипотезе. Подозрение на инфаркт: надо срочно вызывать скорую. Подозрение на ОРЗ: пусть пациент сидит дома и пьет чай под одеялом.

Все просто, когда правильные вопросы уже известны. Но сначала есть только десятки или сотни признаков в случайном порядке: пульс, давление, температура, диаметр зрачка, бледность кожи, громкость кашля, хрипы в груди или их отсутствие – и вопросы нужно научиться задавать в единственно верной последовательности.

Простой выход из положения: созвать консилиум из многих врачей, пусть даже мегаэрудированного доктора Хауса среди них и нет. Каждый врач знает все про три-четыре случайных симптома и делает все выводы только на их основе. Потом врачи голосуют, и консилиум записывает мнение большинства. Если, скажем, шесть из десяти говорят «везти в больницу» – больного везут в больницу. В машинном обучении это называют «ансамбль случайных деревьев».

Но можно опрашивать врачей и по очереди. Спросили первого про сотню пациентов. Второму предъявляем в основном пациентов, на которых ошибся первый, и уточняем его диагнозы. Третьему – тех, на которых ошибся второй. И так далее. Выглядит все так, как будто по поводу каждого нового больного эти врачи тоже голосуют, но их голоса весят по-разному. Примерно так работает «градиентный бустинг на деревьях» – кажется, самый мощный класс алгоритмов после нейросетей.

В чем его слабость? Он хорошо справляется с десятками и сотнями признаков, но дальше начинает буксовать. Тексты, в которых десятки тысяч разных слов, или картинки, где пикселей миллионы, – неподъемная для него информация. Вся она поддается обработке только в полупереваренном виде, когда текст или картинку кто-то уже превратил в ограниченный набор признаков: «доля красного на картине», «число жирафов на снимке», «длина текста в словах», «как часто в тексте встречаются местоимения». Но как раз со всем этим на порядок лучше обращаются нейронные сети. Они же – глубинное обучение, deep learning.

Логическая многоэтажка: нейросети

Корень «нейро» в названии нейросетей намекает на прототип – нейроны, то есть нервные клетки живого мозга. С точки зрения математики каждый нейрон по отдельности – все та же линейная модель: он получает электрические сигналы от других нейронов, оценивает их (в условных баллах) и выдает суммарную оценку в виде собственного электрического сигнала.

Но один нейрон редко принимает окончательное решение: в мозгу они часто организованы в слои, и ответ будет готов, когда нервный импульс пройдет их все насквозь, от верхних к самым глубоким. Нейроны первого слоя получают «сырые» сигналы – например, они могут быть палочками или колбочками сетчатки, которые реагируют на свет. Каждый нейрон второго слоя будет обрабатывать импульсы от многих клеток первого и сформирует свой электрический импульс, чтобы передать его дальше.

Возвращаясь к «тестам» и «баллам», можно представить себе другую картину: вместо слоев нейронов – этажи офисного здания, где сидят HR-специалисты. И на первом этаже они заставляют людей проходить разные тесты – на IQ, на эмоциональный интеллект и на то, как хорошо кандидат разбирается в покемонах. Каждый тест оценивается в баллах.

Кадровики на втором этаже не видят уже никакой информации о том, как соискатель ответил на какой-нибудь конкретный вопрос. Все, что у них есть, – это набор итоговых оценок за тесты. Например: «IQ высокий, эмпатия низкая, в покемонах не разбирается». Каждый кадровик со второго этажа делает на основании этих признаков свой вывод. Один может решать, годится ли соискатель в уборщики, другой – есть ли у него задатки менеджера. Эти свои соображения они передают на третий этаж, где директор по кадрам на основе признаков вроде «хороший уборщик» или «посредственный менеджер» и секретного списка открытых вакансий принимает окончательное решение – брать или не брать человека на работу.

Нейросети на разных своих «этажах» извлекают признаки разной степени обобщения. Если на входе картинка, то самые первые слои, глядя на отдельные пиксели, будут отвечать на вопрос «есть ли здесь перепад яркости?» или «какой наклон у линии?», более глубокие – на вопрос «есть ли на небольшом участке картинки глаз или ухо?», а самые последние предельно конкретны: «собака на фото – это пудель? или той-терьер?».

C 2012 года, когда благодаря нейросетям случился прорыв в компьютерном зрении, компьютеры лучше человека справляются с ответом на вопрос, кто изображен на фотографии – собака или кошка. А программа AlphaGo (создана в 2015 году) всухую обыгрывает лучших мастеров игры го благодаря нейросетям, которые оценивают расстановку фишек на доске и выбирают оптимальный ход.

Вернуться к просмотру книги Перейти к Оглавлению Перейти к Примечанию