Читать «Максимальный репост. Как соцсети заставляют нас верить фейковым новостям» онлайн - страница 76

Борислав Козловский

Нейросети – частный случай машинного обучения, и не всегда самый эффективный (например, в задаче про «Титаник»). Наверное, самый популярный способ решать задачи на Kaggle (которыми пользуются и Google, и Facebook в промышленных масштабах) – это алгоритмы под странноватым названием «ансамбли решающих деревьев» (справедливости ради, «лес» и «пень» – тоже популярные герои мира алгоритмов). А самый простой способ – линейные модели.

Проходной балл: линейные модели

Представьте себе тест вроде тех, которые печатали когда-то рядом с кроссвордами в газетах, где за каждый односложный ответ начисляют баллы. С пассажирами «Титаника» алгоритм – линейная модель – проделывает это так. Купили билет второго класса? 10 баллов. Первого класса? 100 баллов. Взошли на борт в английском порту Саутгемптон? 50 баллов. Во французском Шербуре? 5 баллов. (Этот признак не самый бесполезный для прогноза, потому что косвенно указывает, на каком языке – английском или французском – пассажир разговаривал, и легко ли ему было объясниться во время эвакуации с командой, состоящей преимущественно из англичан.) В конце концов баллы складываются, и если сумма больше пороговой, модель отвечает: «Выживет».

Откуда алгоритм знает, какую характеристику оценить в 500 баллов, а какую – всего в 10? Он начинает раздавать баллы наобум и потом уточняет их раз за разом на каждом примере, для которого известен правильный ответ, – это и есть обучение. Так выясняется, какие признаки важные, какие нет. Например, класс каюты: в первом выжили 63 % пассажиров, в третьем – всего 24 %. Или пол пассажира «Титаника»: среди женщин из списка – 74 % выживших, среди мужчин – всего 19 %.

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

Рис. 8. Нейросети шестьдесят лет назад: американский математик Фрэнк Розенблатт придумал алгоритм под названием «персептрон» (его назвали бы однослойной нейросетью – или, что то же самое, линейной моделью) и построил способную обучаться вычислительную машину Mark I, не похожую на все остальные компьютеры. «Баллы» за каждый признак были реализованы в виде вращающихся стержней-резисторов, каждый из которых в процессе обучения подкручивал свой электромотор: чем сильнее стержень выкручен – тем больше баллов полагается за каждый признак

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