Изкуствен интелект срещу класическо алгоритмично програмиране

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

Антъни Куатроне, PhD 30 април 2022

Напредъкът в изкуствения интелект позволи ефективно решаването на сложни изчислителни проблеми, които преди това са били трудни, нерешими или силно комбинаторни. Тези проблеми включват разпознаване на лица, откриване на обекти, планиране на маршрути и силно персонализирани онлайн системи за препоръки.

Предизвикателството за организациите, които се движат напред към бъдещето, е стратегическите вземащи решения да избират между традиционните класически подходи и подходите с изкуствен интелект за решаване на сложни изчислителни проблеми. И двата метода имат уникални предизвикателства при внедряването на стабилна система в измеренията на точност, цена, трудност при внедряване и поддръжка.

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

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

Откриването на алгоритми за решаване на времево и пространствено ефективни проблеми е известно като предизвикателство. В теорията на изчислителната сложност проблемите са или P (полиномиални), NP (недетерминистично полиномиални), NP-пълни или NP-трудни. Полиномиалните проблеми могат да бъдат решавани и проверявани бързо, докато неполиномиалните не могат. NP проблемите са трудни за решаване чрез класически алгоритмични подходи.

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

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

Въпреки че съществуват много различни начини за внедряване на алгоритми, очевиден, но потенциално неефективен начин за внедряване на алгоритъм, често се нарича „наивен“ алгоритъм. Повечето ефективни алгоритми не са лесни за откриване, и компютърните учени работят в продължение на много години, за да намерят най-добрите алгоритми за решаване на класове проблеми. Алгоритмите в производствени системи се внедряват по времево и пространствено ефективни начини. Най-големите софтуерни компании осигуряват най-високите алгоритмични стандарти чрез програмиране по двойки, подобно на рецензирането от колеги. Необходими са много години обучение и висока степен на умение за ефективно внедряване на алгоритми.

В практически смисъл, докато техниките за програмиране са се развивали и езиците за програмиране (напр. C, C++, Java, JavaScript, PHP, Python) са варирали в популярността си, основите са останали същите откакто Bell Labs, през 70-те години на миналия век, написа първите C модули. Има някои практически начини да се накарат теоретично сложни проблеми да работят в производство, като например използването на разпределени системи. Разширените подходи идват на по-висока цена и са извън възможностите на всички освен най-технологично прогресивните организации.

Предвид сложността на класическите алгоритмични програмни подходи, организациите отдавна намират за трудно да изграждат ефективни екипи за създаването на такива системи вътрешно. Освен това, много от тях също се сблъскват с трудности при намирането на външни доставчици за решаване на нишови предизвикателства, които са теоретично възможни за реализиране. Проектирането на специфичен алгоритъм става значително по-сложно с нарастването на сложността на проблема. Това е особено вярно за многомерните проблеми. Най-добре е да се използват класически алгоритмични подходи за ситуации, в които алгоритъмът може бързо да реши проблем и работи за повечето случаи.

AI подходът за решаване на проблеми

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

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

Изискване за обучението на решения за изкуствен интелект е или добре дефиниран обширен набор от данни, обикновено съставен чрез комбинация от различни хранилища на данни или краудсорсинг, или система, която може да се научи да достига целево състояние, като преминава през поредица от итерации. Пример за това е система, която играе игра срещу себе си, като шах или Го, за да научи допълнително как да разработва стратегии за подобряване на резултатите. Изкуствените мрежи и обучението с подкрепление се изпълняват върху сценарии, за които не са обучени, и се оценяват по подобен начин на други подходи за машинно обучение. Тези подходи се генерализират добре и предоставят ефективни решения за даден клас проблеми. Решенията, базирани на изкуствен интелект, са подходящи за проблеми, които не могат да бъдат лесно дефинирани с помощта на последователност от инструкции; вместо това изискват повече „интуиция“ и ценностни преценки.

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

Изкуственият интелект и машинното обучение отдавна се разглеждат с предпазливост от организациите поради липсата на проследяемост и определяемост на това как тези системи ще реагират в случаите на използване. По тази причина AI може да действа в редки обстоятелства и да реагира непредвидимо, когато най-малко се очаква. Ето защо е важно да имат ясно дефинирани случаи на използване, когато се прилага AI, какви нива на грешка са приемливи и как изходите, произвеждани от AI системите, ще бъдат подложени на проверка от човек, за да се осигури точност.

Като цяло, предвиждаме, че подобрената точност, която AI системите ще донесат, съчетана с ефективността, постигната чрез допълване на човешкия труд, ще създаде твърде голям финансов стимул, за да бъде игнорирана от много организации в идните години, и AI системите ще станат повсеместни.

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

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

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

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