29 ноября 2016
Большинство из нас связывает развитие информационных технологий с цифровой революцией. Появление микропроцессоров, конечно, вывело электронику на принципиально новый уровень. Уже гонки за обладание самым мощным суперкомьютером потеряли свой научный шарм — терафлопсы прямо зависят от количества денег и свободного места. Докупай серверов и увеличивай вычислительную емкость.
Еще со времен университета меня преследует мысль, что до цифровой эпохи развивалось направление аналоговых компьютеров.
Аналоговый компьютер — это устройство, выполняющее вычислительные задачи, оперируя не дискретными, а непрерывными данными. Бит — это дискретная величина, единица или нолик. Ток, напряжение, давление, температура, яркость, сила — этот список можно продолжать долго — есть величины непрерывные, то есть их точное значение измерить нельзя в принципе, все ограничивается точностью измерительного прибора.
Если идеальной средой для цифровой техники является обработка цифровых данных, то идеальной средой для аналогового компьютера по логике должна стать обработка данных реального мира — изображение или звук, например. Но по какой-то, непонятной мне причине, эта область знаний практически заброшена. Вероятно, ответом являются какие-то непреодолимые сложности, возможно, что-то еще, но за последние лет десять в этом направлении нет практически никаких сдвигов.
Чаще всего под аналоговыми компьютерами понимают чисто гидравлические или механические устройства, преобразующие входной сигнал в выходной по конструктивно запрограммированной функции — как тот же позограф Кауфманна, определяющий наиболее удачную экспозицию при съемке, или антикитерский механизм, предсказывающий положение планет и солнца.
Классическим примером современного аналогового компьютера является автоматическая автомобильная трансмиссия. При изменении вращающего момента меняется и давление жидкости в гидроприводе, причем характер этой «функции» можно менять конструктивно.
Но такие примеры в 21 веке уже и приводить неприлично. Наука ушла так далеко вперед, что реализация простейшей функции должна была заслуженно остаться в середине прошлого века. Но почему-то не пришло ничего взамен.
Мне хотелось бы поднять вопрос об автоматических электронных устройствах, решающих задачи обработки сигналов реального мира без их оцифровки. Ну или получить убедительный ответ, почему на данном этапе развития цивилизации таких примеров нет.
Вот смотрите — с одной стороны, почти все интерфейсы к реальному миру у нас аналоговые: микрофон, веб-камера, мышь. На пути от физических явлений (сдвинули мышь, произвели звук или включили свет) до зафиксированных компьютером сигнал проходит через АЦП — аналого-цифровой преобразователь, где аналоговый сигнал оцифровывается. В итоге мы «огрубляем» исходный сигнал до приемлемого уровня. И как ни крути, серьезно обрабатывать видео высокого качества в реальном времени у нас пока получается не очень хорошо (например, распознавать на нем объекты).
Если задуматься, то цифровая обработка сигналов практически не имеет аналогов в природе, в отличие от практически всего остального, что изобрело человечество. Любой живой организм устроен иначе — это исключительно аналоговый компьютер. Здесь и химические реакции, и нейроны работают с непрерывными физическими параметрами, а никак не с «цифрой». При совпадении некоторых шаблонов с тем, что мы получаем из реального мира, мозг фиксирует «всплески», цепляясь за которые, корректирует направление воспоминаний и прошлого опыта, дает команду нашим органам чувств вслушаться или всмотреться в какие-то ключевые детали.
Все это было бы невозможно, имей мозг цифровую природу. Но как все это воплощать в технике?
Проводя аналогию с битовыми операциями, любые непрерывные физически величины поддаются сложению, вычитанию, делению или умножению. Но что более интересно, существуют решения, позволяющие выполнять функции интегрирования и дифференцирования с аналоговыми сигналами. Этими сигналами может служить лазер в оптических компьютерах или информация о яркости отдельных частей пространства. Некий процессор мог бы накладывать двумерное или трехмерное поле шаблона на двухмерное или трехмерное поле проекции реального мира, найдя всплеск, резонанс при их наложении, более точно анализировать найденную конфигурацию, пока не будет достигнут нужный порог определенности.
В итоге целый класс задач, связанный с принятием решений, распознаванием образов, звуков, да и любым взаимодействием с внешним миром, должен иметь очень эффективную реализацию с использованием аналоговой логики за счет запараллеливания вычислений.
Решение задач обработки данных из реального мира цифровым способом напоминает забивание гвоздей микроскопом. Чтобы перевернуть картинку, мы скорее используем обычную линзу, чем сделаем похожую операцию над оцифрованной копией. Сколько бы стоили наушники, если бы систему шумоподавления делать через связку АЦП-процессор-ЦАП?
Я думаю, что следующий большой шаг в электронике — квантовые, аналоговые системы, системы, построенные на принципах нейронных сетей и не с цифровой природой в своей основе. Это должна быть уже значительно «продвинутая» аналоговая техника, специализирующаяся под конкретную задачу. Нужно уходить от модели анализа «скриншотов» к модели «живого изображения», от дискретности к непрервыности.
Новых разработок в этой области крайне мало.
Одной из очень интересных, но очень плохо освещенных в рунете, являются технологии,
построенные по принципу Cellular Neural Networks. Архитектура таких систем напоминает нейронную сеть, в которой каждая ячейка является самостоятельным элементом состояния, информационно связанным с несколькими соседями. Коммерческие решения по анализу изображений в реальном времени с использованием CNN представляют, например, Anafocusи Eutecus.Последняя, например, на своем сайте утверждает, что ее системы работают на скоростях уровня 10^12 операций в секунду. Схожую производительность показывает Lenslet enlight256 — оптический процессор, построенный уже на другом принципе, VCSEL-лазерах.
Также понятно, что для полноценных систем принятия решений, в роботизированных системах управления, требуется больше информации о мире или исследуемом предмете, чем дает обычная камера. Посмотрите на природу — тут и запахи, и яркость, и температура, и звук — все дополняет друг друга. Да и стереозрение и возможность посмотреть на мир с разных точек играет немалую роль в понимании того, что происходит вокруг вас. Это все означает, что количество информации, которую нужно будет обрабатывать нечеткой логикой, будет просто огромно. И недоразвитость систем распознавания речи или образов сейчас связано именно с тем, что все они получают на вход очень ограниченную информацию, с массой потерь, искажений или шума. А большой объем информации обрабатывать просто нечем.
Хочется надеяться, что в ближайшие десять-двадцать лет мы не будем тупо умножать количество процессоров, частоты, пытаться создавать системы на базе жуткой сцепки АЦП-процессор-ЦАП там, где можно оставить только центральный элемент, но сделать его принципиально другим, более подходящим решению задачи.