Въведение в Autoencoders

Това е случаят с изкуствената невронна мрежа, използвана за откриване на ефективно кодиране на данни без надзор. Целта на Autoencoder се използва за научаване на представянето на група данни, особено за намаляване на размерите. Autoencoders имат уникална характеристика, при която входът му е равен на изхода му, като формира feedforwarding мрежи. Autoencoder превръща входа в компресирани данни, за да образува код с малък размер и след това отново прибира входа, за да формира желания изход. Компресираният код на вход се нарича също латентно представяне на пространството. Най-просто, основната цел е да се намали изкривяването между веригите.

В Autoencoder има три основни компонента. Те са Encoder, Decoder и Code. Енкодерът и декодерът са напълно свързани, за да образуват мрежа за пренасочване на подаване. Кодът действа като един слой, който действа като собствено измерение. За да развиете Autoencoder, трябва да зададете хиперпараметър, който трябва да зададете броя на възлите в основния слой. По-подробно изходната мрежа на декодера е огледално изображение на входния енкодер. Декодерът произвежда желания изход само с помощта на кодовия слой.

Уверете се, че енкодерът и декодерът имат еднакви стойности на размерите. Важният параметър за задаване на autoencoder е размер на кода, брой слоеве и брой възли във всеки слой.

Размерът на кода се определя от общото количество възли, присъстващи в средния слой. За да получите ефективно компресиране, малкият размер на средния слой е препоръчително. Броят на слоевете в autoencoder може да бъде дълбок или плитък, както желаете. Броят на възлите в autoencoder трябва да бъде еднакъв както в енкодера, така и в декодера. Слоят на декодера и енкодера трябва да е симетричен.

В подредения автоенкодер имате един невидим слой както в енкодера, така и в декодера. Състои се от ръкописни снимки с размер 28 * 28. Сега можете да разработите autoencoder с 128 възли в невидимия слой с 32 като размер на кода. За да добавите много числа слоеве, използвайте тази функция

model.add(Dense(16, activation='relu'))
model.add(Dense(8, activation='relu'))

за преобразуване,

layer_1 = Dense(16, activation='relu')(input)
layer_2 = Dense(8, activation='relu')(layer_1)

Сега изходът на този слой се добавя като вход към следващия слой. това е извикващият слой при този плътен метод. Декодерът изпълнява тази функция. Той използва сигмоидния метод за получаване на изход между 0 до 1. Тъй като входът лежи между 0 до 1 обхват

Реконструкцията на въвеждане от Autoencoder по този метод се извършва чрез прогнозиране. Индивидуалният тест на изображението се провежда и изходът не е точно като вход, но е подобен като вход. За да преодолеете тези трудности, можете да направите autoencoder по-ефективен, като добавите много слоеве и добавите множество възли към слоевете. Но това, което го прави по-мощен, води до копие на данни, подобни на входните данни. Но това не е очакваният резултат.

Архитектура на Autoencoder

В тази подредена архитектура кодовият слой има малка размерна стойност от входната информация, в която се казва, че е под пълен автоенкодер.

1. Обозначаване на автоенкодери

При този метод не можете да копирате входния сигнал към изходния сигнал, за да получите перфектен резултат. Тъй като тук входният сигнал съдържа шум, който трябва да бъде изваден, преди да се получи резултатът, който е в основата на необходимите данни. Този процес се нарича като обозначаващ автоенкодер. Първият ред съдържа оригинални изображения. За да ги направят шумен входен сигнал, се добавят някои шумни данни. Сега можете да проектирате autoencoder, за да получите безшумен изход, както следва

autoencoder.fit(x_train, x_train)

Модифициран Autoencoder е както следва,

autoencoder.fit(x_train_noisy, x_train)

Следователно можете лесно да получите безшумен изход.

Convolution autoencoder се използва за обработка на сложни сигнали и също така получава по-добър резултат от нормалния процес

2. Редки автоенкодери

За да използвате autoencoders ефективно, можете да следвате две стъпки.

Задайте малък размер на кода, а другият обозначава автоенкодер.

Тогава друг ефективен метод е регуларизация. За да приложите това регуларизиране, трябва да регулирате ограниченията на ограничеността. За да активирате някои части от възли в слоя, добавете някои допълнителни термини към функцията загуба, която натиска autoencoder да направи всеки вход като комбинирани по-малки възли и това кара енкодера да намери някои уникални структури в дадените данни. Той е приложим и за голям брой данни, тъй като се активира само част от възлите.

Стойността на ограничение на ограничеността е по-близка до нула

За да генерирате кодов слой,

code = Dense(code_size, activation='relu')(input_img)

За да добавите регулираща стойност,

code = Dense(code_size, activation='relu', activity_regularizer=l1(10e-6))(input_img)

В този модел само 0, 01 е крайната загуба, която също поради термина на регуларизация.

В този оскъден модел, куп кодови стойности са верни на очаквания резултат. Но има сравнително ниски стойности на дисперсия.

Регулираните автоенкодери имат уникални свойства като устойчивост към липсващи входове, рядко представяне и най-близката стойност до производни в презентациите. За да използвате ефективно, поддържайте минималния размер на кода и плиткия енкодер и декодер. Те откриват висок капацитет на входовете и не се нуждаят от допълнителен регулиращ термин, за да бъдат ефективни кодирането. Обучени са да дават максимален ефект, а не да копират и поставят.

3. Вариационен автокодер

Използва се в сложни случаи и открива шансовете за разпространение, проектиращи входните данни. Този променлив автоенкодер използва метод за вземане на проби, за да получи ефективния си изход. Следва същата архитектура като регулираните автоенкодери

заключение

Следователно автоенкодерите се използват за научаване на данни и изображения в реалния свят, участващи в двоични и многокласови класификации. Неговият прост процес за намаляване на размерите. Прилага се в машина с ограничен болтцман и играе жизненоважна роля в нея. Използва се и в биохимичната индустрия за откриване на неразкритата част от обучението и се използва за идентифициране на модела на интелигентно поведение. Всеки компонент в машинното обучение има самоорганизиран характер, Autoencoder е един от тези, които успешно учат в изкуствения интелект

Препоръчителни статии

Това е ръководство за Автоенкодери. Тук обсъждаме основните компоненти в Autoencoder, които са енкодер, декодер и код и архитектурата на Autoencoder. Може да разгледате и следните статии, за да научите повече -

  1. Архитектура на големи данни
  2. Кодиране срещу декодиране
  3. Архитектура на машинно обучение
  4. Технологии за големи данни

Категория: