Підходи до розуміння проблеми

 

Підходи до розуміння проблеми

Єдиної відповіді на питання, чим опікується штучний інтелект (ШІ), не існує. Майже кожен автор, який пише книгу про штучний інтелект, відштовхується від якогось визначення, та розглядає в його світлі досягнення цієї науки. Зазвичай ці визначення зводяться до таких:

 

штучний інтелект вивчає методи розв'язання завдань, які потребують людського розуміння. Отже, мова іде про те, щоби навчити ШІ розв'язувати тести інтелекту. Це передбачає розвиток способів розв'язання задач за аналогією, методів дедукції та індукції, накопичення базових знань і вміння їх використовувати.

штучний інтелект вивчає методи розв'язання задач, для яких не існує способів розв'язання або вони не коректні (через обмеження в часі, пам'яті тощо). Завдяки такому визначенню інтелектуальні алгоритми часто використовуються для розв'язання NP-повних задач, наприклад, задачі комівояжера.

штучний інтелект займається моделюванням людської вищої нервової діяльності.

штучний інтелект — це системи, які можуть оперувати зі знаннями, а найголовніше — навчатися. В першу чергу мова ведеться про те, щоби визнати клас експертних систем (назва походить від того, що вони спроможні замінити «на посту» людей-експертів) інтелектуальними системами.

останній підхід, що почав розвиватися з 1990-х років, називається агентно-орієнтованим підходом. Цей підхід зосереджує увагу на тих методах і алгоритмах, які допоможуть інтелектуальному агенту виживати в довкіллі під час виконання свого завдання. Тому тут значно краще вивчаються алгоритми пошуку і прийняття рішення.

Експерти НАТО у своїй діяльності оперують спорідненими тлумаченнями штучного інтелекту[2]:

 

«спроможність, що надається алгоритмами оптимального або неоптимального вибору з широкого простору можливостей, для досягнення цілей шляхом застосування стратегій, які можуть спиратися на навчання або адаптацію до навколишнього середовища»[2] ;

«системи, які створені людиною і діють у фізичному або цифровому світі, враховують складну мету і обирають найкращі дії (відповідно до заздалегідь визначених параметрів), які необхідно виконати для досягнення поставленої мети на основі сприйняття свого середовища, інтерпретації зібраних структурованих або неструктурованих даних та обґрунтування знань, отриманих з цих даних»[2].

Непопулярні підходи

Найзагальніший підхід полягає в тому, що штучний інтелект матиме змогу поводити себе як людський за звичних умов. Ця ідея є узагальненим підходом тесту Тюрінга, який стверджує, що машина стане розумною тоді, коли буде спроможна підтримувати діалог з людиною, а та не зможе зрозуміти, що розмовляє з машиною (діалог ведеться переписуванням).

 

Письменники-фантасти часто пропонують ще один підхід: штучний інтелект виникає тоді, коли машина буде відчувати і творити. Наприклад, хазяїн Ендрю Мартіна з «Двохсотлітньої людини» Айзека Азімова починає ставитись до нього як до людини тоді, коли той створив іграшку за власним проєктом. А Дейта з «Зоряного шляху», що спроможний до спілкування та навчання, мріє володіти емоціями та інтуїцією.

 

Підходи до вивчення

Існують різні методи створення систем штучного інтелекту. У наш час можна виділити 4 досить різних методи:

 

Логічний підхід. Основою для вивчення логічного підходу слугує алгебра логіки. Кожен програміст знайомий з нею з того часу, коли він вивчав оператор IF. Свого подальшого розвитку алгебра логіки отримала у вигляді числення предикатів — в якому вона розширена за рахунок введення предметних символів, відношень між ними. Крім цього, кожна така машина має блок генерації цілі, і система виводу намагається довести дану ціль як теорему. Якщо ціль досягнута, то послідовність використаних правил дозволить отримати ланцюжок дій, необхідних для реалізації поставленої цілі (таку систему ще називають експертною системою). Потужність такої системи визначається можливостями генератора цілей і машинного доведення теорем. Для досягнення кращої виразності логічний підхід використовує новий напрям, його назва — нечітка логіка. Головною відмінністю цього напряму є те, що істинність вислову може приймати окрім значень «так»/«ні» (1/0) ще й проміжні значення — «не знаю» (0,5), «пацієнт швидше живий, ніж мертвий» (0,75), «пацієнт швидше мертвий, ніж живий» (0,25). Такий підхід подібніший до мислення людини, оскільки вона рідко відповідає «так» або «ні».

Під структурним підходом ми розуміємо спроби побудови ШІ шляхом моделювання структури людського мозку. Однією з перших таких спроб був перцептрон Френка Розенблатта. Головною моделюючою структурною одиницею в перцептронах (як і в більшості інших варіантах моделювання мозку) є нейрон. Пізніше виникли й інші моделі, відоміші під назвою нейронні мережі (НМ) і їхні реалізації — нейрокомп'ютери. Ці моделі відрізняються за будовою окремих нейронів, за топологією зв'язків між ними і алгоритмами навчання. Серед найвідоміших на початку 2000-х років варіантів НМ можна назвати НМ зі зворотнім поширенням помилки, мережі Кохонена, мережі Гопфілда, стохастичні нейронні мережі. У ширшому розумінні цей підхід відомий як конекціонізм. Відмінності між логічним та структурним підходом не стільки принципові, як це здається на перший погляд. Алгоритми спрощення і вербалізації нейронних мереж перетворюють моделі структурного підходу на явні логічні моделі.[3] З іншого боку, ще 1943 року Воррен Маккалох і Волтер Піттс[en] показали, що нейронна мережа може реалізувати будь-яку функцію алгебри логіки[4].

Еволюційний підхід. Під час побудови системи ШІ за даним методом основну увагу зосереджують на побудові початкової моделі і правилах, за якими вона може змінюватися (еволюціонувати). Причому модель може бути створено за найрізноманітнішими методами, це може бути і НМ, і набір логічних правил, і будь-яка інша модель. Після цього ми вмикаємо комп'ютер і він на основі перевірки моделей відбирає найкращі з них, і за цими моделями за найрізноманітнішими правилами генеруються нові моделі. Серед еволюційних алгоритмів класичним вважається генетичний алгоритм.

Імітаційний підхід. Цей підхід є класичним для кібернетики з одним із її базових понять чорний ящик. Об'єкт, поведінка якого імітується, якраз і являє собою «чорний ящик». Для нас не важливо, які моделі у нього всередині і як він діє, головне, щоби наша модель в аналогічних ситуаціях поводила себе без змін. Таким чином тут моделюється інша властивість людини — здатність копіювати те, що роблять інші, без поділу на елементарні операції і формального опису дій. Часто ця властивість економить багато часу об'єктові, особливо на початку його життя.

У рамках гібридних інтелектуальних систем намагаються об'єднати ці напрямки. Експертні правила висновків, можуть генеруватися нейронними мережами, а побіжні правила отримують за допомогою статистичного вивчення. Багатообіцяльний новий підхід, який ще називають підсиленням інтелекту, розглядає досягнення ШІ у процесі еволюційної розробки, як поточний ефект підсилення людського інтелекту технологіями.

 

Напрями досліджень

Як наукова дисципліна ШІ має кілька основних напрямів[2]:

 

машинне мислення (англ. machine reasoning, охоплює процеси планування, представлення знань і міркування, пошук та оптимізацію)[2];

машинне навчання (умовно поділяється на глибоке навчання (англ. deep learning) і навчання з підкріпленням (англ. reinforcement learning))[2],

робототехніка (включає в себе управління, ситуаційне сприйняття, датчики і приводи, а також інтеграцію усіх інших методів в кібер-фізичні системи)[2].

Якщо проаналізувати історію ШІ, можна виділити такий обширний напрям як моделювання міркувань (англ. Model-based reasoning). Багато років розвиток науки ШІ просувався саме таким шляхом, і зараз це одна з найрозвиненіших областей в сучасному ШІ. Моделювання міркувань має на увазі створення символьних систем, на вході яких поставлена деяка задача, а на виході очікується її розв'язок. Як правило, запропонована задача уже формалізована, тобто переведена на математичну форму, але або не має алгоритму розв'язання, або цей алгоритм занадто складний, трудомісткий тощо. В цей напрям входять: доведення теорем, прийняття рішень і теорія ігор, планування і диспетчеризація, прогнозування.

 

Таким чином, на перший план виходить інженерія знань, яка об'єднує завдання отримання знань з простої інформації, їх систематизацію і використання. Досягнення в цій області зачіпають майже всі інші напрями дослідження ШІ. Тут також необхідно відзначити дві важливі підобласті. Перша з них — машинне навчання — стосується процесу самостійного отримання знань інтелектуальною системою під час її роботи. Другу пов'язано зі створенням експертних систем — програм, які використовують спеціалізовані бази знань для отримання достовірних висновків щодо довільної проблеми.

 

 

Великі і цікаві досягнення є в області моделювання біологічних систем. Сюди можна віднести кілька незалежних напрямків. Нейронні мережі використовуються для розв'язання нечітких і складних проблем, таких як розпізнавання геометричних фігур чи кластеризація об'єктів. Генетичний підхід заснований на ідеї, що деякий алгоритм може стати ефективнішим, якщо відбере найкращі характеристики у інших алгоритмів («батьків»). Відносно новий підхід, де ставиться задача створення автономної програми — агента, котрий співпрацює з довкіллям, називається агентний підхід. А якщо належним чином примусити велику кількість «не дуже інтелектуальних» агентів співпрацювати разом, то можна отримати «мурашиний» інтелект.

 

Задачі розпізнавання об'єктів вже частково розв'язуються в рамках інших напрямків. Сюди відносяться розпізнавання символів, рукописного тексту, мови, аналіз текстів. Особливо слід згадати комп'ютерне бачення, яке пов'язане з машинним навчанням та робототехнікою.

 

Робототехніка і штучний інтелект часто поєднуються одне з одним. Об'єднання цих двох наук, створення інтелектуальних роботів, можна вважати ще одним напрямом ШІ.

 

Окремо тримається машинна творчість[en], через те, що природа людської творчості ще менше вивчена, ніж природа інтелекту. Тим не менше, ця область існує, і тут стоять проблеми написання комп'ютером музики, літературних творів (часто — віршів та казок), образотворче мистецтво.

 

Нарешті, існує безліч програм штучного інтелекту, кожна з яких утворює майже самостійний напрямок. Як приклади, можна навести програмування інтелекту в комп'ютерних іграх, нелінійному керуванні, інтелектуальні системи безпеки. Наприклад, у 2018 році дослідники з Корнуельського університету зробили те, що зможе кардинально змінити процес розробки нових відеоігор. Вони створили пару нейронних мереж, що змагаються (генеративних змагальних мереж), і навчили їх на прикладі найпершої гри-шутера, Doom-а. В процесі навчання нейронні мережі визначили основні принципи побудови рівнів цієї гри і після цього вони стали здатні генерувати нові рівні без найменшої допомоги з боку людей[5].

 

Не важко бачити, що більшість областей дослідження перетинаються. Це властиво для будь-якої науки. Але в штучному інтелекті взаємозв'язок між, задавалося б, різними напрямами, виражено дуже сильно, і це пов'язано з філософською суперечкою про сильний і слабкий ШІ.

 

Мета

Планування

Дослідження в галузі планування почалися зі спроби сконструювати робота, який би виконував свої завдання з деякою мірою гнучкості і здатністю реагувати на навколишній світ. Планування припускає, що робот повинен уміти виконувати деякі елементарні дії. Він намагається знайти послідовність таких дій, за допомогою якої можна виконати більш складне завдання, наприклад, рухатися кімнатою, заповненою перешкодами. Одним з методів планування є метод ієрархічної декомпозиції.

 

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

 

Машинне навчання

Докладніше: Машинне навчання

Машинне навчання — це розділ штучного інтелекту, що має за основу побудову та дослідження систем, які можуть самостійно навчатись з даних. Наприклад, система машинного навчання може бути натренована на електронних повідомленнях для розрізняння спаму і прийнятних повідомлень. Після навчання вона може бути використана для класифікації нових повідомлень електронної пошти на спам та не-спам. В основі машинного навчання розглядаються уявлення та узагальнення. Представлення даних і функцій оцінки цих даних є частиною всіх систем машинного навчання, наприклад, у наведеному вище прикладі, повідомлення електронною поштою, ми можемо уявити лист як набір англійських слів, просто відмовившись від порядку слів. Узагальнення є властивістю, яку система буде застосовувати добре на невидимих примірниках даних; умови, за яких це може бути гарантовано, є ключовим об'єктом вивчення в полі обчислювальної теорії навчання. Існує широкий спектр завдань машинного навчання та успішних застосувань. Оптичне розпізнавання символів, в яких друковані символи розпізнаються автоматично, та ґрунтуються на попередніх прикладах, є класичним підходом техніки машинного навчання. 1959 року Артур Самуїл визначив машинне навчання як «Поле дослідження, яке дає комп'ютерам можливість навчатися, не будучи явно запрограмованими».

 

Обробка природної мови та машинний зір

Обробка природної мови

Обробка природної мови — загальний напрямок штучного інтелекту та лінгвістики. Він вивчає проблеми комп'ютерного аналізу та синтезу природної мови. Стосовно штучного інтелекту аналіз означає розуміння мови, а синтез — генерацію розумного тексту. Розв'язок цих проблем буде означати створення зручнішої форми взаємодії комп'ютера та людини.

 

Задачі та обмеження

Розуміння природної мови іноді вважають AI-повною задачею, тому що розпізнавання живої мови потребує величезних знань системи про довкілля та можливості взаємодіяти з ним. Саме означення змісту слова «розуміти» — одне з головних завдань штучного інтелекту. На початку 2000-х років значну роль у вирішенні задач з обробки природномовних даних відіграють онтології, наприклад, WordNet, UWN.

 

Машинний зір

Машинний зір — це застосування комп'ютерного зору в промисловості та виробництві. В той час як комп'ютерний зір — це загальний набір методів, що дозволяють комп'ютерам бачити, областю інтересу машинного зору, як інженерного напрямку, є цифрові пристрої введення/виведення та комп'ютерні мережі, призначені для контролю виробничого обладнання, такого як роботи-маніпулятори чи апарати для вилучення бракованої продукції. Машинний зір є підрозділом інженерії, пов'язаним з обчислювальною технікою, оптикою, машинобудуванням та промисловою автоматизацією. Одним з найпоширеніших застосувань машинного зору є інспекція промислових товарів, таких як напівпровідникові чипи, автомобілі, продукти харчування та ліки. Люди, що працюють на складальних лініях, оглядають частини продукції і роблять висновки про якість виконання. Системи машинного зору для цієї мети використовують цифрові та інтелектуальні камери, а також програмне забезпечення обробки зображення для виконання аналогічних перевірок.

 

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

 

лічильник пікселів: підраховує кількість світлих або темних пікселів;

бінаризація: перетворює зображення в сірих тонах в бінарне (білі та чорні пікселі);

сегментація: використовується для пошуку і/або підрахунку деталей

пошук і аналіз блобів: перевірка зображення на окремі блоби пов'язаних пікселів (наприклад, чорної діри на сірому об'єкті) у вигляді опорної точки зображення. Ці блоби часто представляють цілі для обробки, захоплення або виробничого браку;

надійне розпізнавання за шаблонами: пошук за шаблоном об'єкта, який може бути повернутий, частково прихований іншим об'єктом, або відрізнятись за розміром

зчитування штрих-кодів: декодування 1D- і 2D-кодів, розроблених для зчитування або сканування машинами;

оптичне розпізнавання символів: автоматизоване читання тексту, наприклад, серійних номерів;

вимірювання: вимірювання розмірів об'єктів в дюймах або міліметрах;

знаходження країв: пошук країв об'єктів;

зіставлення шаблонів: пошук, підбір, і/або підрахунок конкретних моделей.

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



Комментарии