Лекция · 1.4

Нейрондық желіні жобалау

Дөңгелек құрттың (нематодтың) миы небәрі 302 нейроннан тұрады, бірақ дәстүрлі компьютерлер шеше алмайтын кейбір міндеттерді ол шешеді. Бұл фактіні білгеннен кейін «нейрондық желіні өзім де құрып көрсем ше?» деген сұрақ туындайды. Бүгін біз оны нақты Excel кестесінде қадам-қадаммен құрамыз.

Сигмоида: нейронның «шешім қабылдау» функциясы

Нейрон сигнал қабылдап қана қоймайды — ол белгілі бір шекке жеткенше «күтеді» де, содан кейін ғана сигнал шығарады. Бұл эффектіні математикалық түрде қалай көрсетуге болады?

Ең қарапайым жол — қадамдық функция (0 немесе 1). Бірақ табиғатта бәрі бірден «секіріп» өзгермейді, тегіс өзгереді. Сондықтан нейрон модельдерінде сигмоида қолданылады — қадамдық функцияның тегістелген, S-тәрізді нұсқасы:

y = 1 / (1 + e^(−x))

мұндағы x — нейронға кіретін сигналдардың қосындысы, y — нейронның шығыс сигналы (әрқашан 0 мен 1 арасында).

Табиғаттағыдай, әр нейронның алдында және одан кейін бірнеше нейрон тұрады. Мұны модельдеу үшін көпқабатты нейрондық құрылым қолданылады — алдыңғы және кейінгі қабаттар бөлек, әрбір нейрон келесі қабаттың әрбір нейронымен байланысқан. Аралық қабаттар жасырын қабаттар деп аталады.

Есеп (орта): сигмоида арқылы шығыс сигналын есептеу

Берілді: екі кірісі бар (a=1,1 және b=0,6) жасырын қабат түйіні. Байланыс салмақтары: W₁₁=0,8; W₁₂=0,3; W₂₁=0,2; W₂₂=0,8.

Табу керек: екінші қабаттың бірінші және екінші түйінінің шығыс сигналын есепте.

1-түйін: x = a·W11 + b·W21 = 1,1·0,8 + 0,6·0,2 = 1
y = 1/(1+e⁻¹) = 0,7310

2-түйін: x = a·W12 + b·W22 = 1,1·0,3 + 0,6·0,8 = 0,81
y = 1/(1+e⁻⁰·⁸¹) = 0,6921

Жауабы: бірінші түйіннің шығысы — 0,7310; екінші түйіннің шығысы — 0,6921.

Мұндай есептеулерді қолмен жасаудың орнына арнайы бағдарламалар — нейропакеттер (NeuroSolutions, BrainMaker Pro, Нейросимулятор 5.0) қолданылады. Олар үш алгоритм тобымен оқытады: градиенттік (қате функциясының туындысы бойынша), стохастикалық (кездейсоқ іздеу), генетикалық (екеуінің қасиетін біріктіреді).

MS Excel-де перцептрон құру

Теорияны білдік, ал енді өз қолыңмен нейрон құрсаң ше? Оны бағдарламалау тілінсіз-ақ, тек Excel формулаларымен жасауға болады.

Анықтама
Персептрон — жасанды нейрон желілерінің қарапайым түрі; қабылдау, танып-білу процесін модельдейтін құрылғы (датчиктер, ассоциативтік және реакциялық элементтерден тұрады).
Есеп (қиын): «Кірісті автоматтандыру» жобасы

Берілді: нейрон екі кіріске ие (тәтті ме, суық па). Тапсырма — нейронды 4 тағамды («Ештеңе», «Шоколад», «Тұз», «Балмұздақ») ұнату/ұнатпауды ажыратуға үйрету.

ТағамS1S2Күтілетін нәтиже
Ештеңе000
Шоколад010
Тұз100
Балмұздақ111

Шешуі:

1. Қосынды формуласы =B1*B2+D1*D2, ЕГЕР функциясы =ЕГЕР(C3>=C4;1;0) — шығыс осы жерде шығады.

2. Қате есептеледі: қате (e) = күтілетін жауап (d) − нақты жауап (o).

3. Салмаққа қосылатын түзету — Delta Weight: DwX = LR · e · X (LR — оқыту жылдамдығы, 0,01–0,5 аралығында таңдалады).

4. Жаңа салмақ: ескісіне DwX қосылады, Excel-де итеративті есептеулерді қосу арқылы циклдік формула жұмыс істейді.

5. Кіріс мәндерін 4 деп кезекпен өзгертіп, «Қайта есептеу» батырмасын басып, қате нөлге тең болғанша салмақты жаңартамыз.

Неге бірнеше рет қайталау керек? Бір рет есептеу жеткіліксіз — нейрон әр тағам үшін қатесін көріп, салмақты СЕКІРІП емес, БІРТІНДЕП дұрыс мәнге жақындатады.

Жауабы: бірнеше қайталаудан кейін нейрон салмақтары барлық 4 тағам үшін кестедегі күтілетін нәтижемен дәл сәйкес келетін мәнге жетеді.

RBF желісі: тағы бір жобалау тәсілі

Персептроннан бөлек, жіктеу есептерін шешуге арналған тағы бір желі түрі бар — радиалды-базистік функциялар (RBF) желісі. Оның ерекшелігі — оған арнайы оқыту қажет емес, себебі нейрон саны мен салмағы үйретілетін мәліметтермен бірге беріледі.

Жасырын қабаттың әрбір нейроны белсендіру функциясын есептейді:

φⱼ = e^(−(Σwᵢⱼ·xᵢ − 1)/σ²)

мұндағы σ — белсендіру функциясының параметрі, оны өзгерту арқылы желінің «қорытындылау» қабілетіне әсер етуге болады.

Есеп (қиын): белгісіз үлгінің класын анықтау

Берілді: 19 вектор-үлгіден тұратын оқыту іріктелімі (x₁, x₂ белгілерімен, үш класқа бөлінген). Белгісіз үлгі: x₁=4,5, x₂=3.

Шешуі: 1) Евклид қашықтығы |x| = √(x₁²+x₂²) есептеледі (Excel-де ТҮБІР функциясымен); 2) координаталар мөлшерленеді; 3) φⱼ белсендіру функциясы ЕХР функциясымен есептеледі; 4) СУММЕСЛИ функциясы әр класс бойынша Σφ қосындысын табады: 1-класс Σφ=0,17; 2-класс Σφ=0,51; 3-класс Σφ=0,00; 5) ПОИСКПОЗ пен СМЕЩ функциялары ең үлкен Σφ бар класты табады.

Жауабы: белгісіз үлгі — 2-класс (Σφ=0,51 ең үлкені).

🎯 ҰБТ байланысы
Персептрон мен RBF желісінің айырмашылығын білу маңызды.
1
Персептронды оқыту салмақты БІРТІНДЕП, қайталап түзету арқылы жүреді (LR·e·X формуласы бойынша).
2
RBF желісіне арнайы оқыту қажет емес — нейрон параметрлері деректермен бірге беріледі.
3
Сигмоида (логистикалық функция) мәні әрқашан 0 мен 1 арасында, ешқашан дәл 0 не 1-ге тең болмайды.
Сабақ қорытындысы
  • Сигмоида — қадамдық функцияның тегістелген нұсқасы, y = 1/(1+e⁻ˣ), нейрон шешімін модельдейді.
  • Персептронды Excel-де LR·e·X (Delta Weight) формуласы арқылы қайталап оқытуға болады.
  • RBF желісі жіктеу есебін шешеді, арнайы оқыту қажет емес, Евклид қашықтығына негізделеді.
  • Нейропакеттер (градиенттік/стохастикалық/генетикалық алгоритммен) күрделі желілерді автоматты оқытады.