neural network learning rules perceptron hebbian learning
Този задълбочен урок за правилата за обучение по невронна мрежа обяснява алгоритъма за учене на Хеб и алгоритъм за обучение на Perceptron с примери:
В предишния ни урок обсъдихме Изкуствена невронна мрежа което е архитектура на голям брой взаимосвързани елементи, наречени неврони.
Тези неврони обработват получения вход, за да дадат желания изход. Възлите или невроните са свързани чрез входове, тежести на връзката и активиращи функции.
Основната характеристика на невронната мрежа е способността й да се учи. Невронните мрежи се обучават с известни примери. След като мрежата се обучи, тя може да се използва за решаване на неизвестните стойности на проблема.
=> Прочетете пълната серия за обучение по машинно обучение
Невронната мрежа се учи чрез различни учебни схеми, които са категоризирани като контролирано или ненаблюдавано обучение.
В контролираните алгоритми за обучение целевите стойности са известни на мрежата. Той се опитва да намали грешката между желания изход (цел) и действителния изход за оптимална производителност. При ненаблюдаваните алгоритми за обучение целевите стойности са неизвестни и мрежата се учи сама, като идентифицира скритите модели във входа чрез формиране на клъстери и т.н.
ANN се състои от 3 части, т.е.входен, скрит слой и изходен слой. Има един входен и изходен слой, докато в мрежата може да няма скрит слой или 1 или повече скрити слоя. Въз основа на тази структура ANN се класифицира в еднослойна, многослойна, обратна или повторна мрежа.
Какво ще научите:
- Важна терминология на ANN
- Сравнение на правилата за обучение по невронна мрежа
- Заключение
Важна терминология на ANN
Преди да класифицираме различните правила за обучение в ANN, нека разберем някои важни терминологии, свързани с ANN.
# 1) Тежести: В ANN всеки неврон е свързан с другите неврони чрез връзки за връзка. Тези връзки носят тежест. Тежестта има информация за входния сигнал към неврона. Теглото и входният сигнал се използват за получаване на изход. Тежестите могат да бъдат обозначени под формата на матрица, която също се нарича матрица на връзката.
Всеки неврон е свързан с всеки друг неврон от следващия слой чрез тежести за свързване. Следователно, ако има „n“ възли и всеки възел има „m“ тегла, тогава матрицата на теглото ще бъде:
W1 представлява вектора на тежестта, започващ от възел 1. W11 представлява вектора на теглото от 1улвъзел на предходния слой към 1улвъзел на следващия слой. По същия начин wij представлява вектора на тежестта от „i-тия“ обработващ елемент (неврон) до „j-тия“ обработващ елемент на следващия слой.
# 2) Пристрастие : Пристрастието се добавя към мрежата чрез добавяне на входен елемент x (b) = 1 във входния вектор. Пристрастието също носи тежест, обозначена с w (b).
Пристрастието играе важна роля при изчисляването на изхода на неврона. Пристрастието може да бъде положително или отрицателно. Положителното отклонение увеличава нетното входящо тегло, докато отрицателното отклонение намалява нетното въвеждане.
# 3) Праг: Във функцията за активиране се използва прагова стойност. Нетният вход се сравнява с прага, за да се получи изходът. В NN функцията за активиране се дефинира въз основа на праговата стойност и се изчислява изхода.
Праговата стойност е:
# 4) Скорост на обучение : Обозначава се с алфа?. Скоростта на обучение варира от 0 до 1. Използва се за регулиране на теглото по време на учебния процес на NN.
# 5) Импулсен фактор : Добавен е за по-бързо сближаване на резултатите. Коефициентът на импулса се добавя към теглото и обикновено се използва в мрежи за обратно размножаване.
Сравнение на правилата за обучение по невронна мрежа
Методи за обучение -> | Градиентно спускане | Евбийски | Конкурентни | Стохастичен | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EPOCH 2 | |||||||||||
Тип архитектура || | |||||||||||
Еднослойна обратна връзка | АДАЛИН Хопфийлд Перцептрон | Асоциативна Памет Хопфийлд | Линеен вектор Квантуване | ||||||||
Многослойно подаване напред | Каскада Корелация Многослойно подаване Напред Радиално пристрастие Функция | Неокогнитрон | |||||||||
Повтарящи се | Повтаряща се невронна Мрежа | Двупосочно автоматично Асоциативна Памет Мозък - състояние - в - кутия Хопфийлд | Адаптивен Теория на резонанса | Болцман Машина Коши Машина |
Класификацията на различните видове обучение на ANN е показана по-долу.
Класификация на контролираните учебни алгоритми
- Градиентно спускане
- Стохастичен
# 1) Обучение по градиентно спускане
При този тип обучение намаляването на грешките става с помощта на тежести и функцията за активиране на мрежата. Функцията за активиране трябва да бъде диференцирана.
Настройката на тежестите зависи от градиента на грешките E в това обучение. Правилото за обратно размножаване е пример за този тип обучение. По този начин корекцията на теглото се определя като
# 2) Стохастично обучение
При това обучение тежестите се коригират по вероятностен начин.
Класификация на алгоритмите за учене без надзор
- Евбийски
- Конкурентни
# 1) Хебианско обучение
Това обучение е предложено от Хеб през 1949 г. То се основава на корелационна корекция на тежестите. Двойките входни и изходни модели са свързани с матрица на тежестта, W.
Транспонирането на изхода се взема за регулиране на теглото.
# 2) Конкурентно обучение
Това е победител взема всички стратегии. При този тип обучение, когато в мрежата се изпраща шаблон за въвеждане, всички неврони в слоя се конкурират и само печелившите неврони имат корекции на теглото.
Мак Culloch-Pitts Neuron
Известен също като M-P Neuron, това е най-ранната невронна мрежа, която е била открита през 1943 г. В този модел невроните са свързани чрез тежести на връзката, а функцията за активиране се използва в двоичен файл. Прагът се използва, за да се определи дали невронът ще стреля или не.
Функцията на M-P неврона е:
Алгоритъм за учене на Хеб
Хеб мрежа е заявено от Доналд Хеб през 1949 г. Според правилото на Хеб се установява, че теглото се увеличава пропорционално на произведението на входа и изхода. Това означава, че в една мрежа на Хеб, ако два неврона са взаимосвързани, теглото, свързано с тези неврони, може да бъде увеличено чрез промени в синаптичната празнина.
Тази мрежа е подходяща за биполярни данни. Правилото за учене на евреи обикновено се прилага към логическите порти.
Тежестите се актуализират като:
W (ново) = w (старо) + x * y
Алгоритъм за обучение за правилото за учене на евреи
Обучителните стъпки на алгоритъма са както следва:
- Първоначално теглото е настроено на нула, т.е. w = 0 за всички входове i = 1 до n и n е общият брой на входните неврони.
- Нека s е резултатът. Функцията за активиране на входове обикновено се задава като функция за идентичност.
- Функцията за активиране на изхода също е настроена на y = t.
- Регулировките на тежестта и пристрастията се коригират на:
- Стъпките 2 до 4 се повтарят за всеки входен вектор и изход.
Пример за правилото за учене на Хебби
Нека внедрим логическа функция И с биполярни входове, използвайки Hebbian Learning
как да проверите загубата на пакети в мрежата
X1 и X2 са входове, b е пристрастието, взето за 1, целевата стойност е изходът на логическата операция И над входовете.
Вход | Вход | Пристрастие | Цел |
---|---|---|---|
X1 | X2 | б | Y. |
1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 |
-1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 |
# 1) Първоначално тежестите са настроени на нула и отклонението също е зададено като нула.
W1 = w2 = b = 0
# две) Първият входен вектор се приема като [x1 x2 b] = [1 1 1] и целевата стойност е 1.
Новите тежести ще бъдат:
# 3) Горните тежести са последните нови тегла. Когато вторият вход бъде предаден, те се превръщат в начални тегла.
# 4) Вземете втория вход = [1 -1 1]. Целта е -1.
# 5) По същия начин се изчисляват и другите входове и тегла.
Таблицата по-долу показва цялата информация:
Входове | Пристрастие | Целева продукция | Промени в теглото | Промени в пристрастията | Нови тежести | ||||
---|---|---|---|---|---|---|---|---|---|
X1 | X2 | б | Y. | ? w1 | ? w2 | ? б | W1 | W2 | б |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | -1 | 1 | -1 | 0 | две | 0 |
-1 | 1 | 1 | -1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | 1 | 1 | -1 | две | две | -две |
Хеб мрежа за функция И
Алгоритъм за обучение на Perceptron
Perceptron Networks са еднослойни мрежи за пренасочване. Те също се наричат Single Perceptron Networks. Perceptron се състои от входен слой, скрит слой и изходен слой.
Входният слой е свързан със скрития слой чрез тежести, които могат да бъдат инхибиторни или възбуждащи или нулеви (-1, +1 или 0). Използваната функция за активиране е двоична стъпкова функция за входния слой и скрития слой.
Изходът е
Y = f (y)
Функцията за активиране е:
Актуализацията на тежестта се извършва между скрития слой и изходния слой, за да съответства на целевия изход. Грешката се изчислява въз основа на действителния изход и желания изход.
Ако изходът съвпада с целта, не се извършва актуализация на теглото. Теглото първоначално се настройва на 0 или 1 и се регулира последователно, докато се намери оптимално решение.
Теглото в мрежата може първоначално да бъде зададено на всякакви стойности. Обучението Perceptron ще се сближи до вектор на тежестта, който дава правилен изход за всички модели на обучение за въвеждане и това обучение се извършва в краен брой стъпки.
Правилото Perceptron може да се използва както за бинарни, така и за биполярни входове.
Правило за обучение за единичен изход Perceptron
# 1) Нека има “n” вектори за обучение на обучение и x (n) и t (n) са свързани с целевите стойности.
# две) Инициализирайте тежестите и пристрастията. Задайте ги на нула за лесно изчисление.
кой е най-добрият софтуер за почистване на компютър
# 3) Нека степента на обучение е 1.
# 4) Входният слой има функция за активиране на идентичността, така че x (i) = s (i).
# 5) За да изчислите изхода на мрежата:
# 6) Функцията за активиране се прилага върху нетния вход, за да се получи изход.
# 7) Сега въз основа на резултата, сравнете желаната целева стойност (t) и действителната продукция.
# 8) Продължете повторението, докато няма промяна в теглото. Спрете, след като това условие бъде постигнато.
Правило за обучение за множество изходи Perceptron
# 1) Нека има “n” вектори за обучение на обучение и x (n) и t (n) са свързани с целевите стойности.
# две) Инициализирайте тежестите и пристрастията. Задайте ги на нула за лесно изчисление.
# 3) Нека степента на обучение е 1.
# 4) Входният слой има функция за активиране на идентичността, така че x (i) = s (i).
# 5) За да се изчисли продукцията на всеки изходен вектор от j = 1 до m, нетният вход е:
# 6) Функцията за активиране се прилага върху нетния вход, за да се получи изход.
# 7) Сега на базата на резултата, сравнете желаната целева стойност (t) и действителната продукция и направете корекции на теглото.
w е векторът на тежестта на връзките за връзка между i-ия вход и j-тия изходен неврон, а t е целевият изход за изходната единица j.
# 8) Продължете повторението, докато няма промяна в теглото. Спрете, след като това условие бъде постигнато.
Пример за правило за обучение на перцептрон
Внедряване на функция AND с помощта на мрежа Perceptron за биполярни входове и изходи.
Моделът на въвеждане ще бъде x1, x2 и пристрастие b. Нека първоначалните тегла са 0, а пристрастията са 0. Прагът е зададен на нула и скоростта на обучение е 1.
И порта
X1 | X2 | Цел |
---|---|---|
1 | 1 | 1 |
1 | -1 | -1 |
-1 | 1 | -1 |
-1 | -1 | -1 |
# 1) X1 = 1, X2 = 1 и целевият изход = 1
W1 = w2 = wb = 0 и x1 = x2 = b = 1, t = 1
Нетно въвеждане = y = b + x1 * w1 + x2 * w2 = 0 + 1 * 0 + 1 * 0 = 0
Следователно тъй като прагът е нула:
Оттук получаваме, output = 0. Сега проверете дали output (y) = target (t).
y = 0, но t = 1, което означава, че те не са еднакви, следователно се извършва актуализация на теглото.
Новите тегла са 1, 1 и 1 след представянето на първия входен вектор.
# две) X1 = 1 X2 = -1, b = 1 и цел = -1, W1 = 1, W2 = 2, Wb = 1
Нетно въвеждане = y = b + x1 * w1 + x2 * w2 = 1 + 1 * 1 + (-1) * 1 = 1
Нетната продукция за вход = 1 ще бъде 1 от:
Следователно отново, target = -1 не съвпада с действителния изход = 1. Провеждат се актуализации на теглото.
Сега новите тегла са w1 = 0 w2 = 2 и wb = 0
По същия начин, продължавайки със следващия набор от входове, получаваме следната таблица:
Вход | Пристрастие | Цел | Нетен вход | Изчислена продукция | Промени в теглото | Нови тежести | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
X1 | X2 | б | т | ин | Y. | ? w1 | ? w2 | ? б | W1 | W2 | wb |
EPOCH 1 | |||||||||||
1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | 1 | 1 | -1 | 1 | -1 | 0 | две | 0 |
-1 | 1 | 1 | -1 | две | 1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | -1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | 1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
EPOCHS са цикълът на входните шаблони, подадени към системата, докато не се изисква промяна на теглото и итерацията спира.
Алгоритъм за обучение на Уидроу Хоф
Също известен като Делта правило , следва правилото за градиентно спускане за линейна регресия.
Той актуализира тежестите на връзката с разликата между целевата и изходната стойност. Това е най-малко средният квадратен алгоритъм на обучение, попадащ в категорията на контролирания алгоритъм на обучение.
Това правило се спазва от ADALINE (Адаптивни линейни невронни мрежи) и MADALINE. За разлика от Perceptron, повторенията на мрежите Adaline не спират, но той се сближава чрез намаляване на грешката с най-малък среден квадрат. MADALINE е мрежа от повече от един ADALINE.
Мотивът на правилото за делта обучение е да се сведе до минимум грешката между изхода и целевия вектор.
Тежестите в мрежите ADALINE се актуализират от:
Грешка с най-малък среден квадрат = (t- yв)две, ADALINE се сближава, когато се достигне най-малката средна квадратична грешка.
Заключение
В този урок ние обсъдихме двата алгоритма, т.е. Hebbian Learning Rule и Perceptron Learning Rule. Хебианското правило се основава на правилото, че векторът на тежестта се увеличава пропорционално на входния и учебния сигнал, т.е. Теглото се увеличава чрез добавяне на произведението на входа и изхода към старото тегло.
W (ново) = w (старо) + x * y
Прилагането на правилата на Хеб се крие в проблемите за асоцииране на модели, класификация и категоризация.
Правилото за обучение на Perceptron може да се приложи както към мрежа с единичен изход, така и към множество класове изход. Целта на мрежата perceptron е да класифицира модела на въвеждане в определен клас член. Входните неврони и изходният неврон са свързани чрез връзки с тежести.
Теглата се коригират, за да съответстват на действителната продукция с целевата стойност. Скоростта на обучение е зададена от 0 до 1 и определя мащабируемостта на тежестите.
Тежестите се актуализират според:
Освен тези правила за обучение, алгоритмите за машинно обучение се учат чрез много други методи, т.е.наблюдавани, ненаблюдавани, подсилващи. Някои от другите често срещани алгоритми за ML са Back Propagation, ART, Kohonen Self Organizing Maps и др.
Надяваме се, че сте се насладили на всички уроци от тази серия за машинно обучение !!
=> Посетете тук за ексклузивната серия за машинно обучение
Препоръчително четене
- Пълно ръководство за изкуствена невронна мрежа в машинното обучение
- Видове машинно обучение: Контролирано срещу ненаблюдавано обучение
- Извличане на данни срещу машинно обучение срещу изкуствен интелект срещу дълбоко обучение
- Тестване на мрежовата сигурност и най-добрите инструменти за мрежова сигурност
- 11 Най-популярни софтуерни инструменти за машинно обучение през 2021 г.
- Урок за машинно обучение: Въведение в ML и неговите приложения
- 15 най-добри инструменти за мрежово сканиране (мрежови и IP скенери) от 2021 г.
- Топ 30 инструменти за мрежово тестване (инструменти за диагностика на мрежовата производителност)