ШІ 101

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

mm

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

Що таке Машинне Навчання?

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

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

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

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

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

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

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

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

Різні Типи Глибокого Навчання

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

Конволюційні Нейронні Мережі

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

  • Конволюційні шари
  • Шари підсамплінгу/пулінгу
  • Активні функції
  • Повністю з’єднані шари

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

РНН/ЛСТМ

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

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

Автоенкодери

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

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

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

  • Регулярні/звичайні автоенкодери
  • Багатошарові автоенкодери
  • Конволюційні автоенкодери
  • Регуляризовані автоенкодери

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

Генеративно-Відривні Мережі

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

Підсумок Глибокого Навчання

Глибоке навчання розширює принципи нейронних мереж для створення складних моделей, які можуть вивчити складні закономірності і узагальнити ці закономірності на майбутні набори даних. Конволюційні нейронні мережі використовуються для інтерпретації зображень, тоді як РНН/ЛСТМ використовуються для інтерпретації послідовних даних. Автоенкодери можуть перетворити завдання навчання без нагляду на завдання з наглядом. Нарешті, ГВМ – це кілька мереж, які знаходяться в змаганні одна з одною, і вони особливо корисні для завдань комп’ютерного зору.

Блогер і програміст з спеціалізацією у темах Machine Learning і Deep Learning. Даніель сподівається допомогти іншим використовувати силу штучного інтелекту для соціальної добробути.