Що таке нейронні мережі та де їх використовують?

21.08.2023
30 хв
9471
8
Що таке нейронні мережі та де їх використовують? Головний колаж статті.

Що таке нейронна мережа?

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

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

Останніми роками технологія набула великого розвитку. Переважно її використовують для обробки тексту, відео, аудіо та іншої інформації.

Особливої популярності набули нейромережі, здатні швидко генерувати зображення з підказки та давати «майже людські» відповіді на запитання або запити природною мовою.

Такі моделі не замінюють роботу фахівців, але допомагають оптимізувати рутинні процеси.

Із чого складається нейромережа

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

Штучні нейрони — це структурні одиниці, які отримують, обробляють і повертають інформацію. Вони з’єднані між собою синапсами.

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

Вага — це коефіцієнт, через який передана між структурними одиницями інформація може змінюватися.

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

Мережу формують нейрони, впорядковані в шари. Вхідний (input) приймає дані, а вихідний (output) надає результат роботи моделі. Між ними є приховані шари (hidden). Вони спеціалізуються на опрацюванні інформації, проте ШІ-розробники не завжди розуміють, що відбувається в hidden.

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

Неглибока (ліворуч) і глибока (праворуч) нейромережі. Дані: Packt.

Історія виникнення нейромереж

У 1943 році нейрофізіолог Воррен Мак-Каллок і логік Волтер Піттс опублікували статтю, де змоделювали біологічну роботу органічного нейрона за допомогою електричних ланцюгів. Вони припустили, що нейрон можна уявити як обчислювальну одиницю, здатну приймати вхідні сигнали, обробляти їх і видавати вихідні сигнали.

Нейрон, запропонований Мак-Каллоком-Піттсом. Дані: Towards Data Science.

У 1949 році фізіолог Дональд Хебб написав книгу «Організація поведінки: нейропсихологічна теорія». У ній учений зазначив, що нервові шляхи посилюються при кожному наступному використанні, особливо між нейронами, схильними збуджуватися одночасно.

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

У 1958 році натхненний публікацією Маккаллоха і Піттса нейрофізіолог Френк Розенблатт розробив перцептрон. Саме його можна назвати першою практичною реалізацією нейромережі.

Архітектура перцептрона.

У 1960 році вчений створив обчислювальну машину «Марк I» на базі перцептрона. Це була система з простим взаємозв’язком вхід-вихід, здатна навчатися в найпростіших завданнях.

Нейрокомп’ютер «Марк I» — перша реалізація перцептрона. Дані: Корнельський університет.

1959 року дослідники зі Стенфордського університету Бернард Відроу і Тед Хофф розробили першу нейронну мережу MADALINE, успішно застосовану до реальної проблеми. Вона використовується досі і допомагає усувати перешкоди в телефонних лініях.

Ці ранні досягнення породили зростаючий галас навколо можливостей і потенціалу нейромереж.

У 1958 році, на піку ажіотажу навколо «думаючих машин», видання The New York Times опублікувало статтю про перспективи моделей.

1961 року також вийшло інтерв’ю з ШІ-піонерами Джеромом Візнером, Олівером Селфріджем і Клодом Шенноном про майбутнє технології.

Однак 1969 року засновник ШІ-лабораторії MIT Марвін Мінскі та її директор Сеймур Пейперт опублікували книгу «Перцептрони». У ній вчені припустили, що одношарові моделі не можна ефективно перетворити на багатошарові.

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

Також Мінскі та Пейперт виклали й інші проблеми з алгоритмами. Це привело наукову спільноту та фінансуючі установи до висновку про марність подальших досліджень у цьому напрямку. Почалася «зима ШІ».

Інтерес до технології відновився 1982 року, коли вчений Джон Гопфілд представив модель із двонаправленими зв’язками нейронів, відому як нейромережа Гопфілда. Вона стала першим алгоритмом з асоціативною пам’яттю.

Нейронна мережа Гопфілда.

Того ж року на конференції з кооперативних і конкурентних нейронних мереж Японія оголосила про нову роботу над моделями п’ятого покоління. У США побоювалися програти в перегонах. Фінансування досліджень відновилося.

У 1985 році Американський інститут фізики заснував щорічні збори «Нейронні мережі в обчислювальній техніці».

У 1987 році Інститут інженерів електротехніки та електроніки організував першу Міжнародну конференцію з нейронних мереж.

У 1986 році три незалежні групи дослідників заново відкрили метод зворотного поширення помилки, запропонований соціологом Полом Вербосом ще 1974 року.

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

У 2006 році вчений Джеффрі Хінтон і його колеги розробили глибокі нейронні мережі з використанням алгоритму зворотного поширення помилки. Це стало переломним моментом у розвитку технології, який дав змогу підвищити точність і ефективність тренування. Відтоді нейронні мережі стали широко застосовуватися в різних галузях.

Принцип роботи нейронної мережі

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

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

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

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

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

Навчання нейромережі

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

На кожному етапі алгоритм використовує математичну функцію, щоб визначити різницю між її останнім прогнозом і очікуваним результатом — помилку.

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

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

На цьому етапі, наприклад, коли модель розпізнає котів на фото з точністю понад 95%, можна сказати, що вона навчена.

Тренувальні дані

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

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

Під час контрольованого навчання моделі надають розмічені дані, які заздалегідь дають правильну відповідь.

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

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

Якщо дані розмічені неякісно, модель може містити помилки.

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

Архітектури нейронних мереж

На момент написання відомо близько 30 різновидів нейронних мереж. Вони мають свої особливості та призначені для вирішення різних завдань.

Типи нейронних мереж. Дані: The Asimov Institute.

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

Такі мережі працюють в одному напрямку — вони передають інформацію від входу до виходу.

Архітектура нейромережі з прямим зв’язком.

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

Згорткові нейромережі (CNN) зазвичай застосовують у пов’язаних із комп’ютерним зором завданнях.

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

Архітектура глибокої згорткової нейронної мережі.

CNN аналізують не всі дані одразу, а проходяться по них фільтром із заданим розміром.

Наприклад, під час обробки зображення 200×200 пікселів CNN зчитує квадрат розміром 20×20 пікселів, зсувається на один піксель і зчитує новий квадрат. Потім вхідні дані передаються через згорткові шари, в яких не всі вузли з’єднані між собою.

Двовимірне згортання.

Рекурентні нейронні мережі (RNN) використовують для обробки природної мови.

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

Архітектура рекурентної нейронної мережі.

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

Мережа з довгою короткостроковою пам’яттю (LSTM) розв’язує проблему втрати відомостей у рекурентних моделях.

Архітектура мережі з довгою короткостроковою пам’яттю.

У LSTM кожен нейрон має клітину пам’яті та три фільтри: вхідний, вихідний і той, що забуває. Їхня мета — захистити інформацію.

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

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

Мережі з довгою короткостроковою пам’яттю здатні створювати складні структури, але вимагають великої кількості ресурсів.

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

GAN складається з двох моделей: генератора, який створює контент, і дискримінатора, що оцінює його.

Архітектура генеративно-змагальної нейромережі.

Мережа-дискримінатор отримує навчальні або створені генератором дані. Ступінь вгадування дискримінатором джерела інформації надалі бере участь у формуванні помилки.

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

Навчати такі нейромережі складно, оскільки необхідно не тільки навчити кожну з моделей, а й налаштувати між ними баланс.

Де використовуються нейромережі в сучасному світі

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

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

Також ШІ-моделі, у поєднанні з навчанням із підкріпленням, застосовують в іграх — від настільних на кшталт го до комп’ютерних на кшталт Dota 2 або Quake III.

Нейромережі лежать в основі безлічі додатків і сервісів. Наприклад, їх використовує Apple для розуміння і генерації мови голосовим помічником Siri, а Microsoft — для перекладу веб-сторінок у реальному часі в браузері Bing.

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

За допомогою нейромереж AR-фільтри Snapchat і TikTok можуть знаходити обличчя користувачів і накладати на них різні ефекти. Також моделі допомагають Instagram шукати релевантні відео для рекомендацій.

У 2022 році почали набирати популярності алгоритми, що дають змогу всім охочим створювати унікальні картини за уривком тексту. ШІ-генератори зображень на кшталт DALL-E 2, Midjourney і Stable Diffusion XL досі мають попит і застосовуватимуться ще довгий час.

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

Чат-боти на кшталт ChatGPT від OpenAI здатні розмовляти на різноманітні теми та розуміти контекст, визнавати помилки, жартувати та сперечатися.

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

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

Недоліки нейромереж

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

Наприклад, під час навчання ШІ-алгоритму SAM виявлення невідомих раніше об’єктів на зображеннях і відео Meta використовувала набір з 11 млн картинок і 1,1 млрд масок-анотацій.

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

Також алгоритми здатні переймати забобони людей: навчаючись на упереджених відомостях вони починають відтворювати їх.

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

Корпорації на кшталт Meta, Apple, Microsoft і Alphabet витрачають на створення ШІ-алгоритмів десятки мільярдів доларів. Витрати включають дослідження, розробку, тренування, перевірку працездатності, розгортання, комерціалізацію та підтримку технології.

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

Ще одна проблема використання нейромереж стосується етики. Розробники не завжди можуть контролювати поширення і застосування технології. Алгоритми не можна вважати авторами, але відповідальність за їхню некоректну «поведінку» несуть творці.

За рахунок доступності технології зловмисники можуть за допомогою нейромереж створювати зображення для обману людей і поширення мови ненависті.

Майбутнє нейромереж

Розробники нейромереж прагнуть до створення загального ШІ (AGI). Така система зможе успішно вирішувати будь-які інтелектуальні завдання, які здатні виконувати люди.

Згідно з деякими прогнозами, AGI з’явиться в найближче десятиліття, а за іншими — не раніше, ніж через 100 років.

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

Серед найбільш реалістичних перспектив ШІ-моделей:

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

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

Висновок

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

У сучасному світі ШІ-моделі використовують для розв’язання різних завдань практично в усіх галузях. Вони допомагають розуміти і генерувати мову, створювати унікальні картини за підказкою, перекладати тексти, керувати безпілотними автомобілями і відкривати нові ліки.

  • Штучна нейромережа — це спроба за допомогою математичних моделей відтворити роботу людського мозку. Вона складається з нейронів, які отримують, обробляють і повертають інформацію, та синапсів.
  • Уперше біологічну роботу органічного нейрона вчені змоделювали 1943 року. Дослідники Воррен Мак-Каллок і Волтер Піттс припустили, що нейрон можна уявити як обчислювальну одиницю, здатну приймати вхідні сигнали, обробляти їх і видавати вихідні сигнали.
  • Для навчання алгоритмів розв’язання завдань розробники використовують набори розмічених або нерозмічених даних.
  • Відомо близько 30 типів моделей, серед яких згорткові, рекурентні та генеративно-змагальні нейромережі.
  • Недоліками нейромереж є необхідність використання великої кількості якісних навчальних даних і потужного обладнання. Іншим викликом може стати час, необхідний для створення високоточних моделей
  • Одними з головних напрямків розвитку нейромереж виокремлюють поліпшення їхньої продуктивності, точності та ефективності, розширення сфери застосування та інтеграцію з іншими технологіями на кшталт блокчейну.

Найчастіші запитання

Нейромережа - це алгоритм, що навчається, створений для виконання конкретних завдань.
Необхідно вибрати відповідний під ваші завдання алгоритм, перевірити його доступність у вашому регіоні, уточнити, чи є сервіс безкоштовним, чи поширюється за передплатною моделлю.
Більшість популярних сервісів має власні вебсайти. Такі ресурси є, наприклад, у DALL-E 2, Midjourney і Stable Diffusion XL.
Нейронні мережі використовують для розв'язання різних завдань практично в усіх галузях. Вони допомагають розуміти і генерувати мову, створювати унікальні картини за підказкою, перекладати тексти, керувати безпілотними автомобілями і відкривати нові ліки.

Як вам стаття?

8
0

статті на цю ж тему

Як новачкові створити та розпізнати...
avatar Maryna Hlaiboroda
23.10.2023
Що таке машинне навчання? Усе, що вам...
avatar Maryna Hlaiboroda
07.10.2023
Генерація відео за текстом: що це і...
avatar Maryna Hlaiboroda
16.09.2023