Днес исках да сравня различните резултати, които можем да получим за всеки различен метод за регулиране, и да видя как всеки метод влияе и върху градиентите.

Случай a) 0 Нормални автоматични енкодери (p = 0) Без регулиране
Случай b) 0,5 Нормални автоматични енкодери (p = 0,5)
Случай c) 1 Нормални автоматични енкодери (p = 1) < br /> Случай d) Омекотяване на 1 нормален автоматичен енкодер (p = 1,5)
Случай e) 2 нормални автоматични енкодера (p = 2)
Случай f) Омекотяване на 2 нормални автоматични енкодера (p = 2,5)< br /> Случай g) 3 нормални автоматични енкодера ( p = 3 )
Случай h) 4 нормални автоматични енкодера ( p = 4)
Случай i) Разредени топографски автоматични енкодери (KL метод на дивергенция)

Моля, имайте предвид, че тази публикация е за моето бъдещо аз да прегледам тези теми, както и за чисто любопитство.

Преглед на векторните норми

Ако някой има нужда от основен преглед на векторната норма, моля, гледайте видеоклипа по-горе.

P Нормално регулиране / Омекотяване на регулирането

Регулирането на L1 и L2 обикновено се използва за предотвратяване на прекомерно напасване, но от дефиницията на регулацията на P Norm всъщност можем да изберем много различни регулации със стойност p, днес нека видим какви различни резултати дава всеки от условията за регулация. Накрая ще свържа видеото, което наистина ми помогна.

Сега бях объркан, когато видях определението за L2 норма, според уравнението на P Norm, „правилната“ L2 норма се дава от...

Въпреки това, когато виждаме много различни уроци за машинно обучение, виждаме нормата l2, както се вижда по-долу.

Двата термина са ясно различни един от друг, също така имайте предвид, че производното също е различно едно от друго. Освен това, това се случва и за нормата L1, от време на време срещаме „омекотена“ версия на нормата L1.

Горното изображение е от неконтролирания курс на обучение на Андрю Нг. И причината, поради която използваме това уравнение, се дължи на факта, че няма производна, когато |x| е нула. Въпреки това, ние също можем просто да пренебрегнем този факт и да използваме първоначалната абсолютна регуляризация и производната да бъде просто знакът на теглото. (Както се вижда по-долу.)

Производна на различни функции за регулиране на P норма

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

Производна на KL Дивергенция

И тъй като трябва да постигнем разпръснато кодиране чрез минимизиране на KL дивергенцията, позволяваме да изведем производното по отношение на функцията за загуба на KL дивергенция също. Както се вижда по-горе, нашата математика се проверява.

Топографско оскъдно кодиране

И накрая, имаме топографско рядко кодиране, където се стремим да научим характеристиките, които имат някои подредени маниери. (Невроните в мозъците ни, които са близо един до друг, се активират, когато бъдат въведени подобни характеристики.)

И както се вижда по-горе, когато налагаме идеята за топография в нашата мрежа, можем да видим, че сред научените филтри тези, които са близо един до друг, са склонни да се активират за подобни функции. Ако някой има нужда от помощ с деривата, моля, щракнете тук.

Случай a) 0 нормални автоматични енкодери (p = 0) Без регулиране

Горе вляво→ Процес на конвергенция на теглото на кодиращия слой
Горе вдясно → Реконструирано изображение
Долу вляво → Градиент спрямо входно изображение
Долу вдясно→ Градиентно отношение към кодиращия слой

Без никакво ограничение в частта за кодиране, можем ясно да видим, че научените тегла нямат конкретни поръчки. Добрата страна на това е фактът, че реконструираните изображения са много ясни, но това се дължи на прекомерно напасване. И когато наблюдаваме как градиентът се променя по отношение на входа, можем да видим, че по-голямата част от градиента става сивкаво изображение, без значение коя цифра е в изображението. Изображението по-долу показва крайните резултати.

Случай б) 0,5 нормални автоматични енкодери (p = 0,5)

Горе вляво→ Процес на конвергенция на теглото на кодиращия слой
Горе вдясно → Реконструирано изображение
Долу вляво → Градиент спрямо входно изображение
Долу вдясно→ Градиентно отношение към кодиращия слой

Когато добавим нормализатор 0,5, можем да забележим разликата веднага, в горното ляво изображение веднага се появяват черни квадратчета. Това показва, че научените тегла са нула и има много дупки в научените тегла. Това се очаква, тъй като стойността на р от 0,5 ще насърчи рядкост. Освен това сега забелязваме, че отношението на градиента към входа започва да показва знак на число като ръбове.

Случай c) Автоматични енкодери с 1 норма (p = 1)

Горе вляво→ Процес на конвергенция на теглото на кодиращия слой
Горе вдясно → Реконструирано изображение
Долу вляво → Градиент спрямо входно изображение
Долу вдясно→ Градиентно отношение към кодиращия слой

Когато стойността на P е зададена на 1, наричана иначе Манхатън норма, мрежата генерира подобни резултати, когато стойността на p е зададена на 0,5. Отново това се очаква, но както се вижда по-долу, теглата, научени в последната епоха, са по-ярки в сравнение със случая, когато стойността е зададена на 0,5. (Превъртете нагоре, за да го сравните сами!)

Случай d) Омекотяване на автоматични енкодери с 1 норма (p = 1,5)

Горе вляво→ Процес на конвергенция на теглото на кодиращия слой
Горе вдясно → Реконструирано изображение
Долу вляво → Градиент спрямо входно изображение
Долу вдясно→ Градиентно отношение към кодиращия слой

Сега нещата стават интересни, Андрю Нг използва тази смекчена версия на нормата L1, която не съдържа абсолютна функция. И можем директно да видим разликата в резултатите, когато наблюдаваме научените тегла, сега можем да наблюдаваме числа като цифри в средата на научените тегла.

Случай д) 2 нормални автоматични енкодера (p = 2)

Горе вляво→ Процес на конвергенция на теглото на кодиращия слой
Горе вдясно → Реконструирано изображение
Долу вляво → Градиент спрямо входно изображение
Долу вдясно→ Градиентно отношение към кодиращия слой

Когато използваме стандартната норма L2 (не омекотената версия), можем да видим, че научените тегла изглеждат изключително подобни на случая, когато използвахме омекотена версия на 1 норма. Въпреки това, една разлика са градиентите, когато погледнем по-отблизо градиента по отношение на входа, можем да забележим, че краищата са станали по-ясни.

Случай f) Омекотяване на 2 нормални автоматични енкодера (p = 2,5)

Горе вляво→ Процес на конвергенция на теглото на кодиращия слой
Горе вдясно → Реконструирано изображение
Долу вляво → Градиент спрямо входно изображение
Долу вдясно→ Градиентно отношение към кодиращия слой

Въпреки това, когато използваме омекотената версия на нормата L2, получаваме (по мое мнение) много по-добри резултати. Където наученото тегло представлява различни движения на ръката за всяка цифра. Не само че градиентите са много по-ясни, ние можем да наблюдаваме и по-остър контраст между различните градиенти. (градиентно отношение към кодиращия слой) (когато мислим за това, производната на абсолютната функция при нула е недефинирана и ние смекчихме това, така че производната е или +, или -. Въпреки това изглежда, че това не помага за по-доброто учене Освен това ние инициализираме нашите тегла, за да имаме разпределение на Гаус с нулева средна стойност, което показва, че повечето от производните спрямо оригиналното тегло трябва да бъдат смекчени и това може да се превърне в шум.)

Случай g) 3 нормални автоматични енкодера (p = 3)

Горе вляво→ Процес на конвергенция на теглото на кодиращия слой
Горе вдясно → Реконструирано изображение
Долу вляво → Градиент спрямо входно изображение
Долу вдясно→ Градиентно отношение към кодиращия слой

Докато се доближаваме до по-висока стойност на p, ние все още правим теглата малки, но се отказваме от рядкостта. И връзката между всяка тежест става по-независима една от друга. Резултатите, които се виждат по-горе, силно наподобяват, когато използвахме стойност на p от 2, не толкова различни в моите очи.

Случай h) 4 нормални автоматични енкодера (p = 4)

Горе вляво→ Процес на конвергенция на теглото на кодиращия слой
Горе вдясно → Реконструирано изображение
Долу вляво → Градиент спрямо входно изображение
Долу вдясно→ Градиентно отношение към кодиращия слой

Когато зададем p стойността на 4 (нашата най-висока стойност), можем веднага да забележим, че наученото тегло изглежда много по-различно в сравнение с други случаи. Научените филтри всъщност приличат на число, но с обратен контраст.

Случай i) Разредени топографски автоматични енкодери (KL Дивергентен метод)

Горе вляво→ Процес на конвергенция на теглото на кодиращия слой
Горе вдясно → Реконструирано изображение
Долу вляво → Градиент спрямо входно изображение
Долу вдясно→ Градиентно отношение към кодиращия слой

И накрая, когато групираме теглата на кодиране заедно чрез групираща матрица, можем да видим образуване на структура. И не само в научените тегла, но и в градиентите. Когато наблюдаваме градиента, сега той не прилича на изображения от типа на шум от сол и черен пипер, а изглежда, че има някаква обща структура.

От научените тегла (вижда се отдолу) можем да видим, че всяка клетка отговаря на определен тип цифра, като нула или единица. Например изображенията в левия/десния ъгъл изглежда като ръбове, докато центърът предпочита по-заоблени изображения.

Интерактивен код

За Google Colab ще ви трябва акаунт в Google, за да видите кодовете, също така не можете да изпълнявате скриптове само за четене в Google Colab, така че направете копие на вашата игрална площадка. И накрая, никога няма да искам разрешение за достъп до вашите файлове в Google Drive, само за ваша информация. Приятно кодиране!

За достъп до кода за тази публикация, моля, щракнете тук.

Последни думи

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

Освен това тази публикация в блога е добра за четене за условията за регулиране като цяло.

Ако бъдат намерени грешки, моля, изпратете ми имейл на [email protected], ако желаете да видите списъка с цялото ми писане, моля, вижте уебсайта ми тук.

Междувременно ме последвайте в моя Twitter „тук“ и посетете „моя уебсайт“ или моя „YouTube канал“ за повече съдържание. Също така внедрих Wide Residual Networks, моля, щракнете тук, за да видите публикацията в блога.

Справка

  1. numpy.fill_diagonal — NumPy v1.15 Ръководство. (2018). Docs.scipy.org. Извлечено на 17 септември 2018 г. от https://docs.scipy.org/doc/numpy/reference/generated/numpy.fill_diagonal.html
  2. Разпръснато кодиране: Интерпретация на автоенкодер — Ufldl. (2018). Ufldl.stanford.edu. Извлечено на 17 септември 2018 г. от http://ufldl.stanford.edu/wiki/index.php/Sparse_Coding:_Autoencoder_Interpretation
  3. Извличане на градиенти с помощта на идеята за обратно разпространение — Ufldl. (2018). Ufldl.stanford.edu. Изтеглено на 17 септември 2018 г. от http://ufldl.stanford.edu/wiki/index.php/Deriving_gradients_using_the_backpropagation_idea
  4. Задълбочено обучение 12_深度学习UFLDL教程:Sparse Coding_exercise(斯坦福大学深度学习教程) — 夜空中最帅的星 — 博客园. (2018). Cnblogs.com. Изтеглено на 17 септември 2018 г. от http://www.cnblogs.com/dmzhuo/p/4994947.html
  5. Упражнение: Разредено кодиране — Ufldl. (2018). Ufldl.stanford.edu. Извлечено на 17 септември 2018 г. от http://ufldl.stanford.edu/wiki/index.php/Exercise:Sparse_Coding
  6. Wolfram|Alpha: Да направим световното знание изчислимо. (2018). Wolframalpha.com. Изтеглено на 19 септември 2018 г. от http://www.wolframalpha.com/input/?i=y*log(y%2Fx)+%2B+(1-y)+*+log(+(1-y)% 2F(1-x))
  7. Производна на логаритъм — log(x)’. (2018). Rapidtables.com. Изтеглено на 19 септември 2018 г. от https://www.rapidtables.com/math/algebra/logarithm/Logarithm_Derivative.html
  8. Разпръснато кодиране: Интерпретация на автоенкодер — Ufldl. (2018). Ufldl.stanford.edu. Извлечено на 19 септември 2018 г. от http://ufldl.stanford.edu/wiki/index.php/Sparse_Coding:_Autoencoder_Interpretation
  9. Разпръснато кодиране: Интерпретация на автоенкодер — Ufldl. (2018). Ufldl.stanford.edu. Извлечено на 19 септември 2018 г. от http://ufldl.stanford.edu/wiki/index.php/Sparse_Coding:_Autoencoder_Interpretation
  10. Упражнение: Разредено кодиране — Ufldl. (2018). Ufldl.stanford.edu. Изтеглено на 19 септември 2018 г. от http://ufldl.stanford.edu/wiki/index.php/Exercise:Sparse_Coding
  11. Извличане на градиенти с помощта на идеята за обратно разпространение — Ufldl. (2018). Ufldl.stanford.edu. Изтеглено на 19 септември 2018 г. от http://ufldl.stanford.edu/wiki/index.php/Deriving_gradients_using_the_backpropagation_idea
  12. Регулиране, базирано на разреденост. (2018). YouTube. Изтеглено на 19 септември 2018 г. от https://www.youtube.com/watch?v=jEVh0uheCPk&t=123s
  13. Линейна регресия (6): Регулиране. (2018). YouTube. Изтеглено на 19 септември 2018 г. от https://www.youtube.com/watch?v=sO4ZirJh9ds&t=334s
  14. Норми на матрицата за научни изчисления, конвергенция и числа на условията на матрицата. — ppt изтегляне. (2018). Slideplayer.com. Изтеглено на 19 септември 2018 г. от https://slideplayer.com/slide/6006587/
  15. Определение, F. (2018). Намиране на производната на |x| използвайки дефиницията на лимита. Математически обмен на стекове. Изтеглено на 19 септември 2018 г. от https://math.stackexchange.com/questions/83861/finding-the-derivative-of-x-using-the-limit-definition
  16. Анон, (2018). [онлайн] Достъпно на: https://www.quora.com/What-is-the-derivative-of-the-absolute-value-of-x [Достъп на 19 септември 2018 г.].
  17. Анон, (2018). [онлайн] Налично на: https://www.quora.com/What-is-the-advantage-of-the-L2-L1-norm-over-the-L1-L2-norm-for-feature-normalization [Посетен на 19 септември 2018 г.].
  18. модели, W. (2018). Защо L1 норма за редки модели. Кръстосано валидиран. Изтеглено на 19 септември 2018 г. от https://stats.stackexchange.com/questions/45643/why-l1-norm-for-sparse-models
  19. Разлики между L1 и L2 като функция на загуба и регулация. (2018). Chioka.in. Изтеглено на 19 септември 2018 г. от http://www.chioka.in/differences-between-l1-and-l2-as-loss-function-and-regularization/
  20. Векторни норми. (2018). YouTube. Изтеглено на 19 септември 2018 г. от https://www.youtube.com/watch?annotation_id=annotation_1494666085&feature=iv&src_vid=5asL5Eq2x0A&v=5fN2J8wYnfw