Читать «Вычислительное мышление: Метод решения сложных задач» онлайн - страница 56
Питер Макоуэн
заберите М1 карт у игрока 1 и М2 карт у игрока 2».
Это значит, что, поскольку М1 равно 1 и М2 равно 0, мы забираем карту у игрока 1, но не забираем у игрока 2. Новое значение И1 — 5 (6 1), а И2 остается равно 4.
Забрав карту из стопки игрока 1, мы возвращаем его карты. Мы не забрали ни одной карты игрока 2. Машина начала учиться.
Теперь мы выбираем другое условие и пробуем еще раз. Экспериментируя с этим примером, вы вернетесь к (М1 М2) = (1 0), проходя через возможные вводные, и снова получите ошибку. И снова будет применено правило П2, и машина наберется еще немного опыта. На этот раз, когда карту убирают у И1, получается 4.
На этом этапе И1 = 4, И2 = 4, Д = 4. Итак, когда та же ситуация повторится снова, все получится, потому что в игре четыре карты игрока и четыре карты дома. Выход для (М1 М2) = (1 0) будет 0: «Двух монет НЕТ», а это нам и нужно. Вы также обнаружите, что случай (М1 М2) = (1 1) тоже дает верный результат. При этом условии конечное уменьшенное значение И1(4) + И2(4) = 8. У дома 4, а 8 4.
Наша машина научилась действовать правильно только благодаря игре и меняла карты, когда у нее не получалось. Правила игры — обучающий алгоритм.
Минус не помеха
Поэкспериментируйте с игрой сами. Вы обнаружите, что в какой-то момент придется применить все правила П1–П3 в зависимости от того, какие карты сданы в начале игры. Это поможет машине усвоить правильное поведение. Оно зависит от того, с чего вы начнете, и от порядка, в каком вы будете опускать монеты в щели (разные условия), но в конце концов даст результат. Если по правилам игры требуется взять карт больше, чем осталось у вас на руках, вы прибегаете к старой доброй «долговой расписке». Напишите записку c текстом «–1 карта» или «–2 карты» и продолжайте играть, проверяя, получите ли вы правильный ответ для каждого из условий. В конце останутся значения И1 и И2, которые будут соответствовать либо картам на руках, либо расписке, но игра все равно будет выучена.
Чем полезна игра с мозгом?
В этой игре вы создали самообучающийся модуль для мозга, чтобы вычислять логическую функцию «И». Он учится сообщать, есть ли монеты в щели 1 и в щели 2. Однако мы не программировали логическую функцию «И» — модуль сам научился ее вычислять. Использованный здесь принцип обучения основан на идее
Нейронная сеть имитирует (моделирует) вычислительные операции мозга на базовом уровне — это Миллиарды нервных клеток мозга, называемые можно рассматривать как простые устройства обработки данных. Они связаны с другими нейронами с помощью особых отростков и получают сигналы из других частей нейронного контура. Если сигнал, поступивший в часть клетки, называемую достаточно силен (превышает весовой порог нейрона), то этот нейрон отправляет сигнал к другим, соединенным с ним.
Наша настольная игра моделирует один-единственный нейрон. В роли вводных сигналов используются монеты. Мы хотим, чтобы сигнал проходил (выход 1), только если присутствуют оба вводных сигнала (например, в обеих щелях есть по монете). Карты на руках представляют собой нейронный вес. Это меняющиеся элементы нейрона, которые помогают ему учиться. Количество карт, сданных дому, действует как весовой порог нейрона. Сначала нейроны не знают, как складывать поступающие сигналы. Они включаются случайно, подобно случайному числу карт, сданных в начале игры. Нейронные веса могут находиться где угодно. Но как один нейрон-кирпичик поймет, что делает мозг в целом? Ему необходимо учиться — и это делается по тому же принципу, что и в нашей карточной игре. Нейроны получают сигнал, который сообщает, был выход верным или неверным (поэтому весь процесс называют ), и соответствующим образом меняют веса, укрепляя одни связи и ослабляя другие. При этом используются правила обучения, похожие на наши П1, П2 и П3. Веса, определяющие взаимосвязи, могут быть положительными (как карты на руках) или отрицательными (как «долговые расписки»).