Home
Biografija


Poslovni programi
Rečnik
PlanB

Veštačka inteligen.
Neuronske mreže
ANN
Force learn algorit.
NeuroVCL
Agenti
ENAA

OCR
OCR soft

Izrada SCADA
SmartSCADA
OPC standard

Nanotehnologija
Virtuelna učionica
EDI
Linkovi
Free Download




Velibor Ilić - Web Page
FORCE LEARN ALGRITAM - OBUČAVANJE PODACIMA SA NAJVEĆOM GREŠKOM

Autor: Velibor Ilić

ABSTRAKT: U ovom radu su opisane metode za obučavanje neuronskih mreža sa backpropagation algoritmom učenja u kome se prioritet obučavanju daje oblicima iz trening skupa kod kojih se javlja najveća greška prilikom obučavanja.

ABSTRACT: This study describes training methods of the neural nets with the backpropagation algorithm of learning in which the priority is given to the patterns of the training set with the maximum error during the training.

Date: Mart, 2000

Rad je prezentovan na 5-tom seminaru o neuronskim mrežama (NEUREL)
http://galeb.etf.bg.ac.rs/~NEUREL
 
Sadržaj

Uvod
Force Learn algoritam
Poređenje Force Learn algoritma sa sa uobičajnim načinom obučavanja na konkretnom primeru
ANN V2.3 program za obučavanje neuronskih mreža
Literatura
English version
 
Povezano sa:
OCR

OCR - prep. ćiriličnih slova

ANN

NeuroVCL

Veštačka inteligecija

Neuronske mreže

Softverski agenti

ENAA

Sledece poglavlje Prethodno poglavlje Sadrzaj
UVOD
Neuronska mreža se obučava tako što se na ulaz jedan po jedan dovode podaci iz trening skupa. Na izlazu mreže se dobijeni rezultati upoređuju sa očekivanim i koriguju težinski koeficijenti u cilju smanjivanja greške. Postupak se  ponavlja sve dok greška na izlazu mreže za svaki od elemenata iz obučavajućeg skupa ne bude manja od dozvoljene. Uobičajeni način obučavanja podrazumeva da se iz trening skupa podaci predstavljaju konstantnim redosledom od prvog ka poslednjeg podatka. [1], [2], [6], [7], [8], [9]

Prilikom obučavanja neuronskih mreža često se javlja je problem “neravnomernog obučavanja”, neke od oblika iz trening skupa mreža veoma brzo nauči da ispravno prepoznaje, dok je za neke druge potreban veoma veliki broj iteracija. Ukoliko greška na pojedinim elementima obučavajućeg skupa dostigne gotovo 100% veoma je teško smanjiti greške tih elemenata u daljem obučavanju čak ni posle relativno velikog broja iteracija. Idealno bi bilo da se greške ravnomerno smanjuju tokom obučavanja do dozvoljenih vrednosti.
 

Sledece poglavlje Prethodno poglavlje Sadrzaj
FORCE LEARN ALGORITAM

Force learn algoritam predstavlja pokušaj da se problem neravnomernog obučavanja prevaziđe. Da se izbegla situacija u kojoj se mreža brže obuči za neke elemente od drugih, upotrebljena je sledeća taktika. Mreža se obučava samo ulaznim podacima kod koji se protekloj iteracija javila najveća greška. [4], [5]


Slika 1. Kritičan period obučavanja neuronske mreže

Na slici 1. je prikazan karakterističan grafikon koji se dobija obučavanjem neuronske mreže. Na grafikonu se prate greške (prosečna i maksimalna) i procenat tačnih izlaza. Pravougaonikom je označen kritičan period obučavanja neuronske mreže. Ovo je kritičan period iz razloga što je kod nekih primera potreban veoma veliki broj iteracija da bi maksimalna greška počela da opada. U ovom periodu maksimalna greška ima veliku vrednost približno ili čak jednako 1, a procenat tačnih izlaza dostiže vrednost od oko 95-99% i dalje slabo raste ili gotovo da ne raste.

Upotrebom force learn algoritma se izbegavaju ovakve situacije tj. brže se izlazi iz kritičnog perioda jer tada maksimalna greška mnogo brže opada nego kada se upotrebljavaju uobičajeni načini obučavanja.

Glavni motiv za izradu force learn algoritma bio je da se poveća verovatnoća  da se mreža uspešno obuči za oblike iz trening skupa, ali je primenom ovog algoritma postignut još jedan veoma važan efekat, a to je skraćivanje vremena i smanjivanje broja iteracija potrebnih za obučavanje mreže.

Algoritam se sastoji u sledećem:

u jednoj iteraciji umesto da se koriguju težinski koeficijenti za sve elemente obučavajućeg skupa.:

Sledece poglavlje Prethodno poglavlje Sadrzaj
POREĐENJE FORCE LEARN ALGORITMA SA UOBIČAJNIM NAČINOM OBUČAVANJA NA KONKRETNOM PRIMERU

U ovom primeru neuronska mreža se obučava da prepoznaje različite oblike veličine 3x3 (slika 3.) u matrici veličine 5x5. Ovi oblici se mogu nalaziti u 12  pozicija u matrici (slika 2). Obučavajući skup za ovu mrežu se sastoji od 108  elemenata (broj_pozicijaxbroj_oblika) i čine ga samo tačni primeri (slike 2. i 3.). Ukoliko se kasnije u korišćenju mreže, nakon uspešnog obučavanja, na ulaz dovede oblik za koji mreža nije obučavana na izlazu će se barem na jednoj vrednosti pojaviti rezultat u intervalu od (limit_error)<x<(1-limit_error).

Ovaj primer je karakterističan, jer se na njemu vidi prednost force learn algoritma. Na slici 4. vidimo grafik obučavanja NM na standardan način. Vidi se da je maksimalna greška dostigla vrednost 1 i da se održava na toj vrednosti. Procenat tačnih izlaza je dostigao vrednost od 99% i dalje gotovo da ne raste. Na slici 5. se vidi grafik obučavanja mreže iste konfiguracije sa istim primerima, ali sa upotrebom force learn algoritma i to slučajnim redosledom. Na slici se vidi da, i pored oscilacija, maksimalna greška opada mnogo brže.

Arhitektura mreže:
Troslojna neuronska mreža sa backpropagation algoritmom obučavanja:
Broj neurona na ulaznom sloju: 5×5 = 25 (broj ulaza)
Broj neurona na srednjem sloju: 20
Broj neurona na izlaznom sloju: 12 (broj izlaza)
Koeficijent učenja  (alfa): 0.25
Broj primera kojima se mreža obučava: 12×9 = 108 (slike 2 i 3)

Trening skup:

a) ulazi


slika 2. Položaji objekata u matrici


slika 3. različiti objekti

Mreža ima 25 ulaza i svaki ulaz je pridružen jednom polju matrice. Na slici 2. je prikazano 9 položaja koje u matrici mogu zauzimati objekti sa slike 3.

b) izlazni podaci:
Svakom od objekata na slici je dodeljen po jedan izlaz iz mreže koji ga detektuje. Što znači da se na izlazu mreže uvek pojavljuje jedna 1, a ostale vrednosti predstavljaju 0.
Tip računara: Intel Celeron 400
Program kojim je vršeno obučavanje: ANN V2.3


Primer 1

Slika 4. Grafik obučavanja mreže uobičajenim metodom

Broj iteracija: 10000
Vreme obučavanja: 00:17:47
Prosečna greška: 0.01724
Maksimalna dozvoljena greška: 0.1
Maksimalna greška: 1

Mreža je prekinuta u obučavanju na 10000-toj iteraciji. U tom trenutku mreža se obučila sa tačnošću od 99% (1281/1296 tačnih izlaza). Na slici 6. vidimo da se primenom force learn algoritma mreža potpuno obučila za duplo manje iteracija.

Napomena:
broj 1296 označava broj izlaza mreže pomnožen brojem primera kojima je mreža obučavana. 108×12=1296 (broj_oblika×broj_izlaza)

broj 1281 označava trenutan broj tačnih izlaza. dobija kada se na kraju jedne iteracije obučavanja prebroje svi izlazni signali su u dozvoljenim granicama greške
 


Primer 2

Slika 5. Grafik obučavanja NM primenom force learn i random metode
Broj iteracija: 1229
Vreme obučavanja: 00:01:55
Prosečna greška: 0.01869
Maksimalna dozvoljena greška: 0.1
Maksimalna greška: 0.09535

Sa grafika možemo videti da primenom Force Learn i Random načina obučavanja maksimalna greška brže opada, iako ima više oscilacija tokom obučavanja.

Odnosi koji su prikazani na grafikonima 5. i 6. važe samo za ovaj konkretan primer. Ukoliko bi neuronsku mrežu obučavali nekim drugim primerom, odnos između obučavanja normalnim redosledom i force learn metodom bi se razlikovao od prikazanih.
 

Sledece poglavlje Prethodno poglavlje Sadrzaj
ANN V2.3 – program za obučavanje neuronskih mreža
Force learn algoritam je praktično primenjen u programu za obučavanje neuronskih mreža ANN. Na primeru ovog programa se mogu praktično demonstrirati prednosti force learn algoritma.

Program ANN je napisan u programskom jeziku Delphi 5.0. Razvijan je objektnom metodologijom a postojeći objekti (Tniz, Tneuron, Tmreza) mogu se iskoristiti za razvoj drugih aplikacija.

Na slikama 6 i 7 su prikazani ekrani iz programa za obučavanje neuronskih mreža. Pomoću ovog programa su dobijeni rezultati prikazani na grafikonima u ovom radu. [4], [5]


Slika 6. Izgled prozora programa za obučavanje neuronskih mreža

Sledece poglavlje Prethodno poglavlje Sadrzaj
REFERENCES
[1] “Frequently asked questions about AI”, http://www.cs.cmu.edu/Web/Groups/AI/html/faqs/ai/ai_general/top.html
[2] “Neural Network Frequently asked questions”, ftp://ftp.sas.com/pub/neural/FAQ.html
[3] Hotomski, P., (1995): “Sistemi Veštačke inteligencije”, Tehnički fakultet “Mihajlo Pupin”, Zrenjanin
[4] Ilić, V., (1999) “Obučavanje neuronskih mreža za prepoznavanje ćiriličnih slova”, magistarski rad, Tehnički Fakultet “Mihajlo Pupin”, Zrenjanin
[5] Jocković, M., Ognjanović Z., Stankovski S. (1997) “Veštačka inteligencija inteligentne mašine i sistemi”, Grafomed, Beograd
[6] Milenković, S., (1997): “Veštačke neuronske mreže”, Zadužbina Andrejević, Beograd
[7] Nikolić, T., Opačić, M., (1995): “Veštačka inteligencija i neuronske mreže”, IBN Centar, Beograd
[8] Sajić, I., (1995): “Neuronske mreže” , časopis “Računari” br 108, BIGZ, Beograd
[9] Subašić, P., (1998): “Fazi logika i neuronske mreže”, Tehnička Knjiga, Beograd

 
Poslednja izmena 11.05.2000.
Autor: Velibor Ilić
Adresa ove stranice je:http://SOLAIR.EUnet.rs/~ilicv/FLAlg.html