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

До штучного інтелекту від класичного алгоритмічного програмування

Ентоні Кваттрон, 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™ може бути інтегрований у вашу організацію.