ШІ 101
Що таке глибоке навчання?
Глибоке навчання є одним із найбільш впливових і швидко зростаючих напрямків у сфері штучного інтелекту. Однак отримання інтуїтивного розуміння глибокого навчання може бути складним, оскільки термін “глибоке навчання” охоплює різноманітні алгоритми та техніки. Глибоке навчання також є піддисципліною машинного навчання в цілому, тому важливо зрозуміти, що таке машинне навчання, щоб зрозуміти глибоке навчання.
Що таке машинне навчання?
Глибоке навчання є розширенням деяких концепцій, що походять від машинного навчання, тому давайте витратимо хвилину, щоб пояснити, що таке машинне навчання.
Просто кажучи, машинне навчання – це метод, який дозволяє комп’ютерам виконувати конкретні завдання без явного програмування кожного рядка алгоритмів, що використовуються для виконання цих завдань. Існує багато різних алгоритмів машинного навчання, але одним із найчастіше використовуваних алгоритмів є багатошаровий перцептрон. Багатошаровий перцептрон також називається нейронною мережею, і він складається з серії вузлів/нейронів, пов’язаних між собою. У багатошаровому перцептроні є три різні шари: вхідний шар, прихований шар і вихідний шар.
Вхідний шар приймає дані до мережі, де вони обробляються вузлами в середньому/прихованому шарі. Вузли в прихованому шарі є математичними функціями, які можуть маніпулювати даними, що надходять з вхідного шару, витягуючи відповідні закономірності з вхідних даних. Саме так нейронна мережа “навчиться”. Нейронні мережі отримали свою назву від того, що вони натхненні структурою і функцією людського мозку.
З’єднання між вузлами в мережі мають значення, які називаються вагами. Ці значення є фактично припущеннями про те, як дані в одному шарі пов’язані з даними в наступному шарі. Під час навчання мережі ваги коригуються, і мета полягає в тому, щоб ваги/припущення про дані врешті-решт збіглися на значеннях, які точно представляють значимі закономірності в даних.
Активні функції присутні в вузлах мережі, і ці активні функції перетворюють дані нелінійним чином, дозволяючи мережі навчатися складним представленням даних. Активні функції множать вхідні значення на значення ваги і додають член зміщення.
Що таке глибоке навчання?
Глибоке навчання – це термін, який використовується для позначення архітектур машинного навчання, які поєднують багато багатошарових перцептронів, так що не існує лише одного прихованого шару, а багатьох прихованих шарів. “Глибше” глибока нейронна мережа, тим складніші закономірності мережа може навчитися.
Глибокі шарові мережі, що складаються з нейронів, іноді називаються повністю зв’язаними мережами або повністю зв’язаними шарами, що посилається на те, що заданий нейрон підтримує зв’язок з усіма нейронами, що оточують його. Повністю зв’язані мережі можна поєднувати з іншими функціями машинного навчання, щоб створювати різні архітектури глибокого навчання.
Різні типи глибокого навчання
Існує багато архітектур глибокого навчання, які використовуються дослідниками та інженерами, і кожна з цих архітектур має свій особливий випадок використання.
Свіркові нейронні мережі
Свіркові нейронні мережі, або СНМ, – це архітектура нейронної мережі, яка найчастіше використовується при створенні систем комп’ютерного зору. Структура свіркових нейронних мереж дозволяє їм інтерпретувати дані зображень, перетворюючи їх у числа, які повністю зв’язана мережа може інтерпретувати. СНМ має чотири основні компоненти:
- Свіркові шари
- Шари підсамплінгу/пулінгу
- Активні функції
- Повністю зв’язані шари
Свіркові шари приймають зображення як вхідні дані до мережі, аналізуючи зображення і отримуючи значення пікселів. Підсамплінг або пулінг – це місце, де значення зображень перетворюються/зменшуються, щоб спростити представлення зображень і зменшити чутливість фільтрів зображень до шуму. Активні функції контролюють, як дані передаються з одного шару до іншого шару, а повністю зв’язані шари аналізують значення, які представляють зображення, і вчаться законірностям, закладеним у цих значеннях.
РНН/ЛСТМ
Рекурентні нейронні мережі, або РНН, – це популярні для завдань, де порядок даних має значення, де мережа повинна навчатися послідовності даних. РНН найчастіше застосовуються до проблем, таких як обробка природної мови, оскільки порядок слів має значення при декодуванні значення речення. “Рекурентна” частина терміну Рекурентна Нейронна Мережа походить від того факту, що вихід для заданого елемента в послідовності залежить від попереднього обчислення, а також від поточного обчислення. На відміну від інших форм глибоких нейронних мереж, РНН мають “пам’ять”, і інформація, розрахованої на різних часових кроках послідовності, використовується для розрахунку кінцевих значень.
Існує кілька типів РНН, включаючи двонаправлені РНН, які беруть майбутні елементи в послідовності до уваги, крім попередніх елементів, при розрахунку значення елемента. Іншим типом РНН є Довгострокова пам’ять, або ЛСТМ, мережа. ЛСТМ – це тип РНН, який може обробляти довгі ланцюги даних. Регулярні РНН можуть стати жертвами чогось, що називається “проблемою вибухаючого градієнта”. Ця проблема виникає, коли ланцюг вхідних даних стає надзвичайно довгим, але ЛСТМ мають техніки, щоб боротися з цією проблемою.
Автоенкодери
Більшість архітектур глибокого навчання, згаданих досі, застосовуються до завдань нагляду за навчанням, а не завдань навчання без нагляду. Автоенкодери можуть перетворювати ненаглядовані дані у наглядований формат, дозволяючи нейронним мережам використовуватися для завдання.
Автоенкодери часто використовуються для виявлення аномалій у наборах даних, прикладом навчання без нагляду, оскільки природа аномалії невідома. Такі приклади виявлення аномалій включають виявлення шахрайства для фінансових інститутів. У цьому контексті мета автоенкодера полягає в тому, щоб визначити базовий рівень регулярних закономірностей у даних і ідентифікувати аномалії або відхилення.
Структура автоенкодера часто симетрична, з прихованими шарами, розташованими так, що вихід мережі нагадує вхід. Чотири типи автоенкодерів, які часто використовуються, це:
- Регулярні/звичайні автоенкодери
- Багатошарові автоенкодери
- Свіркові автоенкодери
- Регуляризовані автоенкодери
Регулярні/звичайні автоенкодери – це просто нейронні мережі з одним прихованим шаром, тоді як багатошарові автоенкодери – це глибокі мережі з більш ніж одним прихованим шаром. Свіркові автоенкодери використовують свіркові шари замість, або в доповнення до, повністю зв’язаних шарів. Регуляризовані автоенкодери використовують спеціальний вид функції втрат, який дозволяє нейронній мережі виконувати більш складні функції, функції, крім просто копіювання входів у виходи.
Генеративні суперницькі мережі
Генеративні суперницькі мережі (ГСМ) насправді складаються з декількох глибоких нейронних мереж, а не однієї мережі. Дві глибокі моделі навчання тренуються одночасно, і їхні виходи подаються до іншої мережі. Мережі знаходяться у змаганні одна з одною, і оскільки вони мають доступ до виходів одна одної, вони обоє вчаться з цих даних і покращуються. Мережі фактично грають у гру фальсифікації та виявлення, де генеративна модель намагається створити нові екземпляри, які обмануть детективську модель/дискримінатор. ГСМ стали популярними у сфері комп’ютерного зору.
Резюме глибокого навчання
Глибоке навчання розширює принципи нейронних мереж, щоб створити складні моделі, які можуть навчатися складним закономірностям і узагальнювати ці закономірності для майбутніх наборів даних. Свіркові нейронні мережі використовуються для інтерпретації зображень, тоді як РНН/ЛСТМ використовуються для інтерпретації послідовних даних. Автоенкодери можуть перетворювати завдання навчання без нагляду у завдання навчання з наглядом. Нарешті, ГСМ – це кілька мереж, які знаходяться у змаганні одна з одною, і вони особливо корисні для завдань комп’ютерного зору.












