Самообучающиеся компьютеры
Программы, рассчитанные на конкретные приложения — обработка текстов, электронные таблицы, компьютерные игры и т.д., — предназначаются для выполнения определенных функций определенным способом в соответствии с правилами, которые сама программа изменить не в состоянии. В большинстве случаев даже экспертные системы ограничиваются эвристическими правилами и базами знаний, задаваемыми людьми; эти системы не могут сами пополнять знания или изменять свою работу в зависимости от накопленного опыта.
В отличие от этого в обучающихся программах предусмотрены такие возможности. Уже теперь некоторые программы позволяют упростить научные исследования, выявляя регулярности в неорганизованных массивах данных; в будущем для дальних космических путешествий потребуются более совершенные приемы машинного обучения: компьютер на борту космического аппарата должен будет обладать способностями к исследованиям и принятию решений.
Общая структура большинства моделей самообучающихся машин независимо от того, предназначена ли программа для обучения на примерах, по аналогии, через открытия или по инструкциям. Ядро модели составляет так называемое первоначальное знание, изображенное на рисунке в виде золотистого куба. Как и в экспертных системах, первоначальное знание — относящиеся к данной области эвристики, часто в форме правил «если-то», и факты — в машину закладывают программисты. Первоначальное знание может включать введенные в программу инструкции по организации информации, а также метазнания, которые часто характеризуют как осведомленность программы о своих сильных и слабых сторонах.
Самообучение машины происходит в результате взаимодействия первоначального знания с входными и выходными данными различных типов. Входные данные (зеленая стрелка) могут содержать рекомендации пользователя, которые программа должна проинтерпретировать и применить, а также конкретные образцы или примеры, из которых программа выводит обобщающие правила или понятия. По мере обработки этой информации программа может вносить изменения в факты и эвристики в базе знаний; вносимые изменения влияют на выходные данные программы (синяя стрелка) или повышают эффективность решения поставленных задач. (В некоторых моделях под повышением эффективности понимается способность давать более точные решения или получать решения с меньшими затратами, в других - расширение круга поддающихся решению проблем или способность машины упрощать свои правила, экономя тем самым память.) И наконец, в петле обратной связи (красная стрелка) производится расчет эффективности программы: полученные результаты сопоставляются с поставленным целями, выявляются ошибки и вносятся исправления. Последовательное совершенствование программы изображено на рисунке в виде нарастающих объемов базы знаний.