ai

Під капотом штучного інтелекту

Принципи проектування штучного інтелекту

Існує два принципово різних підходи до проектування штучного інтелекту:

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

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

Окрім висхідного та низхідного проектування, існує градація на сильний та слабкий штучний інтелект. Речі, які вміють розпізнавати мовлення, переслідувати ціль, м’яко прати ваш одяг, вже існують і жодна з них не має інтелекту. Ми проходимо повз них і спробуємо уявити щось, що має інтелект, але не існує. Наприклад, роботи з відомого всім фільму “Зоряні війни” або агентів з “Матриці”, тощо. Ось про них і поговоримо.

Алгоритм визначення наявності інтелекту у машини

То ж як визначити чи є інтелект у робота або комп’ютерної програми, чи його немає?

Алан Тьюринг – один із піонерів комп’ютерної науки, запропонував елегантну відповідь – нехай машина сама нас в цьому переконає.

Його спосіб перевірки зводиться до наступного. Є ведучий і два гравці, один із яких є машиною. Ведучому невідомо, хто з них є хто. Ведучий задає гравцям запитання, використовуючи чат, гравці на них відповідають. Задача ведучого – визначити, хто з гравців є машиною. Завдання машини – збити ведучого з пантелику, щоби він не зміг визначити, хто з гравців є машиною. Гра не обмежується загальними фразами на кшталт “Як тебе звати?”. Для прикладу можна запитати “Не міг би ти написати поему про вірші та осінь?”, при цьому нормальною адекватною реакцією комп’ютера була б відповідь “Вибачте, але я не вмію писати вірші!”. Або запитати “Скільки буде 314 додати 567?”. Комп’ютер, який себе поважає, повинен подумати декілька секунд, перш ніж відповісти “881”, а то і помилитись в розрахунках. Розумієте? Це складна гра, це складніше, ніж просто правильно відповісти на запитання, важливо відповісти так, як би це зробила людина.

Ідея цієї гри наступна. Якщо машина може переконати нас в тому, що ми не можемо відрізнити людину від машини, то, ймовірно, машина розумна, володіє свідомістю, або, принаймні, розумніша за людей. Тоді як ми можемо розмірковувати про те, що є розумним. 

З іншого боку, тест Тьюринга – це лише гра в імітацію. Чи може комп’ютер, який стверджує, що любить осінь та вірші, вводить нас в оману. І якщо він вводить нас в оману, то чи мучить його сумління? Врешті-решт, з чого ми взяли, що ввести людину в оману – це показник розумності.

Інтелект і поведінка

Під інтелектом вбачають здібності людей аналізувати зовнішній світ, навчатись та генерувати певну раціональну поведінку.  Якщо ми викинемо слово “людей”, поставимо під сумнів “раціональну”, то у нас залишиться “поведінка”.

Чи є поведінка показником розумності? Звичайно, ні. Можна нічого не робити, лежати, і при цьому вважати себе розумним. Отже поведінка – не означає розум.

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

Як працює навчання? Насправді навчання – це процес прогнозування. Це означає, що ми прогнозуємо те, що має бути результатом.

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

Коли ми читаємо текст, ми рухаємось скачками по декілька слів. Що робить в цей час наш мозок? Наш мозок передбачає наступні слова. І кожен такий скачок перевіряє, чи вірним було передбачення. Якщо ні, мозок автоматично щось собі там підправляє, підганяє під зміст. Таким чином нам здається, що текст рівномірно поступає у наш мозок і ми його розуміємо. 

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

Введемо поняття інтелекту, яке на даний момент нам підходить. Інтелект – це здатність передбачати майбутнє та писати програми. Програми не обов’язково повинні бути комп’ютерними. Це можуть бути прості програми.

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

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

Як працює мозок людини

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

Мозок людини, можна сказати, складається з трьох основних відділів:

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

На перших двох зупинятись не будемо, вони не представляють ніякої цінності для нас в даному випадку.

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

Неокортекс дуже однорідний. Якщо ми візьмемо по шматочку з різних місць, вони будуть настільки схожими, що їх майже неможливо розрізнити. Там будуть такі ж нейрони, вибудовані в такі ж шари, такі ж незрозумілі зв’язки.

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

Якщо придивитися, то можна побачити певні прошарки.

При збільшенні зображення можна побачити 6 шарів нейронів.

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

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

Давайте розберемось на прикладі читання. Ми читаємо слово “мама”. У нас є нижній шар, на який потрапляє інформація від наших візуальних рецепторів і цей нижній шар вміє робити незамислуваті речі.

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

Таким чином, якщо у правильному порядку активуються ці групи нейронів, то вже, скажімо, на другому-третьому рівні ми вже можемо розпізнати букву “А”. Ще вищий рівень дозволяє розрізняти склади, ще вище – слова. І так далі. Чим вище рівень, тим більше деталей об’єкту ми можемо розпізнавати.

Назвемо їх елементами, які відповідають за розпізнавання або блоками розпізнавання інформації.

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

Так, коли ми кажемо або читаємо слово “мама”, коли згадуємо про маму коли щось нагадує про маму, наприклад, взуття чи сукня, на входи нейронів приходить зовсім різна інформація. Це або аудіо чи візуальна інформація, або текстова, яка в результаті призведе нас до спогаду однієї і тієї ж мами у нашому мозку. Навіть коли ми чуємо, що хтось говорить про нашу маму, ми все одно згадуємо один і той же об’єкт – нашу матір.

Тобто всі блоки розпізнавання інформації врешті решт пов’язані з високорівневими абстракціями.

Така структура зберігає послідовність патернів. Якщо ви почуєте якусь мелодію, яку ви знаєте, то ви можете почати підспівувати з того місця, з якого ви її почули. Ви не можете наспівувати її в зворотному порядку, не можете рандомно розставити ноти з цієї мелодії. Є послідовність і є напрямок, в якому ми читаємо цю послідовність.

Як працює пам’ять

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

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

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

Deep Learning

Починаючи з 2007 року ми спостерігаємо потужну революцію в розвитку нейронних мереж, яка називається Deep Learning.

В чому суть? Якщо коротко, то суть в багатошарових ієрархічних нейронних мережах, схожих на наш неокортекс.

Багатошарові нейронні мережі були відомі давно, десь з середини-кінця ХХ століття, але був ряд труднощів та проблем, пов’язаних з їх навчанням.

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

Коли шарів більше, кількість елементів, які беруть участь, стає настільки великим, що класичні методики навчання стають неефективними і перестають працювати.

У 1995 році розробили новий математичний апарат, на початку 2000-х розробили конкретний софт, який навчився це робити, а заодно з’явився і інтернет. Інтернет призвів до того, що ми почали шалено генерувати контент – різні картинки, відео та інше. Цей контент якраз та необхідна річ, яка потрібна для навчання нейронних мереж.

І Google, коли купив YouTube у 2012 році, взяв нейронну мережу і натравив її на YouTube. За тиждень нейронна мережа навчилась відрізняти людей від котів і знаходити котів на відео, при тому що задачі шукати котів на відео не було поставлено. 

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

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

Сучасний штучний інтелект і його майбутнє

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

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

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

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

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

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

Ми не можемо вимкнути інтернет. Інтернет не має інтелекту, однак ми не маємо кнопки “вимкнути інтернет”. Так і не буде кнопки “вимкнути штучний інтелект”. 

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

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

Ми ніяк не зможемо стримувати і контролювати штучний інтелект, якщо він з’явиться. А він з’явиться приблизно у найближчі 50 років або набагато швидше. І єдине, що може якось нам допомогти – це якщо у нас і у штучного інтелекту буде приблизно однакова ціль і ми будемо союзниками. 

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

Залишити відповідь