Deep Learning Algorithms
Оновлено: 31.07.2023
Як працюють алгоритми глибокого машинного навчання?
Глибоке навчання - це велика область, яка на перший погляд може здатися непосильною. Дуже важливо вибрати правильний підхід для конкретної роботи, оскільки неправильна модель може погіршити продуктивність або зробити вирішення проблеми неможливим.
Штучні нейронні мережі - це загальний термін для всіх методів глибокого навчання (ШНМ). Оскільки вони складаються з пов'язаних між собою нейронних вузлів, ШНМ отримали свою назву через те, що вони відображають роботу людського мозку.
Архітектура нейронних мереж
У нейронних мережах існує пошарова структура. Вони складаються з вхідного шару, який отримує вхідні дані, шару, який робить судження або передбачення про вхідні дані, і необмеженої кількості шарів між ними. Кожен шар складається з нейронів, а нейрони в певних шарах пов'язані з нейронами в сусідніх шарах. Вважається, що система є глибокою, якщо вона містить кілька рівнів. Тепер ми знаємо, що фраза "Глибинне навчання" свідчить про те, що глибинні нейронні мережі складають основу цієї галузі.
Після визначення кількості шарів і вузлів у вашій моделі, ви повинні вибрати оптимальні параметри для кожного нейрона. Оскільки прототип може мати тисячі і тисячі нейронів, це немислимий процес, який неможливо виконати вручну! На щастя, мережа сама знаходить діапазони своїх змінних, аналізуючи дані, які ви надаєте, тобто мережа навчається на даних.
Приклади алгоритмів глибокого навчання
Давайте розглянемо деякі з найбільш важливих алгоритмів глибокого навчання. Ми розглянемо прості алгоритми глибокого навчання, такі як багатошарові персептрони, а також більш складні моделі, такі як згорткові мережі та генеративні змагальні мережі.
- Згорткові нейронні мережі - це нейронні мережі, які використовують згорткові шари. Їх назва походить від згортки, однієї з найважливіших арифметичних операцій в нейронних мережах. CNN - це різновид нейронної мережі, що збирає, в якій інформація проходить лише один шлях від входу до виходу.
Згорткові шари, або приховані шари, що використовують згортку, лежать в основі архітектури CNN. Цей математичний процес має вирішальне значення для глибокого навчання, зокрема для комп'ютерного зору. Комп'ютери "бачать" зображення як великі матриці чисел, але ми можемо навчити модель розрізняти патерни на зображенні за допомогою згортки. ШНМ часто використовуються в комп'ютерному зорі та прогнозуванні часових рядів.
- GANs- Генеративні змагальні мережі - це моделі глибокого навчання, які використовуються для генеративного моделювання. Генеративне моделювання - це процес автоматичного вивчення шаблонів у вхідних даних таким чином, що модель може бути використана для створення нових екземплярів. Коли ви навчаєте GAN, ви отримуєте модель, яка може генерувати нові дані, які можна порівняти з екземплярами вихідного набору даних.
GAN складаються з двох підмоделей:
- Модель, яка навчена створювати нові приклади, і
- Модель-дискримінатор, яка намагається класифікувати приклади як справжні або фальшиві.
Обидва класифікатори навчаються в конкурентній боротьбі до тих пір, поки модель генератора не зможе ввести в оману модель дискримінатора, вказуючи на те, що модель виробника надає переконливі приклади.
GAN чудово генерують нові правдоподібні екземпляри. GAN можна використовувати для створення нових фотографій, схожих на ті, що є у вашій колекції, або для створення нових етапів у відеогрі.
- MLPs - Багатошарові персептрони є найпростішим типом нейронних мереж. Тому їх іноді називають ванільними нейронними мережами.
ШНМ складаються з одного або декількох шарів нейронів, які є прихованими. Нейрони кожного шару пов'язані з клітинами наступних шарів, що дозволяє інформації проходити від входу до виходу.
Коли вхідні дані надходять лише в одному напрямку, мережа називається нейронною мережею прямого поширення. MLP є найпростішим типом мережі прямого поширення.
МНК стають у пригоді, коли у вас є таблиці і ви хочете вирішити проблему класифікації, призначивши клас кожному входу. Вони також можуть бути використані для розв'язання задач регресії, в яких ви прогнозуєте фактичне значення для кожного вхідного параметра.
- RNN - Рекурентні нейронні мережі - це тип нейронних мереж, які були створені для обробки часових послідовностей, таких як текст абзацу або прогноз погоди.
Найпростіші типи нейронних мереж, відомі як нейронні мережі прямого поширення, обробляють дані з входів і виходів у лінійний спосіб. У ШНМ інформація рухається у двох напрямках: від входів до виходів та ітеративно від прихованого шару до власного.
ШНМ не підходять для табличних або графічних наборів даних, але вони добре працюють з послідовностями.
- LSTMs - Довгі мережі короткочасної пам'яті. ШНМ ризикують втратити минулі знання, якщо розрив між релевантними даними та поточним кроком занадто великий. LSTM стають тут у нагоді. ШНМ, які можуть встановлювати довготривалі зв'язки, відомі як LSTM.
Для LSTM важлива комірка - певна структура з кількома воротами, які керують потоком інформації. Стан комірки слугує магістраллю для руху інформації від початку мережі до її кінця. LSTM може видаляти або додавати інформацію до поточного блоку за допомогою спеціальних шарів, відомих як вентилі. Це дозволяє LSTM зберігати корисну інформацію протягом тривалого часу.