3.9. Алгоритмы обучения
К оглавлению1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1617 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60 61 62
Дабы не подвергать читателя искушению чересчур поспешно смириться с абсурдностью описанной выше возможности, я должен несколько прояснить картину, на что мне уже, несомненно, указывают сторонники вычислительного подхода. Как уже отмечалось вэти самые сторонники имеют в виду не столько алгоритм, который, в известном смысле, «предварительно запрограммирован» на предоставление решений математических проблем, сколько некую вычислительную систему, способную обучаться. Такая система может состоять, в основе своей, из «воеходящих» компонентов, соединенных по мере необходимости с какими-либо «нисходящими» процедурами (см. § 1.5).
Возможно, кому-то покажется, что называть «нисходящей» систему, возникшую исключительно в результате слепого давления естественного отбора, не совсем уместно. Этим термином я буду обозначать здесь те аспекты нашей гипотетической алгоритмической процедуры, которые для данного организма зафиксированы генетически и не подвержены изменению под влиянием последующего жизненного опыта или обучения каждого отдельного представителя вида. Хотя упомянутые нисходящие аспекты и не были созданы кем-то или чем-то, обладающим подлинным «знанием» об их предполагаемых функциях и возможностях (речь идет всего лишь о трансляции определенных цепочек ДНК, приводящей к соответствующей активности клеток мозга), они, тем не менее, способны четко обозначить правила, в соответствии с которыми и будет действовать математически активный мозг. Эти нисходящие процедуры снабдят нашу систему теми алгоритмическими операциями, которые составят необходимую фиксированную структуру, в рамках которой, в свою очередь, будут функционировать более гибкие «процедуры обучения» (восходящие).
Какова же природа этих процедур обучения? Вообразим, что наша самообучающаяся система помещена в некоторое внешнее окружение, причем поведение системы внутри этого окружения непрерывно модифицируется под влиянием реакции окружения на ее предыдущие действия. В процессе участвуют, в основном, два фактора. Внешним фактором является поведение окружения и его реакция на действия системы, а внутренним — изменения в поведении системы в ответ на изменения в окружении. Прежде всего следует решить вопрос об алгоритмической природе внешнего фактора. Может ли реакция внешнего окружения вносить в общую картину некую неалгоритмическую составляющую, если внутреннее устройство нашей системы обучения является целиком и полностью алгоритмическим?
В определенных обстоятельствах (как, например, часто бывает при «обучении» искусственных нейронных сетей) реакция внешнего окружения заключается в изменении поведения экспериментатора (инструктора, преподавателя — в дальнейшем предлагаю называть его просто «учителем»), изменении намеренном и предпринимаемом с целью улучшить качество функционирования системы. Когда система функционирует так, как требует учитель, ей об этом сообщают с тем, чтобы в дальнейшем (под воздействием внутренних механизмов модификации поведения системы) она с большей вероятностью функционировала бы именно таким образом. Предположим, например, что у нас имеется искусственная нейронная сеть, которую необходимо научить распознавать человеческие лица. Мы непрерывно наблюдаем за функционированием нашей системы и после каждого рабочего цикла снабжаем ее данными о правильности ее последних «догадок» для того, чтобы она могла улучшить качество своей работы, модифицировав нужным образом внутреннюю структуру. На практике, за адекватностью результатов каждого рабочего цикла совсем не обязательно должен наблюдать учитель-человек, так как процедуру обучения можно в значительной степени автоматизировать. В описанной ситуации цели и суждения учителя-человека образуют наивысший критерий качества функционирования системы. В других ситуациях реакция окружения может оказаться не столь «преднамеренной». Например, в процессе развития живых систем — предполагается, что эти системы все же функционируют в соответствии с некоторой нейронной схемой (или иной алгоритмической процедурой, например, генетическим алгоритмом, см. §3.7), вроде тех, что применяются в численном моделировании — в подобных внешних целях или суждениях вообще не возникает необходимости. Вместо этого, живые системы модифицируют свое поведение в процессе, который можно рассматривать как своего рода естественный отбор, действуя согласно критериям, эволюционировавшим на протяжении многих лет и способствующим увеличению шансов на выживание как самой системы, так и ее потомства.
Дабы не подвергать читателя искушению чересчур поспешно смириться с абсурдностью описанной выше возможности, я должен несколько прояснить картину, на что мне уже, несомненно, указывают сторонники вычислительного подхода. Как уже отмечалось вэти самые сторонники имеют в виду не столько алгоритм, который, в известном смысле, «предварительно запрограммирован» на предоставление решений математических проблем, сколько некую вычислительную систему, способную обучаться. Такая система может состоять, в основе своей, из «воеходящих» компонентов, соединенных по мере необходимости с какими-либо «нисходящими» процедурами (см. § 1.5).
Возможно, кому-то покажется, что называть «нисходящей» систему, возникшую исключительно в результате слепого давления естественного отбора, не совсем уместно. Этим термином я буду обозначать здесь те аспекты нашей гипотетической алгоритмической процедуры, которые для данного организма зафиксированы генетически и не подвержены изменению под влиянием последующего жизненного опыта или обучения каждого отдельного представителя вида. Хотя упомянутые нисходящие аспекты и не были созданы кем-то или чем-то, обладающим подлинным «знанием» об их предполагаемых функциях и возможностях (речь идет всего лишь о трансляции определенных цепочек ДНК, приводящей к соответствующей активности клеток мозга), они, тем не менее, способны четко обозначить правила, в соответствии с которыми и будет действовать математически активный мозг. Эти нисходящие процедуры снабдят нашу систему теми алгоритмическими операциями, которые составят необходимую фиксированную структуру, в рамках которой, в свою очередь, будут функционировать более гибкие «процедуры обучения» (восходящие).
Какова же природа этих процедур обучения? Вообразим, что наша самообучающаяся система помещена в некоторое внешнее окружение, причем поведение системы внутри этого окружения непрерывно модифицируется под влиянием реакции окружения на ее предыдущие действия. В процессе участвуют, в основном, два фактора. Внешним фактором является поведение окружения и его реакция на действия системы, а внутренним — изменения в поведении системы в ответ на изменения в окружении. Прежде всего следует решить вопрос об алгоритмической природе внешнего фактора. Может ли реакция внешнего окружения вносить в общую картину некую неалгоритмическую составляющую, если внутреннее устройство нашей системы обучения является целиком и полностью алгоритмическим?
В определенных обстоятельствах (как, например, часто бывает при «обучении» искусственных нейронных сетей) реакция внешнего окружения заключается в изменении поведения экспериментатора (инструктора, преподавателя — в дальнейшем предлагаю называть его просто «учителем»), изменении намеренном и предпринимаемом с целью улучшить качество функционирования системы. Когда система функционирует так, как требует учитель, ей об этом сообщают с тем, чтобы в дальнейшем (под воздействием внутренних механизмов модификации поведения системы) она с большей вероятностью функционировала бы именно таким образом. Предположим, например, что у нас имеется искусственная нейронная сеть, которую необходимо научить распознавать человеческие лица. Мы непрерывно наблюдаем за функционированием нашей системы и после каждого рабочего цикла снабжаем ее данными о правильности ее последних «догадок» для того, чтобы она могла улучшить качество своей работы, модифицировав нужным образом внутреннюю структуру. На практике, за адекватностью результатов каждого рабочего цикла совсем не обязательно должен наблюдать учитель-человек, так как процедуру обучения можно в значительной степени автоматизировать. В описанной ситуации цели и суждения учителя-человека образуют наивысший критерий качества функционирования системы. В других ситуациях реакция окружения может оказаться не столь «преднамеренной». Например, в процессе развития живых систем — предполагается, что эти системы все же функционируют в соответствии с некоторой нейронной схемой (или иной алгоритмической процедурой, например, генетическим алгоритмом, см. §3.7), вроде тех, что применяются в численном моделировании — в подобных внешних целях или суждениях вообще не возникает необходимости. Вместо этого, живые системы модифицируют свое поведение в процессе, который можно рассматривать как своего рода естественный отбор, действуя согласно критериям, эволюционировавшим на протяжении многих лет и способствующим увеличению шансов на выживание как самой системы, так и ее потомства.