CATEGORII DOCUMENTE |
NeurosLab
Este un software utilitar ce foloeste un paradigm a inteligentei artificiale, numit Perceptron. Soft-ul permite crearea retelelor neuronale feed-forward, cu mai multe straturi de perceptroni.
Interesul generat de retelele neuronale artificiale, este determinat ca acesta tehnologie gandita ca un model a creierului uman, sa rezolve anumite tipuri de probleme, care depasesc capacitatile actuale ale calculatoarelor clasice, neputand fii abordate, prin programare procedurala top-down.
Nu exista limite, in crearea retelelor neuronale, deoarece toate variabilele sunt allocate dinamic, direct in memorie. Retelele folosesc multa memorie, alocand matrici bidimensimensionale, de foarte mari dimensiuni, si necesitand algoritmi de calcul masiv, fiind pretabili in rulare in calculatoare paralele.
Figure 1. Este creata o retea neuronala, in NeurosLab. Exista un strat ascuns, cu 2 unitati.
3 unitati pe stratul de iesire, si 3 intrari.
Figure 2. Aceeasi retea neuronala vizualizata 3D. Folosind tehnologie OpenGL
Ce poate face aceast software?
Algoritmi de invatare implementati
Feed-forward Networks
Back-Propagation.
Back-Propagation cu Moment.
Moody Darken algoritm de invatare cu learning rate-ul modificat
Functii de activare implementate
Hardlim
F(x) = 1, if x >= 0 altfel 0
HardlimS
F(x) = 1, if x>=0 altfel -1
Purelin
F(x) = x
LogSig
1 / 1+exp(-n)
dLogSig = n*(1-n)
TanSig
2/(1+exp(-2*n))-1
Softul permite simularea diverselor aplicatii care utiliezeaza retele neuronale feedfoward MLP cum ar fi: Aproximari de functii, predictii de valori cand sunt date n elemente, reteaua genereaza sic ea de n+1, softuri tolerante la date gen: Recunoasterea scrisului de mana, OCR cat si capacitatea NN de a fi folosite ca memori associtiative, cu ajutorul software-ului poate fi vizualizata, eroarea fata de target dupa un numar de epoci cat si capacitatea retelei de a invata in functii de configuratia aleasa.
Deasemenea cu ajutorul acestui clasificator neuronal se poate simula un soft de recunoasterea fetei, caracteristicile ale NN pot fi exportate, deci Bias-urile Weight-urile, iesire si pot fi utilizate in aplicatii in dezvoltari ulterioare.
Aici se prezinta un film despre utilizarea aplicatiei si capacitate lui de a crea o retea neuronala.
https://www.trilulilu.ro/gigasoftware/15acae86286e37 [English] . In acest scurt film se prezinta cum se creaza si invata o retea neuronala, pentru a crea un soft de detecteaza cifrele de la 0 la 9 si chiar stricate(avand zgomote). Arhitectura OCR-ului creat de mine.
https://www.trilulilu.ro/gigasoftware/0e6e4708e063be [english] . In acest scurt film se prezinta cum sa cream o retea neuronala, care clasifica fetele, si capacitatea retelei neuronale, de a lucra cu zgomot. Spre sfarsit, am aratat cum sa aproximam o functie, cu ajutorul retelelor.
Setul de antrenament: Vectorul de intrare si target-ul
Eroarea patratica
Aproximarea erori patratice
Gradient descedent(algoritmul propagation)
Deci, Ponderilor si Biasuilor, sunt calculate dupa urmatoarea formula
Matricea Jacobian
In final, back-propagation
Pentru ultimul strat
Pentru celelalte straturi
Deci, calcularea ponderilor:
Actualizarea biasurilor
Tehnologi folosite:
OpenGL - pentru vizualizarea 3D a retelei. Folosesc un dll(care nu este scris de mine), pentru a textura obiectele. Oricum nu este terminat
Borland Delphi 6
BusinessSkin 6.50(pentru interfata, GUI) - nu este scris de mine
Celelalte sunt standard din IDE.
Multi-layer-perceptron, retele feed-forward, fara recurente. Tot ce tine de tine de retele neuronale, este scris de la 0 de mine. Conform cartilor de inteligenta artificiale. Oricum nu se pot aduce nici un fel de imbunatatiri, si daca nu e facut cum trebuie nu merge.
Concepte care stau la baza
Thread-uri. Programare concurenta
Tehnici de tratarea erorilor.
Programare top-down.
Algoritmi:
Recursivitate
Divide et impera
Alocare dinamica
Geometrie computationala (geo. analitica) [in desenare]
Double Buffer.
Iconurile sunt luate de la https://www.iconarchive.com/ . Into-formul este formul creat de mine. Singurul creat de mine, este formul de into. Este programat de mine.
Concluzii
Puterea softului consta in capacitatea de a antrena,simula, invata, si exporta cod sursa de retele gata antrenate(cu ponderi si bias-uri), permitand astfel, crearea foarte usor, a unor aplicatii de impact, gen interfete om-calculator(eye tracking), recunoasterea faciala, proiectul NetTalk(masina de scris fonetica, in care bagi un text si in vorbeste in lb romana), si multe alte aplicatii.
Pentru documentatie, am studiat urmatoarele carti:
Retele neuronale -arhitecturi si algoritmi Virgil Tiponut Catalin Daniel Caleanu.Universitatea de Vest
Retele neuronale Aplicatii -Virgil Tiponut Catalin Daniel Caleanu. Universitatea de Vest
Retele neuronale - Nicolae Tandareanu
Inteligenta artificiala- Razvan Andonie,Universitatea Bucuresti
Despre mine si concursurile la care am mai participat
https://infoarena.ro/utilizator/nod_software/
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1983
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved