Книга Практическая мудрость - Кеннет Шарп
Шрифт:
Интервал:
Закладка:
Что же делать? Разработчик может изучить различные мины и различные посторонние объекты, которые могут оказаться в воде, выявить набор признаков, присущих минам в большей степени, чем этим объектам, а затем настроить детекторы гидролокатора в соответствии с этими признаками. Разумеется, результат будет несовершенен, поскольку область характерных черт категории «прочие объекты» перекроет соответствующую область общих характерных черт категории «мины». От того, насколько точно разработчику удастся определить важность признаков, присущих именно минам, и выделить их, будет зависеть эффективность гидролокатора, работающего по принципу встроенных в него «правил».
Однако существует альтернатива. Вместо того чтобы сообщать гидролокатору, что искать, разработчик может позволить системе учиться: показать ей набор самых разнообразных мин и прочих объектов, предложить определить, что есть что, а потом дать обратную связь – правильно сделан выбор или нет. Программист, «обучающий» систему, будет заранее знать, где мина, а где – нет, поскольку именно он задает параметры процесса обучения. И хотя у программиста может не быть надежного способа выделить мину, использование метода проб и ошибок поможет гидролокатору научиться тому, чему человек его научить не способен.
Такой метод предполагает оснащение обучаемой системы большим количеством датчиков, каждый из которых способен улавливать ту или иную характеристику объекта, попавшего в поле зрения локатора. Обнаружив присутствие характеристик, соответствующих его настройкам, датчик немедленно передает информацию всей системе. В начале обучения датчики не дифференцированы – то есть все они связаны между собой одинаково. Но каждый раз, когда возникновение объекта в поле зрения локатора вызывает одновременное (или почти одновременное) срабатывание двух или более датчиков, связь между этими датчиками в системе укрепляется. А связь между сработавшими и не сработавшими датчиками становится слабее. Затем система принимает решение – мина это или нет. Если ответ верен, связь между сработавшими датчиками закрепляется еще больше; если нет – ослабевает.
В процессе обучения архитектура связей меняется. Сначала способность локатора распознавать сходство и различие между минами и другими объектами будет невысокой. Но, по мере укрепления одних связей между датчиками и ослабления других, способность к распознаванию будет повышаться, и система в конце концов превзойдет своих создателей. Несомненно, она будет работать гораздо эффективнее, чем снабженная полным перечнем всех возможных искомых объектов изначально. Ведь, чтобы настроить локатор для работы с таким «списком», специалисту понадобилось бы знать все признаки любой из мин и все признаки каждого из прочих объектов, который может оказаться в воде. Какие-то представления на этот счет у разработчиков, конечно, есть, но вряд ли их можно считать достаточно полными.
Напротив, если разработчик решит, что система должна сама научиться искать мины, ему не обязательно знать заранее, чему ее учить. От него требуется сообщить локатору, что такое мина и что такое, к примеру, скала – но не то, как их различить. Накопив достаточный опыт за счет проб и ошибок, система сама настроит связи между датчиками так, чтобы они соответствовали типам объектов, с которыми она будет сталкиваться. И если бы такая система умела говорить, она не смогла бы объяснить, как принимает решения, – ответ на вопрос «Является ли этот предмет миной?» в каждом конкретном случае будет результатом распознавания совокупности сигналов, переданных сетью датчиков, и сопоставления их с результатами, полученными в ходе обучения.
Существует несколько впечатляющих примеров того, как самообучающиеся системы, подобные гипотетическому «гидролокатору Черчленда», создавались и показывали на практике результат, соответствовавший оценкам экспертов, а иногда и превосходивший их. В частности, есть свидетельства того, что в Ираке военнослужащие США научились распознавать самодельные взрывные устройства, замаскированные под различные предметы, но почти никогда не могли объяснить, каким образом им удается это делать. Или возьмем системы, основанные на принципе действия когнитивных сетей. Такие системы позволяют оценить среднесрочные финансовые перспективы компаний не хуже, чем это делают аудиторы, или, подобно тренерам, предсказывать исход футбольных матчей. Они «угадывают» оптовую цену кофе так же успешно, как и торговцы, и, словно профессиональный рентгенолог, определяют, являются ли затемнения на рентгеновских снимках опухолями.
Была даже разработана система, позволяющая с точки зрения этики оценивать допустимость той или иной тактики или стратегии продаж в электронной коммерции[62]. Изначально в компьютерную программу этические нормы заложены не были, однако, получая обратную связь и приобретая опыт, система «узнавала», что утаивание информации, или не соответствующие действительности сведения о продуктах, или сокрытие от клиента предстоящих ему реальных расходов – неэтичны. Одновременно система училась распознавать, что именно считается признаком неэтичных действий. То есть осваивала этические принципы, сталкиваясь с конкретными примерами, делая выводы и получая обратную связь. В частности, обучившись тому, что неэтично скрывать информацию об ограниченном сроке годности батареи ноутбука, программа начинала распознавать в качестве неэтичного утаивание информации о годовых расходах на эксплуатацию стиральной машины, имеющей низкую энергоэффективность.
В целом, подобные самообучающиеся системы действуют так, как если бы они следовали набору правил, заданных разработчиками. Но на самом деле в этих системах не существует никаких правил. Правила воплощаются в связях между элементами. В частности, интересны и хорошо изучены примеры систем, нацеленных на обучение компьютеров грамматике и демонстрирующих способность понимать и производить цепочки слов, соответствующих правилам английской грамматики – хотя никто никогда эти правила в данные системы не вводил. Можно научить компьютер вести себя так, как будто ему известен способ перевода глагола настоящего времени в глагол прошедшего (добавив «…ed» в конце), не загружая в него непосредственно эту информацию. Такие программы как бы следуют грамматическим правилам – хотя правила эти никоим образом в подобных программах не присутствуют.
В каждом из описанных случаев исследователи использовали для обучения системы сырой материал (вводные данные). Ни разу системе не сообщалось, что искать и что делать. Система самостоятельно узнавала то, чего не знал (или в принципе не мог знать) обучающий и что он, соответственно, не мог запрограммировать. Для ученых, исследующих когнитивные процессы, способность вычислительных систем использовать предоставленный людьми опыт и на его основе учиться распознавать паттерны является главным доказательством того, что интеллект работает подобным же образом. Поэтому вычислительные системы, помимо решения практических проблем, используются в качестве моделей работы человеческого разума.
Мы согласны с такой постановкой вопроса. Это именно тот тип мыслительных процессов, который нужен, чтобы опыт, приобретенный путем проб и ошибок, сделал нас способными принимать мудрые решения.