Швидкість збіжності алгоритму навчання нейрона

ЗМІСТ





Вступ                                                                                   2

                                       Розділ 1

 1. Деякі відомості про нейронні елементи                               3

	 2. Основні означення                                                                  4

	 3. Реалізяція бульової функції на одному нейроні                  5

	 4. Нейрони  в алфавіті 2={1-1}                                               6

                                       Розділ 2

	  1. Алгоритм навчання порогового нейрона над полем 

                    комплексних чисел                                                               7

	Додаток 1

Додаток 2

Список літератури







































































Вступ



Ідея  створення  нейрокомп‘ютерів робота яких  заснована  на використанні принципів функціонування мозку, виникла ще  на початку комп’ютерної ери. На початку 40-х років була розроблена модель базового процесорного елемента  мозку-нейрона, та  були сформовані  основні принципи нової науки -нейроматематики. Але рівень математики на той час не дозволяв побудувати навіть модель нервової системи мурашки (приблизно 20 тис. нейронів), не кажучи вже про мозок людини, цей найскладніший продукт побудований природою. Сьогодні ми стаємо свідками другого народження нейроматематики. Прогрес мікроелектроніки і дослідження  в  галузі створення штучного інтелекту обумовили   новий  злет  інтересу до   нейронних  мереж   і обчислювальних систем на їх основі.  Роботи по відтворенню можливостей  людського мозку ведуться по двом основним напрямкам: прихильниками штучного інтелекту концентрують свою увагу на способах  представлення знань і  алгоритмах логічного  висновку  (цей науковий напрямок прийнято називати нисхiдним); прихильники  висхідного  підходу, або  коннекционисти   (вид connection - з’еднання, англ), вивчають й прагнуть втілити в технічних схемах принципи организації природних нейронних систем. Зараз в данній області знань склався певний набір моделей, що називаються нейронними  мережами.  Наука, що займається вивченням їх властивостей, називається нейроматематикою. Сучасні  нейрокомп’ютери  здатні розпізнавати мову  і управляти літаками, передбачати зміни біржових курсів і виявляти пускові площадки ракет, а також вирішувати багато інших складних задач. Але, незважаючи на успіхи електронної індустрії, залишається велика кількість задач, у розв’язанні яких найбільш швидкодіючі комп’ютери значно поступаються людині. Адже людина  легко розпізнає обличчя і речі, орієнтується в просторі, розуміє мову, аналізує динамічні сцени. Таким чином, створення системи, здатної не тільки ефективно вирішувати перераховані задачі, але й  володіючою  властивостями  традиційних  комп’ютерів ,  викликало  б справжній переворот у багатьох прикладних сферах. Основною   особливістю нейроелементів є представлення оброблюваної інформації і вагових векторів нейроелементів за допомогою комплексних  чисел. Головна мета даної роботи - опробувати алгоритм навчання нейрона безпосередньо для  бульової функції.





          





                                              







Розділ 1

   	             1.   Деякі відомості про нейронні елементи

Теоретичні основи нейроматематики були закладені на початку 40-х років.У 1943 році У.Маккалох і його учень У.Пітс (U.MCCULOCH and W.PITTS) сформулювали основні положення теорії діяльності головного мозку. Вони одержали такі результати:

 розроблена модель нейрона  як найпростішого процессорного елемента ,що обчислює перехідну функцію від скалярного добутку вектора вхідних сигналів і вектора вагових коефіцієнтів; 

 запропонована конструкція мережі таких елементів для виконання логічних  і арифметичних операцій;

 висловлена гіпотеза про те, що така мережа здатна навчатись, розпізнавати образи, узагальнювати одержану інформацію.

	Не дивлячись на те, що за минулі роки нейроматематика пішла далеко вперед, твердження Маккалоха залишаються актуальними і зараз.При розмаїтті моделей нейронів, принцип їх дії залишається незмінним.

	Біологічний нейрон - це нервова клітина разом з її відростами, структурна і функціональна одиниця нервової системи.

	Складається із тіла (соми), що містить ядро, і відростків двох типів, що входять до нього - коротких деревовидних віток (дендритів) і одного довгого, що має вітки лише на кінці (аксома). З’єднання нейронів в нервові ланцюги відбувається за допомогою особливих контактів - синапсів. Функціонування нейронів здійснюється на основі нервових процесів, що в них розвиваються -синаптичних процесів і генерації нервових імпульсів. Властивості нейронів є предметом математичного моделювання і використовується при створенні логічнних пристроїв.

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





                                          

2. Основні означення



Пороговий нейрон являє собою пристрій з кількома двійковими входами і одним двійковим виходом. Кожному двійковому входу ставиться у відповідність дійсне число, яке називається вагою. Сигнал на вході пристрою дорівнює константі 0 поки вагова сума вхідних сигналів не буде дорівнювати, або поки не стане більше дійсного числа, яке називається порогом, в цьому випадку вихідний сигнал стає рівним 1.



                      S1                                                    вихід               

                      S2

                      ......         

                      Sn     



P<W1*X1+W2*X2+...+Wn*Xn



Функція P називається активуючою функцією нейрона. Для математичного поргового елемента буде вірне слідуюче спів-відношення:  

	

   G=1 if  (W1*X1+W2*X2+...+Wn*Xn)T; 

                                                                                            (*)

   G=1 if  (W1*X1+W2*X2+...+Wn*Xn)<T;



Тут G - це двійковий сигнал на вході порогового елементу - пристрою з декількома двійковими входами і двійковим виходом.

Xi-це двійковий сигнал на і-вому вході пристрою,який дорівнює 1 або 0.

Wi - це вага і-вого входу, скінчене дійсне число.  (i=1,...,n)

n - загальне число входів.

Т - поріг, скінчене дійсне число.

Вузли, поведінка яких з тим чи іншим степенем точності відповідає такій моделі, були знайдені в нервовій системі живих організмів. В останньому випадку нейрони мають в порівнянні із звичайними елементами ряд переваг, які зв’язані , насамперед  із їх великими функціональними можливостями при таких самих затратах і розмірах.

                                              

                  



 3. РЕАЛІЗАЦІЯ  БУЛЬОВОЇ  ФУНКЦІЇ  НА  ОДНОМУ НЕЙРОНІ

	

	Розглянемо алфавіт значень змінних Z2={0,1}. Самі бульові змінні будемо позначати через x1,x2,...,xn.Розглянемо множину     Z2N={(a1,a2,...,an)/aiZ2}.

Означення 1.

Довільне функціональне відображення f:Z2NZ2  називається 

n-місною бульовою функцією.

Означення 2.

Якщо існує такий n+1-вимірний вектор (w0,w1,w2,...,wn), що P(w0+w1*x1+...+wn*xn) = f(x1,x2,...,xn), або, що еквівалентно, якщо існує гіперплощина, що відділяє вершини позначенні 1-ми від вершин  що позначенні 0-ми n-вимірного одиничного куба, то f  називається пороговим нейроном (пороговою функцією). P-предикат, який є звичайною функцією sign(x).

	      

             

На  площині n-вимірний одиничний куб є квадратом. Нехай вершини цього квадрата помічені 1, можна відділити від вершин помічених 0 прямою лйнією, як показано на малюнку 1.

        Y                 







          01  1           1  11

           

          00  0           1  10               x





	МАл. 1

	Тоді, в данному випадку, бульова функція f  є пороговою, а w0+w1*x1+w2*x2=0 - є ваговим вектором нейрона, а також є рівнянням прямої, що відділяє вершини з 0, від вершин з 1.

 X1X2 f

   0  0 0

   0  1 1

   1  0 1

   1  1 1

               Вагові вектори бульової функції, в загальному випадку, якщо вона є нейроном вибираються неоднозначно. Більше того, ми завжди можемо вибрати пряму так, що вона буде проходити через початок координат. Константи 0 або 1 теж вважаються нейронами, бо існує ваговий вектор, який всі 4 точки відділяє від пустої множини.

Означення 3.

Гіперплощина - це множина розв’язків одного лінійного рівняння із n невідомими.

Будь-який нейрон є многофункціональним елементом, тобто ми можемо перебудовувати його, керуючи вхід, так що нейрон буде реалізовувати іншу функцію, не змінюючи своєї фізичної структури.

Означення 4.

N-місним предикатом визначеним на множинах М1,М2,...,Мn називається  довільне функціональне відображення множини М1*М2*...*Мn в множину {1,0}. 

Означення 5.

Універсальний нейрон - це нейрон, на якому можна реалізувати довільну функцію.

Поняття універсального нейрону введено в (5).



 4. Нейрони в алфавіті 2={-1,1}.





До цього часу ми розглядали нейрон в алфавіті {0,1}. Нехай 2={1,-1} новий алфавіт.

 	 n2 = { (b1,...,bn)  bi2}

Перехід від алфавіту {0,1} до {1,-1} можна здійснити відображенням  f : bi  (-1)bi,  тобто 01, 1-1.

F:2Z2.

Аналітично цей перехід: xi=1 - 2*yi  (i=1,...,n);  (1)

				  yi=(1-xi)/2.                (1*)

Отже  f=(1-F)/2.

Підставивши  (1) і (1*)  в (*) отримаємо:

    	w0+w1/2-w1*x1/2+...+wn/2-wn*xn/2>0,           (1-F)/2=1.

	w0+w1/2-w1*x1/2+...+wn/2-wn*xn/2<0,           (1-F)/2=0.      (2)

Для першого рядка (2) F= -1, для другого F=1.Тоді отримуємо

	w0*2+w1-w1*x1+...+wn-wn*xn>0,           F= -1.

	w0*2+w1-w1*x1+...+wn-wn*xn<0,           F= 1.        (3)

Позначимо  -2*w0-w1-...-wn=a0,  w1=a1, ... , wn=an.

                                                            

Тоді:  a0+a1*x1+...+an*xn<0,    	F=-1;

	a0+a1*x1+...+an*xn>0,    	F=1;		(3*)

Так як у нас w0=-T, то a0=2*T-w1-...-wn.                                                       

	Таким чином, всі вагові коефіцієнти залишилися без змін, а змінився тільки поріг, який називається модифікованим порогом.

Означення 6.

Комплексним нейроном (комплекснопороговою функцією), називається така бульова функція F(x1,x2,...,xn) для якої існують такі комплексні вагові коефіцієнти (a0,a1,...,an), що P(a0+a1*x1+...+an*xn)=    =F(x1,x2,...,xn)

Теорема.

Будь-яка бульова функція реалізується універсальним нейроном над полем комплексних чисел С [5].

	Поняття комплексного нейрона розширює інженерні можливості реалізації нейронів.



		               	Розділ 2

  1. Алгоритм навчання порового нейрона над полем комплексних чисел.



	Метою данної роботи була перевірка алгоритму навчання порогового нейрона запропонованого проф. Айзенбергом Н.Н.

та знаходження оптимізуючих факторів швидкості його збіжноті.



WS+1=WS+(-)*Xj/N,

де	WS - n+1-вимірний ваговий вектор;

N - нормуючий множник;

- номер сектора, куда повинна була попасти вагова сума W; - номер сектора, куда попала вагова сума W;

m=cos(2*Pi*m/k)+i*sin(2*Pi*m/k) де k - кількість секторів, 

                  на які розбито комплеклексну площину;

XJ=(1,x1,...xn) - n+1-вимірний вектор, де xi{1,-1}     i=1,...,n;

W=w0+w1*x1+...+wn*xn - вагова сума.





	





Додаток 1.  Результати роботи програми.

































Література

1.  Айзенберг Н.Н., Іваськів Ю.Л. Многозначная пороговая логіка. Киев, Наукова думка, 1977, с. 148.

2.  Дертоузос, Пороговая логика, Мир, 1967.

3.  Айзенберг И.Н. Уневерсальный логический елемент над полем комплексных чисел. Кибернетика.N3,1991,с.116-121.

4.  Айзенберг Н.Н. спектральный анализ и отношения толерантности. Методическая разработка. УжГУ. 1984.с.46.

5.  L.O. Chua and L.Yang.”Celuar neural networks:theory”,IEEE Trans.

Circuits Syst. Vol.35.p.p. 1257-1290.okt. 1988.



 



Стор. 1