Analiza și predicția parodontozei prin calcul neuronal [621706]
UNIVERSITATEA DE MEDICINĂ, FARMACIE, ȘTIINȚE ȘI
TEHNOLOGIE “GEORGE EMIL PALADE”
DIN TÂRGU MUREȘ
Facultatea de Inginerie și Tehnologia Informației
Programul de studiu : Informatică
Lucrare de licență
Analiza și predicția parodontozei prin calcul neuronal
Coordonator științific:
Lector Dr. Kiss Istvan
Absolvent: [anonimizat]
2020
UNIVERSITATEA DE MEDICINĂ, FARMACIE , LUCRARE DE LICENȚĂ
ȘTIINȚE ȘI TEHNOLOGIE „G.E. PALADE” DIN TÂRGU MUREȘ
FACULTATEA DE INGINERIE ȘI
TEHNOLOGIA INFORMAȚIEI Candidat: [anonimizat] : Informatică Anul absolvirii : 2020
Coordonator științific : Viza facultății
Lector dr. Kiss Istvan
a) Tema lucrării de licență :
Analiza și predicția parodontozei prin calcul neuronal
b) Problemele principale tratate :
• Implementarea calcului neuronal
• Folosirea calcului neuronal în medicină
• Utilizarea algoritmului de învățare BackPropagation
c) Bibliografia recomandată :
• Enăchescu Călin, ”Bazele teoretice ale re țelelor neuronale”, Editura Casa C ărții de Știință, Cluj –
Napoca 2008 .
• Enăchescu Călin, ”Calculul neuronal”, Editura Casa C ărții de Știință, Cluj -Napoca 2008 .
• Victor Neagoe, ”Re țele neurale pentru explorarea datelor, Editura Matrixrom, Bucure ști 2014”.
d) Termene obligatorii de consultații :
de 2 ori pe lună
e) Locul și durata practicii :
laboratoarele specifice programului de studiu
Primit tema la data de : 21.11.2019
Termen de predare : 15.07.2020
Semnătura Director Departament Semnătura coordonatorului
Semnătura candidat: [anonimizat] 5
Structura Documentului ………………………….. ………………………….. ………………………….. ………………… 6
1. Inteligența artificială ………………………….. ………………………….. …………………………. 7
1.1 Introducere în inteligența artificială ………………………….. ………………………….. ……………………….. 7
1.2 Domenii de utilizare a inteligenței artificiale ………………………….. ………………………….. ………….. 8
2. Rețele neuronale ………………………….. ………………………….. ………………………….. ……. 9
2.1 Neuronul biologic ………………………….. ………………………….. ………………………….. …………………… 9
2.2 Neuronul artificial ………………………….. ………………………….. ………………………….. …………………. 10
2.2.1 Funcțiile de intrare ………………………….. ………………………….. ………………………….. ………………………. 11
2.2.2 Funcțiile de activare ………………………….. ………………………….. ………………………….. ……………………. 11
2.2.3 Funcțiile de ieșire ………………………….. ………………………….. ………………………….. ……………………….. 14
2.3 Perceptronul simplu ………………………….. ………………………….. ………………………….. ………………. 15
2.4 Perceptronul multistrat ………………………….. ………………………….. ………………………….. …………… 17
2.4.1 Metoda de învățare prin algoritmul Backpropagation ………………………….. ………………………….. …… 18
3. Parodontoza ………………………….. ………………………….. ………………………….. ………… 22
3.1 Descrierea bolii parodontale ………………………….. ………………………….. ………………………….. …… 22
3.2 Metode de diagnositicare a bolii parodontale ………………………….. ………………………….. ………… 23
4. Predicția parodontozei prin calcul neuronal ………………………….. ………………….. 25
4.1 Introducere ………………………….. ………………………….. ………………………….. ………………………….. . 25
4.2 Prezentarea aplicației ………………………….. ………………………….. ………………………….. …………….. 26
4.2.1 Date de intrare ………………………….. ………………………….. ………………………….. ………………………….. .. 26
4.2.2 Date de ieșire ………………………….. ………………………….. ………………………….. ………………………….. …. 29
4.2.3 Structura aplicației ………………………….. ………………………….. ………………………….. ………………………. 29
4.2.3.1 Diagrama cazurilor de utilizare ………………………….. ………………………….. ………………………….. . 30
4.2.3.2 Diagrama de stare ………………………….. ………………………….. ………………………….. …………………. 31
4.2.3.3 Diagrama de clase ………………………….. ………………………….. ………………………….. …………………. 32
4.2.4 Arhitectura rețelei ………………………….. ………………………….. ………………………….. ……………………….. 34
4.3 Tehnologiile folosite ………………………….. ………………………….. ………………………….. ……………… 35
4.4 Utilizarea aplicației ………………………….. ………………………….. ………………………….. ……………….. 36
5. Testarea aplicației ………………………….. ………………………….. ………………………….. … 40
5.1 Execuția aplicației ………………………….. ………………………….. ………………………….. …………………………. 41
5.2 Analiză antrenare rețea ………………………….. ………………………….. ………………………….. …………………… 41
5.3 Impactul datelor de antren are asupra procesului de învățare a rețelei neuronale ………………………….. 43
6. Concluzii ………………………….. ………………………….. ………………………….. …………….. 46
6.1 Idei de îmbunătățire ………………………….. ………………………….. ………………………….. ………………. 46
Bibliografie ………………………….. ………………………….. ………………………….. ……………… 48
Listă figuri ………………………….. ………………………….. ………………………….. ………………. 50
5
Introducere
Această lucrare se adresează problemelor legate de diagnosticarea bolii parodontale, o
problemă des întâlnită chiar și în stomatologia modernă din zilele noastre. Mulți dintre noi, din cauză
că nu acordăm o importanță prea mare unor simptome timpurii, ajungem în situația în care boala
avansează foarte repede astfel încât, tratamentele devin tot mai anevoioase.
Am decis să încep aprofundarea acestui subiect în urma vizitei mele la o clinică stomatologică,
unde am avut ocazia să asist la o discuție între medic și un pacient, pacientul fiind îngrijorat de apariția
acestei boli întrucât avea antecedente în familia sa.
Am hot ărât atunci să încep să dezvolt o metodă prin care datele din fișa medicală a pacientului
pot fi transpuse într -un program avand ca rezultat o predicție în legătură cu dezvoltarea bolii
parodontale la pacientul respectiv.
În urma unei analize, am ajuns la concluzia că metoda prin care pot pune în aplicare această
idee este prin intermediul rețelelor neuronale.
Rețelele neuronale în comparație cu aplicațiile standard, sunt capabile să sintetizeze în mod
implicit un anumit model al problemei. Se poate spun e că o rețea neuronală construiește singură
algoritmul pentru rezolvarea unei probleme, dacă îi furnizăm o mulțime reprezentativă de cazuri
particulare (exemple de instruire).
În rețelele neuronale informația nu mai este memorată în zone bine precizate, c a în cazul
calculatoarelor standard, ci este memorată difuz în toată rețeaua. Memorarea se face stabilind valori
corespunzătoare ale ponderilor conexiunilor sinaptice dintre neuronii rețelei astfel r ețelele neuronale
pot fi utilizate și ca memorii associative distributive . Acest lucru înseamnă că după ce am antrenat
rețeaua neuronală, dacă îi prezentăm o dată distorsionată din mulțimea de antrenament, rețeaua
neuronală va genera un răspuns similar cu cel al datei nedistorsionate.
Un alt element important, este capacitatea rețelelor neuronale de a învăța din exemple. În mod
tradițional, pentru a rezolva o problemă, trebuie să elaborăm un model (matematic, logic, lingvistic
etc.) al acesteia. Apoi, pornind de la acest model, trebuie să indicăm o succesiune de operații
reprezentând algoritmul de rezolvare a problemei. Există, însă, probleme practice de mare
complexitate pentru care stabilirea unui algoritm, fie el și unul aproximativ, este dificilă sau chiar
imposibilă.
6
In es ență obiectivul principal al acestei aplica ții este de a oferi o soluție ce le-ar pute ușura
munca medicil or stomatolog i, mai ales medicilor specialiști parodontologi . Pentru implementarea ei
am folosit limbajul de prog rama re C# împreun ă cu framework -ul .NET. Pentru a putea simula o
situație c ât mai real ă, am colaborat cu o clinică stomatologic ă din Tg -Mureș de unde a m avut acces la
un set de fi șe medicale, ceea ce mi -a fost de ajutor în realizarea unui set de date pentru antrenarea
rețelei.
La finalul lucr ării am prezentat testarea programului cât și concluziile la care am ajuns . Pot
spune că prin continuarea studiilor în domeniul inteligenței artific iale aș putea aduce multe
îmbun ătățiri și chiar extinderea aplicației .
Structura Documentului
Documentul de față prezintă următoarea structură:
Capitolul 1 – Prezintă un scurt istoric al calcului neuronal și totodată aduce în discuție
numeroasele domenii unde acesta este folosit.
Capitolul 2 – Sunt prezentate fundamentele teoretice care stau la baza unei formării unei rețel e
neuronale, construcția neuronului artificial făcându -se o comparație cu neuronul biologic, funcțiile
care stau la baza integrării valorilor în rețeaua neuronală, modele de calcul neuronal precum
perceptronul simplu și perceptronul multi -strat, aproximare a unei func ții folosind o re țea neuronal ă
artificial ă antrenat ă cu algoritmul Backpropagation și modul de propagare a erorilor în timpul
procesului de învățare neuronal ă.
Capitolul 3 – Prezintă o scurtă descriere a bolii parodontale și metodele folosite în medicina
dentară pentru diagnosticarea ei.
Capitolul 4 – Prezintă implementarea aplicației de predicție a parodontozei. Aici se aduce în
discuție structura aplicației, diagramele UML, datele de intrare, datele de ieșire cât și modul de
utilizare al aplicației de la testare la execuție .
Capitolul 5 – Cuprinde concluziile finale și anumite idei ce pot îmbunătăți aplicația cât și
anumite viziuni de viitor.
7
1. Inteligența artificială
1.1 Introducere în inteligența artificială
Pornindu -se de la performanțele și capabilitățile remarcabile pe care ființa umană le manifestă
în diferitele arii de activitate, în particular de la performanțele creierului uman, diferite domenii
teoretice, tehnice și aplicative au încercat și încearcă să atingă performanțe similare prin „copierea”
diferitelor sisteme și funcții ale organismului uman și nu numai.1
Creierul uman, într -o analogie cu un calculator, este un sistem de procesare a informațiilor
caracterizat prin complex itate, neliniaritate și paralelism. Creierul uman are capacitatea de a -și
organiza activitatea neuronală în așa fel încât să realizeze activități complexe (recunoașterea formelor,
percepție, control motric etc.) mult mai rapid și mai performant decât cel m ai puternic super –
calculator construit vreodată de om.
Cum funcționează creierul uman? Răspunsul la această întrebare este departe de a fi cunoscut.
Totuși, s -a reușit ca în ultima perioadă de timp, să se facă progrese însemnate în descifrarea modului
de funcționare a sistemului neuronal. O contribuție însemnată au avut -o progresele apărute în neuro –
fiziologie, care au însemnat un mare pas înainte în explicarea fenomenelor neurologice. Încercarea de
a modela structura și modul de funcționare al creierul ui uman au pus bazele unei noi discipline numită
"calcul neuronal ".
Putem considera anul 1943, momentul de naștere a calculului neuronal când microbiologistul
W. McCullogh și matematicianul W. Pitts, publică lucrarea fundamentală "A Logical Calculus of
Ideas Immanent in Nervous Activity". Modelul de neuron artificial aparține acestor cercetători.
Această lucrare a constituit punctul de pornire a trei domenii de cercetare:
1. Calculatoare digitale . John von Neumann a caracterizat acea stă lucrare ca o schemă
funcțională a unui creier electronic.
2. Inteligență Artificială . Marvin Minsky, unul din cei mai importanți cercetători ai
domeniului Inteligenței Artificiale, a fost inspirat de ideea inteligenței macroscopice
conținută în lucrarea de referință, ducând la dezvoltarea primelor sisteme expert.
3. Calcul neuronal . Un mare număr de cercetători, începând cu F. Rosenblatt, au
dezvoltat bazele acestui model de calcul, având la bază o arhitectură inspirată de
modelele neurologice biologice, r ețelele neuronale.
1 http://www.etc.tuiasi.ro/cin/Courses/Epiom/Course/Curs_Rtiz rt123XuAsdr/Capitol%20RNA.pdf
8
Calculul neuronal este o disciplină complexă care folosește cunoștințe din numeroase alte
discipline tradiționale: biologie, neurologie, anatomie, chimie, fizică, matematică, informatică etc. De
aceea, studiul calculului neuronal treb uie să se bazeze pe abordări complexe care să confere un cadru
teoretic și aplicativ riguros, care să -l transforme într -o disciplină matură, cu un aparat științific bine
pus la punct. Ideea de bază a acestei lucrări o va reprezenta faptul că o rețea neuron ală este o schemă
de aproximare -interpolare. Din acest punct de vedere, vom putea folosi rezultatele consacrate ale
analizei numerice pentru un studiu teoretic și practic al calculului neuronal. De asemenea, vom folosi
elementele calculului neuronal pentru a îmbunătății proprietățile de aproximare ale unor clase de
funcții.2
1.2 Domenii de utilizare a inteligenței artificiale
Dacă studiem literatura de specialitate relativ la domeniul aplicativ al rețelelor neuronale
(calcului neuronal), vom găsi aplicarea lor în toate domeniile activității umane. Pornind de la artă,
științe naturale, științe sociale, industrie, agricultură, mergând până la sport, divertisment, aproape că
nu există domeniu în care să nu găsim aplicații ale calculului neuronal. Totuși, cea m ai adecvată
utilizare a calculului neuronal o reprezintă domeniile apropiate percepției și gândirii umane.
În medicină, doctorul Bertalan Meskó, a numit inteligența artificială “Stetoscopul secolului
XXI”. De la algoritmi puternici de diagnosticare, la roboți chirurgicali bine reglați, această tehnologie
își face cunoscută prezența în cazul diferitelor discipline medicale. În mod clar, inteligența artificială
are un loc în bine stabilit în medicină, variabila necunoscută fiind valoarea acesteia.
În unele cazuri, potrivit cercetătorilor, inteligența artificială poate depăși performanța
medicilor în cazul diagnosticărilor urgente, lucru ce le -ar putea fi de mare folos medicilor, mai ales
din punct de vedere al timpului în care trebuie să pună un diagnostic sau să ia o decizie în privința
unei intervenții chirurgicale. Deci le -ar putea ușura munca, într -un fel sau altul. Conform unui studiu,
publicat în Decembrie 2017 în Jurnalul Asociației Medicale Americane, algoritmii calcului neuronal
au fost capabili să diagnosticheze mai bine cancerul metastatic la sân decât radiologii umani atunci
când se aflau în criză de timp. În același timp în care radiologii umani se descurcă bine atunci când
dispun de timp nelimitat pentru examinarea cazurilor, un diagnostic rapid ar putea face diferența dintre
viață și moarte.3
2 Enăchescu Călin, “Calculul neuronal“, Editura Casa Cărții de Știință, Cluj -Napoca 2008.
3 https://diviziapentrumedici.ro/utile/inteligenta -artificiala -in-medicina -de-mare -ajutor -pentru -doctori/
9
2. Rețele neuronale
2.1 Neuronul biologic
Din punct de vedere al rolului în organism, neuronul este unitatea de bază a sistemului nervos.
Ținând cont de acest fapt , nu este surprinzător numărul crescut de neuroni din creierul uman (zeci de
miliarde). În sine, scopul unui neuron este de a prelua "mesaje" de la neuronii anteriori (sau de la
diverse țesuturi) și să le transmită mai departe. În Fig. 1 se poate vedea com ponența unui neuron.
Interconectarea miliardelor de neuroni în creier este ceea ce conferă acestuia puterea impresionantă
de prelucrare a informației.4
Fig. 1. Structura unui neuron biologic
Neuronii sunt alcătuiți din trei componente:
Corpul celular numit și pericarion sau somă conține nucleul și citoplasma înconjurătoare. El
primește semnale de la axonii altor neuroni prin intermediul sinapselor. Pericarionul poate fi sferic,
stelat, ovoid sau piramidal.
Dendritele sunt de obicei pre lungiri scurte și ramificate. Majoritatea neuronilor au mai multe
dendrite, ce cresc considerabil suprafața de recepție. Funcția principală a dendritelor este primirea
informațiilor de la alți neuroni, sau din mediul extern și transmiterea acelei informaț ii pericarionului.
4 http://i mag.pub.ro/ro/cursuri/ISIA/lab/lab6_ISIA.html
10
Arborizarea dendritelor permite unui neuron să primească și să integreze un număr mare de terminații
axonale ale altor neuroni.
Axonul este o prelungire cilindrică unică, ce variază ca lungime și diametru în funcție de
neuron. Funcția principală a axonului este transmiterea impulsului nervos altui neuron sau unei celule
de tipul celei musculare.
Neuronii comunică între ei prin intermediul unor semnale electrice, numite potențiale de
acțiune sau impulsuri, care sunt propagate de -a lungu l axonului până când întâlnesc legătura
sinaptică. La sinapsă o substanță chimică, numită neuro -transmițător, este stocată într -un număr mare
de vezicule. Potențialul de acțiune eliberează conținutul anumitor vezicule către cleștele sinaptic.
Moleculele n euro-transmițătorului ajung la membrana neuronului post -sinaptic, unde recepția acestor
molecule induc un potențial de acțiune post -sinaptic (PSP).
PSP-urile generate în diferite puncte ale arborelui dendritic difuzează prin atenuare către soma,
unde ele sunt integrate. Dacă suma totală a PSP -urilor integrate depășește un anumit prag (threshold)
neuronul va deveni activ, generând un potențial de acțiune de -a lungul axonului. Contribuția unui
semnal de intrare la PSP caracterizează mărimea numită tărie sin aptică.
Din aceste considerente de dinamică a activității neuronale, se poate observa faptul că neuronul
biologic este un dispozitiv biologic lent în comparație cu dispozitivele electronice construite de om.
Cu toate acestea, orice sistem de calcul bazat pe dispozitive electronice are performanțe inferioare
creierului uman constituit din neuroni.
Modificarea tăriei sinaptice este rezultatul unui proces de “învățare”. Legătura sinaptică și
modul de procesare a semnalelor de către neuron formează meca nismul de bază al capacității de
memorare al creierului.
2.2 Neuronul artificial
Asemenea omologului său biologic, perceptronul (neuronul artificial), are ca rol transmiterea
informației mai departe într -o rețea.
Neuronul artificial modelează comportam entul unui neuron real. Astfel, conexiunile dintre
neuroni, denumite tării sinaptice, sunt folosite în stocarea informației. După o procesare locală a
semnalului de intrare funcție de informația stocată în ponderile sinaptice (multiplicarea acesteia cu
valorile informaționale stocate) se produce o integrare (sumare) globală a rezultatelor obținute –
proces similar cu cel ce are loc în corpul celular al unui neuron biologic real. Dacă răspunsul global
obținut depășește un anumit prag informația este transmis ă mai departe.
11
In figura de mai jos avem următoarele elemente ce alcătuiesc neuronul artificial:
• Intrări în neuron: x 1, x 2, x 3,….., x d;
• Tării sinaptice: w 1, w 2, w 3,….., w d;
• Semnale de intrare dendritice: x 1w 1, x 2w 2, x 3w 3,….., x dw d;
Aceste valori sunt integrate (sumate), pe baza unui proces similar celui realizat de soma neuronului
biologic:
Fig. 2. Structura unui neuron artificial
2.2.1 Funcțiile de intrare
Un neuron artificial are mai multe căi de intrare care corespund arborelui dendritic. Celei de –
a i-a cale de intrare în neuronul al j -lea îi corespunde o valoare numerică reală xi, echivalentul
semnalului electric din modelul biologic al neuronului. Fiecare mărime de intrare xi este ponderată
valoarea numerică reală wji , echivalentul tăriei sinaptice din modelul biologic al neuronului. Produsul
xiwji reprezintă al i -lea semnal de intrare dentritic în al j -lea neuron artificial.
Dintre funcțiile de intrare fac parte următoarele: produs, sumă, maxim și minim. Cea mai
folosită funcție este funcția sumă, aceasta simulând comportamentul neuronului biologic.
2.2.2 Funcțiile de activare
După realizarea sumei ponderate, fiecare neuron aplică o funcție de activare pe rezultat.
Această operație suplimentară are ca scop cont rolarea valorilor de ieșire din fiecare unitate. Dacă
12
neuronul biologic permite ca acesta să fie activat sau nu, în cazul neuronului artificial sunt propuse
mai multe posibilități.
In trecut când au început să se folosească primele tipuri de neuroni artif iciali, funcțiile de
activare folosite erau cele simple precum funcția liniară, semn sau treaptă însă s -a demonstrat că acest
tip de neuroni sunt folositori doar la rezolvarea problemelor liniar separabile. O problemă pe care
acești neuroni nu o pot rezolv a ar fi operația XOR.
Mai jos este prezentată o listă cu toate funcțiile de activare care include pe lângă cele
menționate mai sus și funcțiile folosite în rețelele neuronale mai noi în care se folosesc mai multe
straturi de neuroni:
1. Funcția liniară
𝑓∶ 𝑅 → 𝑅, 𝑓(𝑥) = 𝑥 (1)
Fig. 3. Funcția de activare liniară
2. Funcția treaptă
𝑓∶ 𝑅 → (0,1), 𝑓(𝑥) ={1, x≥θ
0, x<θ (2)
13
Fig. 3. 1 Funcția de activare treaptă
3. Funcția signum
𝑓∶ 𝑅 → {−1,1}, 𝑓(𝑥)=𝑠𝑔𝑛 (𝑥)={−1,𝑥<θ
1,𝑥≥ θ (3)
Fig. 3. 2 Funcția de activare signum
4. Funcția tangent ă hiperbolică
𝑓∶ 𝑅 →(−1,1), 𝑓(𝑥)=𝑡𝑎𝑛ℎ(𝑥)= 𝑒𝑥− 𝑒−𝑥
𝑒𝑥+ 𝑒−𝑥 (4)
Fig. 3. 3 Funcția de activare tangent ă hiperbolică
14
5. Funcția sigmoidală
𝑓∶ 𝑅 →(0,1), 𝑓(𝑥)= 1
1 + 𝑒−𝑥 (5)
Fig. 3. 4 Funcția de activare sigmoidală
Acestea sunt exemple de funcții de activare care sunt cel mai frecvent utilizate în aplicațiile
practice. Funcția de activare depinde de modelul de rețea neuronală ales și de tipul problemei pe care
dorim să o re zolvăm, alegerea sa nefiind constrânsă de nici o condiție, decât eventual de analogia cu
modelul biologic.
2.2.3 Funcțiile de ieșire
Valoarea obținută prin aplicarea funcției de activare este propagată pe căile de ieșire,
echivalente arborelui axonic din modelul biologic.
Fiecare algoritm de învățare automat ă își exprim ă ieșirea în moduri diferite. In cazul re țelelor
neuronale, ie șirea este dat ă de valorile numerice ale neuronilor din stratul de ie șire. Pentru problemele
de regresie, interpretarea este evident ă: ieșirea este reprezentat ă de valorile din neuronii de ie șire, de
obicei luate ca atare.
Exemplu : Dac ă se dore ște predic ția parodontozei la un pacient , este nevoie de un singur neuron
care va afișa ca rezultat un număr acesta fiind procentajul predicției .
15
Pe lângă scopul mai clar de a ob ține predic ția dorit ă de la re țea, valorile din stratul ascuns sunt
cele care determin ă antrenarea re țelei. In cazul regresiei, leg ătura este simpl ă: o diferen ță mai mic ă
între valoarea prezis ă și cea real ă (eticheta) are semnifica ția unui comportament dorit de c ătre re țea.
Pe de alt ă parte, pentru sarcinile de clasificare, re țeaua interpreteaz ă diferit ie șirile. Algoritmul
de antrenare nu este interesat doar de pozi ția neuronului cu valoarea maxim ă, ci și de cum se raporteaz ă
aceast ă valoare la cele ale restului neuronilor. Este dorit ă o predic ție sigur ă, ceea ce se traduce într-
o valoare c ât mai mare pentru neuronul c âștigător, și valori c ât mai mici pentru restul.
2.3 Perceptronul simplu
Perceptronul simplu reprezintă unul din primele modele de calcul neuronal construite, fiind de
departe cea mai studiată și analizată rețea neuronală. De aceea, interesul de a studia perceptronul
simplu nu este numai de factură istor ică ci și științifică, proprietățile sale putând fi regăsite la orice
rețea neuronală. Perceptronul simplu învăță cu ajutorul unei legi de învățare supervizate.
Perceptronul este un neuron cu mai multe intrări 𝑥𝑖, fiecare conexiune de intrare avâ nd o
valoare numită tărie 𝑤𝑖 care este o măsură a importanței acelei intrări, un prag θ și o funcție
de activare.
Fig. 4. Perceptron simplu5
5https://www.researchgate.net/publication/332129835_Retele_neuronale_convolutionale_Big_Data_si_Deep_ Learnin
g_in_analiza_automata_de_imagini
16
Astfel, perceptronul calculează suma ponderată a 𝑛 valori numerice de intrare 𝑥𝑖:
𝑦 = 𝑤 · 𝑥 + 𝑏 = 𝛴𝑤𝑖 · 𝑥𝑖 + 𝑏; 𝑖 = 1 ÷ 𝑛
și apoi, asupra rezultatului numeric astfel obținut, aplică o funcție neliniară, de ex. funcția semn
(signum):
𝑠𝑔𝑛 (𝑦)={−1,𝑥<θ
1,𝑥≥ θ
Termenul liber b (bias), reprezintă valoarea de prag de activare a perceptronului și poate fi
considerat ca o a (n+1) -a intrare, suplimentară, de valoare 𝑥0=1 și pondere 𝑤0=𝑏 constante și
permite translatarea funcției de activare la stânga sau la dreapta, după cum este necesar în procesul de
antrenare.
Perceptronul poate realiza clasificarea binară (prin valorile 0 și 1) în cazul datelor liniar
separabile aplicate la intrare, prin separarea valorilor de ieșire peste sau sub un anumit prag. Acesta,
precum și tăriile asociate intrărilor trebuie stabilite empiric în etapa de configurare pentru fiecare
problemă de clasificare în lipsa unui algoritm de antrenare.
Acest neajun s a fost însă depășit odată cu algoritmul iterativ de adaptare (antrenare) a
perceptronului propus de Rosenblatt, pentru stabilirea valorilor tăriilor . Algoritmul pornește de la un
set de tării aleatoare, nenule, mici, comparând în fiecare iterație ieși rea obținută pentru fiecare vector
de intrare de antrenare cu clasa reală / corectă căreia îi aparține și urmărind ca prin ajustarea tăriilor
să se elimine fiecare eventuală eroare de clasificare.
Astfel, dacă pentru exemplul curent de instruire ieșirea corectă trebuia să fie 0 dar s -a
obținut 1, atunci se diminuează toate tăriile corespunzătoare intrărilor având valoarea 1, iar pentru
situația inversă acestea sunt crescute. Dacă la finalul unei iterații (după un număr de pași egal cu
numărul vectorilor de instruire) nu s -a (mai) produs nicio modificare a tăriilor , înseamnă că toți
vectorii de instruire respectivi au fost corect clasificați, iar vectorul tăriilor la care s -a ajuns
reprezintă o soluție a problemei de ins truire respective și algoritmul se termină cu succes.
Dacă însă s -a modificat cel puțin o tărie, se trece la iterația următoare. În cazul în care într -un
număr k prestabilit de iterații (suficient de mare, stabilit empiric) nu s -a ajuns la clasificarea cor ectă a
tuturor vectorilor de instruire, înseamnă că cele două clase nu sunt liniar separabile și algoritmul este
oprit, problema neputând fi rezolvată cu ajutorul perceptronului.
Acest prim tip de modele liniare a definit primul val în domeniul rețelelor n euronale artificiale.
Perceptronul are însă multiple limitări, dintre care cea mai cunoscută este aceea că nu poate modela
funcția logică binară 𝑋𝑂𝑅 , ale cărei valori 0 și 1 pentru toate combinațiile posibile ale variabilelor de
17
intrare binare nu sunt l iniar separabile . Figura de mai jos reprezintă grafic valorile de intrare a funcției
𝑋𝑂𝑅 unde putem observa că predicțiile 1 și 0 nu sunt liniar separabile .
Fig. 5. Valorile de intrare a funcției 𝑿𝑶𝑹 într-un grafic6
2.4 Perceptronul multistrat
Minsky și Papert au subliniat limitele perceptronului simplu , care este capabil să reprezinte
doar funcții liniar separabile. Puterea de reprezentare a perceptronului multistrat a fost intuită cu mult
timp înainte, dar nu s -a putut găsi o lege de învățare decât în ultimii ani. Această lege de învățare,
bazată tot pe un algoritm de optimizare tip gradient descendent, este numit propagare înapoi
(backpropagation). Descoperirea backpropagation a constituit unul din momentele cruciale ale
dezvoltării calculului neuronal. Cu ajutorul unui perceptronului multistrat se poate reprezenta orice
funcție continuă pe un interval compact.
O rețea de perceptroni conectați formează „perceptronul multistrat“. Acesta este în general
reprezen tat de o succesiune de straturi de neuroni, compusă dintr -un strat de intrare, unul sau mai
multe așa numite straturi ascunse (hidden layer) și un strat de ieșire, conectate secvențial între ele.
Straturile se comportă fiecare analog neuronului biologic. I eșirile unui strat reprezintă intrări pentru
stratul următor. Straturile sunt (în general) complet conectate, fiecare perceptron de pe un strat fiind
conectat cu toți perceptronii de pe stratul anterior (complet conectat). Fiecare conexiune are o tărie
individuală proprie. Astfel, vorbim în acest context de modele conecționiste, ca o a doua paradigmă
6 https://medium.com/@jayeshbahire/the -xor-problem -in-neural -networks -50006411840b
18
și un al doilea val în domeniul rețelelor neuronale artificiale, al procesării paralele distribuite. Pe de
altă parte, în cazul arhitecturilor de tip perceptro n multistrat cu mai multe straturi ascunse, se poate
vorbi deja despre o “rețea neuronală adâncă ” (deep neural network), în timp ce în cazul unui singur
strat ascuns vorbim de „rețea neuronală superficială“ (shallow neural network).
Fig. 6. Arhitectura unui perceptron multistrat7
2.4.1 Metoda de învățare prin algoritmul Backpropagation
Rețeaua de tip perceptron multistrat prezentată mai sus mai este de tip feed -forward, deoarece
legăturile se fac de la intrare spre ieșire, strat după strat, exclusiv spre înainte. Valorile rezultate în
straturi superioare nu influențează în niciun fel valorile de ieșire ale straturilor inferioare.
Dacă în cazul perceptronului intrările sunt utilizate pentru a calcula imediat rezultatul, în cazul
rețelelor multistrat feed -forward se efectuează prelucrări ale datelor secvențial pe fiecare strat unul
după altul. Totodată, se folosesc alte funcții de activare, derivabile (al căror rezultat nu mai trece brusc
de la negativ la pozitiv, ci are o trecere continuă), care să permită antrenarea . În general este utilizată
funcția sigmoidă sau tangenta hiperbolică.
7https://www.researchgate.net/publication/332129835_Retele_neuronale_convolutionale_Big_Data_si_Deep_ Learnin
g_in_analiza_automata_de_imagini
19
Considerăm un perceptronului multistrat cu o arhitectură ca cea din Fig. 6. Vom folosi
următoarele notații:
• număr total de straturi : 𝑙=(𝑙−1) straturi ascunse + 1 strat de ieșire.
• 𝑤𝑗𝑖𝑘,𝑘=1,…,𝑙 – tăria sinaptică corespunzătoare conexiunii dintre neuronul al 𝑖-lea din
stratul (𝑘−1) și neuronul al 𝑗-lea din stratul 𝑘. Stratul de intrare este considerat ca
fiind stratul cu numărul 0, iar stratul de ieșire este stratul cu numărul l.
• 𝑛𝑘,𝑘=1,…,𝑙 – numărul de neuroni ai stratului al 𝑘-lea. Stratul de intrare este
considerat ca având 𝑛0=𝑛 neuroni, iar stratul de ieșire are 𝑛1=𝑛 neuroni.
• 𝐼𝑗𝑘,𝑘=1,…,𝑙,𝑗=1,…,𝑛𝑘 – valoarea de intrare pentru neuronul al 𝑗-lea din stratul al
𝑘-lea.
• 𝑦𝑗𝑘,𝑘=1,…,𝑙,𝑗=1,…,𝑛𝑘 – valoarea de ieșire din neuronul al 𝑗-lea al stratului 𝑘.
Valoarea de ieșire a neuronilor din stratul de ieșire este: 𝑦𝑗=𝑦𝑗𝑙,𝑗=1,…,𝑚.
Modul de operare al perceptronului multistrat poate fi exprimat matematic astfel:
• Integrare:
𝐼𝑗𝑘=∑ 𝑤𝑗𝑖𝑦𝑖𝑘−1, 𝑘=1,….,𝑙,𝑗=1,…,𝑛𝑘,𝑛𝑘−1
𝑖=1𝐼𝑗0=𝑥𝑗,𝑗=1,…,𝑛 (6)
• Activare:
𝑦𝑗𝑘=𝑓(𝐼𝑗𝑘)=𝑓(∑ 𝑤𝑗𝑖𝑘𝑦𝑖𝑘−1) == 𝑓(∑ 𝑤𝑗𝑖1𝑘𝑛𝑘−1
𝑖1=1𝑓(∑ 𝑤𝑗𝑖2𝑘−1𝑓(…𝑛𝑘−2
𝑖2=1𝑛𝑘−1
𝑖=1…(𝑓(∑𝑤𝑗𝑖𝑘1𝑛
𝑖𝑘=1𝑥𝑖𝑘)…),𝑘
=1,…..,𝑙,𝑗=1,….,𝑛𝑘 (7)
• Perceptronul multistrat va genera la stratul de ie șire următoarele :
𝑦𝑗=𝑓(∑𝑤𝑗𝑖1𝑙 𝑓(∑𝑤𝑗𝑖2𝑙−1𝑛𝑙−2
𝑖2=1𝑓(…(𝑓(∑𝑤𝑗𝑖𝑙1𝑥𝑖𝑘)…),𝑗=1,…,𝑚 (8)𝑛
𝑖𝑙=1𝑛𝑙−1
𝑖1=1
Considerăm funcția eroare 𝐸(𝑤) ca o măsură a performanțelor perceptronului multistrat ,
exprimată ca pătratul diferenței dintre vectorii țintă și valoarea obținută la stratul de ieșire:
𝐸(𝑤)= 1
2∑ ∑ (𝑧𝑗µ−𝑦𝑗µ)2=1
2∑ ∑ (𝑧𝑗µ−𝑚
𝑗=1𝑃
µ=1𝑚
𝑗=1𝑃
µ=1
𝑓(∑ 𝑤𝑗𝑖1𝑙𝑓(𝑛𝑙−1
𝑖1=1∑ 𝑤𝑗𝑖2𝑙−1𝑓(𝑛𝑙−2
𝑖2=1…(𝑓(∑ 𝑤𝑗𝑖𝑙1𝑥𝑖𝑘)…))2,𝑗=1,…,𝑚𝑛
𝑖𝑙=1 (9)
20
Funcția eroare 𝐸(𝑤) este continuă și derivabilă în raport cu tăriile sinaptice. Algoritmul
gradientului descendent, corespunzător legii de învățare BP, pornind de la stratul de ieșire către stratul
de intrare, este:
∆𝑤𝑗𝑖𝑙= −η𝛼𝐸
𝛼𝑤𝑗𝑖𝑙=η∑(𝑧𝑗µ− 𝑦𝑗µ)·𝑓′(𝐼𝑗𝑙−1)·𝑦𝑖𝑙−1,𝑗=1,…,𝑚,𝑖=1,…,𝑛𝑙−1𝑃
µ =1 (10)
Pentru tăriile sinaptice, corespunzătoare conexiunilor dintre stratul 𝑘−1 și stratul 𝑘,𝑘 ≥ 1,
vom propaga eroarea 𝛿𝑗𝑘 obținută la stratul 𝑘 înapoi către stratul 𝑘−1, utilizând formula de modificare
a tăriilor sina ptice (formula este reprezentată grafic în în Fig. 7.) :
∆𝑤𝑗𝑖𝑘=η∑𝛿𝑗𝑘𝑦𝑖𝑘−1,𝑘=1,…,𝑙−1,𝑗=1,…,𝑛𝑘,𝑖=1,…,𝑛𝑘−1𝑃
µ =1 (11)
Pe baza acestor relații matematice, să descriem legea de învățare backpropagation a
perceptron ului multistra t, utilizând o descriere algoritmică:
Pasul 1 : Inițializăm tăriile sinaptice cu valori aleatoare mici (din intervalul (−1,1)):
𝑤𝑗𝑖𝑘𝜖(0,1),𝑗=1,…,𝑛𝑘,𝑖=1,…,𝑛𝑘−1,𝑘=1,…,𝑙. Inițializăm µ = 1 (12)
Pasul 2 : Aplicăm la stratul de intrare, vectorul de intrare 𝑥µ, inițializând:
𝑦𝑗0= 𝑥𝑗µ,𝑗=1,…,𝑛 (13)
Pasul 3 : Propagăm vectorul de intrare 𝑥µ, către stratul de ieșire, utilizând formulele:
𝑦𝑗𝑘= 𝑓(𝐼𝑗𝑘)=𝑓(∑𝑤𝑗𝑖𝑘𝑦𝑖𝑘−1𝑛𝑘−1
𝑖=1),𝑘=1,…,𝑙,𝑗=1,…,𝑛𝑘 (14)
Dacă 𝑘 = 𝑙 obținem valorile de ieșire ale perceptron ul multistra t:
𝑦𝑗𝑘= 𝑓(𝐼𝑗𝑙)=𝑓(∑𝑤𝑗𝑖𝑙𝑦𝑖𝑙−1𝑛𝑗−1
𝑖=1),𝑗=1,…,𝑚 (15)
Pasul 4 : Calculăm erorile 𝛿𝑗𝑘 relativ la stratul de ieșire:
𝛿𝑗𝑙=𝑓′(𝐼𝑗𝑙)·(𝑧𝑗µ−𝑦𝑗µ),𝑗=1,…,𝑚 (16)
21
Pasul 5 : Propagăm erorile 𝛿𝑗𝑙 de la stratul de ieșire către stratul de intrare:
𝛿𝑗𝑘=𝑓′(𝐼𝑗𝑘)·∑𝑤𝑖𝑗𝑘+1𝛿𝑖𝑘+1,𝑗=1,…,𝑛𝑘,𝑘=𝑙−1,𝑙−2,…,2,1𝑛𝑘+1
𝑖=1 (17)
Pasul 6 : Actualizăm tăriile sinaptice pe baza formulelor:
∆𝑤𝑗𝑖𝑘= η𝛿𝑗𝑘𝑦𝑖𝑘−1 , 𝑤𝑗𝑖𝑘=𝑤𝑗𝑖𝑘+∆𝑤𝑗𝑖𝑘,𝑘=1,…,𝑙,𝑗=1,…,𝑛𝑘,i=1,…,𝑛𝑘−1 (18)
Pasul 7 : Dacă µ ≤𝑃 𝑆𝐴𝑈 𝐸(𝑤) < 𝜀 atunci µ= µ+ 1 și 𝐺𝑜𝑡𝑜 Pasul 2, altfel 𝑆𝑇𝑂𝑃 .
Fig. 7. Reprezentarea schematică a modului de propagare înapoi a erorii8
Legea de învățare backpropagation a constituit obiectul a numeroase încercări de
îmbunătățire, în special din punct de vedere al vitezei de convergență, care în această formă clasică
este prea lent.
Există de fapt un număr mare de parametrii care pot fi variați în cadrul legii de învățare BP
pentru PMS. Dintre acești parametri putem aminti: arhitectura PMS (număr de straturi, număr de
neuroni în fiecare strat, conexiuni sinaptice), dimensiunea mulțimii de antrenament și natura sa,
8https://www.researchgate.net/publication/332129835_Retele_ neuronale_convolutionale_Big_Data_si_Deep_Learnin
g_in_analiza_automata_de_imagini
22
legea de învățare etc . Nu vom încerca să răspundem la toate aceste probleme, deoarece fiecare dintre
ele constituie direcții de cercetare distincte în domeniul calculului neuronal.
3. Parodontoza
3.1 Descrierea bolii parodontale
Parodontoza – boala parodontal ă – este o afec țiune cronic ă a gingiei, de tip inflamator.
Parodontoza se manifest ă la nivelul țesuturilor de sus ținere a dintelui pe arcad ă: gingie, ligament
parodontal, os alveolar. Parodontoza poate duce la pierderea din ților prin distrugerea țesutul moale și
a osului care sustine din ții.
Fig. 8. Diferen ța dintre un dinte sănătos și unul afectat de parodontoză9
In prim ă fază apare inflama ția gingiei (gingivita ). In mod normal, gingiile s ănătoase sunt ferme
și de culoare roz pal. Gingivita se manifest ă prin modificarea consisten ței gingiei – devine moale, și a
culorii – spre ro șu violaceu. De asemenea, papilele intrerdentare se inflameaz ă și se desprind de pe
dinți, apar dureri, senza ție de prurit gingival, gingiile s ângereaz ă foarte u șor, chiar și la periaj cu
periuța de dinți cu păr moale. Treptat boala evolueaz ă spre structurile profunde, gingia începe s ă se
retrag ă de pe din ți, antren ând apoi și osul alveolar, apar pungile parodontale ("buzun ărașe" formate
9 https://clinicadrmelnic.ro/servicii -stomatologice/parodontologie/
23
între os și dinte în care se acumuleaz ă bacterii, tartru, fragmente de os necrozat, etc.). In final din ții
sunt expulza ți din alveolele dentare.
Parodontoza are drept cauz ă principal ă placa dentar ă – pelicula compus ă în principal din
bacterii. Placa dentar ă se formeaz ă pe din ți atunci c ând amidonul și zaharurile din alimente
interac ționeaz ă cu bacteriile care se afl ă în gur ă în mod normal. Placa dentar ă care r ămane pe din ți
mai mult de dou ă – trei zile se poate întări sub linia gingiei, form ându-se tartrul. Tartrul face ca placa
dentar ă să fie dificil de înlăturat și acționeaz ă ca un rezervor pentru bacterii. Mai mult, nu se poate
scăpa de tartru prin periajul din ților și folosirea a ței dentare – este nevoie de un detartraj profesional
pentru a -l indep ărta.
3.2 Metode de diagnositicare a bolii parodontale
Diagnosticul de parodontoz ă este simplu și se bazeaz ă pe un examen stomatologic. Medicul
dentist se uit ă pentru a stabili existen ța plăcii dentare și a tartrului și a verifica dac ă exist ă sângerare
ușoară. Pentru a verifica starea de s ănatate a țesutului gingival, medicul dentist poate folosi o sond ă
de metal pentru a m ăsura ad âncimea șanțului gingival, canalul dintre gingii și din ți. Sonda este
introdus ă lângă dinte, sub linia gingiei, de obicei, în mai multe locuri din întreaga gur ă. Măsurătorile
pot ajuta la stabilirea gradului de parodontoz ă.
Parodontoza are și factori favorizan ți de ordin:
• local: fumat, tartru, placa bacteriană, sângerare sau retracție gingivală , etc.
• general :
o stări fiziologice: pubertate, sarcin ă, menstrua ție, m enopauz ă, utilizare de
anticoncep ționale ;
o boli sistemice: diabet zaharat, hipovitaminoza C, leucemie, anemie ;
o tratamente medicamentoase utilizate în epilepsie, boli cardiovasculare,
tratament imunosupresor .
Cu c ât mai repede se solici tă asisten ța din partea medicului stomatolog, cu at ât mai mari sunt
șansele de a înlătura problemele provocate de parodontoz ă și de a preveni alte probleme grave de
sănatate. Parodontoza este o afectiune care poate fi prevenit ă, în mare m ăsură. Parodontoza este, de
cele mai multe ori, rezultatul unei igiene orale deficitare. Periajul zilnic, folosirea a ței dentare și
curățări dentare profesionale regulate pot reduce foarte mult probabilitatea apari ției parodontozei.
24
În parodontoz ă, tratamentul este complex și urm ărește încetinirea evolu ției bolii. În func ție de
severitatea afect ării, exist ă mai multe moduri de a trata parodontoza. În faza incipient ă un tratament
nechirurgical, poate da rezultate bune în care se folosesc proceduri mai pu țin invazive:
• detartrajul – elimin ă tartrul și bacteriile de la suprafa ța dintelui și de sub gingie; poate
fi realizat utiliz ând instrumentar stomatologic sau un dispozitiv cu ultrasunete ;
• netezirea radicular ă – niveleaz ă suprafe țele rădacinilor din ților, reduc ând depunerea
ulterioar ă a tartrului ;
• folosirea de substan țe antibiotice – apă de gur ă antibacterian ă cu care se cl ătește gura
sau geluri care con țin antibiotice care se introduc în spa țiul dintre din ți și gingii sau în
buzunare dup ă o curățare profund ă.
25
4. Predicția parodontozei prin calcul neuronal
4.1 Introducere
Folosirea inteligenței artificiale în domeniul medical cr eează speranță pentru dezvoltarea și
avansarea tratamentelor.
Inteligența artificială implică analiza unor cantități foarte mari de date pentru a distinge
modele, care sunt apoi utilizate pentru a anticipa probabilitatea de reapariție. În medicină, datele pot
proveni din înregistrări electronice de sănătate sau din mai multe surse. Cercetătorii folosesc deja
inteligența artificială pentru a diagnostica o multitudine de afecțiuni medicale. Acestea includ boli de
inimă, accident vascular cerebral, diabet zaharat, viitoare abuzuri de opioide sau chiar suicid.
Această capacitate predictivă a inteligenței artificiale ridică preocupări etice semnificative în
domeniul medical. Dacă inteligența artificială genereaz ă predicții despre sănătatea pacienților, aceste
informații ar putea fi incluse în fișierele medicale. Fișele medicale ale pacienților sunt văzute de zeci
sau chiar sute de medici în timpul tratamentului medical. În plus, pacienții pot permite și altor per soane
să le acceseze datele medicale: de exemplu, atunci când vor să se angajeze sau vor să își facă o
asigurare de viață.
Medicii care oferă pacienților diagnostice cu ajutorul inteligenței artificiale ar trebui să se
asigure că sunt bine informați cu privire la avantajele și dezavantajele unor astfel de prognoze.
Oamenii pot fi încântați de perspectiva inteligenței artificiale, cu toate acestea, pentru a se asigura că
aceasta promovează cu adevărat bunăstarea pacienților, medicii și cercet ătorii ar trebui să recunoască
riscurile și să continue cu precauție.
Aceast ă lucrare dorește să extindă aplicațiile inteligenței artificiale în medicină trecând astfel
către stomatologi e, ramură care până în momentul de față nu beneficiat de multe aplica ții în aceste
sens. În urma căutărilor mele, tot ce am găsit legat de stomatologie și inteligență artificială a fost o
periuță electrică Oral -B Genius X care dispune și de o aplicație pe smartphone astfel încăt în timpul
periajului, scanează ambele arcade dentare și oferă feedback în timp real în legătură cu calitatea
periajului, zonele inflamate și chiar poate atenționa utilizatorul în cazul în care are o sângerare
gingivală etc.
Până în momentul elaborării acestei lucrări, nu am putut găsi pe piață un so ft sau orice altă
formă de realizare a unei predicții sau a unei analize asupra unei condiții stomatologice. Așadar în
26
continuare am să prezint această idee a mea transformată într -o aplicație, și de care pot spune că este
prima în această ramură a medicinii destul de complexă.
4.2 Prezentarea aplicației
Această lucrare are ca scop crearea unei aplicații pentru calcularea predispoziției parodontozei
cu ajutorul unor date obținute în urma unei consulații asupra pacientului de către medicul stomatolo g.
Pentru a calcula această predispoziție voi folosi cei mai importanți 8 indici parodon tali.
Cercetarea epidemiologică parodontală urmărește să realizeze evaluarea exactă a incidenței, a
prevalenței, a severității bolii parodontale, și influența unor fact ori igienici , genetici etc.
4.2.1 Date de intrare
Datele pacienților le -am obținut de la o clinică stomatologică, în colaborare cu un medic
parodontolog. În total am un set de 543 de înregistrări de pe fi șele diferitor pacienți, acestea
reprezentând datele de antrenare pentru aplicație.
Indicii parodontali folosiți sunt următorii:
1. Tartrul – Tartrul apare din cauza bacteriilor generate de resturile alimentare și se
prezintă sub forma unor depuneri pe dinți. Acumularea de tartru duce, în timp, la
inflamarea gingiei, (gingivită), care se manifestă prin umflare, înroșire și sângerări ale
gingiei. Dacă boala nu este tratată, gingia se va retrage și va lăsa rădăcina dinților
descoperită și predispusă apariției cariilor. Neîndepărtat, tartrul afectează și osul
retroalveolar, care se retrage, afectând stabilitatea dinților. Aceștia vor începe să se
miște și vor cădea. Astfel, cel mai dezastruos efect al tartrului este parodontoza.
2. Bacterii anaerobe – Bacteriile strict anaerobe sunt microorganisme care se dezvoltă
doar în absența oxigenului, prezența acestuia fiind foarte toxică culturii microbiene .
Frecvența infecțiilor cu germeni anaerobi nesporulați este în continuă creștere,
majoritatea infecțiilor fiind endo gene – cu manifestări clinice variabile. Deseori
infecțiile sunt polimicrobiene (cu mai multe specii de anaerobi) sau mixte (aerobi și
anaerobi).
3. Placă bacteriană – Compusă în principal din proteine salivare, bacterii, reziduuri
alimentare și toxine, placa este într -o dezvoltare continuă, colonizând tot mai multe
suprafețe dentare. Placa bacteriană nu produce distrucție dentară și parodontală, atâta
27
timp cât capacitatea de apărare a organismului nu este depășită , însă un nivel ridicat
duce la afecțiuni precum parodontită sau gingivită.
4. Retracție gingivală – Retractia gingivala reprezinta o consecinta parodontala a unei
situatii dezechilibrate in care osul sustinator al dintilor se retrage, gingia urmand osul
in drumul sau. Astfel, dintii par ma i mari in gura, sustinerea osoasa scazand.
5. Mobilitate dentară – reprezintă deplasarea dinților în plan orizontal și vertical, cauzată
de un traumatism sau de o boală parodontală.
6. Sângerare gingie – poate fi cauzată de placa bacteriană — o peliculă de bacterii care
se acumulează în permanență în jurul, pe și între dinții tăi. Dacă nu este îndepărtată,
placa bacteriană poate irita gingiile, care se înroșesc, se inflamează și sângerează.
7. Fumător – dacă pacientul este fumător sau nu.
8. Genetic – predispoziți e genetică în cazul în care pacientul a mai avut cazuri de
parodontză în familie.
Pentru a putea reprezenta cantitativ ace ști indici parodontali am studiat un ghid de etiologie a
bolii parodontale de unde am putut observa modul în care se măsoară acești factori care pot fi
clasificați astfel:
• Factori cauzali (mecanisme directe) – complexul bacterian – invazia microbiană și distrucția
structurilor parodontale de către bacterii și produși ai acestora – enzime, toxine, metaboliți.
• Factori determinanți (mecanisme indirecte) – răspunsul organismului care poate fi discordant,
neproporțional cu acțiunea agentului bacterian, nociv pentru structura parodonțiului. Poate
apare reacție autoimună, iar reacția inflamatorie disproporționată a țesuturilor creează și
întreține condițiile pentru dezvoltarea bacteriilor din punga parodontală.
• Factori favorizanți locali și generali: ocluzie nefuncțională, lucrări protetice
necorespunzătoare, factori iritativi pentru gingie, diferite afecțiuni sistemice , mobilitate
dentară, vici, retracții gingivale .
Indicatorii pentru fiecare factor se măsoară astfel:
Tartru :
• 0 = absența plăcii;
• 1 = p lacă bacteriană în 13⁄ cervicală a suprafeței vestibulare sau orale a dintelui;
• 2 = p lacă bacteriană până la 12⁄ din suprafață;
28
• 3 = p lacă bacteriană mai mare de 12⁄ din suprafață.
Bacterii anaerobe :
• 0 – 50 CFU/ml (colony forming unit – unitatea de măsură pentru bacterii folosită în
microbiologie) – nivel normal;
• 50 – 100 CFU/ml – nivel crescut;
• 100 – 180 CFU/ml – nivel critic;
Placă bacteriană:
• 100 CFU/ml = limita normal ă;
• 100 – 250 CFU/ml = placă bacteriană în 13⁄ cervicală a suprafeței vestibulare sau orale
a dintelui;
• 250 – 400 CFU/ml = placă bacteriană până la 12⁄ din suprafață;
• 400 – 600 CFU/ml = placă bacteriană mai mare de 12⁄ din suprafață.
Retracție gingivală :
• Clasa 0: Retrac ția gingival ă nu ajunge până la jonc țiunea muco -gingival ă;
• Clasa 1: Retrac ția gingival ă depășește jonc țiunea muco -gingival ă, dar f ără afectare
proximal ă, caz în care se indic ă acoperirea r ădăcinii denudate ;
• Clasa 2: Retrac ția gingival ă cu distruc ție proximal ă cu șanse destul de reduse pentru o
acoperire în totalitate ;
• Clasa 3: Retrac ția gingival ă sever ă extins ă la țesuturile moi și dure, situa ție în care
șansele de acoperire sunt nule.
Mobilitate dentară:
• Gradul 0 : Mobilitate dentară normală (fiziologică) ;
• Gradul 1 : Mobilitate detectabilă (până la 1mm orizontal) ;
• Gradul 2 : Mobilitate detectabilă (peste 1mm orizontal) ;
• Gradul 3 : Mobilitate dentară verticală detectabi lă.
29
Sângerare gingie :
• 0 – absența oricărei simptomatologii parodontale ;
• 1 – gingivoragie la palpare cu sonda, fără pungi p arodontale;
• 2 – gingivoragie și tartru, pungi p arodontale până la 3 mm ;
• 3 – pungi parodontale de 4-5 mm adâncime ;
• 4 – pungi parodontale de 6 mm și peste .
Fumător:
• 0 – nu este fumător;
• 1 – este fumător.
Genetic:
• 0 – nu au mai existat cazuri de parodontoză la părinți sau bunici ;
• 1 – au mai existat cazuri de parodontoză la părinți sau bunici .
4.2.2 Date de ieșire
Aplicația va folosi datele de intrare pentru a genera un răspuns pe baza antrenării , acesta fiind
un procentaj care semnifică predispoziția pacientului la parodontoză . Acest răspuns este interpretat de
către aplicație când se introduc datele în partea de execuție. Din această cauză vom folosi pe stratul
de ieșire doar un singur neuron.
4.2.3 Structura aplicației
Pentru a crea design -ul structurii aplicației am folosit limbajul UML (Unified Modeling
Language). UML este un limbaj pentru modelare util în domeniul software la realizarea documentelor
de specificații; în general, bun pentru comunicarea între ingineri. Faza de analiză și concepție a unui
proiect trebuie să fie gata înainte de realizarea codului, pentru a obține o atenție sporită din pa rtea
diverșilor dezvoltatori. Aceste etape au fost ignorate în trecut, dar în prezent orice dezvoltator
recunoaște importanța acestor faze deoarece s -a dovedit că de acestea depinde producerea și
refolosirea de software. În cadrul UML -ului există 9 tipuri de diagrame: diagrama cazurilor de
utilizare, diagrama de secvență, diagrama de colaborare, diagrama de clase (cea mai utilizată),
30
diagrama de stări, diagrama de componente, diagrama de construcție, diagrama de obiecte, diagrama
de activități.
4.2.3.1 Diagrama cazurilor de utilizare
Fig. 9. Diagrama cazurilor de utilizare
Diagramele cazurilor de utilizare sunt folosite pentru capturarea și reprezentarea
funcționalităților aplicației . Elementele asociate cu diagram a cazurilor de utilizare sunt actorii și
cazurile. Un actor este o entitate externă sistemului care interacționează cu acesta. Un actor descrie un
rol pe care un utilizator sau un alt sistem îl joacă în cadrul sistemului descris.
Un caz descrie o funcție a aplicației sau un serviciu pe care ace asta îl pune la dispoziție altor
sisteme sau utilizatorului extern. Cazurile sun t reprezentate grafic sub forma unor elipse ce conțin în
interiorul lor numele cazului respectiv .
31
4.2.3.2 Diagrama de stare
Fig. 9. Diagrama de stare
32
4.2.3.3 Diagrama de clase
Fig. 10. Diagrama de clase a aplica ției
Clasele folosite in dezvoltarea aplciației sunt următoarele: Form1, Pacient, PacientNormalizat,
Sinapsa, Neuron, Retea, Resources, Program . Fiecare clasă conține un set de metode descrise mai jos:
Clasa Pacient conține:
• Pacient() – este constructorul clasei , care citește din fișierul .csv datele pacienților și le
adaugă în liste.
Clasa PacientNormalizat conține:
• PacientNormalizat () – este constructorul clasei , care adaugă datele normalizate după
citire în liste.
33
Clasa Neuron conține:
• Neuron () – este constructorul clasei ;
• valoare activare() – calculează funcțiile de activare, în cazul acesta va fi funcția
sigmoidală;
• valoare activareDerivata() – această funcție este derivata celei de mai sus și este folosită
atunci când în procesul de învățare backpropagation se schimbă tăriile sinaptice;
• valoare iesire() – returnează valoarea funcției de activare;
• valoare intrare() – calculează funcțiile de intrare.
Clasa Sinapsa conține:
• Sinapsa() – este constructorul clasei;
Clasa Retea conține:
• Retea () – este constructorul clasei care inițializează rețeaua neuronală și setează valori
aleatoare tăriilor sinaptice ;
• Recalculeaz a() – este metoda care realizează calculele în rețeaua neuronală.
Clasa Form1 conține:
• backgroundWorker1_DoWork () – metoda prin care se apelează în background o altă
metodă Invatare() prin intermediul căreia rețeaua efectuează calculele necesare
antrenării ;
• backgroundWorker1_ProgressChanged() – metoda care actualizează eroarea la fiecare
epocă ;
• button1_Click() – salveaz ă rețeaua în cazul în care dorim acest lucru;
• startBtn_Click() – butonul de start pornește procesul de antrenare, apelând metoda
backgroundWorker1_DoWork () asincron;
• stopBtn_Click() – oprește procesul de antrenare;
• pauseBtn_Click() – pune pe pauză procesul de antrenare;
• uploadBtn_Click() – încarcă fișierul .xls în aplicație;
• normBtn_Click() – normalizează datele încărcate;
• invBtn_Click() – afișează lista înregistrărilor pentru antrenament ;
• testBtn_Click() – afișează lista înregistrărilor pentru testare ;
34
• Normalizare() – metodă folosită pentru normalizarea datelor;
• button3_Click() – încarcă o rețea antrenată anterior în aplicație;
• Invatare() – metodă prin intermediul căreia rețeaua efectuează calculele necesare
antrenării .
4.2.4 Arhitectura rețelei
Pentru proiectarea rețelei am luat în considerare factori precum obținerea unei acura teți a
rezultatelor foarte ridicată și minimizarea erorii . Modelul rețelei neuronale folosit la realizarea acestei
aplicații a fost perceptronul multistrat, iar algoritmul de implementare ales este algoritmul de învățare
pe baza minimizării funcției eroare. Tipul de învățare pe care l -am ales este învățarea supervizată ,
metodă ce presupune existența unui supervizor, iar legea de învățare este BackPropagation.
În urma unui studiu, am putut observa că în majoritatea aplicațiilor cu scop de pred icție a
diferitelor date medicale, economice etc. folosesc rețea perceptron multistrat iar ca lege de învățare
folosesc BackPropagation . Aceste informații m -au ajutat în alegerea aceleiași arhitecturi și pentru
proiectul de față deoarece toate aplicațiile au obținut rezultate de o acuratețe foarte bună folosind acest
tip de rețea.
Arhitectura unei rețele perceptron multristrat este următoarea:
o un strat de intrare
• în cazul de față stratul de intrare are 9 neuroni, aceștia reprezentând datele de intrare
menționate la începutul capitolului
o un strat ascuns
• pentru stratul ascuns utilizatorul poate să seteze înainte de lansarea antrenării un
anumit număr de neuroni
o un strat de ieșire
• stratul de ieșire este format dintr -un singur neuron, acesta reprezentând predicția
(procentual) parodontozei la pacient
Funcțiile folosite pentru startul de intrare și stratul ascuns sunt funcția sumă ca și funcție de
intrare respectiv funcția sigmoidală pentru activare cu următoarea formulă :
𝑓∶ 𝑅 →(0,1), 𝑓(𝑥)= 1
1 + 𝑒−𝑥 (19)
35
4.3 Tehnologiile folosite
Pentru realizarea interfe ței grafice a aplicației am folosit Microsoft Visual Studio 2017 ca și
mediu de dezvoltare bazat pe tehnologia .NET Framework. Limbajul de programare folosit este C#
deoarece am mai apelat la el în diverse proiecte , având rezultate conform așteptărilor iar ca tehnici de
programare avansate am folosit programarea orientată obiect.
.NET este un cadru (Framework) de dezvoltare software unitar ă care permite realizarea,
distribuirea și rularea aplica țiilor desktop Windows și aplica țiilor WEB. Tehnologia .NET pune
laolalt ă mai multe tehnologii (ASP, XML, OOP, SOAP, WDSL, UDDI) și limbaje de programare
(VB, C++, C#, J#) asigurând totodat ă atât portabilitatea codului compilat între diferite calculatoare cu
sistem Windows, cât și reutilizarea codul ui în programe, indiferent de limbajul de programare utilizat.
Pentru a dezvolta aplica ții pe platforma .NET este bine sa avem 3 componente esen țiale:
• un set de limbaje (C#, Visual Basic .NET, J#, Managed C++, Smalltalk, Perl, Fortran,
Cobol, Lisp, Pascal etc),
• un set de medii de dezvoltare (Visual Studio .NET, Visio),
• și o bibliotecã de clase pentru crearea serviciilor Web, aplica țiilor Web și aplica țiilor
desktop Windows.
Limbajul C# fost dezvoltat de o echipã restrâns ă de ingineri de la Microsoft, echip ă din care
s-a eviden țiat Anders Hejlsberg (autorul limbajului Turbo Pascal și membru al echipei care a proiectat
Borland Delphi).
C# este un limbaj simplu, cu circa 80 de cuvinte cheie, și 12 tipuri de date predefinite. El
permite programarea structurat ă, modular ă și orientat ă obiectual, conform perceptelor moderne ale
program ării profesioniste.
Principiile de bazã ale program ării orientate pe obiecte ( încapsulare , moștenire , polimorfism )
sunt elemente fundamentale ale program ării C#. În mare, limbajul moștenește sintaxa și principiile de
programare din C++. Sunt o serie de tipuri noi de date sau func țiuni diferite ale datelor din C++, iar
în spiritul realiz ării unor secven țe de cod sigure (safe), unele funcțiuni au fost ad ăugate (de exemplu,
interfe țe și deleg ări), diversificate (tipul struct), modificate (tipul string) sau chiar eliminate
(moștenirea multipl ă și pointerii c ătre func ții). Unele func țiuni (cum ar fi accesul direct la memorie
folosind pointeri) au fost p ăstrate, dar secven țele de cod corespunz ătoare se consider ă ”nesigure”.
Pentru ralizarea graficului antrenării am folosit biblioteca ZedGraph. ZedGraph reprezintă un
set de clase scrise în limbajul C#, prin intermediul cărora s e pot crea diferite grafice ușor de
implementat.
36
4.4 Utilizarea aplicației
Interfața aplicației este una simplă și intuitivă. La lansarea programului se deschide fereastra
unde sunt prezente două butoane ”Incărcare fișier” și ”Normalizare”.
Fig. 10. Fereastra de început
Fig. 11. Datele încărcate în aplicație
37
Pentru a încărca datele în aplicație, butonul ”Incărcare fișier” deschide o fereastră file explorer
de unde putem alege fișierul .xls cu datele pacienților. După ce au fost încărcate datele trebuie
normalizate pentru a putea fi folosite în următoarea etapă a aplicației și anume la antrenare.
Fig. 12. Datele normalizate
Cele două butoane prezente în Fig. 12, ”Invatare” și ”Testare” afișează setul de date folosite
pentru antrenare respectiv testare. Setul de date de testare reprezintă 20% din totalul datelor iar acestea
nu vor intra în procesul de antrenare.
În continuare urmează co nfigurarea rețelei pentru procesul de antrenare. Din acest punct de
vedere, interfața prezintă patru modificatori ce pot fi setați: numărul de epoci, numărul de neuroni pe
stratul ascuns, eroare admisă și rata de învățare.
După ce am setat valorile dorite, butonul ”Start Invatare” inițializează procesul de antrenare.
Durata acestuia depinde în funcție de numărul de epoci setate cât și de rata de învățare. În cazul în
care dorim să oprim temporar procesul, butonul ”Pauza Invatare” pune pe pauză antren area iar dacă
dorim să oprim de tot, butonul ”Stop Invatare” încheie antrenarea.
38
Fig. 13. Antrenarea rețelei
În cazul în care am avut parte de un process de antrenare foarte bun (acesta poate varia mereu)
putem să salvăm tăriile sinaptice într-un fișier .txt, acțiune realizată cu ajutorul butonului ”Salvează
Invatare” .
Fisierul text ca și structură, conține următoarele date:
• pe primul rând este numărul de neuroni de pe stratul de intrare ;
• pe următorele n rânduri sunt tăriile sinaptice pentru numărul de neuroni de pe primul
strat;
• urmează un rând cu numărul de neuroni de pe stratul ascuns ;
• pe următoarele n rânduri sunt tăriile sinaptice pentru cei n neuroni din stratul ascuns
separate cu virgulă ;
• urmează un rând cu numărul de neuroni de pe stratul de ieșire ;
• pe ultimul rând sunt tăriile sinaptice pentru cei n neuroni din stratul de ieșire separate
cu virgulă .
39
Câmpul ”Eroare curenta” afișează în timp real eroarea la fiecare epocă. Când antrenarea atinge
numărul de epoci setat din interfață, o fereastră de tipul MessageBox afișează un mesaj cu ultima
eroare înregistrată de rețea, după cum se poate vedea în Fig. 14.
Fig. 14. Ultima eroare înregistrată
40
5. Testarea aplicației
Acest capitol cuprinde testarea aplicației și int erpretarea rez ultatelor . Totodată pentru a testa
performanța aplicației, am cr eat diferite scenari i pentru a putea observa comportamentul în diferite
circumstanțe și pentru a găsi configurația optima pentru rezultate c ât mai exacte.
După ce antrenarea s -a terminat, în faza de testare verificăm daca procesul a decurs conform
așteptărilor. Fereastra aplicației oferă doua variante, prima fiind testarea rețelei antrenate anterior iar
a doua variantă fiind importarea unei rețele salvate.
Fig. 15. Rezultatul testării
Datele folosite la comparație reprezintă procentul de 20% din datele initial importate în
aplicație dar care nu au intrat în procesul de antrenare.
Rezultatele sunt afișate prin comparație într -un textbox. Precizia aplicației este reprezentată în
câmpul ”Procentaj corecte” . Un procentaj de sub 20% este considerat un rezultat slab , între 20% și
70% este un procentaj bun iar peste 70% este un procentaj foarte bun .
41
5.1 Execuția aplicației
Ultima parte a aplicației estea cea de execuție . Aici utilizatorul introduce datele de pe fișa
pacientului iar la urmă calcularea rezultatului final se face prin butonul ”Calculare predispozitie” :
Fig. 16. Execuția aplicației
Fereastra afișează în același timp și mai multe informații în legătură cu fiecare indice. Aceste
informații se află sub meniul ”Vezi indicii de ghidaj” iar când cursorul este ținut deasupra unui label
de culoare albastră se afișează mai multe detalii (tool Tip). De asemenea mai sunt prezen te și niște
intervale de procentaje pentru interpretarea rezultatelor.
5.2 Analiză antrenare rețea
Pentru a putea găsi un pattern în care rețeaua se antrenează cel mai bine, am decis să fac o
analiză a procesului de învățare prin setarea diferitelor valori asupra modificatorilor . Pentru început
am schimbat consecutiv numărul neuronilor de pe stratul ascuns :
42
Compararea erorilor în funcție de numărul neuronilor pe startul ascuns
Număr epoci Neuroni strat ascuns Eroare admisă Eroare finală
200 10 0,0050 0,01066
200 20 0,0050 0,01004
200 30 0,0050 0,00994
200 40 0,0050 0,00956
200 50 0,0050 0,00903
200 60 0,0050 0,00874
200 70 0,0050 0,00840
Ce am putut constata în urma primului test este că pe măsură ce numărul de neuroni de pe
stratul ascuns crește, eroarea finală scade treptat . Pornind de la rezultatul cel mai bun și anume
configurația cu 70 de neuroni pe startul ascuns am făcut un nou test unde am modificat numărul de
epoci . În urma testu lui am observant că eroarea rezultată se apropie și mai mult de țintă ceea ce
înseamnă că rețeaua învață.
Compararea erorilor în funcție de numărul epocilor
Număr epoci Neuroni strat ascuns Eroare admisă Eroare finală
200 70 0,0050 0,00840
250 70 0,0050 0,00820
300 70 0,0050 0,00802
350 70 0,0050 0,00758
400 70 0,0050 0,00721
500 70 0,0050 0,00713
600 70 0,0050 0,00704
43
5.3 Impactul datelor de antrenare asupra procesului de învățare a rețelei
neuronale
Pentru determinarea capacității de învățare a unei rețele neuronale , un factor important îl
reprezintă numărul de date care este folosit în mulțimea de antrenament. O rețea neuronală ce folosește
un set de date cu un număr mare de exemple este o rețea mai eficientă din punct de vedere al
rezultatelor, capacitatea acesteia de generalizare crescând.
Pentru realizarea acestei comparații am folosit un set de 25, 50, 100 respectiv 500 de date.
Din imaginile atașate mai jos se pot vedea diferențele:
Fig. 17. Execuția aplicației cu un set de 25 de date
Configurația rețelei pentru acest test a fost următoarea:
• număr de epoci: 200;
• eroare admisă: 0.0050;
• neuroni pe stratul ascuns: 70;
• rata de învățare: 0.20.
44
Fig. 18. Execuția aplicației cu un set de 50 de date
Fig. 19. Execuția aplicației cu un set de 100 de date
45
Fig. 20. Execuția aplicației cu un set de 500 de date
În urma testelor efectuate cu aceste seturi diferite de date , se poate observa că numărul de
exemple pe care rețeaua le folosește influențează rezultatul astfel că predicția este mai bună . Mai jos
am atașat rezultatele testării:
Compararea erorilor în funcție de setul de date
Număr epoci Neuroni strat ascuns Eroare admisă Set de date Eroare finală
200 70 0,0050 25 0,02268
200 70 0,0050 50 0,01266
200 70 0,0050 100 0,01056
20 70 0,0050 500 0,00843
46
6. Concluzii
Considerat ă odinioar ă amenin țare futurist ă pentru omenire, inteligen ța artificial ă este în
prezent parte a vie ții de zi cu zi. În domeniul medical, inteligen ța artificial ă schimb ă jocul cu aplica țiile
în suportul decizional, analiza imaginilor și triajul pacien ților. În prezent, inteligen ța artificial ă îi ajut ă
pe doctori s ă ia decizii mai inteligente la patul bolnavului, imbun ătățeste acurate țea și ușurința
interpret ării examin ărilor imagistice și reducere epuizarea medicului.
De exemplu, algoritmii de operare ai dive rselor instrumente medicale au capacitatea de a
eviden ția zonele cu probleme la nivelul unor imagini captate, ajut ă în examin ările de screening și de
asemenea aduc beneficii în ordonarea rapid ă a multitudinii de informa ții din dosarul electronic de
sănătate al pacientului. Integrarea inteligen ței artificiale în domeniul s ănătății face ca asisten ța
medical ă acordat ă pacien ților s ă fie mai inteligent ă, ușurând asfel munca .
Lucrarea ”Analiza și predicția parodontozei prin calcul neuronal ” tratează o problemă existentă
în momentul de față în stomatologie . Prin implementarea unor formule și algoritmi am reușit să creez
o aplicație experimentală la scală mica pentru predicția parodontozei ce poate fi folosită atât de medicii
stomatologi cât și de persoane ce nu au pregătire în acest domeniu, având nevoie doar de analizele
aferente indicilor parodontali.
Am încercat să fac aplicația cât mai intuitivă și cu o interfață grafică cât mai plăcută vizual.
Prin aplicarea algoritmului de învățare backpropagation al perceptronului multistrat și a formulelor
aferente , am realizat un proces de antrenare functional cu rezultate destul de bune. Cunoștințele
dobândite la cursurile de inteligență artificială din cadrul facultății, m -au ajutat mult în a înțelege felul
în care funcționează rețelele neuronale și modul în care ele pot fi implementate.
6.1 Idei de îmbunătățire
Ținând c ont că vreau să continui studiile la masterat și mai exact la programul de Inteligență
artificială , consider că cu ajutorul acestor studii mai specializate aș putea perfecționa aplicația în
diferite feluri . Probabil aș putea încerca să implementez și alți algoritmi de antrenare, mai complecși
cu care să am rezultate considerabil mai bune. În același timp aș putea pune în aplicare alte variante
ale perceptronului multistrat care ar putea crește eficiența rețelei.
Totodată în urma discuției cu medicul parodontolog , aplicația ar putea fi îmbunătățită prin
adăugarea unei funcționalități de import a radiografiilor dentare. Prin recunoașterea unor pattern -uri
47
din diferite cazuri de radiografii cu afecțiuni parodontale, aplicația ar pute a să ia în calcul incă un
număr de indicatori care ar face predicția mult mai exactă.
Pe lângă aceste completări, un set de date mult mai mare cu o diversitate mult mai mare de
cazuri și în același timp cu atribute noi care să crească acuratețea predicție i ar putea duce la obținerea
unui diagnostic mai exact.
În concluzie lucrarea de față subliniază importanța calcului neuronal în domeniul stomatologic,
iar prin realizarea ei am reușit să aprofundez mult mai bine acest domeniu al inteligenței artificiale și
am putut descoperi noi metode de diagnoză care ar putea ușura munca fiecărui medic cu specializare
în parodontologie.
48
Bibliografie
1. Enăchescu Călin, “Calculul neuronal “, Editura Casa Cărții de Știință , Cluj-Napoca
2008 .
2. Horia Traian Dumitru, “Parodontologie “, Editura Via ța Medicală Românească ,
București 2009 .
3. Sho L. Yamamoto, “Periodontal Disease Symptoms, Treatment and Prevention “,
Editura Nova Science Publishers, 2011 .
4. Serge Dibart, “Practical Periodontal Diagnosis and Treatment Planning “, Editura John
Wiley & Sons, 2009 .
5. Enăchescu Călin, “Bazele teoretice ale rețelelor neuronale “, Editura Casa Cărții de
știință Cluj Napoca 2008 .
6. Enăchescu Călin, “Data Predictions using Neural Networks” , Proceedings of the
International Conference on Knowledge Engineering, Principles and Techniques
“KEPT -2007”, "Babes -Bolyai" University of Cluj -Napoca, Cluj -Napoca , Editura
Presa Universitară Clujeană, 2007 .
7. https://diviziapentrumedici.ro/utile/inteligenta -artificiala -in-medicina -de-mare -ajutor –
pentru -doctori/
8. https://medium.com/@jayeshbahire/the -xor-problem -in-neural -networks –
50006411840b
9. Marvin Minsky , M.L., Seymour Papert , S.A., “Perceptrons “, MIT Press. Cambridge,
1969 .
10. http://drcitucarmen.ro/parodontoza -boala -parodontala/
11. Nicolae Sfetcu , “Big Data “, Editura Multimedia Publishing, București 2019 .
12. http://drcitucarmen.ro/Parodontoza.pdf
13. Mihnea Horia Vrejoiu, “Rețele neuronale convoluționale, Big Data și Deep Learning
în analiza automată de imagini ”, Institutul Național de Cercetare -Dezvoltare în
Informatică – ICI București 2019 .
14. Adrian Niță, Marian Niță, Nicolae Olăroiu, “Introducere în .Net Framework “, București
2008 .
49
15. https://medijobs.ro/blog/inteligenta -artificiala -in-medicina -avantaje -si-dezavantaje
16. Delia Mira Berceanu -Văduva , “Curs de bacteriologie specială “, Editura Vi ctor Babeș,
Timișoara 2018 .
17. https://www.reginamaria.ro/articole -medicale/ce -inovatii -vor-transforma -medicina –
anul-2019
18. https://www.omniadental.ro/parodontologie/
19. Michael A. Arbib, “The Handbook of Brain Theory and Neural Network Second
Edition “, 2003 .
20. Amit Konar , “Artificial Intelligence and Soft Computing Behavioral and Cognitive
Modeling of the Human Brain “, Jadavpur University, Calcutta, India 1999 .
21. http://www.etc.tuiasi.ro/cin/Courses/Epiom/Course/Curs_Rtizrt123XuAsdr/Capitol%
20RNA.pdf
22. http://i mag.pub.ro/ro/cursuri/ISIA/lab/lab6_ISIA.html
50
Listă figuri
Fig. 1. Structura unui neuron biologic ………………………….. ………………………….. ………………………… 9
Fig. 2. Structura unui neuro n artificial ………………………….. ………………………….. ……………………… 11
Fig. 3. Funcția de activare liniară ………………………….. ………………………….. ………………………….. … 12
Fig. 3.1 Funcția de activare treaptă ………………………….. ………………………….. ………………………….. 13
Fig. 3.2 Funcția de activare signum ………………………….. ………………………….. ………………………….. 13
Fig. 3.3 Funcția de activare tangent ă hiperbolică ………………………….. ………………………….. ……… 13
Fig. 3.4 Funcția de activare sigmoidală ………………………….. ………………………….. …………………….. 14
Fig. 4. Perceptron simplu ………………………….. ………………………….. ………………………….. …………….. 15
Fig. 5. Valorile de intrare a funcției 𝑿𝑶𝑹 într-un grafic ………………………….. ………………………… 17
Fig. 6. Arhitectura unui perceptron multistrat ………………………….. ………………………….. …………. 18
Fig. 7. Reprezentarea schematică a modului de propagare înapoi a erorii ………………………….. 21
Fig. 8. Diferen ța dintre un dinte sănătos și unul afectat de parodontoză ………………………….. … 22
Fig. 9. Diagrama cazurilor de utilizare ………………………….. ………………………….. ……………………… 30
Fig. 9. Diagrama de stare ………………………….. ………………………….. ………………………….. …………….. 31
Fig. 10. Diagrama de clase ………………………….. ………………………….. ………………………….. …………… 32
Fig. 10. Fereastra de început ………………………….. ………………………….. ………………………….. ……….. 36
Fig. 11. Datele încărcate în aplicație ………………………….. ………………………….. …………………………. 36
Fig. 12. Datele normalizate ………………………….. ………………………….. ………………………….. ………….. 37
Fig. 13. Antrenarea rețelei ………………………….. ………………………….. ………………………….. …………… 38
Fig. 14. Ultima eroare înregistrată ………………………….. ………………………….. ………………………….. .. 39
Fig. 15. Rezultatul testării ………………………….. ………………………….. ………………………….. ……………. 40
Fig. 16. Execuția aplicației ………………………….. ………………………….. ………………………….. …………… 41
Fig. 17. Execuția aplicației cu un set de 25 de date ………………………….. ………………………….. …….. 43
Fig. 18. Execuția aplicației cu un set de 50 de date ………………………….. ………………………….. …….. 44
Fig. 19. Execuția aplicației cu un set de 100 de date ………………………….. ………………………….. …… 44
Fig. 20. Execuția aplicației cu un set de 500 de date ………………………….. ………………………….. …… 45
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Analiza și predicția parodontozei prin calcul neuronal [621706] (ID: 621706)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
