Кто сможет объяснить странности искусственного интеллекта
источник: expert.ru
В России за последние годы ситуация с развитием технологий ИИ значительно улучшилась, хотя, скорее не благодаря, а вопреки усилиям государства. Наши IT-компании активно внедряют последние мировые новации в области искусственного интеллекта, опираясь более на инженерные разработки. Где в этом процессе место науке?
Современные нейросети ведут себя иначе, чем предсказывает статистическая теория обучения и вообще полны загадок. Инженерам это никак не мешает, но зато дает ученым возможность новых прорывов в области искусственного интеллекта.
Об этом, а также об уровне исследований в области искусственного интеллекта в России и о том, как наука позволяет сделать их еще мнее «Эксперту» рассказал Дмитрий Ветров, профессор факультета компьютерных наук НИУ ВШЭ, заведующий Центром глубинного обучения и байесовских методов. Он в числе победителей премии Research Excellence Award Russia 2021, присуждаемой продуктивным и высокоцитируемым российским ученым в номинации «Вклад в развитие актуальной научной темы в мире» за исследования по теме «Сверточные нейронные сети».
Каково место России в области в области искусственного интеллекта (ИИ)? Насколько сильно мы отстаем от стран-лидеров?
Уместнее говорить не о странах, а о компаниях, так как именно они являются лидерами в разработке технологий ИИ, а университеты играют хотя и важную, но все-таки вспомогательную роль. Безусловным лидером в мире является корпорация Google со своими дочерними подразделениями Google Brain и DeepMind. Также на переднем крае находятся Facebook, Apple, Baidu, и другие. В России за последние годы ситуация с развитием технологий ИИ значительно улучшилась, хотя, как это часто бывает, скорее, не благодаря, а вопреки усилиям государства. Наши IT-компании активно внедряют последние мировые разработки в области ИИ, а компания «Яндекс», занимающая лидирующие позиции по этому направлению в России, даже успешно разрабатывает собственные технологии. В последние годы интерес к технологиям ИИ также растет со стороны банковского сектора.
Значит ли это, что государственные усилия, то государственные программы развития ИИ пока не особо работают?
Значит. В том числе и потому, что государство ставит неточные параметры эффективности, деньги расходуются неоптимально, направление развивается медленно. В экспертном сообществе есть общее мнение, какие показатели являются индикаторами успеха именно в нашей области, но, к сожалению, государство упорно продолжает выставлять не те. Например, общий критерий успеха ученого – это публикации в индексируемых журналах. В то же время все, кто занимается ИИ, знают, что основные результаты сейчас публикуются не в журналах, а на конференциях. Если вы добились выдающихся результатов и попали на ведущую конференцию, это никак не зачтется чиновниками, а вот если вы опубликовались пусть даже в среднем журнале, куда попасть намного проще, то зачтется.
«Сбер» собирает мощный пул специалистов по теме ИИ, но критики утверждают, что их разработки слабо связаны с передовой наукой в этой области. А надо, чтобы было связаны? Или достаточно инженеров?
Смотря какие задачи ставить. Если вам надо решать прикладные задачи и добиваться коммерциализации, то можно собрать много инженеров, которые сделают много чего хорошего и для «Сбербанка», и в целом для отрасли. Если вы хотите добиться научных результатов (например, разработать новую технологию обучения нейронных сетей или новую модель), то вам понадобятся и ученые тоже.
А где место науки сейчас? Понятно, что технология развивается в больших корпорациях на индустриальных масштабах. А осталось вообще место научному остроумию?
Остроумия в инженерии нужно ничуть не меньше, чем в науке. И в последние годы было много остроумных инженерных решений, которые очень повлияли на развитие технологии. Технологии сейчас разрабатываются в корпорациях-лидерах, а университеты играют вспомогательную роль — меньше ресурсов, меньше мощностей, меньше бюджеты. Но корпорации заинтересованы в развитии конечных продуктов, и существует еще много сфер деятельности, которые не нашли еще своего инженера, способного внедрить в них технологии ИИ. Поэтому необходимость в большом числе грамотных инженеров, способных внедрить уже существующие технологии ИИ, будет сохраняться. Но это не отменяет необходимости науки.
За последние несколько лет в нейронных сетях обнаружено много удивительных и даже, я бы сказал, загадочных эффектов. Технологически это не очень важно: «заткнись и считай», как говорил Ричард Фейнман по поводу споров об интерпретациях квантовой механики. Нейросеть работает, а какие процессы при этом происходят внутри сети, не так уж и важно — с точки зрения инженера. Но как ученый я с этим согласиться не могу. Если мы наблюдаем загадочные эффекты, значит мы чего-то не понимаем. И весь опыт науки подсказывает, что, когда мы сталкиваемся с загадкой природы (в данном случае в качестве «природы» выступает модель нейронной сети, очень сложная и пока не очень познанная), то усилия по ее разгадке будут вознаграждены и в конце концов приведут и к развитию инженерных технологий. Это как раз то, чем и должны заниматься ученые. Приведу пример. Уже несколько десятилетий есть строгая математическая теория (т.н. статистическая теория обучения), которая позволяет оценивать качество моделей машинного обучения в зависимости от их сложности. Так вот эта теория предсказывает, что если нейросети делать слишком большими (глубокими, широкими), то их качество должно падать. Но на практике мы наблюдаем прямо противоположное: чем глубже, больше, шире нейросети, тем лучше качество их работы. Значит, что-то не так с нашей теорией. Но для того, чтобы возникла правильная теория, нужны ученые.
Если грубо, «глубже и шире» в применении к ИИ – это больше слоев в нейросети?
Да.
А чем современные нейросети принципиально отличаются от классического перцептрона*?
*Перцептрон, первую известную электронную модель мозга описал нейрофизиолог Фрэнк Розенблатт, на основе которой в 1960 году был сделан первый нейрокомпьютер, умевший распознавать некоторые буквы английского алфавита. Классический перцептрон состоял из воспринимающего слоя элементов, одного слоя «нейронов», соединенных между собой и реагирующих на обучение параметрами связи между «нейронами», и слоя вывода, который сообщает, например, какую, букву перцептрон увидел. Верный ответ закрепляется в связях между «нейронами», а неверный –—
Есть ряд архитектурных различий, но принципиально — ничем. Но стало больше слоев в нейросети и сами слои стали состоять из большего числа нейронов, плюс обучаются современные нейросети на гораздо больших объемах данных. И здесь есть еще один очень любопытный результат. Когда данных было мало, те же перцептроны, нейросети предыдущего поколения работали очень плохо и уступали классическим методам машинного обучения, вроде бустинга, решающих деревьев, машины опорных векторов, и др. Но когда данных стало много, оказалось, что нейросети начинают существенно обгонять классические методы. Более того, в отличие от классических методов, где настраиваемых параметров должно быть не очень много (а если их будет очень много, начинается т.н. «переобучение», и качество резко деградирует — это как раз то, что и предсказывает статистическакя теория обучения и то, что мы наблюдаем на практике), в нейросетях наблюдается прямо противоположное. Мы обучаем современные нейросети, скажем, по базе, в которой 500 тысяч объектов, а в нейросети 50 млн параметров. То есть параметров для настройки в 100 раз больше, чем объем данных, на которой мы нейросеть обучаем, и при этом все хорошо работает.
О ваших публикациях. Я правильно понимаю, что вы работу с нейросетями сочетаете с математической статистикой?
Точнее – с вероятностным моделированием.
Нейросети обучают с помощью статистического «метода максимального правдоподобия». И он гарантировано работает, если объем данных сильно больше, чем количество параметров, по которым мы оцениваем эти данные.
Но в современных нейросетях ситуация ровно обратная: параметров сильно больше, чем объем данных. Можно ли с этим что-то сделать? Можно, есть другой статистический метод — «байесовское моделирование». Традиционно он использовался для того, чтобы настроить модель, по небольшому объему данных. Сейчас у нас данных много, но и параметров стало еще больше, так что этот метод применим. Байесовский аппарат довольно трудоемкий, поэтому приходится разрабатывать приближенные методы для применения его к нейронным сетям, чем занимаются различные исследовательские группы в мире, включая нашу. Полушутя можно сказать, что мы хотим «скрестить ужа с ежом» и применить байесовский аппарат для современных нейросетей, у которых десятки миллионов параметров.
И что показывают ваши последние публикации? Что это теоретически возможно? Или что это уже работает?
Что теоретически работает, это было понятно и так. Проблема, как упростить аппарат и сделать его применимым. Мы, конечно, не применяли его к индустриальным нейросетям, которые используют «Яндекс», Google, Apple, но на нейросетевых моделях, доступных простым университетским ученым, он работает. Насколько это переносится в индустрию, я могу лишь по косвенным данным судить. Знакомые коллеги, работающие в индустрии, мне говорили, что они наш метод воспроизводили и у них что-то получалось. Среди прочего наши технологии позволяют сжимать, ускорять нейронные сети и повышать точность их работы.