Посібник із глибокого навчання для початківців: основи нейронної мережі

⚡ Розумний підсумок

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

  • 🔘 Багатошарова архітектура: Вхідний шар, два або більше прихованих шарів та вихідний шар роблять мережу глибокою.
  • ☑️ Signal сила: Вага, зміщення та функція активації визначають, що кожен нейрон передає наступному шару.
  • Двофазний контур: Нелінійне перетворення створює модель, потім метод на основі похідних покращує її, і цей процес повторюється, доки точність не стане прийнятною.
  • 🧪 Чотири архітектури: Мережі прямого зв'язку, рекурентні мережі, згорткові мережі та агенти навчання з підкріпленням.
  • 🛠️ Де це окупається: Кредитний скоринг у фінансах, відбір кандидатів у відділі кадрів, аналіз настроїв у кол-центрі в маркетингу.
  • Реальні обмеження: Вартість маркування, потреба у величезних наборах даних та моделі, які не піддаються поясненню простою мовою.

Посібник із глибокого навчання для початківців: основи нейронної мережі

Що таке глибоке навчання?

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

Алгоритми глибокого навчання побудовані з пов'язаними шарами, як показано на діаграмі нижче.

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

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

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

Процес глибокого навчання

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

  • Зрозумійте проблему
  • Визначте дані
  • Виберіть алгоритм глибокого навчання
  • Тренуйте модель
  • Випробуйте модель
П'ятиетапний процес глибокого навчання: від розуміння проблеми до тестування моделі

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

Щоб зрозуміти ідею глибокого навчання, уявіть собі сім'ю з немовлям та батьками. Малюк вказує на предмети мізинцем і завжди каже слово «кіт». Оскільки батьки стурбовані його освітою, вони постійно кажуть йому: «Так, це кіт» або «Ні, це не кіт». Немовля наполегливо вказує на предмети, але стає точнішим зі словом «кіт». Маленька дитина в глибині душі не знає, чому вона може сказати, кіт це чи ні. Вона просто навчилася впорядковувати риси, які складають кота, в ієрархію, розглядаючи домашнього улюбленця в цілому, а потім зосереджуючись на деталях, таких як хвіст чи ніс, перш ніж прийняти рішення.

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

Навчання відбувається в два етапи:

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

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

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

Анімована фігура рухається хаотично після десяти хвилин глибокого навчання

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

Анімована фігура плавно танцює після сорока восьми годин глибокого навчання

Класифікація нейронних мереж

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

Неглибока нейронна мережа: Поверхнева нейронна мережа має лише один прихований шар між входом і виходом.

Глибока нейронна мережа: Глибокі нейронні мережі мають більше одного прихованого шару. Наприклад, модель GoogLeNet для розпізнавання зображень налічує 22 шари.

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

Типи мереж глибокого навчання

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

Схема архітектур нейронних мереж, включаючи перцептрон, пряму передачу, RBF, RNN, LSTM, GRU та автоенкодерів

Схема архітектур нейронних мереж, від єдиного перцептрона до варіантів LSTM, GRU та автоенкодерів

Нейронні мережі прямого зв’язку

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

Повторювані нейронні мережі (RNN)

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

Блок-схема рекурентної нейронної мережі з виходом, що зациклюється назад у мережу як пам'ять

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

Наприклад, якщо завдання полягає в тому, щоб передбачити наступне слово в реченні «Ви хочете …?», мережа діє так:

  • Нейрони RNN отримують сигнал, який вказує на початок речення.
  • Мережа отримує слово «Do» на вхід і генерує вектор чисел. Цей вектор передається назад до нейрона, щоб забезпечити мережу пам'яттю. Цей етап допомагає мережі запам'ятати, що вона отримала слово «Do» і що вона отримала його першою.
  • Мережа діє аналогічно з наступними словами. Вона бере слово «ти», а потім «хочеш». Стан нейронів оновлюється після отримання кожного слова.
  • Заключний етап відбувається після отримання слова «a». Нейронна мережа надає ймовірність для кожного англійського слова, яке може завершити речення. Добре навчена RNN, ймовірно, призначає високу ймовірність словам «café», «drink», «burger» та подібним.

Загальне використання RNN

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

Свертові нейронні мережі (CNN)

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

Архітектура CNN зі згорткою, ReLU та етапами навчання ознак у пулінгу, а також з наступною класифікацією з вирівнюванням, повним зв'язком та softmax

Навчання ознак за допомогою згортки, ReLU та пулінгу; класифікація за допомогою вирівнювання, повної зв'язності та softmax

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

Наприклад, якщо завдання передбачити підпис до зображення:

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

Навчання зміцненню

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

Деякі з найвідоміших алгоритмів:

  • Q-навчання
  • Глибока мережа Q
  • Стан-Дія-Нагорода-Держава-Дія (SARSA)
  • Глибокий детермінований градієнт політики (DDPG)

У таблиці нижче підсумовано, коли підходить кожна архітектура.

Archiтектура Дані, які підходять Відмінна риса Типове завдання
Подача вперед Табличний ввід фіксованої довжини Без циклів; інформація рухається лише вперед Оцінювання та проста класифікація
Рекурентний (RNN) Послідовності та часові ряди Вузли контексту надають йому пам'ять Передбачення тексту, аудіо, прогнозування
Згортковий (CNN) Неструктуровані дані у формі сітки Згортка та пулінг extract особливості Класифікація зображень та підписи
Підсилення навчання Середовище, а не набір даних Вчиться на винагородах і покараннях Ігрові агенти, робототехніка, управління

Приклади застосувань глибокого навчання

Ці архітектури вже використовуються у дуже різних галузях:

AI у фінансах

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

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

ШІ в HR

Under Armour, компанія спортивного одягу, revolutіонізований найм та модернізований досвід кандидатів за допомогою штучного інтелекту. Under Armour зіткнувся зі сплеском інтересу ще у 2012 році та отримував в середньому понад 30 000 заявок на місяць. Перегляд усіх цих заявок, а потім початок процесу відбору та співбесіди займав надто багато часу. Тривалий процес працевлаштування та адаптації людей вплинув на здатність Under Armour повністю укомплектувати свої роздрібні магазини персоналом, підготувати їх до роботи та забезпечити їхню роботу.

На той час Under Armour мала всі «обов’язкові» HR-технології, такі як транзакційні рішення для пошуку поставок, застосування, tracкороль та адаптація, але цих інструментів самих по собі було недостатньо. Under Armour обрала HireVue, постачальника HR-рішень на основі штучного інтелекту, як для проведення співбесід на вимогу, так і в реальному часі. Результати були вражаючими: компанія повідомила про скорочення часу на заповнення вакансії на 35%, одночасно підвищуючи якість найнятого персоналу.

AI з маркетингу

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

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

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

Чому глибоке навчання важливе?

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

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

Обмеження глибокого навчання

Ці результати мають реальні витрати.

Маркування даних

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

Отримайте величезні навчальні набори даних

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

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

Поясніть проблему

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

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

Поширені запитання

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

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

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

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

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

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

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

Копілот GitHub Проекти TensorFlow і PyTorНавчальні цикли ch з короткого запиту. Перевірте вхідні форми, функцію втрат та самостійно введіть початкові значення, оскільки згенерований шаблонний шаблон часто містить помилки.

Підсумуйте цей пост за допомогою: