Стохастические вычисления
Стохастические вычисления — это набор методов, которые представляют непрерывные значения потоками случайных битов. Затем сложные вычисления могут быть выполнены с помощью простых побитовых операций над потоками. Стохастические вычисления отличаются от изучения рандомизированных алгоритмов .
Мотивация и простой пример [ править ]
Предположим, что задано, и мы хотим вычислить . Стохастические вычисления выполняют эту операцию, используя вероятность вместо арифметики.
В частности, предположим, что существуют два случайных независимых потока битов, называемых стохастическим числом s (т. е. процессами Бернулли ), где вероятность единицы в первом потоке равна , а вероятность во втором потоке равна . Мы можем взять логическое И для двух потоков.
1 | 0 | 1 | 1 | 0 | 1 | ... | |
1 | 1 | 0 | 1 | 1 | 0 | ... | |
1 | 0 | 0 | 1 | 0 | 0 | ... |
Вероятность 1 в выходном потоке равна . Наблюдая за достаточным количеством выходных битов и измеряя частоту 1 с, можно оценить с произвольной точностью.
Приведенная выше операция преобразует довольно сложное вычисление (умножение и ) в серию очень простых операций (оценка ) на случайных битах.Взглянем на другую точку зрения, предполагая таблицу истинности вентиля И. Традиционная интерпретация заключается в том, что выходные данные истинны тогда и только тогда, когда входные данные A и B истинны. Однако если таблица интерпретируется вертикально, (0011) И (0101) равно (0001), т. е. 1/2 x 1/2 = 1/4, что является в точности арифметическим умножением. Поскольку информация представлена в виде распределения вероятностей, умножение вероятностей представляет собой буквально операцию «И».
А | Б | Вне |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
В более общем смысле, стохастические вычисления представляют числа как потоки случайных битов и восстанавливают числа путем вычисления частот. Вычисления выполняются над потоками и преобразуют сложные операции в потоки. и на простые операции над их потоковыми представлениями. (Из-за метода реконструкции устройства, выполняющие эти операции, иногда называют процессорами стохастического усреднения.) Говоря современным языком, стохастические вычисления можно рассматривать как интерпретацию вычислений в вероятностных терминах, которые затем оцениваются с помощью сэмплера Гиббса . Его также можно интерпретировать как гибридный аналого - цифровой компьютер.
История [ править ]
Стохастические вычисления были впервые представлены в новаторской работе Джона фон Неймана в 1953 году. [1] Однакотеория не могла быть полностью разработана до тех пор, пока не были достигнуты успехи в области вычислений в 1960-х годах. [2] [3] в основном благодаря серии одновременных и параллельных усилий в США [4] и Великобритания. [5] К концу 1960-х годов внимание было обращено на дизайн.специальное оборудование для выполнения стохастических вычислений. Хозяин [6] из этих машин были построены в период с 1969 по 1974 год; РАССЕЛЬ [7] изображено в этой статье.
Несмотря на большой интерес в 1960-х и 1970-х годах, стохастическая теориявычислительная техника в конечном итоге не смогла конкурировать с более традиционными цифровыми технологиями.логике по причинам, изложенным ниже. Первый (и последний)Международный симпозиум по стохастическим вычислениям [8] состоялся в 1978 году; активные исследования в этой области сократились в течение следующегонесколько лет.
Хотя стохастические вычисления пришли в упадок как общий методвычислений, он показал себя многообещающе в нескольких приложениях. Исследованиятрадиционно ориентированы на определенные задачи в области машинного обучения иконтроль. [9] [10] Сравнительно недавно интерес обратился к стохастику.декодирование, которое применяет стохастические вычисления для декодирования ошибокисправление кодов. [11] Совсем недавно стохастические схемы успешно использовались в задачах обработки изображений , таких как обнаружение краев. [12] и пороговая обработка изображений . [13] Недавние достижения в области стохастических схем также демонстрируют многообещающие преимущества в скорости и энергоэффективности при аппаратном ускорении искусственного интеллекта (ИИ) в периферийных вычислениях.
Сильные и слабые стороны [ править ]
Хотя стохастические вычисления потерпели историческую неудачу, они все еще могут оставаться актуальными длярешение определенных проблем. Чтобы понять, когда это остается актуальным, полезносравните стохастические вычисления с более традиционными методами цифровых вычислений.
Сильные стороны [ править ]
Предположим, мы хотим умножитьдва числа каждое с биты точности.Используя типичный длинный метод умножения , нам нужно выполнить операции. С помощью стохастических вычислений мы можемИ вместе любое количество битов и ожидаемое значение всегда будутбудь прав. (Однако при небольшом количестве выборок дисперсия будетделают фактический результат крайне неточным).
Более того, базовые операции цифрового умножителя полные сумматоры , тогда как стохастическийкомпьютеру требуется только И. логический элемент Кроме того,цифровой умножитель наивно потребовал бы входные провода,тогда как для стохастического умножителя потребуется только два входных провода [ нужна ссылка ] .(Однако если бы цифровой умножитель сериализовал свой выходной сигнал, он такжетребуется только два входных провода.)
Кроме того, стохастические вычисления устойчивы к шуму; если несколькобиты в потоке переворачиваются, эти ошибки не окажут существенного влиянияпо решению.
Более того, элементы стохастических вычислений могут допускать перекос во времени поступления входных данных.Схемы работают правильно, даже если входы временно не выровнены. В результате стохастическийсистемы могут быть спроектированы для работы с недорогими локально генерируемыми часами вместо использования глобальных часов и дорогая сеть распределения часов. [14]
Наконец, стохастические вычисления дают оценку решенияэто становится более точным по мере расширения битового потока. В частности,он очень быстро дает приблизительную оценку. Это свойство обычно называется прогрессивной точностью , что предполагает, что точностьстохастических чисел (битовых потоков) увеличивается по мере выполнения вычислений. [15] Как будто старшие биты числаприбыть раньше его младших битов ; в отличие отобычные арифметические схемы, в которых наиболеезначимые биты обычно приходят последними. В некоторыхитеративные системы: частичные решения, полученные за счет прогрессивной точности, могут обеспечить более быструю обратную связьчем с помощью традиционных вычислительных методов, что приводит к более быстромуконвергенция.
Слабые стороны [ править ]
Стохастические вычисления по своей природе случайны. Когда мы исследуемслучайный поток битов и попытаться восстановить основное значение, эффективную точностьможно измерить по дисперсии нашей выборки. В приведенном выше примере цифровой множительвычисляет число, чтобы немного точности, поэтомуточность . Если мы используем случайный битпоток, чтобы оценить число и получить стандартное отклонение нашегооценка решения должна быть не менее , мыпонадобится образцы. Это представляет собойэкспоненциальное увеличение работы. Однако в некоторых приложенияхможно использовать свойство прогрессивной точности стохастических вычисленийчтобы компенсировать эту экспоненциальную потерю.
Во-вторых, стохастические вычисления требуют метода генерации случайных чисел.смещенные потоки битов. На практике эти потоки генерируются с помощью генераторы псевдослучайных чисел . К сожалению, создание(псевдо)случайные биты являются довольно дорогостоящими (по сравнению с затратами нанапример, полный сумматор). Таким образом, преимущество на уровне воротстохастические вычисления обычно теряются.
В-третьих, анализ стохастических вычислений предполагает, что битпотоки независимы (некоррелированы). Если это предположение неИтак, стохастические вычисления могут привести к катастрофическому сбою. Например, если мыпопробуй вычислить путем умножения битового потока на сам по себе процесс терпит неудачу: поскольку , стохастическое вычисление даст , что в целом неверно (если только 0 или 1).В системах с обратной связью проблема декорреляции может проявляться вболее сложные способы. Системы стохастических процессоров склонны к фиксация , при которой обратная связь между различными компонентами может достигатьтупиковое состояние. [16] Придется приложить немало усилий, чтобы привязать систему кпопытайтесь устранить фиксацию.
В-четвертых, хотя некоторые цифровые функции имеют очень простой стохастическийаналоги (такие как перевод между умножением иИ ворота), многие этого не делают. Попытка выразить эти функции стохастическиможет вызвать различные патологии. Например, стохастическое декодирование требуетвычисление функции .Не существует однобитовой операции, которая могла бы вычислить эту функцию; обычное решениепредполагает создание коррелированных выходных битов, что, как мы видели выше, может привести кмасса проблем.
Другие функции (например, оператор усреднения требовать либо децимация потока, либо инфляция. Компромисс между точностью и памятьюможет быть сложной задачей.
Стохастическое декодирование
Хотя стохастические вычисления имеют ряд недостатков, если рассматриватькак метод общих вычислений, есть определенные приложениякоторые подчеркивают его сильные стороны. Один примечательный случай произошел вдекодирование некоторых кодов, исправляющих ошибки.
В разработках, не связанных со стохастическими вычислениями, высокоэффективнаметоды декодирования кодов LDPC с использованиемалгоритм распространения убеждений былразвитый. Распространение убеждений в этом контексте предполагает итеративный процесс.переоценка определенных параметров с использованием двух основных операций(по сути, вероятностная операция XOR и усреднениеоперация).
В 2003 году исследователи поняли, что эти две операции могут бытьмоделируется очень просто с помощью стохастических вычислений. [17] Более того, посколькуАлгоритм распространения убеждений является итеративным, стохастические вычисления обеспечивают частичнуюрешения, которые могут привести к более быстрой конвергенции.Аппаратные реализации стохастических декодеров построены на FPGA . [18] Сторонники этих методов утверждают, что производительность стохастического декодированияконкурировать с цифровыми альтернативами.
вычислений стохастических Детерминистические методы
Детерминированные методы SC были разработаны для выполнения абсолютно точных вычислений с использованием цепей SC. [19] Основной принцип этих методов заключается в том, что каждый бит одного битового потока взаимодействует с каждым битом другого битового потока ровно один раз. Чтобы получить полностью точный результат с помощью этих методов, операция должна выполняться для произведения длины входных битовых потоков. Детерминированные методы разрабатываются на основе унарных битовых потоков. [20] [21] псевдослучайные потоки битов, [22] и битовые потоки с низким расхождением. [23]
Варианты стохастических вычислений
Существует несколько вариантов базовых стохастических вычислений.парадигма. Дополнительную информацию можно найти в справочной книге по адресуМарс и Поппельбаум.
Пакетная обработка предполагает отправку фиксированного количествабиты вместо потока. Одним из преимуществ этого подхода являетсячто точность повышается. Чтобы понять почему, предположим, что мы передаем биты. В обычных стохастических вычислениях мы можемпредставляют собой точность примерно другойзначения из-за отклонения оценки. В комплектеобработки, мы можем представить точность .Однако обработка пакетов сохраняет ту же устойчивость к ошибкам, что ирегулярная стохастическая обработка.
Эргодическая обработка предполагает отправку потока пакетов, которыеотражает преимущества регулярной стохастической и пакетной обработки.
Пакетная обработка кодирует число по более высокой базе, увеличиваятранслировать. Например, мы бы закодировали число 4.3 десятью десятичными цифрами как
- 4444444555
поскольку среднее значение предыдущего потока равно 4,3. Этотпредставление дает различные преимущества: нет рандомизациипоскольку числа появляются в порядке возрастания,поэтому проблем с ГПСЧ можно избежать, но многие преимуществастохастические вычисления (например, частичные оценкирешение). Кроме того, он сохраняет линейную точность пакетаи эргодическая обработка.
См. также [ править ]
Ссылки [ править ]
- ^ фон Нейман, Дж. (1963). «Вероятностная логика и синтез надежных организмов из ненадежных компонентов». Собрание сочинений Джона фон Неймана . Макмиллан. ISBN 978-0-393-05169-8 .
- ^ Петрович Р.; Силяк, Д. (1962). «Умножение посредством совпадения» . АКТЕС Учеб. 3-го Межд. Аналоговый комп. Встреча .
- ^ Афусо, К. (1964), Кварт. Тех. Прог. Представитель , факультет компьютерных наук, Университет Иллинойса, Урбана, Иллинойс
{{citation}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - ^ Поппельбаум, В.; Афусо, К.; Эш, Дж. (1967). «Стохастические вычислительные элементы и системы». Материалы осенней совместной компьютерной конференции AFIPS '67 (осень) , состоявшейся 14–16 ноября 1967 г. Том. 31. С. 635–644. дои : 10.1145/1465611.1465696 . ISBN 9781450378963 . S2CID 8504153 .
- ^ Гейнс, Б. (1967). «Стохастические вычисления». Материалы весенней совместной компьютерной конференции AFIPS '67 (Весна), состоявшейся 18–20 апреля 1967 г. Том. 30. С. 149–156. дои : 10.1145/1465482.1465505 . ISBN 9781450378956 . S2CID 832296 .
- ^ Марс, П.; Поппельбаум, В. (1981). Стохастические и детерминированные усредняющие процессоры . П. Перегринус. ISBN 978-0-906048-44-3 .
- ^ Эш, Джон В. (1969). RASCEL, программируемый аналоговый компьютер, основанный на регулярном массиве логики стохастических вычислительных элементов (доктор философии). Университет Иллинойса, Урбана, Иллинойс. ААИ700084.
- ^ Материалы первого международного симпозиума по стохастическим вычислениям и их приложениям . Тулуза, Франция. 1978. OCLC 499229066 .
- ^ Гейнс, БР (2013) [1969]. «Стохастические вычислительные системы». В Тоу, Юлиус (ред.). Достижения в области науки об информационных системах . Том. 2. Спрингер. ISBN 9781489958433 .
- ^ ван Даален, М.; Дживонс, П.; Шоу-Тейлор, Дж. (1993). «Стохастическая нейронная архитектура, использующая динамически реконфигурируемые FPGA». [1993] Труды семинара IEEE по FPGA для специализированных вычислительных машин . стр. 202–211. дои : 10.1109/FPGA.1993.279462 . ISBN 0-8186-3890-7 . S2CID 14929278 .
- ^ Годе, Винсент; Рэпли, Энтони (февраль 2003 г.). «Итеративное декодирование с использованием стохастических вычислений». Электронные письма . 39 (3): 299–301. Бибкод : 2003ElL....39..299G . дои : 10.1049/эл:20030217 .
- ^ Алаги, А.; Ли, К.; Хейс, JP (2013). «Стохастические схемы для приложений обработки изображений в реальном времени». Материалы 50-й ежегодной конференции по автоматизации проектирования - DAC '13 . п. 1. дои : 10.1145/2463209.2488901 . ISBN 9781450320719 . S2CID 18174415 .
- ^ Наджафи, Миннесота; Салехи, Мэн (2016). «Быстрая отказоустойчивая архитектура для алгоритма порогового значения локального изображения Сауволы с использованием стохастических вычислений». Транзакции IEEE в системах очень большой интеграции (VLSI) . 24 (2): 808–812. дои : 10.1109/TVLSI.2015.2415932 . S2CID 6591306 .
- ^ Наджафи, Миннесота; Лиля, диджей; Ридель, доктор медицины; Базарган, К. (2016). «Полисинхронные стохастические схемы». 2016 21-я Азиатско-Тихоокеанская конференция по автоматизации проектирования (ASP-DAC) . стр. 492–498. дои : 10.1109/ASPDAC.2016.7428060 . ISBN 978-1-4673-9569-4 . S2CID 8973285 .
- ^ Алаги, А.; Хейс, JP (2013). «Обзор стохастических вычислений». Транзакции ACM во встроенных вычислительных системах . 12 (2 с): 1. CiteSeerX 10.1.1.296.4448 . дои : 10.1145/2465787.2465794 . S2CID 4689958 .
- ^ Уинстед, К.; Рэпли, А.; Годе, В.; Шлегель, К. (сентябрь 2005 г.). «Стохастические итеративные декодеры». Слушания. Международный симпозиум по теории информации, 2005 г. ISIT 2005 г. Аделаида Австралия. стр. 1116–1120. arXiv : cs/0501090 . дои : 10.1109/ISIT.2005.1523513 . ISBN 0-7803-9151-9 . S2CID 16390484 .
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - ^ Годе, Винсент; Рэпли, Энтони (февраль 2003 г.). «Итеративное декодирование с использованием стохастических вычислений». Электронные письма . 39 (3): 299–301. Бибкод : 2003ElL....39..299G . дои : 10.1049/эл:20030217 .
- ^ Гросс, В.; Годе, В.; Милнер, А. (2006). «Стохастическая реализация декодеров LDPC». Протокол конференции тридцать девятой асиломарской конференции по сигналам, системам и компьютерам .
- ^ Наджафи, М. Хасан; Дженсон, Девон; Лилья, Дэвид Дж.; Ридель, Марк Д. (декабрь 2019 г.). «Детерминированное выполнение стохастических вычислений» . Транзакции IEEE в системах очень большой интеграции (VLSI) . 27 (12): 2925–2938. дои : 10.1109/tvlsi.2019.2929354 . ISSN 1063-8210 . S2CID 201888463 .
- ^ Дженсон, Девон; Ридель, Марк (07 ноября 2016 г.). «Детерминистический подход к стохастическим вычислениям». Материалы 35-й Международной конференции по компьютерному проектированию . Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 1–8. дои : 10.1145/2966986.2966988 . ISBN 978-1-4503-4466-1 . S2CID 11281124 .
- ^ Наджафи, М. Хасан; Джамали-Заваре, Шива; Лилья, Дэвид Дж.; Ридель, Марк Д.; Базарган, Киа; Харджани, Рамеш (май 2017 г.). «Значения, закодированные во времени для высокоэффективных стохастических схем» . Транзакции IEEE в системах очень большой интеграции (VLSI) . 25 (5): 1644–1657. дои : 10.1109/tvlsi.2016.2645902 . ISSN 1063-8210 . S2CID 5672761 .
- ^ Наджафи, М. Хасан; Лилья, Дэвид (2018). «Высококачественная понижающая выборка для детерминированных подходов к стохастическим вычислениям» . Транзакции IEEE по новым темам вычислительной техники . 9 :7–14. дои : 10.1109/tetc.2017.2789243 . ISSN 2168-6750 .
- ^ Наджафи, М. Хасан; Лилья, Дэвид Дж.; Ридель, Марк (05.11.2018). «Детерминистические методы стохастических вычислений с использованием последовательностей с низким расхождением». Материалы международной конференции по компьютерному проектированию . Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 1–8. дои : 10.1145/3240765.3240797 . ISBN 978-1-4503-5950-4 . S2CID 53236540 .
Дальнейшее чтение [ править ]
- Гейнс, Брайан Р. (1967). «Методы идентификации с помощью стохастического компьютера» (PDF) . Материалы симпозиума МФБ «Проблемы идентификации в системах автоматического управления», Секция 6 «Специальные средства идентификации», Прага, 12–19 июня 1967 г. Проверено 11 ноября 2013 г.
- Алаги, Армин; Хейс, Джон П. (2013). «Обзор стохастических вычислений» (PDF) . Транзакции ACM во встроенных вычислительных системах . 12 (2с): 1–19. CiteSeerX 10.1.1.296.4448 . дои : 10.1145/2465787.2465794 . S2CID 4689958 . Проверено 11 ноября 2013 г.