Тема: поняття про штучний інтелект.
Мета: сформувати поняття про штучний інтелект та сфери його застосування у сучасному світі.
Обладнання: дошка, комп’ютери з підключенням до мережі Інтернет, браузер, Delphy.
Структура уроку:
Хід уроку
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.
2. Актуалізація опорних знань
3. Пояснення нового матеріалу
Ідея штучного інтелекту (ШІ) настільки тривалий час бентежила людство, що вже можна говорити про історію розвитку цього поняття та способів його втілення (див., напрклад, джерела 1 або 2).
Алан Тьюринг (Alan Turing) уперше висловив повне уявлення про штучний інтелект у своїй статті «Обчислювальні машини й розум», яку було опубліковано в 1950 році. У цій статті описано принципи машинного навчання, генетичні алгоритми, навчання з закріпленням і наступне поняття.
Тест Тюрінга. Cтандартний опис цього тесту звучить таким чином: «Суддя взаємодіє з одним комп'ютером і однією людиною. На підставі відповідей на питання суддя повинен визначити, з ким він розмовляє: з людиною чи з комп'ютерною програмою. Завдання комп'ютерної програми — ввести суддю в оману, змусивши зробити неправильний вибір».
Всі учасники тесту не бачать один одного. Якщо суддя не може сказати точно, хто зі співрозмовників є людиною, то вважають, що машина пройшла тест. Щоб протестувати саме інтелект машини, а не її можливість розпізнавати усне мовлення, бесіду ведуть в режимі «лише текст». Наприклад, за допомогою клавіатури і екрану (комп'ютера-посередника). Листування має проводитися через контрольовані проміжки часу, щоб суддя
не міг робити висновки, виходячи зі швидкості відповідей. За часів Тюрінга комп'ютери реагували повільніше за людину. Зараз це правило теж необхідне, тому що вони реагують набагато швидше, ніж людина.
Ми обмежимося розглядом ідеї нейромережі, яка є основою для сучасного втілення ШІ. Вважають, що першою роботою щодо цього була стаття Уоррена Мак-Каллока і Уолтера Піттса (McCalloch W.S., Pitts W.) "Логічне числення ідей щодо нервової активності", опублікована в 1943 році. У статті запропоновано модель сукупності штучних нейронів, в якій кожен нейрон може перебувати в одному з двох станів: ввімкненому або вимкненому, а перехід у ввімкнений стан відбувався у відповідь на стимуляцію достатньої кількості сусідніх нейронів.
Таким чином, нейрон описують за допомогою функції: $$ f(x) = H\left( \sum\limits_{j=1}^n ω_j x_j - ω_0\right),$$
де $$ H(x)=\cases{0,\quad x<0\cr 1,\quad x\geq 0}$$ — функція Гевісайда.
В теорії нейронних мереж функцію f, що описує перетворення значення сумарного імпульсу у вихідне значення нейрона, зазвичай називають функцією активації. У роботах Мак-Каллока і Піттса показано, що
будь-яку обчислювану функцію можна обчислити за допомогою деякої мережі зі сполучених нейронів і що всі логічні зв'язки (логічні «І», «АБО», «НЕ» тощо) можна втілити за допомогою простих мережевих структур. Крім того, Мак-Каллок і Піттс висунули припущення, що мережі, структуровані відповіднім чином, здатні до навчання.
На малюнку нижче кожним круговим вузлом представлено штучний нейрон, а стрілкою — сполучення виходу одного штучного нейрону зі входом іншого. Кольорами позначено:
Штучна нейронна мережа (ШНМ, англійською artificial neural network, ANN), або конективістська система (англійською connectionist system) — це обчислювальна система, будова якої аналогічна біологічній нейронній мережі.
Штучна нейронна мережа містить сукупність з'єднаних вузлів, які називають штучними нейронами (аналогічно до клітиин головного мозку тварин). Кожне з'єднання (аналог синапсу) між штучними нейронами може передавати сигнал від одного до іншого. Штучний нейрон, що отримує сигнал, може опрацьовувати його, й потім сигналізувати штучним іншим нейронам, приєднаним до нього.
Така система навчається розв'язуванню задач, покращуючи свою результативність на них і розглядаючи приклади, загалом без спеціального програмування під задачу. Наприклад, у розпізнаванні зображень може навчатися ідентифікувати зображення, які містять котів, аналізуючи приклади зображень, помічені як «кіт» або «не кіт», і використовуючи результати для ідентифікування котів в інших зображеннях. Це робиться без жодного початкового (апріорного) знання про котів, наприклад, що ті мають хутро, хвости, вуса. Натомість, вони розвивають свій власний набір доречних характеристик з навчального матеріалу, який вони опрацьовують.
У поширених втіленнях штучних нейронних мереж сигнал між штучними нейронами можна подати не цілим, а лише дійсним числом, а вихід кожного штучного нейрону вихначається нелінійною функцією зваженої суми його входів. Причому ваги буде підлаштовано під час навчання. Штучні нейрони зазвичай організовано в шари. Різні шари можуть виконувати різні види перетворень своїх входів. Сигнали проходять від першого до останнього шару, можливо, після проходження кількома прихованими проміжними шарами.
Первинною метою створення таких мереж було розв'язання задач таким самим способом, як це робив би людський мозок. З часом увага зосередилася на відповідності певним розумовим здібностям, ведучи до відхилень від біології, наприклад, у задачах про:
Біологічний прототип нейромережі — систему зору. Зображення потрапляє на сітківку ока, сигнали про нього проходить низку зорових зон на шляху до скроневої зони. Перша зорова зона була досліджена Девідом Хьюбелом (David Hubel) і Торстеном Візелем (Wiesel) в 1962 році. Вони проводили експерименти на кішках, яким показували різні рухомі об'єкти. Під час експерименту реєстрували електричну активність певної частини мозку при різних розташуваннях об'єкта.
Навіть зараз багато експериментів проводять таким чином. Цим способом були відкрито багато важливих властивостей зорових зон, які використовують у нейромережах (deep learning) зараз. Одна з найважливіших властивостей — це збільшення рецептивних полів у міру просування від первинних зорових зон до скроневих частин.
Рецептивне поле — це та частина зображення, яку обробляє клітинка мозку.
Властивості системи зору, перенесені в нейронні мережі:
у кожного нейрона своє рецептивне поле;
зі зростанням рецептивних полів збільшуються складність об'єктів, які може розпізнати нейронна мережа.
Перцептро́н, персептро́н (англійською perceptron від латинського perceptio — сприйняття; німецькою perzeptron) — математична або комп'ютерна модель сприйняття даних мозком, запропонована Френком Розенблатом у 1957 році й втілена
у вигляді електронної машини «Марк-1» у 1960 році.
Перцептрон став однією з перших моделей нейромереж, а «Марк-1» — першим у світі нейрокомп'ютером. Незважаючи на свою простоту, перцептрон здатен навчатися й розв'язувати досить складні завдання.
Перцептрон складається з трьох типів елементів: рецепторів, асоціативних і реагуючих елементів, що утворюють відповідно шари входу, прихований шар і шар виходу.
Відповідно до сучасної термінології перцептрон можна класифікувати як штучну нейронну мережу:
Найпростіший перцептрон здатний виконувати лише найпростіші операції. Для того, щоб виконувати складніші обчислення, потрібно використати структуру з великою кількістю прихованих шарів.
Пояснимо на прикладі розпізнавання обличчя, що відбувається при розпізнаванні зображення. Для людини подивитися на картинку і сказати, що на ній зображено саме обличчя, досить просто. Однак до 2010 року для комп'ютерного зору це було неймовірно складним завданням. Ті, хто займався цим питанням до цього часу, напевно, знають наскільки важко було описати об'єкт, який потрібно виявити на зображенні. Потрібно було описати об'єкт, описати взаємозв'язки частин об'єкта, потім виявити все це на зображення й порівняти з очікуваним. Зазвичай результативність була трохи кращою, ніж при визначенні сторони монети при випадковому підкиданні.
Зараз все відбувається по іншому. Вхідне зображення X розбивають на квадрати розміром n×n пікселів, де n обирають творці системи. Ці квадрати служать сигналами у вхідний шар нейронної мережі. Сигнали передають від шару до шару з певними вагами W, поки не отримають результат. Набір ваг W визначають підбором за набором прикладів (лейблів) Y таким чином, щоб максимально зменшити помилку. Як нас в дитинстві вчать: «Це
кішка, а це собака» на прикладах різних порід (наживо, світлини, малюнки), так само нейронні мережі навчають на великій кількості прикладів.
Головні методи створення систем штучного інтелекту
Логічний підхід, в основі якого — алгебра логіки. Ми знайомимся з нею щонайменше з того часу, коли вивчаємо логічні оператори й вказівку галуження IF. Свого подальшого розвитку алгебра логіки отримала у вигляді числення предикатів (висловлювань щодо змінних), в якому її розширено за рахунок запровадження предметних символів і відношень між ними. Крім цього, кожна така машина має блок породження цілі, і система виводу намагається довести дану ціль як теорему. Якщо ціль досягнута, то послідовність використаних правил дозволить отримати ланцюжок дій, необхідних для втілення поставленої цілі. Таку систему ще називають експертною системою. Потужність такої системи визначається можливостями генератора цілей і машинного доведення теорем. Для досягнення кращої виразності логічний підхід використовує новий напрям — нечітку логіку. Головною відмінністю цього напряму є те, що істинність висловлювання може набувати більше двох значень. Окрім значень «істина»/«хибність» (1/0) ще й проміжні значення. Наприклад, «не знаю» (0,5), «швидше істина, ніж хибність» (0,75), «швидше хибність, істина» (0,25). Проміжних значень може бути більше. Вони навіть можуть утворювати проміжок [0, 1]. Такий підхід подібний до мислення людини, бо вона рідко може відповісти напевно «істина» або «хиба».
Структурний підхід полягає у моделювання структури людського мозку. Однією з перших таких спроб був перцептрон Френка Розенблатта. Головною моделюючою структурною одиницею в перцептронах (як і в більшості інших варіантах моделювання мозку) є нейрон. Пізніше виникли й інші моделі, відомі під назвою нейронні мережі (НМ) і їхні втілення — нейрокомп'ютери. Ці моделі відрізняються за будовою окремих нейронів, за структурою зв'язків між ними і алгоритмами навчання. Серед найвідоміших на початку 2000-х років варіантів НМ можна назвати НМ зі зворотним поширенням помилки, сітки Кохонена, сітки Гопфілда, стохастичні нейронні сітки. У ширшому розумінні цей підхід відомий як конектіонізм. Відмінності між логічним та структурним підходом не стільки принципові, як це здається на перший погляд. Алгоритми спрощення і вербалізації нейронних мереж перетворюють моделі структурного підходу на явні логічні моделі. З іншого боку, ще 1943 року Воррен Маккалох і Волтер Піттс показали, що нейронна мережа може втілити довільну функцію алгебри логіки.
Еволюційний підхід передбачає зосередження увагу на побудові початкової моделі і правил, за якими вона буде змінюватися. Причому модель можна створити різними методами: НМ, набір логічних правил чи будь-що інше. Після цього комп'ютер на основі перевірки моделей відбирає кращі з них. І за відібраним породжують нові моделі. Серед еволюційних алгоритмів класичним вважають генетичний алгоритм.
Імітаційний підхід використовує класичне для кібернетики поняття "чорного ящика". У цьому підході не істотно, яку модель закладено у "чорний ящик" і як він діє. Головне, щоб модель в алогічних ситуаціях поводила себе однаково. Таким чином моделюють здатність копіювати те, що роблять інші. Ця здатність економить багато часу тварині, особливо на початку її життя.
У гібридних інтелектуальних системах намагаються об'єднати ці напрямки. Експертні правила висновків можуть породжувати нейронними мережами, а побіжні правила отримувати за допомогою статистичного вивчення.
Архітектура нейронної мережі. Наявні наразі нейромережі є сукупністю штучних нейронів, об'єднаних у шари. Хоча існують мережі, які містять лише один шар або навіть один елемент, більшість застосувань вимагають мережі, які містять як мінімум три шари — вхідний, прихований та вихідний. Шар вхідних нейронів отримує дані або з вхідних файлів, або безпосередньо з рецепторів. Вихідний шар пересилає інформацію
до зовнішнього середовища, до вторинного комп'ютерного процесу або до інших пристроїв. Між цими двома шарами може бути багато прихованих шарів, які містять багато нейронів у різноманітних зв'язаних структурах.
Напрямок передавання сигналів від одного нейрону до іншого є істотною складовою структури нейромережі. У більшості мереж кожен нейрон прихованого шару отримує сигнали від всіх нейронів попереднього шару та від нейронів вхідного шару. Після опрацювання сигналів нейрон передає свій вихід до всіх нейронів наступних шарів. Багатошарові нейронні мережі можна поділити на:
Навчання нейронної мережі можна розглядати як удосконалення архітектури мережі й налаштування ваг зв'язків для ефективнішого виконання певних завдань.
Властивість мережі навчатися на прикладах робить їх привабливішою у порівнянні із системою, що діє згідно з непорушною системою правил, сформульованою експертами.
Для навчання нейронної мережі необхідно мати:
з учителем — нейромережа має у своєму розпорядженні правильні відповіді на кожен вхідний приклад, а ваги налаштовують так, щоб мережа виробляла відповіді як можна близькі до відомих правильних;
без учителя (самонавчання) не вимагає знання правильних відповідей на кожен приклад навчальної вибірки. У цьому випадку розкривається внутрішня структура даних та кореляція між зразками в навчальній множині з подальшим розподілом зразків за категоріями;
змішана — частину ваг визначають за допомогою навчання з учителем, а іншу — за допомогою самонавчання.
Ефективність навчання нейромережі залежить від того, які вхідні дані надають програмі. Наприклад, чат-бот від Microsoft на якийсь час вийшов з-під контролю, почавши обговорювати з одним з користувачів те, що не повинен був — релігію і політику, і назвав Коран жорстоким. Причина такого збою криється у тому, що бот постійно розвиває свою «особистість», черпаючи дані для цього з розмов, які з ним ведуть люди у мережі. А теми про жорстокість висловлювань Корану досить часто піднімали у чатах. Висновок: нейромережі можна навчити як «хорошим» так і «поганим» речам.
Бот (англійською bot, скорочено від англійського robot) — спеціальна програма, що виконує автоматично і/або за заданим розкладом які-небудь дії через ті самі інтерфейси, що й звичайний користувач. Зазвичай боти призначають для виконання роботи, одноманітної й повторюваної, з максимально можливою швидкістю. Про організацію роботи з ботами можна дізнатися за матеріалами сайту
robotstxt.org.
Перцептрон Розенблата у початковому виконанні складався з фотоелементів, які, залежно від поданого на них сигналу виробляли сигнал логічної одиниці, або логічного нуля. Сигнали з фотоелементів надходили на зважений суматор (мініпроцесор, штучний нейрон) з пороговою функцією активації. Нейрон також видавав сигнал логічного нуля, або логічної одиниці. Мета навчання перцептрона полягала в тому, щоб при подачі на фотоелементи закодованого образу на його виході з'являлася логічна одиниця в разі належності поданого образу до заздалегідь певного класу і нуль в іншому випадку. Логіка навчання така: якщо сигнал перцептрона при деякому образі вірний, то нічого коригувати не потрібно, якщо немає — проводиться коригування ваги суматора.
Правило коригування ваг запропоновав Хебб у 1949 році (Hebb DO — The Organization of Behavior. John Wiley & Sons, New York, 1949): «Якщо аксон клітини А знаходиться досить близько, щоб збуджувати клітку B, і неодноразово або постійно бере участь в її збудженні, то спостерігається певний процес росту або метаболічних змін в одній або обох клітинах, що веде до збільшення ефективності А, як однієї з збудливих клітин В». З цього помилково (з точки зору формальної логіки) вивели такі правила.
Перше правило Хебба — якщо сигнал перцептрона хибний і дорівнює 0, то необхідно збільшити ваги тих входів, на які була подана 1.
Друге правило Хебба — якщо сигнал перцептрона хибний і дорівнює 1, то необхідно зменшити вагу тих входів, на які була подана 1.
Правила застосовують послідовно для всіх образів, на яких здійснюється навчання. На питання про те, чи прийде перцептрон до стійкого стану, коли він буде коректно класифікувати всі вхідні образи відповідає теорема збіжності перцептрона.
Теорема збіжності перцептронa — це теорема, описана і доведена Френком Розенблаттом (за участю Блока, Джозефа, Кестена та інших дослідників, що працювали разом з ним). Вона показує, що елементарний перцептрон, що навчається за методом корекції помилки (незалежно від того з квантуванням або без нього), а також незалежно від початкового стану вагових коефіцієнтів, послідовності появи стимулів — завжди приведе до досягнення вирішення за скінченний проміжок часу. Ф. Розенблатт також довів низку допоміжних теорем, наслідки яких говорять про умови та архітектуру нейронної мережі та методи навчання для успішного виконання поставленої задачі.
Дельта-правило — математична й загальніша форма запису правил Хебба.
Нехай вектор
X = (x1, x2, ..., xm) — вектор вхідних сигналів, а вектор
D = (d1, d2, ..., dn) — вектор сигналів, які мають бути отримані від перцептрона під впливом вхідного вектора (правильний відгук). Тут n — кількість нейронів, що входять до перцептрону. Вхідні сигнали, поступивши на входи перцептрону, були зважені і підсумовані, в результаті чого отримано вектор
Y = (y1, y2, ..., yn) вихідних значень перцептрона. Тоді можна визначити вектор помилки
E = (e1, e2, ..., en), розмірність якого збігається розмірністю вектор вихідних сигналів. Компоненти вектора помилок визначають як різницю між очікуваним і реальним значенням вихідного сигналу нейрону перцептрона:
При таких позначеннях формулу для коригування j-ої ваги i-го нейрона можна записати так:
Тут номер сигналу j змінюється у межах від 1 до m, номер нейрону i змінюється у межах від 1 до n. Величина t є номером поточної ітерації навчання. Таким чином, вага вхідного сигналу нейрона змінюється у бік зменшення помилки пропорційно величині сумарної помилки нейрона. Часто запроваджують коефіцієнт пропорційності η для такої формули коректування ваг зв'язків перцептрону:
Перелік правил навчання, до яких належать описані вище правила Хебба і дельта-правило, постійно доповнюють новими правилами. Інколи модифікуючи вже наявні. Ми обмежилися лише описаними вище.
Для кращого розуміння ідеї навчання виконаємо наступне завдання.
Завдання 1. Cтворити програму з моделюванням штучних нейронів для розпізнавання трьох літер на растрових зображеннях розміру 30×30 пікселів. На початку виконання програми система буде мати «хаотичну» пам'ять, заповнену "білим шумом"" — випадковими числами з проміжку [0;1/900]. Для простоти втілення сукупність нейронів проміжного шару моделювати 3-вимірним масивом:
Вказівки для виконання у середовищі Lazarus
При використанні інших мов програмування й інших середовищ користуватися вказівками лише як орієнтиром, здійснюючи переклад з однієї мови програмування іншою.
Завантажити і розпакувати архів, що у розпакованому вигляді має таку структуру.
У середовищі Lazarus закрити поточний проект, використавши вказівку меню Проект / Закрити проект.
У вікні діалогу Майстер проектів вибрати Новий проект.
У вікні діалогу Створити новий проект вибрати Проста програма і клацнути мишею на кнопці з написом OK.
Отримати вікно вбудованого редактора текстів
з такими трьома рядками коду програми:
program Project1;
begin
end.
Приєднати до проекту пакунки, необхідні для опрацювання зображень:
використати вказівку меню Проект / Інспектор проекту... ;
у вікні діалогу Інспектор проекту клацнути правою кнопкою миші на написі Необхідні пакунки й у контекстному мені вибрати Додати...;
у вікні діалогу Нова вимога вказати потрібний пакунок LCL і клацнути кнопкою миші на кнопці з написом OK.
Створити код програми, що міститиме такі складові.
Складові 1-2 скопіювати у місце безпосередньо після заголовку програми з такого тексту.
// 1. Опис використаних модулів, сталих і змінних uses Graphics, Interfaces; const n = 2; // кількість типів еталонних зображень (літер) m = 29; // розмір зображень по вертикалі й горизонталі, зменшений на 1 s0 = '/home/chief/0/'; // тека тек файлів з еталонними зображеннями для навчання s1 = '/home/chief/1/'; // тека файлів із зображеннями для розпізнавання t0 : array[0..n] of string = ('А','Б','В'); // символи й назви тек з еталонними зображеннями n0 : array[0..n] of integer = ( 0 , 0 , 0 ); // кількості файлів з еталонними зображеннями без 1 n1 = 2; // кількість файлів для розпізнавання без 1 nk = 10; // кількість ітерацій навчання eta = 0.001; // коефіцієнт пропорційності η var w: array[0..n,0..m,0..m] of real; // результат навчання за всіма нейронами img: array [0..m,0..m] of byte; // результат розпізнавання x, // номер стовпчика пікселів у файлі зображення y, // номер рядка пікселів у файлі зображення i, // номер еталонного зображення j, // номер зображення для розпізнавання l, // номер штучного нейрону imin : byte; // номер штучного нейрону з найменшим відхиленням від k : word; // номер ітерації E, // значення помилки r, // відгук штучного нейрона rmin : real; // відгук штучного нейрона з найменшим відхиленням від номера нейрона o : text; // файлова змінна для вихідного файлу p : TBitmap; // поточне зображення s : string; // назва файлу, що містить № файлу із зображенням для розпізнавання // 2. Опис функції, що перетвоює колір у число 0 або 1 function f (c: TColor): shortint; var r, g, b: byte; color: $0..$FFFFFFFF; begin color := ColorToRGB(c); // інтенсивності кольорів моделі RGB: r := ($000000FF and Color); // червоного g := ($0000FF00 and Color) Shr 8; // зеленого b := ($00FF0000 and Color) Shr 16; // блакитного if (r+g+b > 381) then f:=0 else f:=1; end;
Значення сталих s0, s1 мають відповідати місцю розпакування архіву.
Програмування складових 3-5 вимагає використання таких елементів мови програмування:
У разі потреби переглянути відповідні частини код демонстраційного розв'язання.
Скомпілювати програму, натиснувши клавіші Ctrl + F9 або використавши вказівку меню Виконання / Компілювати. У раза потреби внести зміни у код.
Виконати програму, натиснувши клавішу F9 або використавши вказівку меню Виконання / Виконати. У раза потреби внести зміни у код. Отримати відповідь, схожу на таке.
0 В 3.4163199795693344E-001 1 А 1.5681002628150542E-001 2 Б 5.0689398489352500E-001
Пересвідчитися, що занадто велике значення коефіцієнта пропорційності η призводить "розвалу" системи й хибного результату. Наприклад, змінивши у програмі значення η (стала eta) на 0.1, отримати щось схоже на таке (важливим є лише порядок).
0 В 1.0136967570839834E+028 1 В 3.1034887048986214E+027 2 В 8.8627703352124913E+027
nk = 20000; // кількість ітерацій навчання eta = 0.0001; // коефіцієнт пропорційності ηавтор демонстраційного розв'язання через кілька годин роботи комп'ютера отримав таке виведення.
0 В 1.6431300764452317E-014 1 А 2.5535129566378600E-015 2 Б 1.8873791418627661E-014
Завдання 2. Перелічити напрямки удосконалення моделі та її програмного втілення й порівняти з очікуваним.
Створення інтерфейсу (задання адрес тек, автоматичне визначення кількостей еталонів, визначення файлів зображень для розпізнавання, задання виведення результату.
Збільшення кількості файлів для навчання і розпізнавання — і літер, і написання, і напованення, але одного розміру й розташування на прямокутнику.
Перетворення зображень для аналізу — паралельне перенесення, поворот і гомотетія (розтяг) з метою отримати зображення, максимально схоже на еталон.
Втілення кожного штучного нейрона окремим мікропроцесором для паралельного опрацювання зображень — поки не для практичного втілення у школі.
Розбиття зображень на контури й аналіз їхнього поєднання (топологічної моделі).
Штучний інтелект (англійською Artificial intelligence) — наука (розділ математичної лінгвістики та комп’ютерних наук) та набір технологій, які дозволяють комп’ютеру виконувати різні функції, притаманні людині набагато швидше та з більшою точністю. Простими словами штучний інтелект — це широка галузь комп'ютерних наук, які спрямовані на імітацію інтелекту людини машинами.
Термін "штучний інтелект" ще 1956 році запровадив професор Дартмутського коледжу Джон МакКарті, коли очолив невелику команду вчених, аби визначити, чи можуть машини вчитися, як діти, методом спроб та помилок, врешті
розвинувши формальне мислення. Фактично проект базувався на намірі з'ясувати, як змусити машини використовувати мову, абстрактні форми, вирішувати ті проблеми, які зазвичай вирішують люди, та вдосконалюватись.
Категорії штучного інтелекту
Обмежений, або вузький (ANI, Artificial Narrow Intelligence) — спеціалізований в одній конкретній області.
Загальний, або широкий> (AGI, Artificial General Intelligence) — може виконувати творчі завдання, притаманні людині.
Штучний суперінтелект (ASI, Artificial Superintelligence) — перевершує людський у всіх областях.
Наразі стикаємося з безпрецедентним ростом обсягу даних: кожні два роки протягом останніх трьох десятиліть обсяг даних у світі збільшується приблизно у 10 разів.
Алгоритми стають витонченішими, а машини з нейронними мережами здатні відтворювати спосіб роботи людського мозку і формувати складні асоціації.
Обчислювальна потужність комп'ютерыв постійно зростає, тому вони здатны опрацювати гігантський об’єм даних.
Штучний інтелект і користувачі. Технології штучного інтелекту захоплюють уяву громадськості протягом десятиліть, але багато людей не розуміють, що вони використовують їх кожного дня.
Технологія Google DeepMind продемонструвала штучний інтелект, який володіє «уявою» і здатний аналізувати інформацію та планувати дії без участі людини. У тому числі з голосовими помічниками на смартфонах.
Технологія Google Clips спроможна самостійно робити фотографії, позбавляючи людину необхідності підлаштовувати «ідеальний момент» для фотографування. Наразі цю або схожі технології використоввують у смартфонах.
Алгоритм Brain, який використовує YouTube для рекомендації контенту, забезпечує перегляд 70% відео з числа усіх, які переглядають на сайті.
Голосовий пошук використовують пошукові асистенти Siri, Alexa та Cortana. Наразі можливості голосового пошуку доступні на 3,9 мільярдах пристроїв Apple, Android і Windows по всьому світу.
Складові ПЗ смартфонів:
камера — автоматичне визначення режиму зйомки, ефект Боке, вибір кращого знімку із серії світлин, автокорекція фото;
oптимізація системи — «вивчення» звичок користувача і пристосоввання до них для того, щоб підвищити продуктивність відкриття програм. Схожий процес відбувається при керуванні ресурсами процесора: додатки, що найчастіше використоввують мають використовувати найшвидші ядра процесора. Менш важливі програми видаляють з оперативної пам'яті для звільнення місця;
переклад в реальному часі — Google та Huawei використовують у своїх смартфонащ ШІ для перекладу тексту, що дає змогу у 4 рази швидше перекладати текст без доступу до мережі Інтернет;
фотогалерея — алгоритми ШI допомагають у формуванні інтелектуальної бібліотеки фотографій. Google Фото автоматично маркує світлини, ідентифікує знімки, налаштування, людей і місце проведення фотозйомки.
Доведення теорем. Вивчення прийомів доведення теорем відіграло важливу роль у розвитку штучного інтелекту. Багато неформальних задач, наприклад, медична діагностика, застосовують методичні підходи, вироблені під час автоматизації доведення теорем. Пошук доведення математичної теореми вимагає не лише проведення дедукції, виходячи з гіпотез, але також у створенні інтуїтивних припущень про те, які проміжні твердження потрібно довести для доведення основної теореми.
Розпізнавання зображень використовують системи ідентифікації графічних об'єктів на основі аналогічних ознак. Ознаками можуть бути будь-які властивості об'єктів, що можна розпізнати. Алфавіт ознак формує розробником системи. Якість розпізнавання багато в чому залежить від того, наскільки вдало сформований алфавіт ознак. Розпізнавання полягає в апріорному отриманні вектора ознак для виділеного на зображенні окремого об'єкту й у визначенні того, якому з еталонів алфавіту ознак цей вектор відповідає.
Машинний переклад і розпізнавання людської мови. Аналіз речень людської мови із застосуванням словника є типовою задачею систем штучного інтелекту. Для її вирішення була створена мова-посередник, що полегшує зіставлення фраз із різних мов. Надалі ця мова-посередник перетворилася на семантичну модель представлення значень текстів, що підлягають перекладу. Еволюція семантичної моделі призвела до створення мови для внутрішнього представлення знань.
Ігрові програми. В основу більшості сучасних ігрових програм покладено декілька базових ідей штучного інтелекту, таких як перебір варіантів і самонавчання. Одна з найцікавіших задач у сфері ігрових програм, що використовують методи штучного інтелекту, полягає в навчанні комп'ютера гри в шахи. Вона була започаткована ще на зорі обчислювальної техніки, наприкінці 50-х років ХХ століття. У шахах існують певні рівні майстерності, ступені якості гри, які можуть дати чіткі критерії оцінки інтелектуального зростання системи. Тому комп'ютерними шахами активно займався вчені з усього світу, а результати їх досягнень застосовуються в інших інтелектуальних розробках, що мають практичне значення. У 1974 році вперше пройшов чемпіонат світу серед шахових програм у рамках чергового конгресу IFIP (International Federation of Information Processing) у Стокгольмі. Переможцем цього змагання стала шахова програма «Каїсса». Її було створено у Москві, в Інституті проблем управління Академії наук СРСР.
Машинна творчість. До однієї з областей застосувань штучного інтелекту можна віднести програмні системи, здатні самостійно створювати музику, вірші, оповідання, статті, дипломи і навіть дисертації. Для різних музичних задач було створене спеціальне програмне забезпечення: системи опрацювання звуку, синтезу звуку, системи інтерактивної композиції, програми алгоритмічної композиції.
Автономне авто. Повністю автономні автомобілі все більше наближаються до реальності. Google повідомила про алгоритм, здатний навчитися водити автомобіль точно так, як це робить людина. І хоча цей проект вже закрито, напрацювання Google можуть використовувати інші компанії. Наприклад, Tesla на борту свого авто має «розумного» помічника, який дозволяє керувати автомобілем без втручання людини.
Пропозиція товарів. Великі продавці, на кшталт Target і Amazon заробляють додатково мільйони доларів завдяки здатності їх магазинів передбачити потреби покупців. Наприклад, сервіс рекомендацій на сайті Amazon.com працює на базі технологій машинного навчання. Він так само допомагає обирати оптимальні маршрути автоматичного переміщення в центрах опрацювання і виконання замовлень. На основі таких самих технологій працюють ланцюжок поставок і системи прогнозування й розподілу ресурсів. Технології розуміння і розпізнавання природньої мови лягли в основу сервісу Alexa. На базі глибокого навчання побудована нова ініціатива компанії з використанням дронів, Prime Air, а також технологія із застосуванням машинного зору в нових точках роздрібної торгівлі Amazon Go.
Онлайн підтримка клієнтів. У сфері послуг чат-боти зробили революцію в обслуговуванні, і споживачі вважають їх не менш зручними за телефон чи електронну пошту. Бот з ШІ, що працює на веб-сайті підприємства, відповідає на запити відвідувачів, на кшталт: Яка ціна? Який номер телефону вашої компанії? Де ваш офіс? Відвідувач отримує пряму відповідь на кокретне запитання замість того, щоб шукати потрібну інформацію по сайту.
Новинні портали Штучний інтелект спроможні писати фінансові звіти, спортивні репортажі і тощо. Навіть страшилки.
Пошукові системи. Google використовує штучний інтелект для аналізу поведінки користувача, його віку, інтересів і вподобань за пошуковими запитами. Це дає змогу видавати покращені результати пошуку з урахуванням вікових особливостей та інтересів. Рекламні пропозиції, які ви бачите в мережі Інтернет, працюють за тим самим принципом.
Експертні системи. Методи штучного інтелекту знайшли застосування у створенні експертних систем. Перші експертні системи були розроблені, як науково-дослідні інструментальні засоби в 1960-х роках
XX сторіччя. Вони були системами штучного інтелекту, спеціально призначеними для вирішення складних задач у вузькій предметній області. Такій, наприклад, як медична діагностика захворювань. Класичною метою цього напряму від початку було створення системи штучного інтелекту загального призначення, яка була б здатна розв'язати будь-яку проблему без конкретних знань у предметній області. Зважаючи на
обмеженість можливостей обчислювальних ресурсів, ця задача виявилася дуже складною для вирішення з прийнятним результатом.
Комерційне впровадження експертних систем відбулося на початку 1980-х років, і з того часу експертні системи набули значного поширення. Їх використовують у бізнесі, науці, техніці, на виробництві,
а також у багатьох інших сферах, де існує цілком визначена предметна область. Основне значення виразу «цілком визначене», полягає у тому, що експерт-людина здатна визначити етапи міркувань, за допомогою яких може бути вирішена будь-яка задача з даної предметної області. Це означає, що аналогічні дії можуть бути виконані комп'ютерною програмою.
Сьогодні, експертні системи є одним з найуспішніших застосувань технології штучного інтелекту. Тому подальше вивчення штучного інтелекту буде здійснюватись у рамках методів, які використовують у технології створення експертних систем.
Машини, як і люди, зберігають у пам'яті інформацію і з часом стають "розумнішими". Але на відміну від нас, їм не знайомі такі речі, як короткочасна втрата пам'яті, перевантаження інформацією, розлад сну
чи неуважність. Ще 1959 року дослідник Артур Семюель визначив машинне навчання як "галузь досліджень, яка дає комп'ютерам здатність навчатися без того, щоб їх явно програмували". Під час машинного навчання програми аналізують тисячі прикладів, аби написати алгоритм. Потім налаштування алгоритму змінюється, в залежності від того, чи досягнуто поставлених цілей, і з часом програма дійсно прогресує.
Саме так машини, на кшталт суперкомп'ютера IBM Watson можуть діагностувати рак, складати симфонії, конкуручи з людиною.
Прикладом нейромережі та машинного навчання може слугувати сайт ostagram.me, де завантаживши два зображення (одне основне, друге — як приклад оформлення) можна отримати несподівані витвори від штучного інтелекту.
Чи не позбавить ШІ людство роботи? Багато людей негативно ставиться до прогресу штучного інтелекту через острах, що врешті машини позбавлять людей високо кваліфікованої (читай високо оплачуваної) роботи. ШІ напевне замінить мільйони людей. Але натомість з'являться нові посади, що вимагатимуть вищої кваліфікації і супроводжуватимуться вищою оплатою. Наприклад, для налаштування роботи того самого штучного інтелекту. Проблему не у штучному інтелекті, а у здатності суспільства так вибудовувати економічну політику, що науково-технічний прогрес збільшував добробут усіх членів суспільства.
4. Закріплення вивченого матеріалу
5. Підбиття підсумків уроку
Виставлення оцінок.
6. Домашнє завдання
Робота у групах: втілити напрямки удосконалення 1-3 демонстраційного розв'язання завдання 2.
Ознайомитися з відеозаписом майстер-класу «Як ChatGPT може асистувати під час створення навчальної програми або освітньої траєкторії» від Олександри Тиркалової, 20 червня 2023 року
Ознайомитися із зауваженнями щодо використання штучного інтелекту у доповіді Олександра Рудика "Якість освіти й міфи освітян" (див. сторінку 4)
Текст упорядкував Дмитро Олександрович Олексієвець, вчитель cпеціалізованої школи І-ІІІ ступенів № 91 з поглибленим вивченням інформатики Шевченківського району міста Києва, на курсах підвищення кваліфікації з 29.10.2018 по 02.11.2018. Демонстраційне розв'язання завдання 1 й умову завдання 2 подав Олександр Рудик.