Намаляване на шума в изображенията с помощта на автокодери - ▷ Курсове за програмиране от 0 до

Цели:
- Разберете основния принцип на работа на изкуствена невронна мрежа
- Разберете вида на изкуствените невронни мрежи, наречени автокодери
- Използвайте автокодери, за да намалите шума в изображенията
Автокодерите (Autoencoders) са специален вид изкуствена невронна мрежа (ANN за нейното съкращение на английски). Ето защо, за да разберете автокодерите, най-добре е първо да имате представа за това как работи ANN.
Основи на ANN
ANN са изчислителни модели, вдъхновени от биологични невронни мрежи. По опростен начин, ANN може да бъде разделен на три основни компонента: входен слой, няколко скрити слоя и изходен слой (вж. Фигура 1). Наборът от всички скрити слоеве може да се разбере като функция, която зависи от множество априорни неизвестни параметри, наречени невронни тегла. За да се намерят стойностите на тези тегла, ANN трябва да бъде обучен.
Фигура 1: Входният слой може да бъде съставен, например, от стойностите на пикселите на изображение. Скритите слоеве могат да се разберат като определена функция G, която зависи от теглото wi, входните стойности Xi. Функцията G трансформира стойностите на входа и в зависимост от вида на ANN може да върне към изхода друго изображение или вероятността изображението на входа да принадлежи към определен клас, дефиниран по-рано.
За да влезете по-дълбоко в тази тема за невронните мрежи, препоръчително е да прочетете курса в линка по-долу (вмъкнете линка)
Автокодери
Както бе споменато по-рано, автокодерите са частен случай на ANN. Особеността на тях е, че входът обикновено е абсолютно същият като изхода. Използвайки предишния пример, ако изображението на 0 е предадено във входа, автокодерът ще изведе изображението на нула възможно най-близо до изображението на входа (фиг. 2). На този етап е валидно да попитаме: каква е ползата от такава невронна мрежа? За да отговорим на този въпрос, трябва да разберем малко по-добре архитектурата на автокодерите. Основната разлика с конвенционалните мрежи е, че междинните слоеве (скрити слоеве) първо намаляват размера си (Encoder) и след това го увеличават отново (Decoder) симетрично (фиг. 2)
Фигура 2: Обща архитектура на автокодер.
Поради архитектурата на тази ANN средният слой представлява компактно представяне на входните променливи. По този начин слоевете, съставляващи енкодера, ще създадат по-компактна версия на оригиналното изображение, докато слоевете, съставляващи декодера, ще се опитат да възстановят оригиналното изображение от неговата компактна версия. Интересно приложение на този тип алгоритъм е получаването на изображения с висока разделителна способност от изображения с ниска разделителна способност. Друго приложение, извън обхвата на обработката на изображения, е в намаляването на размерите при проблеми, при които има стотици зависими променливи. В този смисъл автокодерите се доказаха като алтернативна и по-стабилна техника от PCA (Анализ на основни компоненти).