English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
Невралгия мрежа
с изучаването на връщане от грешка размножаване
Colin Fahey
neuron_group01.jpg
Биологичен невронни мрежи

1. Софтуер

NeuralNetwork20080614.zip
Невроза мрежата на изходния код (C#)
21971 байта
MD5: 94443565716e1101a3326dc2ffd558fd

2. Въведение

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

3. Алтернатива на изучаването на връщане от грешка размножаване

Този документ описва модел на невронни мрежи, която научава от алгоритъм име "назад грешка размножаване."  Този алгоритъм може да изисква много дълго време, за да научите различни уроци.  Освен това, този алгоритъм може случайно не успеят да научат различните уроци, дължащи се на случайни първоначалния статус на невронни мрежи, преди обучението.
Учене чрез "активно се комбинират елементи" е важна алтернатива на изучаването на "връщане" от "грешка размножаване."  Учене чрез активни елементи се комбинират просто сътрудници материали, които са активни едновременно.  Такова обучение може да бъде бърза и надеждна.  Въпреки това, в продължение на много практически цели, няма очевиден начин за използване на невронни мрежи, че научава от асоциацията, като има предвид, че е налице явен начин за използване на мрежата, че научава от обратната грешка размножаване.
Някои биологични невронни мрежи са известни за да научите от асоциацията на активни елементи.  Назад грешка размножаване не е била наблюдавана във всички биологични невронни мрежи.
Този документ описва интересни приложения за невронни мрежи, че научава от обратната грешка размножаване.  Въпреки това, чрез изучаването на асоциацията е много важен алтернативен алгоритъм за обучение.  Проектиране на невронни мрежи, че научава от асоциацията за решаване на конкретен проблем може да бъде по-трудно, че desgining алтернатива невронни мрежи, че научава от обратната грешка, размножаване, но биологичните системи научите от асоциацията, както и изучаването на способността на биологичните системи е очевидно.

4. Биологични невроза

4.1 Невроза клетки

neuron_1umeter01.jpg
Биологичен невроза "(multipolar" тип, ~4 um клетъчна структура)
А невроза е тип клетки, която е способността да получават и предават нервните сигнали.
Неврони са в основата на нервните системи, открити при животни, птици, риби и насекоми.
Мозъка с паметта и логика, и просто рефлекс системи, и двете са основани на режима на неврони.
Неврони се използва също така и да предадат сигнали на големи разстояния в креатура на тялото, като от сензори за мозъка, или от мозъка към мускулите.
Поведението на биологичен невроза е много сложна, но следните опростени описание улавя основни принципа:
В невроза се натрупва сигнали, получени от други неврони, и ако общото натрупване на сигнала надхвърля прага, от невроза, предава своя сигнали към други неврони.

4.2 Невроза части

neuron_labels01.jpg
Части от биологичен невроза
Сома
Клетката тяло на невроза
Dendrites
Прежди с химични рецептори (елементи), която се разшири от клетъчната структура на невроза.  А невроза обикновено е много dendrites и dendrites често имат много клонове.
Axon
А влакно с химически емитери (изходи) в своята крайна цел, които се простира от клетъчната структура на невроза.  А невроза е един axon, както и axon обикновено има много малко клонове.
Synapse
Конфигурация, така че axon на една невроза и dendrites на друга невроза са разделени с много малки различия.  В такава конфигурация, химикали, отделян от една axon на невроза пресичат synapse и са получени от dendrites на другите невроза.  Това е как неврони влияние други неврони.

4.3 Невроза разстрел

А невроза се натрупва химически сигнали от неговите dendrites, и ако общият химически натрупване надхвърля прага, в рамките на период от време, невроза "пожари," изпращане на своя сигнал чрез своите axon.
Някои от невроза, са способни да разстрел варива по нареждане на 100 Hz.
Сигналите, минаващи през неврони включват натрупвания на натриев (Na), калий (K), и хлор (Cl) йони, както и в резултат ЕЛЕКТРО потенциала (т.е. напрежението).
В отдих напрежение (-70 mV) и изгаряне на напрежението (+30 mV) може да се измерва или дори повлиян от конвенционалните електрически движение.
Следните е напрежение записване на плъх невроза разстрел в размер на приблизително 100 Hz, когато един whisker е засегнат и се провежда от своята почивка Позиция:
neuron_spikes_whisker01.jpg
Плъх невроза разстрел (100 Hz) дължи на провеждане на whisker.
По-долу е същото, проявяващо се като аудио сигнал: neuron_spikes_whisker01.wav
Въпреки, че стимул е константа, от невроза сигнал се бърза pulsing.

4.4 Невралгия мрежа

Човешкият мозък е около 10^11 (100 милиард) неврони.
Всяка невроза в cerebellum получи информация от толкова, колкото е 10^4 (10000) synapses.
Въпреки че axon и dendrites на невроза често се удължи само няколко micrometers км от клетъчна структура, някои axons са по нареждане на един метър дължина.
Неврони в мозъка е с относително кратък axons групирани в области, или клъстери.
Мозъка също има връзки от неврони с относително дълъг axons да се свърже области, разделени със сантиметър.
Така йерархична мрежа от преработката елементи се формира.

4.5 Невралгия мрежа статус

Статутът на мрежа от неврони е начинът, по който неврони са свързани както и на всички сигнали на synapses.
Той е неясно колко информация ще бъдат загубени, ако мозъка е tranquilized в системата на общото бездействие за всеки период от време.
Един да си информация трайно само от сигналите се движат чрез мрежата, а не от самата мрежа за свързаност, както и клетъчни автомати симулации като Conway's "Game of Life", просто Dynamic Random Access Memory (DRAM) чипове, и Отзиви в камерата.

4.6 Невралгия мрежа за обучение

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

5. Изкуствен невроза

5.1 Определение

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

5.2 Активиране на функцията

"Активиране функция" е математическа функция, която преобразува вход стойности под определена стойност за сравнително ниска мощност стойност, и се конвертира вход стойности над определена стойност на една сравнително висока мощност стойност.
"Активиране функция" се използва за конвертиране на претеглената сума от стойностите на приноса невроза на стойност, която представлява продукцията на невроза.
А "sigmoid" функция е общ клас от гладка функции, които asymptotically подход по-ниска граница за приноса отрицателни стойности се доближават до безкрайност, и asymptotically подход горна граница за приноса положителни стойности се доближават до безкрайност.
sigmoid една конкретна функция е "logistic sigmoid" функция:
logistic_sigmoid_function.jpg
В "Logistic Sigmoid" функция: 1 / ( 1 + Exp( -x ) )
В "logistic sigmoid" функция може да бъде използвана като "активиране на функцията" за математически модел на невроза.
Математическия производно на "logistic sigmoid" могат да бъдат изчислени по формула, правейки го лесен за изчисляване асоциирана обучение формула.

5.3 Невралгия мрежа вход

А "невронни мрежи вход" представлява въвеждане на невронни мрежи.
neural_network_input.jpg
Невралгия мрежа вход
"Input" е числената стойност на вложените средства.

5.4 Невралгия мрежата на изхода

А "невронни мрежи продукция" представлява продукция на невронни мрежи.
neural_network_output.jpg
Невралгия мрежата на изхода
"Output" е числената стойност на продукцията.
"Error" е числената стойност, който представлява разликата между стойността на продукцията, както и "Desired" стойност:
Error = (Output - Desired);  // Derived from: Output = Desired + Error;
В "Desired" стойност представлява желаната стойност, или идеална стойност, или правилната стойност, че невронни мрежи, както трябва да доведат до един изход, в отговор на специфични суровини.
Грешката стойност се изчислява и възложени "Error" с алгоритъм за обучение.
Грешката стойност е обратна на невронни мрежи.
В невронни мрежи могат да се адаптират за да се намали разликата между своите продукти и желаните стойности; т.е., за да научите невронни мрежи, и по този начин могат да се намалят бъдещи грешки.

5.5 Невроза тяло

А "невроза тяло" представлява тялото на невроза, която се натрупва вход вноски, и добавя едно пристрастие, и се трансформира в резултат стойност от "активиране на функцията" за производството на един изход стойност.
neuron_body.jpg
Невроза тяло
"InputAccumulator" е стойност, който представлява натрупани подхранван от невроза връзки, чиито изходи са свързани с невроза тялото.
"Bias" е регулируема стойност, която е съчетана с акумулирана стойност вход.
"Output" е числената стойност на продукцията, представляващи стойността на невроза.
Изходните стойност се изчислява като се използва следната формула:
Output = ActivationFunction( Bias + InputAccumulator );
"ErrorAccumulator" е числената стойност, представляващи натрупаните грешки.
Като се има предвид, специфична мощност стойност на невроза тяло, и като се има специфична мощност грешка, стойността, акумулирана стойност се коригира грешката съгласно следната формула:
ErrorAccumulator += Output * (1 - Output) * OutputError;
"Rate" е стойност, която отразява това как "Bias" стойност, промените в отговор на "ErrorAccumulator" стойност:
Bias += (-1) * Rate * ErrorAccumulator;

5.6 Невроза връзка

А "връзката невроза" представлява връзката между:
(1) един вход на невронни мрежи, както и приноса на невроза орган;
или,
(2) производство на невроза тялото и един вход на друга невроза орган;
или,
(3) производство на невроза тялото и производство на невронни мрежи.
neuron_link.jpg
Невроза връзка
"Input" е кеша на входа на връзката.
"Weight" е регулируема стойност, която засяга начина на сигнала ценности и стойности на грешка размножавам чрез връзката.
"Output" е кеша на изхода на връзката.
Стойността е изчислена чрез следната формула:
Output = Weight * Input;
"Error" е кеша на грешка на връзката.
"WeightedError" е кеша на грешка на връзката, претеглени с тегло фактор:
WeightedError = Weight * Error;
"Rate" е стойност, която отразява това как "Weight" стойност, промените в отговор на "Error" стойност и "Input" стойност.
По време на невронни мрежи обучение, "Weight" стойност се коригира по следния начин:
Weight += (-1) * Rate * Input * Error;

5.7 Невралгия мрежа

А "невронни мрежи" съдържа материали, продукция, невроза органи, както и връзки.
Следните изображение прогнозира прости невронни мрежи, с две материали, както и два невроза органи в първия слой, както и един невроза, а през втората слой, и един изход.
neuron_network_drawing.jpg
Пример за невронни мрежи
По време на симулиране на невронни мрежи, въведени стойности размножавам предаде чрез връзки и невроза органи, както и евентуално да стигне до изхода.
neuron_network_forward_propagation.jpg
Пример за размножаване напред в невронни мрежи
По време на обучението, грешка стойности са предвидени в резултатите, и тези грешки размножавам назад чрез невронни мрежи, изразяващи се в промяна на теглото и отклонения в невроза органи и връзки.
neuron_network_backward_propagation.jpg
Пример за обратната грешка, размножаване в невронни мрежи

5.8 Невралгия мрежа за симулация

Определение:
"Мрежа за симулация" е процедура, използвана за размножавам мрежа артикули чрез връзките и невроза органи до достигане на мрежата изходи.
Мрежа за симулация включва симулация на всички нейни съставни връзки и невроза органи.
Симулации, без отклонение или време:
Има много възможни конфигурации мрежа, включваща кръга.
Има много невроза модели, които зависят от времето.
Но някои от най-честите приложения на изкуствените неврони включва нито електрически вериги, нито време.
Следните е математически модел на тялото невроза:
Output = ActivationFunction( Bias + InputAccumulator );
С този модел невроза, както и мрежа, без "отклонение," ние просто да започнете от външни суровини, да изчислявате резултатите от първия слой от неврони, както и предлагането на тези продукти като суровини за следващия слой, изчислявате изходи за тази слой, и да продължава чрез форми на неврони до крайната продукция се изчислява.
Линии:
Изградена е мрежа може да има връзки във формата на кръга (или "цикли)."
Така например, на изхода на невроза могат да бъдат свързани директно към входа на същата тази невроза, причинявайки "обратна връзка."
Друг пример е продукцията на невроза # 1 е свързано с приноса на невроза # 2, и на изхода на невроза # 2 са свързани с въвеждане на невроза # 1.
Ако можете да стартирате някои от точка в мрежата и се проследи пътя през неврони и връзки, obeying една по-малка поток на сигнали, и в крайна сметка се стигне до същата тази начална точка, а после пътят е един цикъл.
Линии се въведе интересна възможност за сигнали, протичащи в мрежата за неопределен период от време.
Някои модели обикновено се предполага, че е необходимо определен период от време за сигнали, да премине през отделните неврони.
В такива модели, сигнали разпространява чрез кръга с няколко неврони-бързо, отколкото сигнали разпространява чрез кръга с множество неврони.
А невроза, свързани с сама ще имат най-бързо разпространение на сигнала курс.
Ако невроза има вход X, с тегло W, и пристрастие B, и която не е отрицателен изход Y (например, 0.0 -> 1.0), тогава ние можем да формират осцилатор просто чрез задаване W = (-8) и B = +4 и свързващи Y да X;
всеки път, когато сме на симулира невроза, сигнала ще бъде toggled до обратното състояние.
Мрежа с електрически вериги могат да се занимавам с дейност, дори когато тя не приема външни сигнали (стимули), както артикули.
В клетъчни автомати правилата на Conway's "Game of Life" биха могли да бъдат приложени по невронни мрежи, което ви дава малко подсещане на разнообразието на дейност, която може да се случи по невронни мрежи с електрически вериги.
Краен състояние машини (FSM), oscillators, летливи памет (в контраст с изучаването на модели чрез промяна на тежести), са възможни looping.
Ако мрежата е отклонение, ние не можем да актуализира всички изходи, докато ние изчислявате всички изходи; по този начин, ние изискваме временен буфер за съхранение изчислява изходи, докато ние изчислявате всички изходи, а след това можем да се ангажират новата продукция стойности на неврони в мрежата.
Всеки метод, който актуализации изходи в реалната мрежа в прогресивен начин, вместо това на всички по-веднъж на пътя, се въвежда една произволна подредба във времето, което води до хаос.
Физически лица, симулации, свързани заедно, като планети орбита една звезда с взаимното гравитационно силите между всички органи, изискват от същия вид на подхода: изчисляване на нетните сили на всички органи, преди да актуализира всяка скорост и позиция.
Време-зависимостта:
А просто мрежа симулация обикновено включва артикули причиняване на желаните резултати след една симулация на времето стъпка.
В такава симулация, ние мисля, от гледна точка на "брой повторения," отколкото "времето в секунди."
Има нужда да бъде всяко кореспонденция между повторения и един път мащаб.
Системата може да бъде проектирана да направи мрежа за симулация (итерация), само когато е налична нова входа, които могат да възникнат при нередовни интервали от време.
Въпреки това, считаме за математически модел на невроза, че се опитва да симулира на pulsing изход аспект на биологичното невроза.
В pulsing може да се характеризира по отношение на времето, като pulsing по-специално честотата, или като варива, чиито крива разширява за определен период от време.
Ние можем да имат друг път, зависими елементи в математически модел на невроза, като например въвеждане на акумулатора, чиято стойност се вноски от суровини, но има течащи пропорционално на своята настояща стойност.
По принцип, ние можем да намерим дадена електрическа верига аналогия и за елементите, които отговарят на определени математически уравнения, и така може да се взе едно невроза като съединение с резистори, кондензатори, както и нелинейна усилвател.
Точно както един цикъл да проявяват комплекс във времето зависи поведението на изхода на невроза може да се разглежда като функция, която зависи от нейните съставни елементи и времето в сложни начин.

5.9 Назад грешка размножаване

Определение:
"Назад грешка размножаване" е математическа процедура, която започва с грешка в производството на невронни мрежи и propagates тази грешка, върнете назад в мрежата за добив продукция грешка стойности за всички неврони в мрежата.
Назад грешка размножаване формули:
Грешката стойности по невронни мрежи изходи са изчислени като се използва следната формула:
Error = (Output - Desired);  // Derived from: Output = Desired + Error;
Грешката натрупване в невроза тялото се регулира в зависимост от изхода на невроза тялото и изхода за грешка (определени от линкове свързани с невроза тялото).
Всеки изход за грешка стойност допринася за грешка, акумулатор, по следния начин:
ErrorAccumulator += Output * (1 - Output) * OutputError;
В известен смисъл, всички от изхода грешки в следващия слой, течащ в обратната посока чрез въвеждане на теглото и натрупване на изхода на невроза в предишния слой.
Това е акумулирана стойност, умножена по стойност, която е най-голям при сегашното производство на невроза е най-неутрален (най-вече "съм решил)" и е малко, когато продукцията на невроза е най-екстремните (много "на някои)."
Тегло промени и пристрастие променят формулите:
В основата на обучението е корекцията на теглото и пристрастие ценности в опит за намаляване на бъдещото производство грешки.
"Честота на" обучение е цифрова стойност, които по същество показва колко бързо един невроза регулира теглото и пристрастие стойности според грешка ценности.
Следната формула показва как да променяте теглото на невроза с конкретен набор от ценности и приноса му мощност грешка стойност:
Weight += (-1) * Rate * Input * Error;
Следната формула показва как да се промени пристрастие на невроза като се има предвид сегашната продукция грешка за невроза:
Bias += (-1) * Rate * Error;

6. Обучение един невронни мрежи

6.1 Обучение процедура

Едно можеш да започнеш с обучени мрежата и ще продължат да се намалят производството грешка с допълнително обучение, но едно често започва с untrained мрежа.
Преди обучението, избират произволни стойности за всички тежести на всички неврони в мрежата.
I наблюдават проблеми, когато случайно избрана стойности в интервал [ -1.0, +1.0 ], и аз не са имали проблеми при разглеждане на произволни стойности от интервала [ +0.1, +1.0 ].
I споменават тези забележки, но те може би се дължи на моите грешки.
Целта на случаен принцип на теглото е да се намали възможността за патологични случаи в мрежата.
Ако всички неврони в мрежа започна със същото тегло, мрежата би не основание за увеличаване на диференциацията между неврони.
Имам отбеляза, че за всички стойности пристрастие към нула (0.0) е приемливо.
Обучение на сесията ще включва чрез обучение е много пъти, може би стотици или хиляди пъти.
За всеки преминават през обучение в стаята, считаме всяка точка в стаята за обучение.
А за обучение в стаята елемент е набор от материали, както и набор от желаните резултати.
Ние симулира мрежата, като се използва набор от материали за обучение, определени от елемент.
Симулационната добиви изход ценности.
Ние размножавам грешките назад мисъл на невронни мрежи за изчисляване на мощност за всички грешки, неврони.
Ние обновяване на всички тежести и отклонения.
Внимание: Една академична текст, който обсъжда невронни мрежи се препоръчва преминавайки през цялото обучение в стаята и само summing тегло до промени и отклонения.
След преминавайки през цялото обучение в стаята имаме набор от сумите, с тегло промени и пристрастие промени.
Ние вземаме тези суми и обновяване на всички тежести и отклонения.
Такива могат да бъдат огромни суми за обучение големи множества - и произтичащата от това скок в теглото пространство би било неразумно голям.
Така че, мисля, се раздели на броя на материали за обучение, за да получите средно тегло променя ценности и средните пристрастие промяна ценности, би било разумно.
Има нещо, което призовават за преносими компютри едно тегло промяна вектор, че някак отнема цялото обучение в стаята за разглеждане.
Не знам, ако просто да направи грешка в изпълнението на идеята, но аз почти се отказа от изцяло на невронни мрежи, тъй като за това колко зле се превръща в нещо.
Тогава, когато аз се опитах в наивен алтернатива, а именно при вземане на актуализации на обучение на всеки елемент, нещата работи перфектно.
Като се има предвид цялото обучение в стаята преди да встъпят в една актуализация има някои предимства и недостатъци:
Предимство:
Единична обучение елементи в обучението е с изключителна грешка (т.е., лошо обучение т.) няма да направи голям принос за обновяване, защото той ще бъде претоварени от влиянието на "добрите" данни;
Недостатък:
Ако N е броят на публикациите във вашата подготовка в стаята, вашият процент на напредъка на оптимално тегло вектор ще бъде разделена на N.
Или за дадена дистанция ще имате само една малка част от ръководството съвети по начина, по който в сравнение с наивен подход;
Може би тази техника ще работи за вас, но изпробвате на наивен подход, преди да се откаже от по невронни мрежи в utter обида!

6.2 Липсата на намаляване на грешка

Обучение май не успеят да се намали общата грешка за обучение в стаята.
Важно е да се открие едно не са успели да намалят грешка.
Следният списък описва причините за грешка, като не са успели да намалят, както и възможни решения.
Елементи в списъка са изброени в реда на вероятността да се сближат, с точка първа от дневния ред е най-вероятна.
(1) Теглото комбинация е достигнал до местната минимална площ на грешка, и е "идват;"
Решение: Започнете нова симулация с нови тегла на случаен принцип.
(2) В мрежата има твърде малко невроза или да encode всички слоеве на модели за обучение в стаята;
Решение: внимателно забавляват възможност за добавяне на слоеве или невроза.
(3) един или повече елементи в своята подготовка в стаята противоречи или е крайно несъвместими с другите си обучение елементи;
Решение: Ако вашите данни за нередности.
Намерете тест елементи, които добива най-грешка за вашата обучени мрежа.
Потърсете в системата на средното тегло на техники за промяна за целия набор от данни за намаляване на влиянието на лошите случаи.
(4) курс на обучение е твърде висока (нещо повече от 1.0 вероятно е прекалено), както и за актуализации винаги превишаване на целта;
Решение: Намаляване на обучение курс.
(5) курс на обучение е твърде ниско (под 0.01 всичко, което може да бъде твърде малък), както и за мрежата наистина е обединяването на сигурност, тегло комбинация - но е твърде бавен;
Решение: Увеличение на обучение курс.
Обучение две слой, три невроза мрежа да съвпадне с изключителното или (xor) функция, може, въпреки привидно простия начин на функциониране, не успеят да converge.
Това може да бъде изненада и frustrating.
Въпреки това, решението е просто да се определят всички тегла невроза връзка с новите стойности на случаен принцип и след това се опитват да обучават мрежата отново.
В случай на обучение мрежа да съвпадне с изключителното или (xor) функция, произволни положителни тегла, като че ли да доведе до успешен обучение всеки път, като има предвид, че определени комбинации от положителни и отрицателни тегла понякога причина за обучение да не успеят драматично.
Необходимостта да се избере нов случаен първоначално масите да се възстанови от неспазване на converge неблагоприятни е следствие от комбинацията на изучаването на процедурата.
В изучаването на процедурата е по същество търсят глобален минимум от steepest спускане по площ, както и възможността за наличие на "местна минимална," в които търсенето може да стане хванати.

6.3 Като цяло обучението грешка

Основната грешка на мрежата може да се характеризира с-корен квадратен от средната стойност на квадратна грешки, или "корен квадратен-е-(RMS)."
Грешката на всички специфични мрежа за производство се дава чрез следната формула:
Error = (Output - Desired);
Сумата на квадратна грешка за един елемент за обучение се дава чрез следната формула:
double squaredError = 0.0;
foreach (NeuralNetworkOutput output in ListOfOutputs)
{
    squaredError += (output.Error * output.Error);
}
Сумата на квадратна грешки за целия набор от материали за обучение в стаята е сумата от квадратна грешки на отделните елементи.  Следния код показва как квадратна грешки за целия набор от материали за обучение могат да бъдат изчислени:
double squaredError = 0.0;
for
    (
    int trainingItemIndex = 0;
    trainingItemIndex < totalTrainingItems;
    trainingItemIndex++
    )
{
    trainingSet.SetAllInputNodeValues( trainingItemIndex );
    Simulate( propagationIterations );
    trainingSet.SetAllOutputNodeErrorValues( trainingItemIndex );
    PropagateErrors( propagationIterations );
    UpdateWeightsAndBiases();

    foreach (NeuralNetworkOutput output in ListOfOutputs)
    {
        squaredError += (output.Error * output.Error);
    }
}
Общият корен квадратен-е-(RMS) на грешката е дадено от корен квадратен от средната стойност на квадратна грешки:
double rmsError = Math.Sqrt( squaredError / (double)totalTrainingItems );
Тази стойност е един от начините да се характеризират като цяло грешка на мрежа за обучение като всички случаи.

7. Учене

Учебен се случва, когато теглото и пристрастие стойности на невроза връзки и невроза органи са коригирани в съответствие с определена мрежа, суровини и производство грешка ценности.
Разгледа невронни мрежи с две съставни елементи (x1 и x2), и две препратки (с тегла w1 и w2), невроза и едно тяло, и един изход (y).
neuron_network_single_neuron.jpg
Невралгия мрежа с две суровини, невроза и едно тяло, и един изход
Ние влак тази невроза с доставка на суровини, производство на компютри, преносими компютри за грешка, компютри тегло и пристрастие промени, както и актуализиране на тежести и предразсъдъци, които пристигат на нови тегла ( w1', w2' ).
Има един много интересен начин да се визуализира този процес.
Ние можем взе множеството на тежести като вектор в едно мулти-тримерното пространство.  Така например, в продължение на две тегла имаме вектор W = (w1, w2) в двуизмерен "тегло пространство."
При масите са коригирани, ние имаме нов тегло вектор W' = (w1',w2').
Ние можем да визуализира тази точка като W преминаване към нова точка W' като част от процеса е да сведем до минимум производството грешка.
Обикновено една не би да изчислявате изхода за грешка за всички възможни комбинации на теглото, защото надявам се, че теглото процеса на коригиране ефективно ще се насочете към най-добрата комбинация.
Все пак, нека парцел на площ, които по същество показва колко добре една невроза отговаря на всички точки в стаята за обучение, като функция на неговите две тегла:
neuron_weight_space03.jpg
Сумата от квадратна грешка за определено обучение, определени като функция на две тегла (w1, w2)
Basically, целта на обучението е да се спускат до най-ниското ниво на тази площ, където грешката е сведено до минимум.
След като намерят точката W = (w1, w2), че добивите на минималната стойност на тази площ, обучението е завършен и след това не можем просто използват обучени невроза.
Следната диаграма показва изхода от обучени невроза, като функция на всички възможни елементи X = (x1, x2):
neuron_input_space02.jpg
Невроза мощност като функция на две съставни елементи (x1, x2) за теглото комбинацията, която минимизира квадратна грешка
Макар че със сумата за тази два входа невроза е просто (w1*x1 + w2*x2), за активиране на функцията се превръща просто в завърта равнината на стол.
Тази площ е правилният изход стойности за всички комбинации на входа (x1, x2) определен от нашата подготовка в стаята.
Но можете да си представите как вход вектори X = (x1, x2) подобно обучение стойности, също ще доведе до правилното изход ценности; тази функция на невронни мрежи се нарича "обобщение" и е основната стойност на невронни мрежи.
Тъй като ние се опитаме да се "спускат" на повърхността на квадратна грешка, ние трябва да "високосна, преди ние с нетърпение!"
Ние обновяване на теглото вектор и пристрастие, а след това ние оценяваме "височината" на повърхността най-новата ни място.
Една последица от това е, че ние може да премине към една точка, с по-висока грешка.
Друга последица е, че той може да отнеме известно време да се спускат към дълбочината на нашите предишното място.
Възможността за "leaping" до по-висока върхове и долини на грешка площ е пряко свързан с "изучаването на курс," тъй като изучаването на курс определя колко влияние имат стойности на грешка на нашия тегло и пристрастие промени.
Следната диаграма показва как увеличаване на обучение курс hastens нашето пристигане на по-ниски позиции по квадратна грешка площ, където грешката е сведено до минимум.
Графиката също така показва, че увеличаване на обучение курс също въвежда възможността за вземане на лошите стъпки:
neuron_training_error1512_zoom.jpg
Краткосрочни тенденция на корен-е-(RMS) квадратна грешка за цялото обучение в стаята в продължение на няколко повторения обучение, курсове за изучаване 0.1, 0.5, 1.0 и 2.0.
Ето една графика на корен-е-квадратна грешка при изхода на многослойни мрежа с обучението в стаята с 19386 елементи, които много лош опит стъпки по пътя на най-добрите носители тегло:
neuron_training_error_spikes.jpg
Обучение Понякога се натъкваме на spikes в корена-е-квадратна (RMS) грешка, грешка, когато се увеличава за някои повторения, преди да поднови една низходяща тенденция.
Понякога тенденцията е просто плавно конвергенция на желаното набор от теглото:
neuron_training_error1512.jpg
Тенденция на корен-е-(RMS) квадратна грешка за цялото обучение в стаята в продължение на няколко повторения обучение, курсове за изучаване 0.1, 0.5, 1.0 и 2.0.

8. Пример: Изключителен или (xor)

"Изключителен или" (xor) е функция, която приема две Булева входове и добивите един Булева продукция в съответствие със следната таблица:
X1
X2
Y = xor (X1, X2)
0
0
0
0
1
1
1
0
1
1
1
0
По принцип, един невроза е артикули {x1, x2, ...}, въведени чрез връзки с тежести {w1, w2, ...}.
В невроза computes междинен количество d = bias + (w1*x1 + w2*x2 + ...), които могат да бъдат считани за идентифициране, който равнина, в един безкраен набор от паралелни равнини, съдържа определена точка с координати {x1, x2, ...}.
В невроза computes производство стойност, y = ActivationFunction( d ), което има ефект от разделянето на безкраен набор от паралелни плоскости в два сета, с един комплект за производство на ниски стойности на продукцията, както и останалите в стаята, произвеждащи висока мощност ценности.
Така, един невроза се разделя много пространство в двата региона, разделени от равнината bias + w1*x1 + w2*x2 + ...  = 0, и задава ниски стойности на изхода на пункта в района на едната страна на равнината, и задава високи стойности на изхода на пункта в района на противоположната страна на плоскост.
Така, ако две точкови множества в пространството имат много различни класификации и могат да бъдат напълно отделени от равнина, а после един невроза може да се използва правилно да класифицираме точки от тези множества като принадлежащи към една или друга страна.
Изключителните или (xor) функция класифицира точки в двумерен пространство (с координати (x1, x2)), така че точките в стаята { (0,0), (1,1) } са класифицирани като производство на един изход от "0," както и точки в стаята { (0,1), (1,0) } са класифицирани като производство на производство от "1."
Не е единствена "равнина" (в този случай, една линия), които могат да самостоятелна тези четири точки в двата апарата.
Следователно, една невроза не може да се използва за класифициране точки в зависимост от изключителна или (xor) функци