С прости думи за комплекса: какво представляват невронните мрежи? Невронни мрежи: какво представляват, къде се използват, как са подредени и каква функция изпълняват

  • Мозък
  • Когато над бутилка бира започнах да говоря за невронни мрежи - хората обикновено започнаха да ме гледат със страх, станаха тъжни, понякога очите им започнаха да потрепват, а в крайни случаи пропълзяха под масата. Но всъщност тези мрежи са прости и интуитивни. Да Да Да точно! И нека ти го докажа!

    Да кажем, че знам две неща за едно момиче - независимо дали ми е сладко или не, а също и дали имам за какво да говоря с нея. Ако има, тогава ще го считаме за единица, ако не, тогава - като нула. Нека вземем подобен принцип за екстериора. Въпрос: "В кое момиче ще се влюбя и защо?"


    Човек би могъл да мисли просто и безкомпромисно: „Ако тя е хубава и има за какво да говори, тогава ще се влюбя. Ако не, тогава - благодаря. "



    Но какво ще стане, ако дамата е хубава за мен, но няма за какво да говорим с нея? Или обратното?


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


    И сега с чиста съвест мога да отговоря на въпроса си:


    "Ако влиянието на харизмата и влиянието на приказливостта в сумата е по -голямо от стойността на" влюбване ", тогава аз ще се влюбя ..."



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



    Всъщност това правило е неврон.


    Изкуственият неврон е функция, която преобразува множество входни факти в един изход.Чрез регулиране на тежестите на тези факти, както и прага на възбуждане, ние коригираме адекватността на неврона. По принцип за мнозина науката за живота завършва на това ниво, но тази история не е за нас, нали?


    Нека направим още някои изводи:

    • Ако и двете тежести са малки, тогава ще ми бъде трудно да се влюбя в някого.
    • Ако и двете тежести са твърде големи, тогава ще се влюбя поне в поста.
    • Можете също така да ме накарате да се влюбя в стълб, като свалите прага на влюбване, но моля ви - не ми правете това! По -добре да забравим за него засега, ясно?

    Между другото около прага

    Смешно е, но параметърът „влюбване“ се нарича „праг на възбуда“. Но, за да не получи тази статия оценка „18+“, нека се съгласим просто да кажем „праг“, добре?

    Невронна мрежа

    Няма еднозначно красиви и недвусмислено общителни дами. Да, и влюбване, влюбване, независимо кой какво казва. Затова вместо брутални и безкомпромисни „0“ и „1“, нека използваме процент. Тогава можете да кажете - „Много съм влюбен (80%), или„ тази дама не е особено приказлива (20%) “.


    Нашият примитивен „максималистичен неврон“ от първата част вече не е подходящ за нас. Той се заменя с „мъдрец неврон“, резултатът от който ще бъде число от 0 до 1, в зависимост от входните данни.



    „Невронният мъдрец“ може да ни каже: „тази дама е достатъчно красива, но не знам за какво да говоря с нея, така че не съм много възхитена от нея“



    Малко терминология

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


    Да отидем по -нататък. Нека направим различна оценка на тези два факта: колко е добре да работиш (да си сътрудничиш) с такова момиче? Ще действаме по абсолютно същия начин - ще добавим мъдър неврон и ще коригираме тежестите по начин, удобен за нас.


    Но да се съди за момиче по две характеристики е много грубо. Нека я съдим по три! Нека добавим още един факт - парите. Което ще варира от нула (абсолютно лошо) до единица (дъщерята на Рокфелер). Нека видим как нашите промени ще се променят с пристигането на пари ...


    За себе си реших, че от гледна точка на чара парите не са много важни, но шикозният вид все още може да ми повлияе, защото ще направя теглото на парите малко, но положително.


    На работа абсолютно не ми пука колко пари има момичето, така че ще направя теглото равно на нула.



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

    • Харизмата в тази задача е неутрална (нула или леко тегло).
    • Говоренето ще ни помогне (положително тегло).
    • Когато истинските пътувания нямат пари, движението започва, така че ще направя теглото на парите леко отрицателно.

    Комбинираме трите тези схеми в една и откриваме, че сме преминали към по -дълбоко ниво на преценка, а именно: от харизма, пари и приказливост - до възхищение, сътрудничество и комфорт на съвместно пътуване. И забележете - това също са сигнали от нула до единица. И така, сега мога да добавя окончателния „максималистичен неврон“ и да го оставя недвусмислено да отговори на въпроса - „да се оженя или не“?



    Добре, разбира се, не е толкова просто (по отношение на жените). Нека внесем малко драма и реалност в нашия прост и дъгов свят. Първо, нека да направим разумен неврон „ожени се - не се омъжвай“. Съмнението е присъщо на всеки, по един или друг начин. И още нещо - нека добавим неврон „Искам деца от нея“ и, честно казано, неврон „стойте далеч от нея“.


    Не разбирам нищо от жените и затова моята примитивна мрежа сега изглежда като картината в началото на статията.


    Входните оценки се наричат ​​„входен слой“, крайните се наричат ​​„изходен слой“, а този, който е скрит в средата, се нарича „скрит“. Скритият слой са моите преценки, полуготови продукти, мисли, за които никой не знае. Може да има няколко скрити слоя или дори нито един.

    Долу максимализъм.

    Помните ли, когато говорих за отрицателното въздействие на парите върху желанието ми да пътувам с човек? Така че - излъгах. Човек, който има много пари, а не много пари, е най -подходящ за пътуване. За мен е по -интересно и няма да обяснявам защо.


    Но тук се сблъсквам с проблем:


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


    За мен е невъзможно да накарам неврона да разпознае ситуацията „нито повече, нито по -малко“ по този начин, с едно тегло!


    За да заобиколя това, ще направя два неврона - „много пари“ и „малко пари“, и ще им дам паричен поток от нашата дама като вход.


    Сега имам две преценки: „много“ и „малко“. Ако и двата извода са незначителни, тогава буквално „нито повече - нито по -малко“ ще се окажат. Тоест, нека добавим още един неврон към изхода, с отрицателни тегла:



    - Нищо не беше наред. Червени стрелки - положителни връзки, сини - отрицателни


    По принцип това означава, че невроните са като елементи на конструктор. Точно както процесорът е направен от транзистори, можем да съберем мозък от неврони. Например преценката „Или богат, или умен“ може да бъде направена така:



    Или или. Червени стрелки - положителни връзки, сини - отрицателни




    можете да замените „мъдрите“ неврони с „максималисти“ и тогава получаваме логическия оператор XOR. Основното нещо е да не забравите да регулирате праговете на възбуда.


    За разлика от транзисторите и безкомпромисната логика на типичен програмист „ако-тогава“, невронната мрежа може да взема информирани решения. Техните резултати ще се променят плавно, с плавна промяна на входните параметри. Ето мъдрост!


    Нека ви обърна внимание на факта, че добавянето на слой от два неврона позволи на неврона „нито повече, нито по -малко“ да направи по -сложна и балансирана преценка, да премине към ново ниво на логика. От „много“ или „малко“ - до компромисно решение, до по -дълбока, от философска гледна точка, преценка. Ами ако добавите още скрити слоеве? Ние можем да схванем с ума си тази проста мрежа, но какво ще кажете за мрежа, която има 7 слоя? Можем ли да схванем дълбочината на нейната преценка? Но какво ще стане, ако всеки от тях, включително входния, съдържа около хиляда неврони? На какво мислите, че е способна?


    Представете си, че допълнително усложних моя пример за брак и влюбване и стигнах до такава мрежа. Някъде там всичките ни девет неврона са скрити в него и това по -скоро прилича на истината. При цялото желание е просто невъзможно да се разберат всички зависимости и дълбочината на преценките на такава мрежа. За мен преходът от мрежата 3x3 към 7x1000 е сравним с осъзнаването на мащаба, ако не на Вселената, то на галактиката - спрямо моя ръст. Много просто, не мога да го направя. Решението на такава мрежа, запаленият изход на един от нейните неврони - ще бъде необяснимо по логика. Това е, което в ежедневието можем да наречем „интуиция“ (поне - „една от ..“). Неразбираемо желание на системата или нейния намек.


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

    Образование.

    Няколко реда по-рано споменах добре настроена мрежа, която вероятно предизвика тъп въпрос: „Как можем да конфигурираме мрежа, състояща се от няколко хиляди неврони? Колко „човеко-години“ и разрушен живот са ви необходими за това? .. Страхувам се да предложа отговор на последния въпрос. Много по -добре да автоматизирате този процес на конфигуриране е да принудите мрежата да се конфигурира сама. Този процес на автоматизация се нарича учене. И за да дам повърхностна представа за това, ще се върна към първоначалната метафора на „много важен въпрос“:


    Ние се появяваме в този свят с чист, невинен мозък и невронна мрежа, която абсолютно не е настроена за жените. Трябва да се регулира по някакъв начин, така че щастието и радостта да дойдат в дома ни. За това имаме нужда от опит и има няколко начина да го получим:


    1) Учене с учител (за романтици). Вижте достатъчно холивудски мелодрами и прочетете сълзливи романи. Или вижте достатъчно от вашите родители и / или приятели. След това, в зависимост от извадката, отидете да проверите придобитите знания. След неуспешен опит - да се повтори всичко отново, като се започне с романите.


    2) Учене без учител (за отчаяни експериментатори). Опитайте се да се ожените за десетина жени, използвайки метода „пробождане“. След всеки брак, чесайки ряпа в недоумение. Повтаряйте, докато не разберете, че ви е скучно и „вече знаете как се случва“.


    3) Учене без учител, вариант 2 (пътят на отчаяните оптимисти). Откажете се от всичко, направете нещо в живота и един ден се оженете. След това преконфигурирайте мрежата си в съответствие с настоящата реалност, така че всичко да ви подхожда.



    Всичко по -горе е вярно за изкуствена невронна мрежа от типа "перцептрон". Останалите мрежи са подобни на него в основни принципи, но имат свои собствени нюанси.


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



    Теглото на моята невронна мрежа не е настроено и просто не мога да разбера към кой ресурс трябва да се позовава тази статия.

    В проучването могат да участват само регистрирани потребители. Влез Моля.

    Невронни мрежи

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

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

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

    Хронология

    Известни приложения

    Групиране

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

    Експериментален избор на мрежови характеристики

    След като изберете общата структура, трябва експериментално да изберете мрежовите параметри. За мрежи като перцептрон това ще бъде броят на слоевете, броят на блоковете в скрити слоеве (за Word мрежи), наличието или отсъствието на байпасни връзки, трансферните функции на невроните. При избора на броя на слоевете и невроните в тях трябва да се изхожда от факта, че способността на мрежата да обобщава е колкото по -висока, толкова по -голям е общият брой връзки между невроните... От друга страна, броят на връзките е ограничен отгоре от броя на записите в данните за обучението.

    Експериментален избор на параметри на обучение

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

    Действителното обучение на мрежата

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

    Проверка на адекватността на обучението

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

    Класификация по вид на въведената информация

    • Аналогови невронни мрежи (използвайте информация под формата на реални числа);
    • Двоични невронни мрежи (работят с информация, представена в двоична форма).

    Класификация по естеството на обучението

    • Надзорно обучение - изходното пространство на решенията за невронни мрежи е известно;
    • Неуправляемо обучение - невронната мрежа формира изходното пространство на решения, основаващи се само на вход. Такива мрежи се наричат ​​самоорганизиращи се;
    • Укрепването на обучението е система за възлагане на санкции и награди от околната среда.

    Класификация по естеството на настройката на синапсите

    Класификация на времето за предаване на сигнала

    В редица невронни мрежи активиращата функция може да зависи не само от коефициентите на претегляне на връзките w iй, но и за времето на предаване на импулс (сигнал) по комуникационни канали τ iй... Следователно като цяло активиращата (предаваща) комуникационна функция ° С iйот елемент ти iкъм елемент ти йизглежда като:. Тогава синхронна мрежа iйвсяка връзка е равна или на нула, или на фиксирана константа τ. Асинхроненсе нарича мрежа, чието време на предаване τ iйза всяка връзка между елементите ти iи ти йсвоя, но и постоянна.

    Класификация по естеството на връзките

    Продължаващи мрежи

    Всички връзки са насочени строго от входните неврони към изходните неврони. Примери за такива мрежи са персептронът на Розенблат, многослоен перцептрон, Word мрежи.

    Повтарящи се невронни мрежи

    Сигналът от изходните неврони или невроните на скрития слой се предава частично обратно към входовете на невроните на входния слой (обратна връзка). Повтаряща се мрежа Хопфийлдската мрежа „филтрира“ входните данни, връщайки се в стабилно състояние и по този начин позволява решаването на проблеми с компресирането на данни и изграждането на асоциативна памет. Двупосочните мрежи са специален случай на повтарящи се мрежи. В такива мрежи има връзки между слоевете както в посоката от входния слой към изходния слой, така и в обратната посока. Класически пример е невронната мрежа на Kosco.

    Радиални базисни функции

    Изкуствени невронни мрежи, използващи радиални бази като функции за активиране (такива мрежи се съкращават като RBF мрежи). Общ изглед на радиалната базисна функция:

    , Например,

    където хе векторът на входните сигнали на невроните, σ е ширината на прозореца на функцията, φ ( y) е намаляваща функция (най -често равна на нула извън определен сегмент).

    Радиално-базовата мрежа се характеризира с три характеристики:

    1. Единственият скрит слой

    2. Само невроните на скрития слой имат функция за нелинейно активиране

    3. Синаптичните тегла на връзките на входния и скритите слоеве са равни на единица

    За процедурата на обучение - вижте литературата

    Самоорганизиращи се карти

    Такива мрежи представляват конкурентна невронна мрежа с неконтролирано обучение, която изпълнява задачата за визуализация и групиране. Това е метод за проектиране на многоизмерно пространство в пространство с по-ниско измерение (най-често двуизмерно), използва се и за решаване на проблеми с моделирането, прогнозирането и пр. Това е една от версиите на невронните мрежи на Кохонен. Самоорганизиращите се карти на Кохонен се използват предимно за визуализация и първоначален („проучвателен“) анализ на данни.

    Сигналът към мрежата Kohonen отива до всички неврони наведнъж, теглата на съответните синапси се интерпретират като координати на позицията на възела, а изходният сигнал се формира според принципа "победителят взема всичко" - тоест невронът най -близкият (по отношение на теглото на синапса) до входния сигнал има ненулев изходен сигнален обект. В процеса на обучение теглото на синапса се регулира по такъв начин, че решетъчните възли са "разположени" в местата на локална концентрация на данни, тоест описват клъстерната структура на облака от данни, от друга страна, връзките между невроните съответстват на съседските отношения между съответните клъстери в пространството на характеристиките.

    Удобно е да се разглеждат такива карти като двумерни решетки от възли, разположени в многоизмерно пространство. Първоначално самоорганизираща се карта представлява мрежа от възли, свързани чрез връзки. Кохонен разглежда два варианта за свързване на възли - в правоъгълна и шестоъгълна решетка - разликата е, че в правоъгълна решетка всеки възел е свързан с 4 съседни възли, а в шестоъгълна решетка - с 6 най -близки възли. За две такива решетки процесът на изграждане на мрежата Kohonen се различава само в мястото, където се преместват най -близките до дадения възел съседи.

    Първоначалното вмъкване на мрежата в пространството с данни е произволно. Авторският пакет SOM_PAK предлага опции за произволно начално местоположение на възли в пространството и вариант на местоположението на възли в равнината. След това възлите започват да се движат в пространството съгласно следния алгоритъм:

    1. Точката на данни е избрана на случаен принцип х .
    2. Най -близо до хвъзел на картата (BMU - Най -добро съвпадащо устройство).
    3. Този възел се премества с дадена стъпка към x. Той обаче не се движи сам, а се влачи по определен брой от най -близките възли от определен квартал на картата. От всички движещи се възли централният възел - най -близкият до точката на данни - е най -силно изместен, а останалите изпитват по -малките измествания, колкото по -далеч са от BMU. Има два етапа на настройка на картата - етап на подреждане и етап на фина настройка. На първия етап се избират големи стойности на квартала и движението на възлите има колективен характер - в резултат на това картата се „изправя“ и грубо отразява структурата на данните; на етапа на фина настройка радиусът на квартала е 1–2 и индивидуалните позиции на възлите се регулират. Освен това стойността на изместването намалява равномерно във времето, тоест тя е голяма в началото на всеки от етапите на обучение и близо до нула в края.
    4. Алгоритъмът повтаря определен брой епохи (ясно е, че броят на стъпките може да варира значително в зависимост от задачата).

    Известни видове мрежи

    • Hamming мрежа;
    • Неокогнитрон;
    • Хаотична невронна мрежа;
    • Counter Spread Network;
    • Мрежа с радиални базисни функции (RBF-мрежа);
    • Обобщена регресионна мрежа;
    • Вероятностна мрежа;
    • Сиамска невронна мрежа;
    • Адаптивни резонансни мрежи.

    Разлики от машини с архитектура на фон Нойман

    Дългият период на еволюция е дал на човешкия мозък много качества, които липсват при машини с архитектура на фон Нойман:

    • Масова съвместност;
    • Разпределено представяне на информация и изчисления;
    • Способност за учене и обобщаване;
    • Адаптивност;
    • Собственост на обработка на контекстуална информация;
    • Толерантност към грешки;
    • Ниска консумация на енергия.

    Невронни мрежи - универсални приближители

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

    Примери за приложение

    Прогнозиране на финансови времеви редове

    Входни данни - цена на акциите за годината. Задачата е да се определи утрешния курс. Извършва се следната трансформация - курсът за днес, вчера, за вчера, за вчера е подреден. Следващият ред се измества по дата с един ден и т.н. На получения набор се обучава мрежа с 3 входа и един изход - тоест изход: скорост за дата, входове: скорост за дата минус 1 ден, минус 2 дни, минус 3 дни. За обучената мрежа ние изпращаме курса за днес, вчера, за вчера и получаваме отговор за утре. Лесно е да се види, че в този случай мрежата просто ще покаже зависимостта на един параметър от трите предишни. Ако е желателно да се вземе предвид някой друг параметър (например общият индекс за индустрията), той трябва да бъде добавен като вход (и включен в примерите), мрежата трябва да се преквалифицира и да се получат нови резултати. За най -точното обучение си струва да използвате метода на ODP, тъй като той е най -предвидимият и по -лесен за изпълнение.

    Психодиагностика

    Поредица от творби на М. Г. Доррер и др. Е посветена на изследването на въпроса за възможността за развитие на психологическа интуиция в експертни системи за невронни мрежи. Получените резултати осигуряват подход за разкриване на механизма на интуиция на невронните мрежи, който се проявява, когато те решават психодиагностични задачи. Създаден нестандартно за компютърни техники интуитивенподход към психодиагностиката, който се състои в изключване на строителството описаната реалност... Тя ви позволява да съкратите и опростите работата по психодиагностичните техники.

    Хемоинформатика

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

    Бележки (редактиране)

    1. McCulloch W.S., Pitts W., Логическо смятане на идеи, свързани с нервната дейност // В сборник: "Автомати", изд. С. Е. Шанън и Дж. Маккарти. - М.: Издателство на чужбина. лит., 1956 г.-стр. 363-384. (Превод на английска статия от 1943 г.)
    2. Разпознаване на шаблони и адаптивно управление. БЕРНАРД ВИДРОВ
    3. Widrow B., Stearns S., Адаптивна обработка на сигнали. - М.: Радио и комуникация, 1989.- 440 с.
    4. Werbos P. J., Отвъд регресията: Нови инструменти за прогнозиране и анализ в поведенческите науки. Доцент доктор. дисертация, Харвардски университет, Кеймбридж, Масачузетс, 1974 г.
    5. Галушкин А.И.Синтез на многослойни системи за разпознаване на образи. - М.: „Енергия“, 1974.
    6. Rumelhart D.E., Hinton G.E., Williams R.J., Изучаване на вътрешни представителства чрез разпространение на грешки. В: Паралелно разпределена обработка, том. 1, стр. 318-362. Cambridge, MA, MIT Press. 1986 г.
    7. Барцев С.И., Охонин В.А.Адаптивни мрежи за обработка на информация. Красноярск: Институт по физика, Сибирски клон на Академията на науките на СССР, 1986. Препринт N 59B. - 20 стр.
    8. BaseGroup Labs - Практическо приложение на невронни мрежи при проблеми с класификацията
    9. Този тип кодиране понякога се нарича код "1 от N".
    10. Отворени системи - въведение в невронните мрежи
    11. Миркс Е. М., Логически прозрачни невронни мрежи и получаване на явни знания от данни, В книгата: Невроинформатика / А. Н. Горбан, В. Л. Дунин-Барковски, А. Н. Кирдини други - Новосибирск: Наука. Сибирско предприятие РАН, 1998.- 296 с ISBN 5020314102
    12. Споменете тази история в списание Popular Mechanics
    13. http://www.intuit.ru/department/expert/neuro/10/ INTUIT.ru - Повтарящи се мрежи като асоциативни устройства за съхранение]
    14. Кохонен, Т. (1989/1997/2001), Самоорганизиращи се карти, Берлин-Ню Йорк: Springer-Verlag. Първо издание 1989 г., второ издание 1997 г., трето разширено издание 2001 г., ISBN 0-387-51387-6, ISBN 3-540-67921-9
    15. А. Ю. ЗиновиевВизуализация на многоизмерни данни. - Красноярск: Изд. Красноярски държавен технически университет, 2000.- 180 стр.
    16. Горбан А.Н., Обобщена теорема за приближение и изчислителни възможности на невронни мрежи, Сибирски вестник за изчислителна математика, 1998. Т. 1, № 1. С. 12-24.
    17. Gorban A.N., Rossiyev D.A., Dorrer M.G., MultiNeuron - Симулатор на невронни мрежи за медицински, физиологични и психологически приложения, Wcnn'95, Вашингтон, окръг Колумбия: Годишна среща на Международното общество на невронните мрежи от 1995 г. Международно общество на невронните мрежи: хотел Renaissance, Вашингтон, САЩ, 17-21 юли, 1995 г.
    18. Dorrer M.G., Психологическа интуиция на изкуствени невронни мрежи, Дис. ... 1998. Други копия онлайн :,
    19. Баскин И.И., Палюлин В.А., Зефиров Н.С.,Приложение на изкуствени невронни мрежи в химични и биохимични изследвания, Вестн. Москва Un-Ta. Ser. 2. Химия. 1999. Т. 40. № 5.
    20. Galberstam N.M., Baskin I.I., Palyulin V.A., Zefirov N.S.Невронните мрежи като метод за намиране на структурата на зависимости - свойство на органични съединения // Напредъкът в химията... - 2003. - Т. 72. - No 7. - С. 706-727.
    21. Баскин И.И., Палюлин В.А., Зефиров Н.С.Многослойни персептрони при изследване на структурно-свойствените отношения за органични съединения // Руски химически вестник (Вестник на Руското химическо дружество на името на Д. И. Менделеев)... - 2006.- Т. 50.- С. 86-96.

    Връзки

    • Изкуствена невронна мрежа за PHP 5.x - Сериозен проект за развитие на невронни мрежи на езика за програмиране PHP 5.X
    • Форум за невронни мрежи и генетични алгоритми
    • Миркс Е. М., Невроинформатика: Учебник. наръчник за студенти с програми за лабораторна работа.
    • Примери стъпка по стъпка за внедряването на най-известните видове невронни мрежи в MATLAB, Neural Network Toolbox
    • Подбор на материали за невронни мрежи и прогнозен анализ
    • противниково приложение на невронни мрежи при прогнозиране на цените на акциите

    Въвеждането ми в невронните мрежи се случи, когато излезе приложението Prisma. Той обработва всяка снимка с помощта на невронни мрежи и я възпроизвежда от нулата, използвайки избрания стил. След като се заинтересувах от това, аз се втурнах да търся статии и „уроци“ преди всичко за Хабре. И за моя голяма изненада, не намерих нито една статия, която ясно и стъпка по стъпка да описва алгоритъма за работа на невронните мрежи. Информацията е фрагментирана и липсват ключови точки. Също така повечето автори бързат да покажат кода на един или друг език за програмиране, без да прибягват до подробни обяснения.

    NS Първото и най -важно мое откритие беше плейлистът на американския програмист Джеф Хитън, в който той подробно и ясно обяснява принципите на невронните мрежи и тяхната класификация. След като разгледах този плейлист, реших да създам своя собствена невронна мрежа, като започна с най -простия пример. Вероятно знаете, че когато тепърва започвате да изучавате нов език, първата ви програма ще бъде Hello World. Това е нещо като традиция. Светът на машинното обучение също има свой собствен Hello свят и това е невронна мрежа, която решава проблема с изключителната или (XOR). Ексклузив или таблица изглежда така:

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

    Какво е невронна мрежа?

    Невронната мрежа е поредица от неврони, свързани чрез синапси. Структурата на невронната мрежа дойде в света на програмирането направо от биологията. Благодарение на тази структура машината придобива способността да анализира и дори да запаметява различна информация. Невронните мрежи също са в състояние не само да анализират входящата информация, но и да я възпроизвеждат от паметта си. За тези, които се интересуват, гледайте 2 видеоклипа от TED Talks:Видео 1 , Видео 2 ). С други думи, невронната мрежа е машинна интерпретация на човешкия мозък, която съдържа милиони неврони, които предават информация под формата на електрически импулси.

    Какво представляват невронните мрежи?

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

    За какво са невронните мрежи?

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

    Класификация - разпределение на данните по параметри. Например на входа се дава набор от хора и е необходимо да се реши кой от тях да даде заем, а кой не. Тази работа може да се извърши от невронна мрежа, анализирайки информация като възраст, платежоспособност, кредитна история и т.н.

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

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

    Сега, за да разберем как работят невронните мрежи, нека да разгледаме нейните компоненти и техните параметри.

    Какво е неврон?

    Невронът е изчислителна единица, която получава информация, извършва прости изчисления върху нея и я предава по -нататък. Те са разделени на три основни типа: вход (син), скрит (червен) и изход (зелен). Има и неврон за пристрастие и контекстен неврон, за които ще говорим в следващата статия. В случай, когато невронна мрежа се състои от голям брой неврони, се въвежда терминът слой. Съответно има входен слой, който получава информация, n скрити слоя (обикновено не повече от 3), които го обработват, и изходен слой, който извежда резултата. Всеки от невроните има 2 основни параметъра: входни данни и изходни данни. В случай на входен неврон: вход = изход. В останалата част общата информация за всички неврони от предишния слой попада в полето за въвеждане, след което се нормализира с помощта на функцията за активиране (засега просто я представя f (x)) и попада в изходното поле.

    Важно е да запомните че невроните оперират с числа в диапазона или [-1,1]. Но какво, питате, след това обработвайте числа, които излизат от този диапазон? На този етап най -простият отговор е да разделите 1 на това число. Този процес се нарича нормализиране и много често се използва в невронни мрежи. Повече за това по -късно.

    Какво е синапс?

    Синапсът е връзка между два неврона. Синапсите имат 1 параметър - тегло. Благодарение на него входящата информация се променя, когато се предава от един неврон на друг. Да предположим, че има 3 неврона, които предават информация към следващия. Тогава имаме 3 тежести, съответстващи на всеки от тези неврони. За неврона с по -голямо тегло тази информация ще бъде доминираща в следващия неврон (например смесване на цветове). Всъщност съвкупността от тегла на невронна мрежа или матрица от тегла е един вид мозък на цялата система. Благодарение на тези тегла входната информация се обработва и се превръща в резултат.

    Важно е да запомните че по време на инициализацията на невронната мрежа теглата се назначават на случаен принцип.

    Как работи една невронна мрежа?

    В този пример е изобразена част от невронна мрежа, където буквите I означават входните неврони, буквата H означава скрития неврон, а буквата w означава теглата. От формулата се вижда, че входната информация е сумата от всички входни данни, умножена по съответните тегла. След това даваме вход 1 и 0. Нека w1 = 0.4 и w2 = 0.7 Входните данни на неврона H1 ще бъдат следните: 1 * 0.4 + 0 * 0.7 = 0.4. Сега, когато имаме входа, можем да получим изхода, като включим входа във функцията за активиране (повече за това по -късно). Сега, когато имаме изхода, го предаваме. И така, повтаряме за всички слоеве, докато стигнем до изходния неврон. Пускайки такава мрежа за първи път, ще видим, че отговорът далеч не е правилен, тъй като мрежата не е обучена. Ще я обучим да подобрява резултатите си. Но преди да се научим как да направим това, нека въведем няколко термина и свойства на невронна мрежа.

    Функция за активиране

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

    Линейна функция

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

    Сигмоидна

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

    Хиперболичен тангенс

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

    Обучителен комплект

    Обучителният набор е поредица от данни, върху които работи една невронна мрежа. В нашия случай изключителното или (xor) имаме само 4 различни резултата, тоест ще имаме 4 обучителни комплекта: 0xor0 = 0, 0xor1 = 1, 1xor0 = 1.1xor1 = 0.

    Повторение

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

    Епоха

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

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

    Грешка

    Грешка е процент, който отразява несъответствието между очакваните и получените отговори. Грешката се формира през всяка епоха и трябва да намалява. Ако това не се случи, значи правите нещо нередно. Грешката може да бъде изчислена по различни начини, но ще разгледаме само три основни начина: Средно квадратична грешка (по -долу MSE), Root MSE и Arctan. Няма ограничения за използване, както при функцията за активиране, и вие сте свободни да изберете кой от методите ви дава най -добри резултати. Трябва само да се има предвид, че всеки метод отчита грешките по различни начини. В Arctan грешката почти винаги ще бъде по -голяма, тъй като работи по принципа: колкото по -голяма е разликата, толкова по -голяма е грешката. Коренният MSE ще има най -малката грешка, затова най -често се използва MSE, който поддържа баланс при изчисляването на грешката.

    Корен MSE

    Арктан

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

    Задача

    Сега, за да се тествате, изчислете резултата от дадена невронна мрежа с помощта на сигмоид и нейната грешка с помощта на MSE.

    Данни:

    I1 = 1, I2 = 0, w1 = 0,45, w2 = 0,78, w3 = -0,12, w4 = 0,13, w5 = 1,5, w6 = -2,3.

    Решение

    H1 вход = 1 * 0,45 + 0 * -0,12 = 0,45

    H1 изход = сигмоиден (0.45) = 0.61

    H2вход = 1 * 0,78 + 0 * 0,13 = 0,78

    H2 изход = сигмоид (0.78) = 0.69

    O1 вход = 0,61 * 1,5 + 0,69 * -2,3 = -0,672

    Изход O1 = сигмоид (-0,672) = 0,33

    O1идеално = 1 (0xor1 = 1)

    Грешка = ((1-0.33) ^ 2) /1=0.45

    Резултатът е 0,33, грешката е 45%.

    Благодаря ви много за вашето внимание! Надявам се тази статия да ви помогне да научите за невронните мрежи. В следващата статия ще говоря за изместващите неврони и как да тренирам невронна мрежа, използвайки обратно разпространение и градиентно спускане.

    Използвани ресурси:

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

    Кратко описание на явлението

    Невронна мрежатакива изчислителни системи се наричат ​​така имат способността да се самообучавати постепенното увеличаване на производителността. Те се използват за решаване на такива проблеми, които не се поддават на логическо програмиране:

    • Машинното обучение е вид изкуствен интелект. Неговата особеност се състои в постепенното учене, използвайки примера на милиони подобни задачи;
    • В роботиката системата се използва за генериране на множество алгоритми за железните „мозъци“ на автоматичните системи;
    • Архитектите на компютърни системи намират в невронните мрежи едно от решенията на проблема с паралелните изчисления;
    • Съществуват и много други възможности за изпълнение: решаване на чисто математически задачи, компютърно моделиране на естествения интелект и т.н.

    Основните елементи на такава мрежа са:

    1. Изкуствените неврони са елементарни, свързани помежду си единици;
    2. Synapse е връзка, която служи за изпращане и получаване на данни между невроните;
    3. Сигнал - информация за предаване.

    Конволюционни невронни мрежи

    Един от най-популярните видове невронни мрежи е т.нар сверточенкойто се е доказал като ефективен при разпознаване на визуални изображения (изображения и видео), препоръчителни системи и обработка на естествен език:

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

    Екскурзия в историята

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

    • Първият изчислителен логически модел на праг, базиран на математика и алгоритми, е построен от Уорън Маккулох и Уолтър Питс през 1943 г .;
    • В края на 40 -те години на миналия век Доналд Хеб развива механизма на невронна пластичност и по този начин определя правилата за учене на автомати;
    • 1954 г. датира от първото приложение на теоретичните открития в работата на компютрите. Алисън Кларк използва конвенционален калкулатор за тази цел;
    • Франк Розенблат през 1958 г. разработва алгоритъм за разпознаване на модели и математическа нотация за него;
    • В края на 60 -те години научният интерес към темата забележимо избледнява поради невъзможността да се приложи върху хардуерните съоръжения от онова време;
    • Кибернетиката се връща към невронните мрежи едва в началото на 80-те години на миналия век: появява се система с механизъм за обратна връзка, разработват се алгоритми за самообучение и се полагат основите на дисциплината за извличане на данни;
    • До 2000 -те изчислителната мощ на компютрите нарасна толкова много, че направи възможно реализирането на най -дръзките стремежи на учените на фотьойлите. Програми за разпознаване на глас, компютърно зрение и др.

    Невронна мрежа на Хопфийлд

    През 1982 г. американският учен Джон Хопфийлд описва нов вид изчислителна система, която сега носи неговото име. Сред характерните му черти:

    1. Блоковете в мрежата могат да приемат само две стойности, за да опишат състоянието си: 1 и -1. Всяка двойка единици стойност показва възможността или невъзможността за свързване на възлите на графиката;
    2. Актуализирането на един възел в графиката за моделиране на изкуствени неврони се извършва асинхронно или синхронно. В първия случай се актуализира само един блок, който може да бъде избран на случаен принцип. Във втория случай всички блокове се актуализират едновременно;
    3. Мрежата се характеризира със състояние, наречено "енергия". Актуализациите на мрежата винаги се извършват при максимални енергийни стойности;
    4. Правилата за обучение на мрежата са подобни на механизмите на човешката интелигентност. Възможно е да се свържат нови данни както с помощта на стари данни (локално правило), така и без препращане към стари модели (допълнително правило).

    Поради близостта си с биологични проби, този модел често се използва за разбиране на функционирането на човешката памет.

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

    Списък на основните претенции за съвременни методи за добивданните се свеждат до следното:

    1. Събирането на подходяща информация и след това обучение на машината отнема значително време. На първо място, това се отнася до роботиката;
    2. Нито една от съществуващите понастоящем системи не е в състояние да реши фундаментални математически проблеми (проблемът с пътуващия продавач и факторизиране на големи числа);
    3. Висока сложност на създаване, конфигуриране и поддържане на системи. Това изисква специалисти с много висока квалификация и само много големи корпорации могат да си позволят да плащат за техните услуги;
    4. За ефективна работа е необходимо да имате високопроизводителни компютърни ферми и софтуер. Проблемът постепенно се решава благодарение на увеличаването на хардуерната мощ на графичните процесори: от 1991 до 2015 г. той се увеличава милион пъти.

    Въпреки многобройните проблеми, невронните мрежи са най -доброто, което човечеството има по пътя си към изкуствения интелект. Те се използват почти навсякъде: автопилоти в самолети и автомобили, програми за откриване на измами с кредитни карти, овладяване на играта Go (логическа настолна игра) и т.н.

    Повтарящи се невронни мрежи

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

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

    Поради конструктивните характеристики мрежата се използва за решаване на широк спектър от задачи:

    • Разпознаване на устни и текстови данни;
    • В същото време разбирането на смисъла на текста е трудно: машината „вижда“ само визуална картина без препратка към качествени характеристики;
    • Понастоящем RNN се използва в автоматизирани системи за превод на текст (например Yandex.Translator).

    Ако през XX век най -умните хора на планетата са се занимавали с проектиране на ракети, сега обект на приложение на техния интелектуален потенциал са невронните мрежи. Трудно е да не се знае какво е това днес, защото водещите медии тръбят постижението в тази област на всяка крачка. Най -известните примери са гласовият асистент на Apple Siri, онлайн преводачът на Google Translate и търсачката Palekh на Yandex. И това е само началото по пътя към пълноценен изкуствен интелект.

    Видео за устройството на невронни мрежи

    В това видео Олег Волошин ще разкаже на прост език как работят съвременните невронни мрежи, на какво се основава тяхната функционалност:

    Изкуственият интелект и невронните мрежи сега стават все по -популярни от всякога. Много потребители все по -често се обръщат към въпроси за това как работят невронните мрежи, какви са те и на какво се основава принципът на тяхната работа?

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

    Какво представляват невронните мрежи и техните видове?

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

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

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

    Невронната мрежа е куп неврони, всеки от които получава информация, обработва я и я предава на друг неврон. Всеки неврон обработва сигнала абсолютно еднакво.

    Как тогава получавате различен резултат? Всичко е свързано със синапсите, които свързват невроните помежду си. Един неврон може да има огромен брой синапси, които усилват или отслабват сигнал и те имат способността да променят характеристиките си с течение на времето.

    Точно правилно подбраните параметри на синапса правят възможно получаването на правилния резултат от преобразуването на входните данни на изхода.

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

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

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

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

    • Мрежи за пренасочване или еднопосочни, тоест структура, в която сигналът се движи стриктно от входния слой към изходния слой. Движението на сигнала в обратната посока е невъзможно. Такива разработки са доста широко разпространени и в момента успешно решават проблеми като разпознаване, прогнози или групиране.
    • Мрежи за обратна връзка или повтарящи се мрежи. Такива мрежи позволяват на сигнала да се движи не само в посока напред, но и в обратна посока. Какво прави? В такива мрежи резултатът от изхода може да бъде върнат към входа въз основа на това, изходът на неврона се определя от теглата и входните сигнали и се допълва от предишните изходи, които отново се връщат към входа. Такива мрежи се характеризират с функцията на краткосрочна памет, въз основа на която сигналите се възстановяват и допълват по време на обработката.

    Това не са единствените възможности за класифициране на мрежи.

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

    Къде се използват невронни мрежи?

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

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

    Именно такива задачи помагат за решаването на невронните мрежи, тоест те са създадени да изпълняват процеси, чиито алгоритми са неизвестни.

    По този начин невронните мрежи се използват широко в следните области:

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

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

    Какво представляват невроните и синапсът?

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

    Мрежата съдържа три типа неврони: входни, скрити и изходни. Освен това, ако мрежата е еднослойна, тогава тя не съдържа скрити неврони. В допълнение, има различни единици, наречени изместващ неврон и контекстен неврон.

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

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

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

    В този случай теглата се задават в произволен ред.

    Схемата на невронната мрежа

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

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

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

    • Линейната функция f (x) = x, най -простата от всички възможни, се използва само за тестване на създадената невронна мрежа или прехвърляне на данни в оригиналния им вид.
    • Сигмоидът се счита за най-често срещаната функция за активиране и има формата f (x) = 1/1 + e- ×; диапазонът от неговите стойности е от 0 до 1. Нарича се още логистична функция.
    • Хиперболичният тангенс се използва и за покриване на отрицателни стойности. F (x) = e² × - 1 / e² × + 1 - тази функция има тази форма и диапазона, който има от -1 до 1. Ако невронната мрежа не предвижда използването на отрицателни стойности, тогава не трябва използваи го.

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

    Интеграцията е брояч, който се увеличава с всеки набор от тренировки.

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

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

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

    Какво представлява изместващият неврон и за какво служи?

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

    Разположението на такива неврони се случва по един на слой и не повече; те също не могат да се свързват чрез синапси един с друг. Не е препоръчително да се поставят такива неврони върху изходния слой.

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

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

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

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

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