Алгоритми за задълбочено обучение - Топ 7 архитектурни методи за задълбочено обучение

Съдържание:

Anonim

Въведение в алгоритмите за задълбочено обучение

Дълбокото обучение е стъпка към приближаване до изкуствения интелект, който може да взема решения като човешки мозък, т.е. да има способността да се учи чрез опит и грешки, както хората. Човешкият мозък има милиарди неврони (около 86 милиарда; източник: Wikipedia). С изкуствените неврони дълбокото учене също помага за имитиране на човешкия ум. За обработка на информацията и вземане на решение чрез изкуствени невронни мрежи има някои алгоритми, наречени дълбоки алгоритми на обучение. Алгоритмите учат във всеки слой прогресивно, т.е. повече стойност се добавя от функции в следващия слой. Моделът на задълбочено обучение може да бъде надлежен, ако данните са малки или непълни или твърде прости. Алгоритмите за дълбоко обучение са ефективни, когато данните са огромни.

Алгоритми за задълбочено обучение

За да създадете модел на задълбочено обучение, трябва да напишете няколко алгоритми, да ги смесите заедно и да създадете мрежа от неврони. Дълбокото обучение има висока изчислителна цена. За подпомагане на модели за дълбоко обучение има платформи за дълбоко обучение като тензорни потоци, Py-Torch, Chainer, Keras и др. При задълбочено обучение се опитахме да възпроизведем човешката невронна мрежа с изкуствена невронна мрежа, човешкият неврон се нарича персептрон в модел на задълбочено обучение. Свързваме тези единици на перцептрон заедно, за да създадем невронна мрежа, тя има 3 секции:

  1. Входен слой
  2. Скрити слоеве
  3. Изходен слой

Перцептронът има входни възли (дендрити в човешкия мозък), функция за задействане за вземане на малко решение и изходни възли (аксон в човешкия мозък). Ще видим как работи един перцептрон, свързването им заедно ще създаде модел на задълбочено обучение. Входната информация (брой входни променливи / характеристики) се присвоява известна тежест и се подава на функция задействане. Функцията за задействане взема решение и изпраща изход. Изходът на този перцептрон ще бъде въведен за други неврони. След като партидата се обработва, при всеки неврон се изчислява грешка на размножаване с обратно използване с помощта на разходна функция / кръстосана ентропия. По този начин входящите тегла се преназначават и целият процес продължава, докато кръстосаната ентропия не удовлетвори условието.

Имаме различни задействащи функции като Sigmoid функции, хиперболична допирателна функция, Ректифициран линеен блок (ReLU), за да вземем малко решение. Моделът на задълбочено обучение се нуждае от огромно количество данни, за да изгради добър модел. Като цяло модел с повече от 3 скрити слоя се третира като дълбока невронна мрежа. По принцип Deep learning е набор от неврони с редица параметри, определени за всеки слой. За да създадете модела на дълбокото обучение популярните архитектури са RNN, CNN и т.н.

Архитектурни методи за алгоритми за задълбочено обучение

За изграждането на тази архитектура се използват следните алгоритми:

1. Обратно разпространение

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

2. Стохастично градиентно спускане

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

3. Степен на обучение

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

4. Нормализиране на партидите

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

5. Отпадна

В задълбоченото обучение обикновено срещаме проблема с препълването. Превишаването в големи мрежи с няколко параметъра затруднява прогнозирането на тестовите данни. Така че, за да избегнем използването на метода на отпадане, който пуска произволни единици по време на обучение, като създава различни „изтънени мрежи“. При тестване на тези изтънени мрежи прогнозите са осреднени, което помага да се избегне прекаляването.

6. Торба с думи

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

7. Дългосрочна краткосрочна памет

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

заключение

Дълбокият модел на обучение е стъпка към репликацията на човешкия ум. Вместо биологични неврони, дълбокото обучение използва изкуствена невронна мрежа. Дълбокото обучение има високи изчислителни разходи, които могат да бъдат намалени чрез използването на рамки за дълбоко обучение като тензорни потоци и Py-Torch и др. RNN, CNN са архитектурни методи за модели на задълбочено обучение. В тази статия са разгледани различни алгоритми за задълбочено обучение, които се използват в тези архитектури.

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

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

  1. Въведение в алгоритмите за машинно обучение
  2. Топ 14 приложения на машинно обучение
  3. Изкуствен интелект срещу машинно обучение срещу задълбочено обучение
  4. Топ 13 полезни въпроса и отговор за интервю за задълбочено обучение