Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

NeurosLab

calculatoare



+ Font mai mare | - Font mai mic



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?

  1. Puteti face retele neuronale, doar cu drag and drop
  2. Puteti modifica arhitectura, retelei pe parcursul construirii.
  3. Exportarea si importarea retelei in format XML. Salveaza atat arhitectura cat si ponderile retelei
  4. Pe parcursul retelei neuronale, se pot vedea ponderile retelei.
  5. Simularea 3D a retelei neuronale, pe care am creat-o
  6. Schimbarea limbi in software.
  7. Tool pentru detectarea scrisului de mana, pentru a va obisnui cum se poate scrie un Optical Character recognition in software, sau recunoasterea scrisului de mana.
  8. Tool pentru clasificarea imaginilor in cazul de fata, clasifica fete, cu si fara erori, dar pot fi clasificate, orice fel de imagini. Exemplu: Poate gasi, imagini cu cancer sau diverse boli in radiografii. Se poate modifica usor, pentru scanarea amprentei, retinei, etc.
  1. Tool pentru vizualizarea, capacitatii retelelor neuronale, de a aproxima orice tip de functie, continue. Tool-ul permite afisarea, grafic al functiei, original, cat si functiei invatate. Permite generarea automat a datelor, pentru algoritmul de invatare
  1. Generarea automata a retelei, pe care am creat-o, in limbajul de programare Pascal. Pe viitor se vor introduce si alte limbaje.
  2. Vizualizarea unor statistici, asupra erori, epocilor. Pentru a compara mai multe arhitecturi
  3. Procesari de imagini, pentru a imbunatati, extragerea de informatii, din imagine. Filtre de convolutii.

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.

Figure 3. Aici este prezent clasificatorul, pentru detectarea cifrelor de la 0..9. Sunt 40 de intrati, 30 de perceptroni pe stratul ascuns, si 10 iesiri.

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.

2. Back-Propagation algoritm clasic:

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.

3. References

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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1983
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved