Разное

Округление матлаб: Круглое число в Matlab | Delft Stack

режимов округления для блоков Simulink с фиксированной точкой — MATLAB & Simulink

Режимы округления для блоков Simulink с фиксированной точкой

Блоки Simulink с фиксированной точкой ® поддерживают режимы округления, показанные в расширенном раскрывающееся меню следующего диалогового окна.

Режимы округления Fixed-Point Designer

Чтобы предоставить вам большую гибкость в выборе компромисса между стоимостью и погрешностью, продукт Fixed-Point Designer™ в настоящее время поддерживает следующие методы округления:

Режим округления Fixed-Point Designer Описание Обработка связей Стоимость Смещение
Потолок Округление до ближайшего представимого номер в сторону положительная бесконечность.
Н/Д Низкий Большой положительный
Конвергентный Округляет до ближайшего представимого числа. Ничьи округляются до ближайшего четного числа. Высокий Беспристрастный
Этаж Округляет до ближайшего представимого числа в направлении отрицательная бесконечность. Эквивалентно усечению дополнения до двух. Н/Д Младший Большой отрицательный
Ближайший Округляет до ближайшего представимого числа. Связи округляются до ближайшего представимого числа в направлении положительной бесконечности. Умеренная Малая положительная
Округление Округление до ближайшего представимого числа.
  • Для положительных чисел ничьи округляются до ближайшего представимое число в положительном направлении бесконечность.

  • Для отрицательных чисел равенство округляется до ближайшего представимое число в отрицательном направлении бесконечность.

Высокий
  • Маленький негатив для отрицательных образцов

  • Беспристрастный для образцов с равномерно распределенными положительными и отрицательные значения

  • Маленький положительный результат для положительных образцов

Самый простой
(только Simulink)
Автоматический выбор между
Этаж
и Zero для создания сгенерированного кода, максимально эффективным.
Н/Д Младший Зависит от операции
Ноль Округление до ближайшего представимого числа в направлении нуль. Н/Д Низкий
  • Большой положительный для отрицательных образцов

  • Беспристрастный для образцов с равномерно распределенными положительными и отрицательные значения

  • Большой отрицательный для положительных образцов

Связанные темы

  • Округление
  • Диапазон и точность

Вы щелкнули ссылку, соответствующую этой команде MATLAB:

Запустите команду, введя ее в командном окне MATLAB. Веб-браузеры не поддерживают команды MATLAB.

Что такое стохастическое округление? – Ник Хайам

В арифметике с конечной точностью результат элементарной арифметической операции обычно не лежит в базовой системе счисления, поэтому он должен быть преобразован обратно в процесс, называемый округлением. Наиболее распространенный выбор — округление до ближайшего, при этом выбирается ближайшее число к заданному числу; это значение по умолчанию в стандартной арифметике с плавающей запятой IEEE.

Округление до ближайшего является детерминированным: при одном и том же числе всегда получается один и тот же результат. Барнс, Кук-Ярборо и Томас (1951), Форист (1959) и Халл и Свенсон (1966) предложили форму округления, которая случайным образом округляется до следующего большего или следующего меньшего числа. Теперь оно называется стохастическим округлением и бывает двух видов. Первая форма округляет в большую или меньшую сторону с равной вероятностью.

Здесь мы сосредоточимся на второй форме стохастического округления, которая более интересна. Чтобы описать это, пусть будет заданное число, а пусть и с — соседние числа, которые являются кандидатами на результат округления. На следующей диаграмме показана ситуация, когда лежит сразу за промежуточной точкой между и :

Округляем до с вероятностью и вниз до с вероятностью ; обратите внимание, что сумма этих вероятностей равна . Вероятность округления до и пропорциональна единице минус относительное расстояние от до каждого числа.

Если при стохастическом округлении выбрано округление до на диаграмме, это означает большую ошибку, чем округление до ближайшего, которое округляет до . Действительно, если мы сосредоточимся на арифметике с плавающей запятой, то результат округления будет

, где округление единицы. Для округления до ближайшего тот же результат верен с меньшей границей. Кроме того, некоторые результаты, которые справедливы для округления до ближайшего, такие как и , могут не сработать при стохастическом округлении. В чем тогда преимущество стохастического округления?

Нетрудно показать, что ожидаемое значение результата стохастического округления равно самому себе (это очевидно, например, если ), поэтому ожидаемая ошибка равна нулю. Следовательно, стохастическое округление сохраняет в статистическом смысле часть информации, которая отбрасывается детерминистической схемой округления. Это свойство приводит к некоторым важным преимуществам, как мы сейчас объясним.

В определенных ситуациях округление до ближайшего приводит к коррелированным ошибкам округления, которые вызывают рост систематических ошибок. Это может произойти, когда мы формируем скалярное произведение двух длинных векторов и неотрицательных элементов. Если все элементы лежат на , то, очевидно, частичная сумма может монотонно расти по мере накопления все новых и новых слагаемых, пока в какой-то момент все оставшиеся слагаемые не «слетят с конца» вычисляемой суммы и не изменят ее — сумма застопорится. Это явление наблюдали и анализировали Хаски и Хартри еще в 1949 в решении дифференциальных уравнений на ENIAC. Стохастическое округление позволяет избежать стагнации за счет округления в большую, а не в меньшую сторону. На следующем рисунке приведен пример. Здесь и — векторы, выбранные из равномерного распределения, внутренний продукт вычисляется в стандартной арифметике с плавающей запятой половинной точности IEEE (), а обратные ошибки строятся для увеличения . Приблизительно от , ошибки для стохастического округления (SR, оранжевым цветом) меньше, чем для округления до ближайшего (RTN, синего цвета), последнее быстро достигает 1,

Цифра объясняется недавними результатами Connolly, Higham, and Mary (2020). Ключевым свойством является то, что ошибки округления, возникающие при стохастическом округлении, не зависят от среднего (более слабая версия независимости). Как следствие, можно показать, что граница ошибки, пропорциональная , сохраняется с высокой вероятностью. С округлением до ближайшего мы имеем только обычную границу ошибки для наихудшего случая, которая пропорциональна . На рисунке выше сплошная черная линия представляет собой стандартную обратную границу ошибки, а пунктирная черная линия — это . В этом примере ошибка с округлением до ближайшего не ограничена кратным , так как синяя кривая пересекает пунктирную черную. Основная причина заключается в том, что ошибки округления для округления до ближайшего коррелированы (все они отрицательны после определенной точки в сумме), тогда как ошибки для стохастического округления некоррелированы.

Другое примечательное свойство стохастического округления состоит в том, что ожидаемое значение вычисленного внутреннего продукта равно точному внутреннему продукту. То же самое в более общем смысле верно для произведений матрица-вектор и матрица-матрица, а также для решения треугольных систем.

Стохастическое округление оказывается популярным при обучении нейронных сетей и выводе, когда используется арифметика с низкой точностью, поскольку оно позволяет избежать стагнации.

Эффективно реализовать стохастическое округление не так просто, поскольку определение включает в себя как случайное число, так и точное значение результата, который мы пытаемся вычислить. Возможности включают изменение низкоуровневых арифметических процедур (Hopkins et al., 2020) и использование расширенных операций в последней версии стандартной арифметики с плавающей запятой IEEE (Fasi and Mikaitis, 2020).

Становится доступным оборудование, поддерживающее стохастическое округление, включая нейроморфный чип Intel Lohi, процессор Graphcore Intelligence (предназначенный для ускорения машинного обучения) и чип SpiNNaker2.

Стохастическое округление можно выполнить в MATLAB с помощью функции отсечения, написанной мной и Шрикарой Пранешем. Эта функция предназначена скорее для экспериментов, чем для эффективных вычислений.

Ссылки

Это минимальный набор ссылок, который содержит дополнительные полезные ссылки внутри.

  • Р. К. М. Барнс, Э. Х. Кук-Ярборо и Д. Г. А. Томас, Электронный цифровой компьютер, использующий счетные трубки с холодным катодом для хранения, Electronic Eng. 23, 286–291, 1951.
  • Майкл П. Коннолли, Николас Дж. Хайэм и Тео Мэри, Стохастическое округление и его вероятностный анализ обратных ошибок, MIMS EPrint 2020.12, Манчестерский университет, Великобритания, апрель 2020 г.
  • Массимилиано Фази и Мантас Микаитис, Алгоритмы для стохастически округленных элементарных арифметических операций в арифметике с плавающей запятой IEEE 754, MIMS EPrint 2020.9, Манчестерский университет, Великобритания, февраль 2020 г.
  • Джордж Форсайт, Перепечатка заметки об ошибках округления, SIAM Rev. 1(1), 66–67, 1959.
  • Суйог Гупта и Анкур Агравал, Кайлаш Гопалакришнан и Притиш Нараянан, Глубокое обучение с ограниченной числовой точностью, в материалах 32-й Международной конференции по машинному обучению — том 37, ICML’15, JMLR.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *