Читать «Вычислительное мышление: Метод решения сложных задач» онлайн - страница 58
Питер Макоуэн
Логические вентили группируются в компоненты, которые делают более сложные операции — например, складывают и умножают, перемещают данные из точки в точку. Эти функции обеспечивают еще более высокий уровень Конструктору больше не нужно думать о логических вентилях, он может рассуждать в терминах этих изощренных функций. Вообще, создатели микросхем используют много уровней , переходя все выше по мере того, как усложняется дизайн. Если посмотреть на это с другой стороны, можно увидеть здесь пример Чтобы создать вычислительное устройство, нам нужны суммирующие и множащие элементы — и так далее. Но как сделать суммирующий элемент? Для этого необходимы логические вентили. Как их сделать? Из транзисторов. Современные микросхемы сложнее, чем дорожная сеть всей планеты. Чтобы их сконструировать, необходимо использовать вычислительное мышление в грандиозных масштабах.
Логические вентили не обязательно делать из транзисторов. Как мы видели, их можно создать из простых нейронных контуров. Если заменить логические вентили на основе транзисторов эквивалентами на основе нейронов, результат будет аналогичным. Исследователи в лабораториях электроники и вычислительной техники по всему миру исследуют возможности биокомпьютинга. Например, они наблюдают, как меняется пульсация в нейронных контурах с течением времени, и размышляют, как учесть это в быстрообучающихся кремниевых или германиевых микросхемах. работает в обе стороны. Оно не только позволяет заниматься научными исследованиями — порой алгоритмические версии природных процессов помогают найти новые способы работы компьютеров.
Наша простая схема подсчета монет, которая учится правильно выполнять задачу с нуля, делает тривиальные операции. Но если такую схему объединить с миллионами похожих для совместной работы, можно создать огромную вычислительную армию. Конечно, самое сложное — запрограммировать ее. Нужно разработать необходимое программное обеспечение, и все они будут вместе работать над общей целью.
Играем в «Снап!» с нейронной сетью
Не так просто, как кажется
Наша игра с проверкой монет была не слишком интересной. Давайте сыграем в настоящую игру — например, «Снап!». Если две карты совпадают, кричите «Снап!». Если они разные, молчите. Чтобы упростить процесс, будем считать, что у нас есть только красные и черные карты. Получится ли создать нейронную сеть, чтобы сыграть в эту игру?
Давайте разберем, как именно наша нейронная сеть будет определять совпадение цветов. Пусть 1 означает карту красного цвета, а 0 — черного. Красный–красный (1, 1) или черный–черный (0, 0) — это «Снап!», красный–черный (1, 0) или черный–красный (0, 1) — нет. Процесс похож на проверку монет с помощью И, но не так прост в освоении.
Цветной «Снап!» — это пример использования функции . Она немного похоже на функцию И, но активизируется, только если на входе (1, 0) или (0, 1), — и ни в каких иных случаях. Функция активизируется, только если истине соответствует один сигнал (то есть один сигнал равен 1), но не оба, как на рис. 48.