Perceptron е Определение на термина, характеристики, приложение

Съдържание:

Perceptron е Определение на термина, характеристики, приложение
Perceptron е Определение на термина, характеристики, приложение
Anonim

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

Формули на перцептрон
Формули на перцептрон

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

Запознайте се с Perceptron

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

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

Невронните мрежи трябва да се учат

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

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

Учене без надзор

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

Подсилено обучение

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

Добре, сега знаем малко заприродата на изкуствените невронни мрежи, но от какво точно са направени те? Какво ще видим, ако отворим капака и погледнем вътре?

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

Биология срещу технология

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

Можем ли да направим нещо полезно с един персептрон? Има клас проблеми, които един персептрон може да реши. Разгледайте входния вектор като координати на точката. За вектор с n-елементи тази точка ще живее в n-мерно пространство. За да опростим живота (и кода по-долу), нека приемем, че е 2D. Като лист хартия.

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

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

Историяизобретения

Алгоритъмът за този метод е изобретен през 1957 г. в Корнелската авиационна лаборатория от Франк Розенблат (често кръстен на него), финансиран от Службата за военноморски изследвания на САЩ. Персептронът беше предназначен да бъде машина, а не програма, и въпреки че първата му реализация беше в софтуер за IBM 704, впоследствие беше внедрена на специално изграден хардуер като "Mark 1 Perceptron". Тази машина е проектирана за разпознаване на изображения: имаше масив от 400 фотоклетки, произволно свързани към неврони. Теглата бяха кодирани в потенциометри и актуализирането на теглото по време на тренировка се извършваше от електрически двигатели.

На пресконференция, организирана от ВМС на САЩ през 1958 г., Розенблат направи изявления за персептрона, който предизвика разгорещен дебат сред младата общност на ИИ; Въз основа на твърденията на Розенблат, New York Times съобщава, че персептронът е „ембрионалният електронен компютър, който военноморските сили очакват да може да ходи, да говори, да вижда, пише, да се възпроизвежда и да осъзнава съществуването му.“

Персептронни сегменти
Персептронни сегменти

По-нататъшни разработки

Въпреки че първоначално персептронът изглеждаше обещаващ, бързо беше доказано, че персептроните не могат да бъдат обучени да разпознават много класове модели. Това доведе до стагнация в изследователската област с персептронните невронни мрежи в продължение на много години, преди да бъде признато, че невронна мрежа с пренасочване с два или повече слоя (наричана ощемногослоен персептрон) има много по-голяма мощност на обработка от еднослойните персептрони (наричани още еднослойни персептрони). Еднослойният персептрон е способен само да изучава линейно разделими структури. През 1969 г. известната книга "Perceptrons" от Марвин Мински и Сиймур Пеперт показа, че тези класове мрежи не могат да научат функцията XOR. Това обаче не се отнася за нелинейни класификационни функции, които могат да се използват в еднослоен персептрон.

Перцептрон Розенблат
Перцептрон Розенблат

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

Произведенията са публикувани през 1972 и 1973 г. Въпреки това, често пренебрегваният текст на Minsky/Papert предизвика значителен спад в интереса и финансирането на изследвания с персептрон на невронната мрежа. Изминаха още десет години, преди изследванията на невронните мрежи да бъдат възобновени през 80-те години.

Функции

Алгоритъмът на ядрото на Perceptron е въведен през 1964 г. от Yzerman et al. Мори и Ростамизаде (2013), които разширяват предишни резултати и дават нови граници L1.

Perceptron е опростен модел на биологичен неврон. Докато сложността на биологичните невронни модели често се изисква за пълно разбиране на невронното поведение, изследванията показват, че линеен модел, подобен на перцептрон, може да предизвика част от поведението, наблюдавано в реалните неврони.

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

Взаимоотношения с персептрон
Взаимоотношения с персептрон

Pocket алгоритъм

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

Алгоритъм на Maxover

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

персептронно уравнение
персептронно уравнение

Гласуван за Perceptron

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

Заявление

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

Многослоен персептрон
Многослоен персептрон

Алтернатива

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

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

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

Руски превод на схемата
Руски превод на схемата

Основен обхват за контролирано обучение

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

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

Паралелната задача в психологията на човека и животните често се нарича концептуално обучение.

Препоръчано: