Способности машинного обучения

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Почему человек не способен понять принцип работы машинной модели, как это мешает их прогрессу и можно ли с этим бороться, рассказывает кандидат физико-математических наук, специалист по машинному обучению Станислав Протасов

В теории машинное обучение способно ответить не на любой вопрос. Еще Марвин Мински в 1969 году показал, что существует класс задач, неразрешимый с помощью первых нейронных сетей — перцептронов. Не любое пространство признаков можно разделить гиперплоскостью так, чтобы положительный ответ оказался над плоскостью, а отрицательный под ней. Если же говорить про машинное обучение в целом, то какой бы сложной ни была модель, она не решит поставленную перед ней задачу, пока мы не найдем подходящий признак. Вы, например, знаете — вот соленое, а вот сладкое. И до какого-то момента сахар и соль выглядят одинаково, и на фотографии выглядят одинаково, и пахнут они одинаково. Какой признак их делит? На самом деле такой признак есть: в химическом составе соли есть хлор, а в сахаре — углерод, но по фотографии этого не определить.

Сейчас практически все методы машинного обучения умеют обходить ограничение, сформулированное Мински: они формируют новые пространства признаков, в которых классы объектов можно разделять гиперплоскостями. Поэтому сейчас при достаточно большой выборке нейросеть может решить практически любую задачу, правда только в том случае, если в данных хоть в каком-то виде содержится критическая для ответа информация.

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

Второе важное различение — по сложности самих моделей. Есть модели, которые легко можно попытаться «размотать», то есть понять, как они работают. Мы умеем, например, разматывать сверточные нейронные сети. Вытаскивать практически из любого слоя сети вес каждого параметра и пытаться представить их в виде картинки. Так мы узнаем, на что обращает внимание сеть, когда мы предъявляем ей вот такую картинку, понять, что конкретно этот блок сети отвечает, например, за распознавание носа. 

Но в последнее время появляются, например, сети, которые на основании данных выбирают модели сетей, которые они будут использовать для обучения. Метамодели, которые не устанавливают связь между объектом и ответом, а решают, каким алгоритмом установить эту связь. Такие модели, конечно, объяснять очень сложно: почему мы решили, что для определенных данных подходят вот определенные алгоритмы?

Есть очень важное утверждение про границы применения машинного обучения. Пока мы не можем объяснить себе, как работает алгоритм, мы не можем гарантировать, что он хорошо будет решать критические задачи, связанные, например, с жизнью и здоровьем. Допустим, вы обучили какую-то модель на картинках с автомобильной камеры. Ваша машина в 99,999% случаев ездит лучше, чем человек, и хорошо показывает себя во всех тестах. Но никто не может быть уверен, что в этой модели, если вы ее не сумели объяснить, нет такого параметра, из-за которого при появлении синей птицы в левом углу, автомобиль не сделает сальто назад. Всех возможных условий предусмотреть невозможно.

Эта проблема касается этических задач, затрагивающих жизнь человека. Если вы хотите, чтоб ваш сервис гарантировал 99,9% доступности (или качества распознавания, или точности определения), вас вполне устроит модель, которая будет изредка ошибаться. Вам более чем достаточно такого результата, потому что он приносит вам деньги. Ваша выручка будет равна математическому ожиданию. Но жизнь человека нельзя оценивать матожиданием. Она слишком дорога, чтобы ее умножить на вероятность. Банкиры используют простые линейные модели для скоринга именно потому, что они обладают хорошей объясняющей силой. Если какой-то параметр взят с высоким весом, значит, он хорошо объясняет результат.

Можно ли построить алгоритм, который сможет объяснить, как он пришел к тому или иному результату? Можно. Но и здесь есть трудность. Люди обладают ограниченным спектром сенсорных возможностей. У нас, например, ограниченное зрение. Наши глаза, наши колбочки воспринимают относительную интенсивность соседних цветов и не воспринимают абсолютные значения. Поэтому мы видим сине-черные платья и бело-золотые платья. Наши сенсоры очень легко обмануть, а спектр восприятия ограничен. Это особенно касается слуха, который сильно уступает даже возможностям компьютера. Когда машина находит какие-то параметры, которые описывают объект, этот набор признаков может быть сильно сложнее, чем человек может сформулировать. Мы оперируем высотой звука, темпом, чем-то еще, а компьютер может найти признаки, которые просто не существуют в терминах человеческого объяснения.

Длина звуковой волны нам понятна. Но алгоритм может использовать совсем другие параметры — например, квадрат длины волны, умноженный на цвет волос и деленный на количество ударов сердца в минуту. Вдруг этот признак окажется наиболее важным для описания человека? И как объяснить, что это число самое-самое важное? 

Представьте себе современную модель глубокого обучения. Что является входом этой модели? Изображение. Тензор — картинка примерно 1000х1000 пикселей глубиной в три слоя – красный, зеленый и синий. Получается 3 млн значений. И уже на первом слое они перемешиваются в виде линейных комбинаций, потом применяются нелинейные функции, потом они снова перемешиваются в виде линейных комбинаций. К третьему слою формируются интересные признаки. Например, признак носа: вы узнаете, что в нашей картинке есть нос. Но попробуйте теперь разобрать эту функцию, которая является смесью из 3 млн значений, которая и описывает на самом деле нос. 

Человек так устроен, что не будет доверять черному ящику. В статистическом смысле мы все в восторге от результатов машинного обучения. Оно улучшает качество жизни. Но когда появляется какая-то вещь настолько умная, что мы не можем понять, как она работает, мы начинаем ее бояться. Так, наверное, и появляются законы робототехники.

Проблемы обучающей выборки

Есть еще одно ограничение применимости моделей машинного обучения — ограничение выборки.

Все нейросети базируются на одном простом принципе — прецедентном. Как были устроены старые шахматные автоматы, например, Deep Blue? Шахматные автоматы знали правила игры, пользовались какими-то эвристическими принципами, чтобы, используя известные правила, находить хорошие ходы. Но они ничего не знали о тех партиях, которые на самом деле были сыграны на планете. Машинное обучение устроено иначе. Оно может ничего не знать про правила, ему достаточно знать прецеденты.

Вот конкретная фотография, которая изображает этого человека. Десять фотографий — хороший набор примеров для описания. Возьмем миллиард пачек по 10 фотографий и обучим отличный классификатор для миллиарда людей. Чем больше будет примеров, тем лучше. А если примеров (то есть фотографий, аудиозаписей) у вас нет, не будет и машинного обучения. Задача просто не решается этими средствами. 

Для некоторых задач входные данные можно попробовать сгенерировать искусственно. Не нужно фотографировать миллиард банковских карт, чтобы научить алгоритм их распознавать. Можно воспользоваться сгенерированными изображениями, и на них обучить классификатор. Но для большинства задач, связанных с распознаванием объектов реального мира, этот метод, к сожалению, не работает.

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

Представьте, что что у вас есть выборка в 100 человек. Можно обучить модель, которая будет всегда исходить из того, что в России все русские. Ее аккуратность — программисты говорят «accuracy» — будет составлять 83%. Формально она будет работать достаточно хорошо, но критерий качества работы нашего алгоритма окажется сильно смещен: мы поощряем большинство. Поэтому именно accuracy как критерий оценки качества обучения не используется практически никогда. Вы можете его использовать, когда однозначно уверены, что ваша выборка равномерно распределена, а для других случаев применяют другие метрики. Вроде F1 score, которая учитывает разбалансировку по количеству представителей классов и очень сильно накажет вашу модель машинного обучения, если она не сможет распознавать, например, немногочисленных эскимосов.

Редкие случаи ставят перед нами еще одну проблему. Представьте, что мы собрали и сфотографировали в студии представителей двух разных рас. Затем поместили их в уличную среду или в темные помещения, в бар и на танцпол. Система перестанет работать. Поэтому приходится обеспечивать не только разнообразие объектов, но и условия, в которых они находятся. Для решения этой проблемы используют в частности технику data augmentation, или «раздутие выборки». Она состоит в том, что за неимением возможности самостоятельно создать разнообразные условия, мы их имитируем с помощью фильтров и искажений. Берете те же самые данные, накладываете на них шум, меняете яркость, поворот, изгиб.

Еще один способ улучшить технологии работы на границе распознаваемости называется GAN (Generative Adversarial Network). Одна нейросеть —  мошенник, а вторая играет роль полицейского. Мошенник пытается генерировать данные, делать вид, что это хороший пример. А полицейский отвечает: «Нет, ты врешь. Настоящие данные выглядят по-другому». Один алгоритм профессионализируется в области обмана, а другой — в области распознавания обмана.

Насколько нейтрален искусственный интеллект

Есть три направления мысли по отношению к будущему искусственного интеллекта — пессимистичный, оптимистичный и безразличный. Кто-то считает, что все будет плохо. Потому что, возможно, есть такие вещи, которые человечество не хотело бы про себя знать. Есть оптимисты, они с этим спорят. Не будет неприятных сюрпризов, говорят они, а будет напротив синергия между человеком и машиной. Человек просто растворится в искусственном интеллекте. И есть, наконец, люди, которые создают искусственный интеллект, и которым нет дела до философии. Сидит какой-нибудь постдок или аспирант в лаборатории и обучает модель. Ему совершенно неважно, будет она убивать людей или нет. Ему надо, чтобы публикация вышла и цитируемость была хорошая.

Задача, которую поставит человек искусственному интеллекту, может оказаться деструктивной. Я согласен с тем, что технологии искусственного интеллекта, решения, которые будут созданы или уже созданы – это не менее сильное оружие, чем, например, ядерная бомба. Просто потому, что с помощью этих технологий вы можете влиять на большое число людей. Может быть, не убивать, но сделать их жизнь невыносимой. Это очень сильное оружие. А кто будет им пользоваться – решит политика.


Источник: postnauka.ru

Комментарии: