Каждый правильно заданный вопрос сужает поле вариантов – миллионы имен, упомянутых в кино и книгах, – примерно вдвое, следующий – еще вдвое, пока в итоге, на конце одной из ветвей дерева поиска, не остается один наиболее реальный кандидат. На десятом или двадцатом ходу (как повезет) Акинатор выдает ответ: царь обезьян Хануман, Емельян Пугачев, Человек-Паук. Хотя иногда и промахивается – вместо контрреволюционера и живого монгольского бога барона Унгерна предлагает революционера Григория Котовского.
Дерево решений в голове у врача точно так же позволяет проделать путь от общей ситуации к конкретной гипотезе. Подозрение на инфаркт: надо срочно вызывать скорую. Подозрение на ОРЗ: пусть пациент сидит дома и пьет чай под одеялом.
Все просто, когда правильные вопросы уже известны. Но сначала есть только десятки или сотни признаков в случайном порядке: пульс, давление, температура, диаметр зрачка, бледность кожи, громкость кашля, хрипы в груди или их отсутствие – и вопросы нужно научиться задавать в единственно верной последовательности.
Простой выход из положения: созвать консилиум из многих врачей, пусть даже мегаэрудированного доктора Хауса среди них и нет. Каждый врач знает все про три-четыре случайных симптома и делает все выводы только на их основе. Потом врачи голосуют, и консилиум записывает мнение большинства. Если, скажем, шесть из десяти говорят «везти в больницу» – больного везут в больницу. В машинном обучении это называют «ансамбль случайных деревьев».
Но можно опрашивать врачей и по очереди. Спросили первого про сотню пациентов. Второму предъявляем в основном пациентов, на которых ошибся первый, и уточняем его диагнозы. Третьему – тех, на которых ошибся второй. И так далее. Выглядит все так, как будто по поводу каждого нового больного эти врачи тоже голосуют, но их голоса весят по-разному. Примерно так работает «градиентный бустинг на деревьях» – кажется, самый мощный класс алгоритмов после нейросетей.
В чем его слабость? Он хорошо справляется с десятками и сотнями признаков, но дальше начинает буксовать. Тексты, в которых десятки тысяч разных слов, или картинки, где пикселей миллионы, – неподъемная для него информация. Вся она поддается обработке только в полупереваренном виде, когда текст или картинку кто-то уже превратил в ограниченный набор признаков: «доля красного на картине», «число жирафов на снимке», «длина текста в словах», «как часто в тексте встречаются местоимения». Но как раз со всем этим на порядок лучше обращаются нейронные сети. Они же – глубинное обучение, deep learning.
Логическая многоэтажка: нейросети
Корень «нейро» в названии нейросетей намекает на прототип – нейроны, то есть нервные клетки живого мозга. С точки зрения математики каждый нейрон по отдельности – все та же линейная модель: он получает электрические сигналы от других нейронов, оценивает их (в условных баллах) и выдает суммарную оценку в виде собственного электрического сигнала.
Но один нейрон редко принимает окончательное решение: в мозгу они часто организованы в слои, и ответ будет готов, когда нервный импульс пройдет их все насквозь, от верхних к самым глубоким. Нейроны первого слоя получают «сырые» сигналы – например, они могут быть палочками или колбочками сетчатки, которые реагируют на свет. Каждый нейрон второго слоя будет обрабатывать импульсы от многих клеток первого и сформирует свой электрический импульс, чтобы передать его дальше.
Возвращаясь к «тестам» и «баллам», можно представить себе другую картину: вместо слоев нейронов – этажи офисного здания, где сидят HR-специалисты. И на первом этаже они заставляют людей проходить разные тесты – на IQ, на эмоциональный интеллект и на то, как хорошо кандидат разбирается в покемонах. Каждый тест оценивается в баллах.
Кадровики на втором этаже не видят уже никакой информации о том, как соискатель ответил на какой-нибудь конкретный вопрос. Все, что у них есть, – это набор итоговых оценок за тесты. Например: «IQ высокий, эмпатия низкая, в покемонах не разбирается». Каждый кадровик со второго этажа делает на основании этих признаков свой вывод. Один может решать, годится ли соискатель в уборщики, другой – есть ли у него задатки менеджера. Эти свои соображения они передают на третий этаж, где директор по кадрам на основе признаков вроде «хороший уборщик» или «посредственный менеджер» и секретного списка открытых вакансий принимает окончательное решение – брать или не брать человека на работу.
Читать дальше
Конец ознакомительного отрывка
Купить книгу