Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич - Страница 6
- Предыдущая
- 6/368
- Следующая
1.3 Машинное обучение, его виды и области применения
Одно из распространённых заблуждений об искусственном интеллекте заключается в уверенности, что машины не могут учиться и, решая задачу, способны лишь следовать алгоритму — жёстко заданному программистами пошаговому сценарию.
В действительности то, что машины исполняют определённую программу, никак не мешает им учиться, для этого нужно только, чтобы программа воплощала тот или иной алгоритм обучения. В принципе, единственным необходимым для обучения условием является наличие у машины изменяемой памяти, но этим свойством машины обладают с давних пор.
В качестве самого простого примера обучения можно привести программу, которая при первом запуске спрашивает имя пользователя, которое затем запоминает, чтобы при следующих запусках обращаться к этому человеку по имени. Легко заметить, что поведение программы от запуска к запуску поменяется, то есть программа «научится» правильно обращаться к вам, хотя программисты, создавая программу, не указывали в ней вашего имени. Конечно, обучение может быть разным: как и человек, одним вещам машина может обучиться с лёгкостью, другие же пока что находятся за пределами возможностей современных технологий ИИ, и эта граница постоянно сдвигается по мере того, как очередные задачи сдаются под напором достижений науки и технологии.
Машинное обучение (machine learning) — направление в искусственном интеллекте, обычно использующее статистические техники для придания компьютерам способности «обучаться» (т. е. постепенно улучшать результаты, достигаемые при решении той или иной задачи), основываясь на некоторых данных, без явного программирования. Термин был изобретён Артуром Сэмюэлом в далёком 1959 г.[42] Выражаясь более формально, можно сказать, что машинное обучение занимается созданием систем ИИ, в которых параметры моделей вычисляются в ходе автоматического или автоматизированного процесса обучения. Машинное обучение тесно связано с такими направлениями, как вычислительная статистика и теория оптимизации: эти дисциплины выступают в роли поставщиков конкретных методов и инструментов, применяемых в машинном обучении.
Большинство современных прикладных систем искусственного интеллекта созданы с привлечением методов машинного обучения. Поэтому может показаться, что искусственный интеллект и машинное обучение почти тождественны, но на самом деле это не так. Со многими практическими задачами неплохо справляются старые добрые запрограммированные правила. Далее в книге мы увидим несколько примеров того, как построенные на основании правил системы могут демонстрировать весьма интеллектуальное поведение, производящее большое впечатление на внешнего наблюдателя.
И всё же сложнейшие из задач искусственного интеллекта требуют гораздо более гибких и мощных методов, поэтому машинное обучение сегодня — самое быстроразвивающееся направление в отрасли.
1.3.1 Виды машинного обучения
Обычно машинное обучение разделяют на две большие категории в зависимости от наличия в обучающей системе обратной связи — некоторого сигнала, получаемого системой и содержащего информацию о том, является ли выбранное обучаемой моделью действие правильным (или неправильным). При наличии обратной связи задача машинного обучения называется задачей обучения с учителем [supervised learning].
Часто в качестве обратной связи используется ручная разметка, выполненная людьми. Например, обучая модель отличать изображения кошек от изображений собак, мы можем отобрать несколько десятков тысяч фотографий и вручную сопоставить каждой из них правильную метку — «кошка» или «собака». Такой набор данных, содержащий исходные данные (в нашем случае — фотографии) и метки, называется обучающей выборкой, а каждая пара, состоящая из исходных данных и ответа на них (в нашем случае — метки класса), — прецедентом[43].
Иногда обучающая выборка по тем или иным причинам содержит пробелы. Например, маленький ребёнок не знает вкуса многих объектов, встречающихся в окружающем мире, поэтому с особым интересом запихивает в рот те предметы, которые ему ранее не приходилось пробовать. В таком случае можно говорить о том, что мы имеем дело с активным обучением — ещё одной разновидностью обучения с учителем. При таком подходе модель сама выбирает необходимые для обучения эксперименты и пополняет их результатами обучающую выборку. Конечно, при этом следует заботиться о том, чтобы последствия экспериментов не обошлись нам слишком дорого.
Активное обучение является частным случаем парадигмы, получившей название «обучение с подкреплением» [reinforcement learning]. Термин «подкрепление» (положительное или отрицательное) был позаимствован у психологов, под ним понимается ответный сигнал внешней среды, который позволяет обучающемуся агенту делать выводы о желательности или нежелательности выполненных действий. Обучение с подкреплением не обязано быть активным в том смысле, что агент не обязательно должен руководствоваться определённой «исследовательской» стратегией при выборе действий, агент не обязан быть «любопытным», его действия вполне могут быть обусловлены стремлением увеличить подкрепление в моменте («пихаем в рот то, что предполагаем вкусным, а не то, что ещё не пробовали») или быть и вовсе случайными («едим что попало»). Даже в таком случае обучение иногда может вполне успешно достигать поставленной цели.
На другом полюсе машинного обучения находятся методы обучения без учителя [unsupervised learning]. Казалось бы, будучи лишённым образца для подражания или какого-либо ориентира, ничему научиться нельзя. Однако это не так. Например, изучая недешифрованную письменность, можно выделить наборы повторяющихся знаков и их последовательностей, составить алфавит, оценить частоту возникновения последовательностей знаков, чтобы затем попытаться соотнести её с данными, полученными для других, известных нам языков. Конечно, набор задач, которые можно решить подобными способами, гораздо скромнее, чем в случае обучения с учителем, но в некоторых случаях, как в примере с недешифрованной письменностью, у нас просто нет выбора.
В последние годы с лёгкой руки известного исследователя в области нейронных сетей Яна Лекуна часто используется термин self-supervised learning (самообучение, самоконтролируемое обучение, обучение в режиме «сам себе учитель»). В его основе лежит автоматическая генерация обратной связи на основе структуры данных, используемых при обучении[44]. Например, модель, которая предсказывает следующее слово в тексте по предшествующим, или модель, угадывающая скрытую часть картинки по её видимой части, вроде бы не требует размеченных людьми данных — достаточно лишь набора текстов или изображений, а разметку выполняет алгоритм. В случае задачи с текстом он создаёт из набора текстов множество прецедентов, в которых роль правильного ответа выполняет слово, продолжающее последовательность предшествующих ему слов, которые алгоритм включает в число факторов. В случае с картинкой факторами становятся видимые части изображения, а правильным ответом — скрытая его часть. Таким образом, самообучение можно рассматривать или как разновидность обучения без учителя, или как разновидность обучения с учителем, в которой роль суррогатного учителя выполняет алгоритм авторазметки.
В принципе, методы обучения с учителем и без учителя нередко могут комбинироваться в одной задаче. В таком случае принято говорить о методе обучения с частичным привлечением учителя [semi-supervised learning]. Например, создавая систему для распознавания речи, мы можем привлечь сравнительно небольшой набор размеченных вручную данных (аудиозаписей, снабжённых текстом выполненной людьми расшифровки) и огромный массив неразмеченных, «сырых» аудиозаписей. При помощи второго массива мы обучим модель различать регулярно повторяющиеся звуковые элементы речи — фонемы, — а затем при помощи первого массива научим её превращать последовательность фонем в текст.
- Предыдущая
- 6/368
- Следующая