Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 бөлімі.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4.17 Mб
Скачать

2.2.7 Желі сәулетін таңдау

Желі сәулетін таңдау деп желі қабаттарын таңдауды, әрбір желідегі нейрондар санын таңдауды айтамыз. Бұл шамалар есепті шешудің бастауышына тәуелді. Желінің қабаттар санының оның жұмыс істеу әдісіне әсерін анықтайық. Бірлік нейрон жаазықтықты екі жартылай жазықтыққа бөледі. Бұл кезде екі қабат симплекстерді көрсете алады, яғни гипержазықтықпен шектелген аймақтарды. Үш қабат арқылы аймақты анықтауға болады. Сол себепті үшқабатты желі спектр аппроксимациясы және жіктелуінің есептерін шеше алады. Колмогоров теоремасына сай [0,1]n, п ≥ 2 интервалында анықталған кез келген үздіксіз функциясы f(х1,..., хп) үшін F функциясы кезінде аппроксимациялауға болады

(2.158)

Мұндағы x = [x1,…xn]T,gj, j=1,...,2n + 1 – сәйкес алынған бір айнымалының үздіксіз функциясы, ал i =1,..., n, j=1,...,2п+ 1 – үзіліссіз және монотонды өсетін f функциясына тәуелсіз функция.

(2.158) тәуелділігін нейронды желі құрылымын бейнелеу үшін қолдануға болады. (2.158) тәуелділігіне сәйкес келетін құрылым п кірісі бар, жасырын қабатта (2п + 1) нейрондар бар және қабат шығысында сызықты белсенді функциясы бар нероннан тұрады. 2.22-суретте көрсетілген құрылымды n айнымалы кез келген үздіксіз функция аппроксимациялауға болады, оның интервалы [0, 1]n. Колмогоров теоремасы желіні үйрету әдісі және сызықты емес функция болмағандықтан теориялық сипатқа ие.

2.22-сурет. Кез келген үздіксіз функцияны аппроксимациялайтын нейронды желі құрылымы

- үздіксіз сигмоидалды функцияның туындысы. > 0, [0, 1]п, п > 2 интервалында анықталған f кез келген үздіксіз функциясы кезінде N бүтін сан және константалар αi, θi, wij, i = 1,..., N, j = 1,..., п бар

(2.159)

f функциясын аппроксимациялайды, яғни

Кез келген {х1,...,xn} [0, 1]n үшін

Осы теорема бойынша бір жасырын қабаты және сызықты шығыс нейроны бар нейронды желі кез келген үздіксіз функцияны аппроксимациялай алады. Нақты есептерді шешу үшін екі жасырын қабатының болуы жеткілікті.

Желінің жұмыс істеуіне әрбір қабаттардағы нейрондар саны әсер етеді. Нейрондар саны көп болса, үйрету тәсілі ұзынырақ болады. Егер үйретуші таңдамалар саны желі өлшемділігіне қарағанда көп болса, құрылымды қайта үйретуге болады. Желі үйрету тізбегін есте сақтап, құрамындағыларын көрсетеді.

2.5-мысал

Есепті жақсы түсіну үшін [0, 2π] интервалындағы f(х) = sin(x) функциясын аппроксимациялау тәжірибесін жүргізейік. Нейронды желінің сәйкес құрылымын құрмас бұрын үйретуші тізбек құру керек. Желі кірісіне f(х) = sin(x) функциясының x аргументінің әртүрлі мәні беріледі, ал сәйкес шығыс шамалары үлгілі шамаға сәйкес келу керек. Үйретуші тізбек {х, sin (x)} жұбынан тұрады. Аппроксимацияланатын функция үздіксіз болып табылады. Сол себепті үйретуші тізбекке [0, 2π] интервалынан барлық x мәнінің шамасын қоса алмаймыз. Желіні үйрету үшін {х, sin (x)} жұбына тән сандарды аламыз. Желі [0, 2π] интервалынан кейбір таңдамалар арқылы үйретіледі, бұл үшін желі [0, 2π] барлық интервалын жұмыс істеу керек. Желі таңдамалары мысалдар арқылы үйретілсе де, өзінің кірісіне берілетін сигналдарға нақты жауап бере алады. Желі үйретілгеннен кейін таңдамалардан тұратын тестілік тізбек арқылы онің жұмысын тексеру қажет. Тесттің нәтижесіне байланысты желі туралы нақты мәлімет алуға, қорытынды жасауға болады.

Мысалы үйретуші тізбек 2.4-кестеде көрсетілген таңдамалардан тұрсын.

2.4-кесте

2.5-мысал бойынша үйретуші тізбек

Таңдама номері

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Кіріс х

0

π

Шығыс d=f(x)

0

0,5

0

0

-0,5

Үйретуші тізбекті [0, 2π] интервалында 0,1 қадаммен дискреттеу арқылы құрамыз 2.23-2.25-суреттерде желінің жұмысының нәтижесі көрсетілген, яғни оның кірісіне тестілік тізбек берген кездегі жалпылану қасиеті. Әрбір суретте f(х) = sin(x) функциясының графигі, 2.4-кестеде көрсетілген үйретуші тізбек нүктелері, кірісіне тестілік тізбек берілген кездегі шығыс сигналдар көрсетілген.

2.23-сурет. Нейрондардың саны аз болған кездегі – жасырын қабатта екі нейрон кезіндегі желінің жұмысы

Тәжірибе жүргізу үшін сигмоидалы нейроны бар жасырын қабаты және шығыс қабаты бір сызықты нейроннан тұратын желіні пайдаланамыз. Жасырын қабатта 2,3 және 15 нейрон саны әртүрлі болған кездегі үш өлшемді моделдеуді орындайық.

2.24-сурет. Жасырын қабатта үш нейрон болған кездегі желінің жұмысы

2.25-сурет. Жасырын қабатта он бес нейрон болған кездегі желінің жұмысы

2.23-суретте жасырын қабаттағы нейрондар саны аз болғандықтан желі функцияны аппроксимациялай алмайтыны көрсетілген. Ал 2.25-суретте нейрондардың артық саны желінің үйретуші тізбекке адаптациясына әкелетіні көрсетілген. Желі шығысындағы қателік үйрету тәсілі кезінде нөлге дейін төмендейді, ал тестілік өңдеу кезінде қателік өседі. Желідегі жасырын нейрондардың тиімді санын қалай анықтауға болады? Көптеген функция үшін Вапник-Червоненкис (Vapnik-Chervonenkis, VC) критерийін h символымен белгілейді, оның көмегімен максимал вектор санын анықтауға болады. Бинарлы жіктеу кезінде l векторларды екі әдіспен екі сыныпқа жіктеуге болады. Осындай жіктеуді орындайтын функция жиынын тапсақ, онда VC критерийі h = l. Екі ғана мәнді қабылдайтын if (х, w) функциясын символмен белгілейік

(x, w) (2.160)

Көрсетілген шартқа сәйкес келетін функцияның персептроны

(x, w) = sign(xT w) (2.161)

Екі өлшемді түрде

(x, w) = sign (2.162)

Мұндағы х = [x1, х2 ]T и w = [w0,w1 ,x2]T.

Екі кірісті персептронның жұмысы жазықтықты екі жартылай жазықтыққа бөлетін түзу ретінде көрсетілген. Салмақ шамасына байланысты ол көптеген функцияны құрады, координатаның орналасуына байланысты кіріс векторының мәні +1 немесе -1 болады. 2.26-суретте үш кіріс векторы бары персептрон үшін жазықтықты бөлудің барлық мүмкін жолдары көрсетілген. Онда бағыттауыш түрінде if функциясының оң мәніне сәйкес келетін жартылай жазықтықтар көрсетілген. Бұл кезде VC 3-ке тең.

2.26-сурет. Үш кіріс векторыкезіндегі персептронмен жазықтықты бөлу

Егер VC критерийі h тең болса, онда барлық мүмкін әдіспен композициялауға болатын минимум бір h болады. (2.161) теңдеуімен анықталатын n-өлшемді кеңістіктегі функция үшін VC критерийі h = n + 1. Жазықтық үшін h = 3. Жоғарыда көрсетілген теорема бойынша нейрон салмағының саны өсуіне байланысты VC критерийі де өседі. Бірақ [108] жұмысында нейрон салмағының саны өсуіне байланысты VC критерийі өспейді деп көрсетілген. Нақты жағдайларда VC критерийін анықтау қиын.

Бірақ бұл шаманы көп қабатты нейронды желілердің жалпылау мүмкіндігін бағалау кезінде қолданылады, ол келесі [73] тәуелділікпен көрсетіледі

(2.163)

Мұнда М – үйретуші таңдамалар саны; QU – желіні үйрету қателігі; QGжалпылау қателігі; Ф - М, QU және VC критерийіне тәуелді функция.

Нейронды желіні құруда және үйретуде жалпылау қателігі нөлге жуық болуы тиіс. Желі нейрондарының саны өскенде оның жұмыс істеу ұзақтығы да өседі. Сондықтан желіні қайта құру және оның құрылымын редукциялаудың көптеген әдісі құрылған. Желі құрылымын редукциялау алгоритмінде ішіндегі нейрондар және салмағы жойылады, себебі олар нәтижеге ешқандай әсер етпейді. Алдымен барлық тестілік тізбектегі желі қателігі анықталады. Шамасы берілген мәннің априорынан аспайтын салмақтарды өшіру – қарапайым әдіс болып табылады. Салмақтың аз шамасы нейронның қозуына әсер етеді. Кейбір жағдайда, салмақты өшірсе желі шығысындағы қателік жылдам өседі. Сондықтаг салмақты өшіргеннен соң желі жұмысын өайта тексеру қажет. Мысал ретінде салмақтың ыдырауының қарапайым әдісін алуға болады. Бұл алгоритмде функцияның стандартты түрінің қателігіне коррекциялық элемент қосылады, нәтижесінде функция келесі жолмен анықталады

(2.164)

Мұнда I – желідегі салмақтардың жалпы саны.

Үйретуден кейін желі құрылымынан шекті мәннен аз салмақтарды өшіру керек. Өзгертулер нәтижесінде желіде шамасы аз көптеген салмақ пайда болады. Сондықтан әдебиетте (2.164) формуласының әртүрлі модификациясы көрсетілген.

Желі құрылымын редукциялаудың басқа әдісі – OBD (ағылшын Optimal Brain Damage) алгоритмі. Бізге үйретілген құрылымнан кейбір салмақтарды өшіру керек болғандықтан, оның желі жұмысына әсерін анықтау керек. Салмақты өшіргеннен кейін желі қателігін Q(w) деп белгілейміз, ал өшіргенге дейінгі үйретілген желі қателігі - Q(w*). Қатенің кері таралу алгоритмін шығару кезінде (2.95) теңдеуін пайдаланып Тейлор қатрын пайдаланып қателік функциясын аппроксимациялауға болады. Нейронды желіден салмақтар өшірілгендіктен қателік функциясы минимал болады. Q функциясының градиентвекторының компоненті нөлге тең. Құрылымды қысқартқаннан кейін және қысқартуға дейін қателік айырымын бағалау үшін үш мүше арқылы қатарды орналастыруды шектеу кезінде келесі формуланы аламыз

Q(w)-Q(w*) ≈ 0,5(w-w*)TH(w*)(w-w*). (2.165)

Желідегі салмақ саны үлкен болған кезде (2.165) формула арқылы гессианды есептеуге болады. OBD әдісінің авторларының айтуы бойынша гессиан шамасы диагональды элементтерге әсер етеді. Сол себепті i-ші нейронның j-ші салмағы анықталады

(2.166)

OBD алгоритмі келесі кезендерден тұрады:

1.Желі құрылымын және үйрету әдісін алдын ала таңдау.

2.(2.166) формула бойынша Sij шамасы аз салмақтар үшін сезімталдық коэффицентін анықтау.

3.Желіні үйретуді қайталау.

Гессиан салмақтар матрицасы диоганалды емес, және OBD алгоритмін пайдалану желіден маңызды салмақтардың жоюлуына әкелуі мүмкін. Оны болдырмас үшін OBS (англ. Optimal Brain Surgeon) әдісі пайдаланылады, ол гессианның барлық компонентін ескереді. Бастапқыда коэффиценттер есептеледі

(2.167)

Содан кейін коэффиценті аз салмақтар алынып тасталады(2.167). Салмақтар коррекциясы есептелінеді

H-1ij , (2.168)

мұнда ij - j-ші позициядағы барлық нөл мен бірден тұратын вектор.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]