Как отмечалось ранее, это неточный ИИ – ему не нужно заранее задавать определенную связь между свойством и эффектом. Он может, например, выбрать наиболее вероятных кандидатов из большого набора возможностей. Эта способность отражает один из жизненно важных элементов современного ИИ. Используя машинное обучение для создания и корректировки моделей с использованием обратной связи из реального мира, современный ИИ может постепенно уточнять результаты и анализировать неоднозначные ситуации, которые поставили бы в тупик классические алгоритмы. Как и классический алгоритм, алгоритм машинного обучения состоит из последовательности точных шагов. Но, в отличие от классического алгоритма, эти шаги не приводят непосредственно к определенному результату. Скорее, современные алгоритмы ИИ измеряют качество результатов и позволяют улучшать эти результаты – это не выполнение точных инструкций, а процесс обучения.
Основной метод и движущая сила машинного обучения – нейронная сеть. В 1958 г. у Фрэнка Розенблатта, исследователя Авиационной лаборатории Корнелльского университета, возникла идея кодирования информации с помощью структуры «узлов» (аналог нейронов, которых в человеческом мозгу насчитывается около 100 млрд) и связей между ними, сила которых обозначалась весовыми коэффициентами (аналог квадриллионов синапсов, соединяющих нейроны). В течение десятилетий недостаток вычислительных мощностей и сложных алгоритмов замедлял развитие любых нейронных сетей, кроме самых простых. Прогресс последних лет в обеих областях освободил разработчиков ИИ от этих ограничений.
В случае с халицином нейронная сеть уловила связь между молекулами (вход) и их потенциальной возможностью подавления роста бактерий (выход). ИИ, открывший халицин, сделал это, не оперируя информацией о химических процессах или функциях лекарств, он обнаружил взаимосвязи между входными и выходными данными при помощи так называемого глубокого обучения, при котором слои нейронной сети, расположенные ближе к входу, отражают свойства входных данных, а слои, расположенные дальше, отражают более широкие обобщения, предсказывающие желаемый выход.
Глубокое обучение позволяет нейронным сетям улавливать сложные взаимосвязи, например между эффективностью антибиотиков и аспектами молекулярной структуры, отраженными в обучающих данных (молекулярный вес, химический состав, типы межатомных связей и т. д.), которые могут ускользнуть от человека. Когда ИИ сталкивается на этапе обучения с новыми данными, он корректирует весовые коэффициенты в нейронной сети, чтобы отразить новую информацию. Точность сети зависит от объема и качества данных, на которых она обучается. Чем больше объемы обучающих данных и чем больше слоев нейросети, тем точнее веса отражают взаимосвязи. В современных глубоких сетях обычно бывает до 10 слоев.
Для обучения нейронных сетей нужны огромные ресурсы. Этот процесс требует значительных вычислительных мощностей, большого количества энергии и сложных алгоритмов для анализа и адаптации к огромным объемам данных. В отличие от человека, большинство ИИ не могут одновременно обучаться и выполнять работу. Обучение и практическое применение – разные этапы функционирования ИИ. На этапе обучения алгоритмы измерения и повышения качества ИИ оценивают и корректируют свою модель для получения хороших результатов. В случае с халицином обучение заключалось в том, что ИИ выявлял взаимосвязи между молекулярными структурами и эффектами антибиотиков на основе данных обучающего набора. На следующем этапе исследователи поставили перед ИИ задачу определить молекулы с сильным антибиотическим эффектом. Этот ИИ не занимался рассуждениями – он делал выводы, применяя разработанную им модель.
Разные задачи – разные стили обучения
Для разных задач, выполняемых ИИ, требуются разные методы обучения. В этом заключается основная проблема внедрения машинного обучения. В зависимости от предполагаемого назначения того или иного ИИ разработчикам приходится использовать различные методы обучения. Из сочетания применяемых методов – алгоритмов машинного обучения, нейронных сетей и способов обучения – возникают новые возможности ИИ, например диагностика рака.
Сегодня можно выделить три основные формы машинного обучения: контролируемое обучение, неконтролируемое обучение и обучение с подкреплением. Контролируемое обучение позволило создать ИИ, который обнаружил халицин. Напомним, что в поисках потенциальных новых антибиотиков исследователи МТИ использовали базу данных из 2 тыс. молекул, чтобы обучить модель, в которой на входе была молекулярная структура, а на выходе – эффективность антибиотика. Исследователи предоставили ИИ сведения о молекулярных структурах, эффективность которых как антибиотиков была заранее известна. После этого ИИ смог оценить новый набор соединений.
Этот метод называется контролируемым обучением, поскольку на входе используется набор данных (в случае с халицином – молекулярных структур), индивидуально маркированных в соответствии с желаемым результатом (свойствами антибиотика). Разработчики используют контролируемое обучение для многих целей, например для создания ИИ, распознающих изображения. Для этого ИИ обучают на наборе предварительно атрибутированных изображений – например, изображений кошек с меткой «кошка». Кодируя связь между изображениями и метками, ИИ учится правильно идентифицировать новые изображения. Когда у разработчиков есть набор данных, указывающий желаемый результат для каждого из множества объектов на входе, контролируемое обучение работает особенно эффективно – полученные модели могут предсказывать результаты в ответ на новые входные данные.
Если у разработчиков нет ничего, кроме огромного количества данных, они используют неконтролируемое обучение. Сегодня предприятия, правительства и исследователи благодаря интернету и цифровизации располагают несметными объемами данных – у маркетологов оседает информация о клиентах, у биологов – об образцах ДНК, у банкиров – о финансовых операциях. Когда маркетологи формируют клиентские базы, а финансовые аналитики ищут потенциальные несоответствия в огромных массивах транзакций, неконтролируемое обучение позволяет ИИ выявлять закономерности или аномалии без какой-либо спецификации «правильных» ответов. Разработчики поручают алгоритму обучения создавать группы данных на основе определенных мер сходства. Например, видеосервисы, такие как Netflix, используют алгоритмы, которые определяют кластеры клиентов с похожими привычками просмотра, чтобы рекомендовать им подходящие фильмы. Настраивать такие алгоритмы непросто, поскольку у людей, как правило, много интересов и каждый зритель может попасть во множество кластеров.
ИИ, обученные с помощью неконтролируемого обучения, могут выявлять слишком тонкие закономерности, требующие слишком больших объемов данных для человека. Поскольку таким ИИ никто не диктует критерии «правильности» результатов, они, как и люди-самоучки, могут создавать удивительные инновационные идеи – или выдавать совершенно нелепые результаты.
И при неконтролируемом, и при контролируемом обучении ИИ решают такие задачи, как выявление тенденций, идентификация образов и составление прогнозов, на основе данных. Но если необходимо обучить ИИ работать в меняющейся среде, ограничиваться анализом данных нельзя. Поэтому появилась третья основная категория машинного обучения – обучение с подкреплением.