Застосування штучного інтелекту

Перейти до вправ за цією темою »

Штучний інтелект і машинне навчання знаходять застосування у багатьох сферах прикладної інформатики. На Знаємо це ви знайдете базовий огляд таких тем:

Ви можете практикувати, що штучний інтелект може, а що ні в рамах теми Застосування та можливості штучного інтелекту.

Вгору

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

Перейти до вправ за цією темою »

Обробка природної мови (англ. natural language processing) — це галузь на межі між інформатикою (зокрема, штучним інтелектом) і лінгвістикою, яка досліджує аналіз і генерацію письмового чи усного слова. Завдання обробки природної мови включають:

  • класифікація тексту (виявлення спаму, визначення жанру, визначення авторства)
  • кластеризація тексту (створення груп схожих новин або пов’язаних судових справ)
  • вичитка тексту (перевірка орфографії, перевірка граматики)
  • генерація тексту (відповіді на запитання, узагальнення тексту, машинний переклад)
  • розпізнавання мовлення (мовлення → текст) і синтез мовлення (текст → мовлення)
  • опис зображень (зображення → текст) та створення зображень (текст → зображення)

Підхід за правилами

Раніше для цих завдань використовувалися підходи на основі правил, намагаючись зафіксувати правила даної мови (як-от, час дієслів). Аналіз тексту поділявся на кілька рівнів (рівнів мови): 1) морфологія (побудова слів), 2) синтаксис (композиція речень), 3) семантика (значення речень) і 4) прагматика (використання речень у контексті). Однак виявити природну мову за допомогою правил виявилося складно.

Ускладнення обробки природної мови

Кожне правило має ряд винятків, і тексти природною мовою містять друкарські та інші помилки, які також потрібно моделювати, якщо ми хочемо зрозуміти текст. Іншою складністю є багатозначність на багатьох рівнях: омоніми, тобто слова з кількома можливими значеннями (ключ, рукав, коса), речення з кількома можливими значеннями («Їжте швидко остигаючий суп»), займенники, що стосуються раніше згаданих об’єктів (анафори) та інші посилання на інші частини тексту або навіть поза ним (я, зараз). Значення речень не завжди можна визначити зі значення окремих слів, як-от, при використанні ідіом, метафор і метонімій.

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

Наразі обробка природної мови вирішується майже виключно за допомогою машинного навчання, що дає значно кращі результати, ніж підходи, засновані на правилах. Для навчання використовуються великі колекції текстових документів, відомі як корпуси. Корпус містить, наприклад, оцифровані книги, онлайн-енциклопедії (Wikipedia), іноді навіть тексти з більшості доступних вебсайтів і, таким чином, може містити мільярди слів.

Результатом машинного навчання є модель мови, яка оцінює ймовірність наступного слова в аналізованому тексті. Таку модель потім можна використовувати для створення тексту в чат-ботах (шляхом повторного вибору одного з імовірних інших слів) або вибору найбільш вірогідного речення з декількох (це корисно, наприклад, у розпізнаванні мовлення чи машинному перекладі). Мовні моделі, реалізовані за допомогою великих нейронних мереж із мільярдами параметрів (які встановлюються під час навчання), називаються великими мовними моделями (англ. large language models, LLM).

ChatGPT

Прикладом великої мовної моделі є GPT, генеративний попередньо навчений трансформатор. Це генеративна модель, оскільки вона дозволяє генерувати текст. Вона попередньо навчена на великому наборі даних текстів з більшості доступних вебсайтів. Трансформатор (англ. transformer) — це популярний тип нейронної мережі, що дозволяє ефективно навчатися на таких великих даних. У свою чергу ChatGPT — це назва певної програми (чат-бота), яка використовує цю велику мовну модель у своїй основі.

Представлення тексту

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

Окремі слова часто представляють за допомогою так званих вбудованих слів як вектори дійсних чисел у багатовимірному просторі. У цьому просторі слова подібного значення знаходяться поруч.

Тоді групи слів можна представити або як набір, тобто незалежно від порядку (англійською bag of words), або зі збереженням порядку у вигляді так званих n-грам (наприклад, біграми — це пари послідовних слів).

Вгору

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

«Кухонний робот» – це робот?

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

Слово «робот» походить від слова «robota» (праця підданих) і вперше було вжито у п’єсі R.U.R. (Rossum’s Universal Robots) Карела Чапека в 1920 році. Android — це термін для гуманоїдних роботів, тобто роботів, які мають людську форму. Однак робот, як правило, не обов’язково має виглядати людиною, для багатьох застосувань це не є ані необхідним, ані бажаним (як-от, робот-пилосос). Але він повинен мати певну механічну частину. (Для суто віртуальних роботів, тобто програм, що автоматизують діяльність, іноді використовується термін бот.)

Частини робота

Сенсори дозволяють роботу сприймати навколишнє середовище. Кілька прикладів:

  • GPS = позиціонування за допомогою супутників, що обертаються навколо Землі
  • Радар = вимірювання відстаней до навколишніх об’єктів за допомогою радіохвиль
  • Лідар = вимірювання відстаней до навколишніх об’єктів за допомогою світлових променів (вимірює, скільки часу потрібно для їх повернення)
  • Сонар = вимірювання відстані за допомогою звукових (зазвичай ультразвукових) хвиль
  • Камера = захоплення зображення, корисне для категоризації об’єктів
  • Інерціальний вимірювальний блок (англ. Inertial Measurement Unit, IMU) поєднує в собі гіроскоп, акселерометр (та іноді також магнітометр) для визначення орієнтації, швидкості та прискорення машини

Блок керування, зазвичай реалізований через одночіповий комп’ютер (мікроконтролер), дозволяє роботу обробляти інформацію від датчиків і вирішувати, як реагувати.

Ефектори дозволяють роботу впливати на навколишнє середовище (наприклад, роботизовані руки та щупальця) і пересуватися в ньому (як-от, колеса, ремені, роботизовані ноги).

Штучний інтелект

Штучний інтелект використовується в робототехніці, наприклад, для планування маршруту, локалізації роботів і розпізнавання навколишніх об’єктів. Ці завдання ускладнюються тим фактом, що ми не знаємо точного стану світу (через неточні вимірювання датчиків) і того, як світ буде розвиватися (як-от, рух інших автомобілів). Сам робот також є джерелом невизначеності, оскільки виконання дій не зовсім точне (обертання на 89° замість заданих 90°). Ось чому для рішень використовуються імовірнісні моделі, які також можуть моделювати невизначеність. З кожним новим вимірюванням датчиків ця невизначеність зменшується, з плином часу і руху, навпаки, зростає.

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

Вгору

Комп’ютерний зір – це галузь штучного інтелекту, яка займається отриманням інформації з даних зображень. Дані зображення – це не лише фотографії та зображення, а й відео, зображення медичних вимірювань (рентген, ультразвук) і зображення з різних датчиків (радар, ехолот). Типовими завданнями комп’ютерного зору є:

  • розпізнавання зображень – визначення категорії об’єкта (вид квітки на фото, рукописний знак)
  • виявлення об’єктів – ідентифікація різних об’єктів, включаючи їх розташування на зображенні (пішоходи, обличчя, дорожні знаки)
  • сегментація зображення – поділ зображення на окремі частини або об’єкти (поділ переднього та заднього плану фото, фарбування різних типів тканин)

Приклади застосування комп’ютерного зору

  • розпізнавання відсканованого тексту (OCR від англ. optical character recognition)
  • розпізнавання осіб (ідентифікація людей на фото)
  • визначення виду рослини чи тварини за фото
  • аналіз медичних вимірювань (як-от, рентгенівських зображень)
  • контроль якості продукції (автоматичне виявлення дефектів)
  • виявлення подій на відео (наприклад, крадіжки, зафіксовані системою камер безпеки)
  • пошук зображень за текстовим описом (або зображень, схожих на задане зображення)
  • автономні автомобілі (як-от, виявлення кордонів доріг, інших автомобілів, пішоходів, розпізнавання дорожніх знаків)
  • роботи, які сприймають оточення та реагують на нього (наприклад, можуть схопити предмет)

Комп’ютерний зір неможливо вирішити за допомогою рукописних правил. (Навіть один і той самий об’єкт щоразу виглядає по-різному залежно від того, наскільки він далеко, як знятий, освітлений чи частково закритий.) Ось чому машинне навчання використовується, коли програма вивчає загальні ознаки різних об’єктів на великій кількості прикладів. (Якщо програма має навчитися класифікувати різні види тварин, їй потрібно вивчити фотографії всіх видів, які вона має розрізняти, в ідеалі у багатьох різних ситуаціях.)

Основними ознаками зображень можуть бути, наприклад, краї та кути. Такі функції можна отримати з вихідного зображення за допомогою згортки, яка є трансформацією зображення, у якій кожен піксель замінюється зваженою сумою значень пікселів поблизу нього. Значення ваг можуть бути різними і називаються ядром згортки (англ. kernel). Раніше було звичним визначати ці функції вручну та використовувати їх як вхідні дані для простої моделі.

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

Вгору
ЗВ’ЯЖІТЬСЯ З НАМИ

Дякуємо за ваше повідомлення, його було успішно відправлено.

Напишіть нам

Вам потрібна допомога?

Будь ласка, спочатку ознайомтеся з інструкціями.

Будь ласка, не надсилайте запитання пов'язані з відповідями або пояснення послідовності розв'язання. Якщо ви сповіщаєте про помилку, вкажіть, будь ласка, у чому вона полягає та додайте скріншот.

Про що йдеться у повідомленні?

Повідомлення Сповістити про помилку Зміст Управління Вхід до системи Ліцензія