Ние изучаваме невронни мрежи в четири стъпки

Ние изучаваме невронни мрежи в четири стъпки

Етап 1. неврони и метода за директно разпространение

И така, какво е "невронна мрежа"? Нека да изчакаме с това и ще се разбере най-напред с един неврон.

А неврон прилича на функция: тя приема на входа на няколко стойности и връща един.

Кръгът долу означава изкуствен неврон. Той получава 5 и връща 1. Input - е сумата от три свързани с синапсите на невроните (три стрелки вляво).

Ние изучаваме невронни мрежи в четири стъпки

От лявата страна на снимката виждаме две входни стойности (зелен цвят) и отместване (маркирани в кафяво).

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

Стойностите на входните се умножават по тяхната така наречените "тегло", 7 и 3 (подчертани в синьо).

ние добавяме получените стойности сега се компенсират и да получат номер, в този случай 5 (маркирани в червено). Това е - на входа ни изкуствен неврон.

Ние изучаваме невронни мрежи в четири стъпки

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

Ако това е филтър за спам, фактът, че на изхода 1 би означавало, че текстът е било сигнализирано, като спам неврон.

Ние изучаваме невронни мрежи в четири стъпки

Илюстрация на невронна мрежа с Уикипедия.

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

Стъпка 2. сигмоидно

Ние изучаваме невронни мрежи в четири стъпки

Сигмоидна просто показва въведената стойност (хоризонтална ос) на интервала от 0 до 1.

Отне цял ден, и е малко вероятно резултатът е задоволителен. Но това няма значение, защото си помислих, как работи. можете да видите кода тук.

Вие не трябва да го правят сами, защото там се изискват специални знания - основното нещо, което трябва да се разбере как сигмоидно.

Стъпка 3. обратно разпространение на

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

Накратко: имате ли прецени как мрежата е наред, както и промяна на теглото на входните стойности (в синьо броя на първата снимка).

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

Ние изучаваме невронни мрежи в четири стъпки

Снимка на ръководството на Мат Мазур обратно разпространение.

Ето три източници, които ми помогнаха да има смисъл на този метод:

Стъпка 4: Създайте си невронна мрежа

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

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

Ние изучаваме невронни мрежи в четири стъпки

Screenshot насоки от IAmTrask

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

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

След това можете да прочетете ръководство Wild ML от Denny Бриц. което се занимава с невронни мрежи е по-трудно.

Ние изучаваме невронни мрежи в четири стъпки

Снимка на WildML ръководство

Сега можете да се опитате да напишете свой собствен невронна мрежа, или да експериментира с вече написани. Много смешно да търсите за вашия набор и тествате различни предположения, използвайки своите мрежи.

За да търсите добър набор от данни, можете да посетите сайта ми Datasets.co и изберете където е подходящо.

Както и да е, сега по-добре да започнете да експериментирате, отколкото да слушате съветите ми. Лично аз съм сега учи Python-библиотека за невронна мрежа програмиране, като Theano. Лазаня и nolearn.