Вторая сеть оценивает эти возможные ходы и в качестве выхода дает число: оценку вероятности победы. Эта сеть постоянно играет против самой себя, чтобы генерировать новые партии и самосовершенствоваться. Сюда же встраивается компонент случайности: вместо того чтобы все время делать самые вероятные человеческие ходы, машина их несколько варьирует. В большинстве своем такие ходы оказываются глупыми и неудачными, и эти варианты в конце концов отбрасываются, но в миллионах партий, которые программа разыгрывает против себя, открываются ходы и тактики, которые никогда не использовались людьми. В реальном поединке используются обе сети с их поисковыми стратегиями, к которым в конце добавляются и человеческие знания об игре, чтобы ограничить число возможных ходов и соблюсти необходимый темп игры.
Обучение в нейронных сетях работает так, чтобы нейроны действовали на разных уровнях. В каждом случае они сохраняют вводные значения некоторого числа нейронов на предыдущих уровнях. Вначале они не знают, что означают эти величины, и поэтому необходима тренировка сети. В каждом упражнении непременно содержится результат, то есть игра заканчивается либо выигрышем, либо проигрышем. При этом взвешивается каждый вводный сигнал, и эта оценка изменяется и уточняется при каждом прохождении. Насколько точно функционируют нейронные сети при игре в го, можно с большим трудом продемонстрировать на 13 уровнях при великом множестве вариантов. Тем более трудно это сделать на маленьком примере, но мы все же попытаемся.
Допустим, нейронной сети надо научиться решать, может ли автомобиль проехать на сигнал светофора или нет. Входных сигналов три – красный, желтый, зеленый. Каждый сигнал имеет два значения – либо 1 (горит), либо 0 (не горит).
На следующем уровне расположены два нейрона, каждый из которых получает один входной сигнал от всех трех источников света. Эти нейроны передают сигнал дальше только в том случае, если сумма входов равна по меньшей мере единице. Верхний сигнал означает: «Проезд запрещен», а нижний сигнал: «Проезд разрешен». Важно здесь следующее: теоретически нейроны могут сообщить об обоих исходах. Сеть не знает, какой из них правильный, а какой – нет.
В примере со светофором верхний нейрон второго уровня быстро обучается тому, что ему нужен только верхний красный сигнал. Если сигнал выдается сверху, второй нейрон передает свой сигнал дальше. Если горит красный сигнал, то совершенно не важно, горит ли при этом желтый свет. В любом случае движение запрещено. Таким образом, вход «красный свет» принимает значение 1, а другие входы значение 0. Нижний же нейрон обучается тому, что внизу достаточно одного зеленого света. Если горит зеленый, то движение разрешено. Таким образом, этот вход тоже принимает значение 1. Дополнительно требуется также вход «желтый». Если горит только желтый, то автомобиль еще может ехать. Таким образом, желтый тоже принимает значение 1. Если же горят одновременно желтый и красный сигналы, то движение запрещается. Красный сигнал принимает значение 1. В нейроне происходит следующее: желтому приписывается значение 1, а красному –1. Один минус один равно нулю, то есть сигнал отсутствует. Таким способом в процессе обучения сеть находит правильные решения.
Борис Александрович Тураев , Борис Георгиевич Деревенский , Елена Качур , Мария Павловна Згурская , Энтони Холмс
Культурология / Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / История / Детская познавательная и развивающая литература / Словари, справочники / Образование и наука / Словари и Энциклопедии