인공지능 대 고전적 알고리즘 프로그래밍

고전적 알고리즘 프로그래밍에서 인공지능을 향하여

Anthony Quattrone, PhD 2022년 4월 30일

인공 지능의 발전으로 인해 이전에 어렵거나 다루기 힘들거나 조합적인 복잡한 계산 문제를 효율적으로 해결할 수 있게 되었습니다. 이러한 문제에는 안면 인식, 객체 탐지, 경로 계획 및 고도로 개인화된 온라인 추천 시스템이 포함됩니다.

미래로 나아가는 조직의 과제는 복잡한 계산 문제를 해결하기 위해 전통적인 고전적 접근 방식과 인공지능 접근 방식 중에서 전략적 의사결정권자가 결정을 내리는 것입니다. 두 방식 모두 정확성, 비용, 구현 난이도 및 유지 관리 가능성의 차원에서 강력한 시스템을 제공하는 데 있어 고유한 과제를 안고 있습니다.

문제 해결을 위한 고전적 알고리즘 프로그래밍 접근 방식

고전적 프로그래밍 패러다임은 규정적 알고리즘과 잘 정의된 명령어 시퀀스를 활용하여 문제를 해결하는 것을 포함합니다. 입력이 정의되고 제한되며, 출력을 생성하기 위해 정의된 프로그래밍 패러다임(절차적, 객체 지향적, 함수적 및 논리적)을 통해 입력을 처리하는 알고리즘을 개발합니다.

시간적, 공간적으로 효율적인 문제를 해결하는 알고리즘을 발견하는 것은 알려진 대로 매우 어렵습니다. 계산 복잡도 이론에서 문제는 P(다항식), NP(비결정론적 다항식), NP-완전 또는 NP-난해입니다. 다항식 문제는 빠르게 해결하고 검증할 수 있는 반면, 비다항식 문제는 그렇지 않습니다. NP 문제는 고전적인 알고리즘 접근 방식으로 해결하기 어렵습니다.

P 문제의 예는 두 점 사이의 최단 경로를 찾는 것이고, NP 문제의 예는 여러 위치가 주어졌을 때 가능한 최단 거리를 이동하며 모든 사이트를 방문하는 최적의 경로가 무엇인지 찾는 외판원 문제입니다. 현재 계산적으로 해결해야 하는 많은 문제가 NP 범주에 속하는 경우가 많습니다. 대부분의 경우 실용적인 목적을 위해 근사 해가 종종 충분합니다. 일상생활에 접근할 때 인간은 항상 근사 해를 생각해 냅니다. 즉, 내비게이션입니다.

고전적 알고리즘 패러다임 하에서 문제를 효율적인 방식으로 해결하는 데 구현상의 과제가 있습니다. 알고리즘 복잡도는 알고리즘이 시간적(시간 복잡도) 및 공간적 영역(공간 복잡도)에서 얼마나 효율적으로 실행되는지를 다루는 컴퓨터 과학의 한 분야입니다.

알고리즘을 구현하는 방법에는 여러 가지가 있지만, 알고리즘을 구현하는 명확하지만 잠재적으로 비효율적인 방법을 종종 "순진한(naive)" 알고리즘이라고 합니다. 가장 효율적인 알고리즘은 발견하기 쉽지 않으며, 컴퓨터 과학자들은 문제 클래스를 해결하기 위한 최고의 알고리즘을 찾기 위해 수년 동안 노력해 왔습니다. 프로덕션 시스템의 알고리즘은 시간적, 공간적으로 효율적인 방식으로 구현됩니다. 가장 큰 소프트웨어 회사들은 동료 평가와 유사한 동료 프로그래밍을 통해 최고의 알고리즘 표준을 보장합니다. 알고리즘을 효율적으로 구현하려면 수년의 훈련과 높은 수준의 기술이 필요합니다.

실용적인 측면에서, 프로그래밍 기술이 발전하고 프로그래밍 언어(예: C, C++, Java, JavaScript, PHP, Python)의 인기가 다양해졌음에도 불구하고, 1970년대 Bell Labs가 최초의 C 모듈을 작성한 이래로 기본 원칙은 동일하게 유지되었습니다. 분산 시스템 사용과 같이 이론적으로 어려운 문제를 프로덕션 환경에서 작동시킬 수 있는 몇 가지 실용적인 방법이 있습니다. 고급 접근 방식은 더 높은 비용이 들며, 기술적으로 가장 진보한 조직을 제외한 모든 조직의 역량을 벗어납니다.

고전적인 알고리즘 프로그래밍 접근 방식의 복잡성을 고려할 때, 조직들은 오랫동안 이러한 시스템을 내부에서 구축할 효과적인 팀을 만드는 데 어려움을 겪어 왔습니다. 또한, 이론적으로는 구현이 가능한 틈새 문제를 해결할 외부 제공업체를 찾는 데도 어려움을 겪은 곳이 많습니다. 문제의 복잡성이 증가함에 따라 특정 알고리즘을 설계하는 것은 훨씬 더 복잡해집니다. 이는 다변량 문제에서 특히 그렇습니다. 알고리즘이 문제를 빠르게 해결하고 대부분의 경우에 작동하는 상황에는 고전적인 알고리즘 접근 방식을 사용하는 것이 가장 좋습니다.

문제 해결을 위한 AI 접근 방식

인공지능 패러다임은 입력과 원하는 출력을 시스템에 공급하고 시스템이 문제 해결 방법을 학습하도록 하여 일반적으로 문제를 해결하려고 시도했습니다. 현재의 AI 접근 방식은 고전적 프로그래밍 기술을 통해 고전적 컴퓨터에서 실행됩니다. 가장 혁신적인 AI 방법은 신경망과 강화 학습입니다.

인공 신경망은 인간의 마음이 어떻게 학습하고 문제를 일반화하는지에 대한 인간의 이해를 활용한다. 강화 학습은 목표 상태와 일련의 시나리오를 공급하는 에이전트를 사용한다. 학습 알고리즘은 여러 번의 반복을 통해 바람직한 결과는 유지하고 불리한 결과는 버린다. 강화 학습은 조작적 조건화와 유사하다. 에이전트는 많은 학습 반복을 통해 목표를 달성하는 방법을 학습한다.

인공 지능 솔루션을 훈련하기 위한 요구 사항은 일반적으로 다양한 데이터 웨어하우스나 크라우드소싱을 조합하여 편찬된 잘 정의된 방대한 데이터 세트이거나, 일련의 반복을 실행하여 목표 상태에 도달하는 법을 시스템이 학습하는 것입니다. 이의 한 예는 체스나 바둑과 같이 시스템이 스스로 게임을 플레이하며 결과를 개선하기 위한 전략을 개발하는 법을 더 깊이 학습하는 것입니다. 인공 신경망과 강화 학습은 모두 훈련되지 않은 시나리오에서 실행되며 다른 머신 러닝 접근 방식과 유사하게 평가됩니다. 이러한 접근 방식은 잘 일반화되며 주어진 문제 클래스에 대해 효율적인 솔루션을 제공합니다. 인공 지능 기반 솔루션은 일련의 지시어로 쉽게 정의할 수 없는 문제에 적합하며, 대신 더 많은 '직관'과 가치 판단이 필요합니다.

일반적으로 인공지능 시스템은 데이터셋을 사용하여 학습된 후 평가 세트에서 평가됩니다. AI 시스템에 입력되는 고품질 학습 데이터가 많을수록 시스템이 높은 기준으로 성능을 발휘할 가능성이 높아집니다. AI 접근 방식의 이점은 시스템이 더 많이 학습함에 따라 시간이 지나면서 계속 개선될 수 있다는 것입니다. 따라서 복잡한 문제를 일반화하고 컴퓨팅 시스템으로 해결할 수 있습니다. 여기에는 전통적으로 인간의 입력으로 해결되던 문제가 포함되지만, 좁은 AI는 더 나은 결과를 보장하기 위해 기존 인간의 입력을 보완하는 것으로 볼 수 있습니다.

인공지능과 머신러닝은 시스템이 유스케이스에 어떻게 응답할지에 대한 추적 가능성과 결정 가능성이 부족하기 때문에 조직에서 오랫동안 신중하게 바라보아 왔다. 따라서 AI는 드문 상황에서 작동하며 가장 예상치 못한 순간에 예측 불가능하게 반응할 수 있다. 그렇기 때문에 AI를 언제 사용할지, 어떤 수준의 오류가 허용되는지, AI 시스템에서 생성된 출력물이 정확성을 보장하기 위해 인간의 입력으로 어떻게 동료 검토될 것인지에 대한 유스케이스를 명확히 정의하는 것이 중요하다.

전반적으로, 우리는 AI 시스템이 가져올 향상된 정확도와 인간의 투입을 증대하여 얻은 효율성이 결합되어 향후 몇 년 동안 많은 조직이 무시할 수 없을 만큼 큰 재정적 인센티브를 제공할 것이며, AI 시스템은 보편화될 것이라고 예측합니다.

문제 해결을 위해 AI를 선택해야 할 때와 고전적인 알고리즘 프로그래밍 접근 방식을 선택해야 할 때

어느 접근 방식을 사용해야 할지에 대한 엄격하고 빠른 규칙은 없지만, 일반적으로 근사치 솔루션이 필요하고 목표 지향적인 장기 계획, 복잡한 패턴 인식 및 수많은 변수 처리가 포함된 문제는 AI에 더 적합합니다. 고전적인 알고리즘 접근 방식은 복잡한 논리와 연산이 포함된 정확하거나 거의 최적에 가까운 솔루션에 더 적합합니다.

올바른 접근 방식을 선택하면 조직에 상당한 이점을 제공할 수 있는 반면, 최적화되지 않은 방법을 선택하면 기술 프로젝트 비용이 많이 들기 때문에 막대한 자본 손실을 초래할 수 있습니다. Telemus AI™와 같이 검증되고 입증 가능한 시스템을 선택하면 조직이 인공 지능 디지털 전환에서 성공을 보장하는 데 도움이 될 수 있습니다.

Telemus AI™를 귀하의 조직에 통합하는 방법에 대한 무료 상담을 위해 오늘 문의하십시오.