Приближенное вычисление - это метод вычислений, который возвращает возможно неточный результат, а не гарантированно точный результат, и может использоваться для приложений, в которых приблизительный результат достаточен для его цели. Один экзамен Такая ситуация характерна для поисковой системы, где не может существовать точного ответа на определенный поисковый запрос, и, следовательно, многие ответы могут быть приемлемыми. Точно так же случайное пропадание некоторых кадров в видеоприложении может остаться незамеченным из-за ограничений человеческого восприятия. Приближенное вычисление основано на наблюдении, что во многих сценариях, хотя выполнение точных вычислений требует большого количества ресурсов, разрешение ограниченного приближения может обеспечить непропорциональный выигрыш в производительности и энергии при сохранении приемлемой точности результата. Например, в алгоритме кластеризации k-средних допущение только 5% потери точности классификации может обеспечить в 50 раз экономию энергии по сравнению с полностью точной классификацией.
Ключевым требованием при приближенных вычислениях является это приближение может быть введено только для некритических данных, поскольку аппроксимация критических данных (например, операции управления) может привести к катастрофическим последствиям, таким как сбой программы или ошибочный вывод.
Для выполнения приблизительного выполнения можно использовать несколько стратегий. вычисление.
Приближенные вычисления использовались в различных областях, где приложения допускают ошибки, например обработка мультимедиа, машинное обучение, обработка сигналов, научные вычисления и т. д. Google использует этот подход в своих модулях тензорной обработки (TPU, кастомный ASIC).
Основная проблема в приблизительных вычислениях - это идентификация раздела приложения, который может быть аппроксимирован. В случае крупномасштабных приложений очень часто можно встретить людей, обладающих знаниями в области приблизительных вычислительных технологий, но не обладающих достаточным опытом в области приложения (и наоборот). Для решения этой проблемы были предложены парадигмы программирования. Их всех объединяет четкое разделение ролей между прикладным программистом и прикладным экспертом в предметной области. Эти подходы позволяют распространить наиболее распространенные оптимизации и приблизительные вычислительные методы.