Эволюция разума - Рэймонд Курцвейл
Шрифт:
Интервал:
Закладка:
Мои коллеги в компании Kurzweil Applied Intelligence весьма скептически отнеслись к этому плану, учитывая сходство этой модели с самоорганизующимися нейронными сетями, которые уже не были столь популярны и не помогли нам серьезно продвинуться в наших предыдущих исследованиях. Я же указывал, что связи в системе нейронных сетей являются фиксированными и не адаптируются к входным сигналам — веса адаптируются, а связи нет. В системе скрытых моделей Маркова — при условии, что она правильно подготовлена, — исчезают неиспользуемые связи и происходит адаптация.
Я организовал небольшой изолированный проект, функционировавший вне общего направления исследований. Над проектом трудился я сам, один программист, работавший неполный день, и один инженер-электрик (который должен был создать базу частотных фильтров). К огромному удивлению коллег, наш проект оказался весьма успешным и позволил создать систему, с высокой точностью распознающую речь из большого набора слов.
После этого все последующие системы распознавания речи строились на иерархических скрытых моделях Маркова. Другие исследовательские группы, по-видимому, обнаружили достоинства этой модели независимо, и начиная с середины 1980-х гг. именно этот подход лег в основу большинства автоматизированных систем распознавания речи. Скрытые модели Маркова используются и для создания речи: не забывайте, что иерархическая организация нашей биологической новой коры важна не только для распознавания входных сигналов, но и для создания выходных сигналов, таких как речь или движение.
ИСММ также используются в системах, понимающих смысл предложений на более сложном понятийном уровне иерархии.
Состояния в скрытой модели Маркова и возможные переходы, необходимые для создания последовательности слов в разговорной речи.
Чтобы понять, как работает метод ИСММ, начнем с рассмотрения сети, состоящей из всех возможных состояний и переходов. Здесь важнейшую роль играет описанный выше метод векторного квантования, поскольку без него пришлось бы рассматривать слишком большое число вариантов.
Цифровая кора — модель биологической коры Вот возможный вариант упрощения исходной топологии.
Простая скрытая модель Маркова для распознавания двух слов разговорной речи.
Образцы словосочетаний обрабатываются по очереди. В каждом случае мы многократно изменяем вероятность переходов, чтобы как можно лучше отразить только что обработанный входной сигнал. В системах распознавания речи модели Маркова описывают вероятность обнаружения специфического звукового образа в каждой фонеме, взаимное влияние фонем и вероятный порядок фонем. Кроме того, система может включать и такие более сложные языковые закономерности, как порядок слов, составление фраз и т. д.
Наши первые системы распознавания речи были основаны на специфических правилах, описывающих структуру фонем и предложений, составленных и закодированных лингвистами, но новым системам на основе ИСММ не нужно было объяснять, что в английском языке 44 фонемы, каковы последовательности вероятных векторов для каждой фонемы и что одни последовательности фонем встречаются чаще других. Мы предоставили системе возможность самостоятельно обнаружить эти «правила» в процессе тысяч часов обработки транскрибированной человеческой речи. Преимущество этого подхода, в отличие от тренировки модели на заранее заданных правилах, заключается в том, что система находит вероятностные закономерности, о которых лингвисты порой даже не подозревают. Мы обратили внимание на то, что правила, усвоенные системой в автоматическом режиме при обработке предоставленных ей данных, не очень сильно отличаются от правил, сформулированных экспертами, но эти отличия могут быть чрезвычайно важными.
После тренировки системы мы приступаем к распознаванию речи, рассматривая альтернативные пути и выбирая наиболее вероятный путь с учетом реальной последовательности входных векторов. Другими словами, если мы видим последовательность состояний, которая с большой вероятностью соответствует данному словосочетанию, мы делаем вывод, что данное словосочетание задается этой кортикальной последовательностью. Такая основанная на ИСММ новая кора содержала метки слов и потому была способна предложить транскрипцию того, что слышала.
Мы смогли усовершенствовать систему путем дальнейших тренировок. Как говорилось выше, на всех иерархических уровнях нашей биологической новой коры процессы распознавания и обучения тоже происходят одновременно.
Эволюционные (генетические) алгоритмы
Еще один важный аспект разработки программы заключается в том, чтобы найти способ установить все те многочисленные параметры, которые контролируют функционирование системы распознавания. Среди этих параметров — допустимое число векторов для этапа векторного квантования, исходная топология иерархических состояний (до того, как в процессе тренировки ИСММ ликвидирует неиспользуемые состояния), порог распознавания на каждом иерархическом уровне, параметры, определяющие величину сигналов, и многое другое. Мы можем использовать интуитивный подход, но результаты будут далеки от оптимальных.
Мы называем данные параметры «Божьими параметрами», поскольку они устанавливаются до включения самоорганизующегося метода определения топологии скрытых моделей Маркова (или, в случае биологической новой коры, до того как человек начинает заучивать урок путем создания связей между нейронами новой коры). Возможно, название неправильное, поскольку эти исходные данные, записанные в ДНК, определены ходом биологической эволюции, хотя некоторые усматривают в этом процессе божий промысел (я, безусловно, считаю эволюцию духовным процессом и обращусь к этой теме в девятой главе).
Когда мы начали устанавливать «Божьи параметры» при моделировании иерархических систем обучения и распознавания, мы опять-таки обратились к природе и попытались оценить их путем моделирования процесса эволюции. Мы использовали так называемые генетические (эволюционные) алгоритмы, основанные на моделировании полового размножения и мутаций.
Я опишу этот процесс в упрощенном виде. Сначала мы определяли способ кодирования возможных решений данной проблемы. Если проблема заключалась в оптимизации исходных параметров какой-то цепи, мы определяли список всех параметров (приписывая каждому специфический объем информации (число битов)) этой цепи. Этот список является своеобразным генетическим кодом генетического алгоритма. Мы случайным образом создавали тысячи и более таких генетических кодов. Каждый код (который представляет собой один набор исходных параметров) рассматривается в качестве модельного организма («решения»).
Далее мы оценивали каждый модельный организм в модельной среде, используя описанный метод определения каждого набора параметров. Эта оценка — ключ к успеху генетического алгоритма. В нашем примере мы проверяли все программы, созданные на основе наших параметров, и оценивали их по определенным критериям (решена ли задача, как быстро она решается и т. д.). Лучшим организмам (лучшим «решениям») разрешалось выжить, а остальные были элиминированы.
Далее мы заставляли выжившие организмы размножаться до определенной численности «особей». Для этого мы имитировали половое размножение: иными словами, мы создавали потомство, в котором каждая особь наследовала одну часть генетического кода от одного родителя, а другую — от другого. Обычно в нашей системе нет никакой разницы между женскими и мужскими организмами, потомство может давать любая пара условных родителей, так что речь фактически идет об однополых браках. В этой связи данный процесс не столь интересен, как в природе. Для нас было важно только наличие двух родителей. По мере размножения наших модельных организмов мы допускали появление в их хромосомах случайных мутаций (изменений).
Итак, мы описали появление одного поколения модельных организмов. Далее мы повторяли все те же процессы для каждого следующего поколения: определяли, насколько улучшился дизайн (то есть рассчитывали среднее улучшение оценки для всех выживших организмов). Когда результаты оценки организмов из двух последовательных поколений практически переставали улучшаться, мы останавливали цикл и использовали лучшие образцы из последнего поколения[99].
Суть генетического алгоритма (ГА) заключается в том, что создатели программы не программируют решение, а позволяют ему сформироваться в результате многократных имитаций конкуренции и улучшений. Биологическая эволюция — процесс умный, но медленный, и мы попытались этот медленный процесс ускорить. Компьютер действует достаточно быстро, чтобы имитировать смену множества поколений за несколько часов или дней, а наши эксперименты длились несколько недель, так что мы могли наблюдать смену сотен тысяч поколений. Но этот многократно повторяющийся процесс мы должны были воспроизвести лишь однажды. Как только мы запустили процесс искусственной эволюции, достаточно быстро смогли применить полученные усовершенствованные правила к решению реальных проблем. В нашей системе распознавания речи мы использовали их для обнаружения исходной топологии сети и других критических параметров. Итак, мы использовали две самоорганизующиеся системы: ГА для симуляции биологической эволюции, что позволило определить специфический дизайн коры, и ИСММ для симуляции организации коры, определяющей процесс обучения у человека.