Искусственный интеллект против классического алгоритмического программирования

К искусственному интеллекту от классического алгоритмического программирования

Энтони Кваттроне, PhD 30 апреля 2022 г.

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

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

Классический алгоритмический подход к программированию для решения проблем

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

Обнаружение алгоритмов для решения временно и пространственно эффективных задач является заведомо сложной задачей. В теории вычислительной сложности задачи делятся на P (полиномиальные), NP (недетерминированные полиномиальные), NP-полные или NP-трудные. Полиномиальные задачи можно быстро решить и проверить, тогда как неполиномиальные — нет. Задачи NP трудно решить с помощью классических алгоритмических подходов.

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

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

Хотя существует множество различных способов реализации алгоритмов, очевидный, но потенциально неэффективный способ реализации алгоритма часто называют «наивным» алгоритмом. Большинство эффективных алгоритмов нелегко обнаружить, и ученые-информатики годами работают над поиском лучших алгоритмов для решения классов задач. Алгоритмы в производственных системах реализуются временно и пространственно эффективными способами. Крупнейшие программные компании обеспечивают высочайшие алгоритмические стандарты посредством парного программирования, аналогично экспертной оценке. Для эффективной реализации алгоритмов требуются многолетние тренировки и высокая степень мастерства.

На практике, хотя методы программирования эволюционировали, а популярность языков программирования (т.е. C, C++, Java, JavaScript, PHP, Python) менялась, основы остались неизменными с тех пор, как Bell Labs в 1970-х годах написала первые модули на C. Существуют некоторые практические способы реализации теоретически сложных задач в производстве, такие как использование распределенных систем. Передовые подходы требуют более высоких затрат и находятся за пределами возможностей всех, кроме самых технологически прогрессивных организаций.

Учитывая сложность классических алгоритмических подходов к программированию, организациям уже давно трудно создавать эффективные команды для разработки подобных систем внутри компании. Кроме того, многие также испытывают трудности с поиском внешних поставщиков для решения узкоспециализированных задач, которые теоретически возможно реализовать. Разработка конкретного алгоритма становится значительно сложнее по мере увеличения сложности проблемы. Это особенно верно для многомерных задач. Лучше всего использовать классические алгоритмические подходы в ситуациях, когда алгоритм может быстро решить проблему и работает для большинства случаев.

Подход AI к решению проблем

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

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

Требованием для обучения решений на базе искусственного интеллекта является либо хорошо определенный обширный набор данных, обычно составленный с использованием комбинации различных хранилищ данных или краудсорсинга, либо система может учиться достигать целевого состояния путем прохождения серии итераций. Примером этого является система, играющая сама с собой в игру, такую как шахматы или Го, чтобы дальше научиться разрабатывать стратегии для улучшения результатов. Искусственные сети и обучение с подкреплением оба запускаются на сценариях, для которых они не обучались, и оцениваются аналогично другим подходам машинного обучения. Эти подходы хорошо обобщают и предоставляют эффективные решения для заданного класса проблем. Решения на базе искусственного интеллекта подходят для проблем, которые не могут быть легко определены с помощью последовательности инструкций; вместо этого они требуют больше «интуиции» и ценностных суждений.

Как правило, системы искусственного интеллекта обучаются с использованием наборов данных, а затем оцениваются на оценочном наборе. Чем больше высококачественных обучающих данных вводится в систему AI, тем выше вероятность того, что система будет работать на высоком уровне. Преимущество подходов AI заключается в том, что они могут продолжать улучшаться с течением времени по мере того, как система узнает больше. Таким образом, сложные проблемы могут быть обобщены и решены вычислительными системами. Они включают проблемы, традиционно решаемые с помощью человеческого ввода, хотя узкий AI может рассматриваться как дополнение к существующему человеческому вводу для обеспечения лучших результатов.

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

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

Когда следует выбирать Искусственный интеллект, а когда — подход классического алгоритмического программирования для решения задач

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

Выбор правильного подхода может принести значительные выгоды вашей организации, в то время как выбор менее оптимального метода может привести к существенным финансовым потерям, поскольку технологические проекты требуют больших затрат. Часто использование проверенных и демонстрируемых систем, таких как Telemus AI™, может помочь организациям обеспечить успех в своей цифровой трансформации на базе искусственного интеллекта.

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