Entre octubre de 2020 i febrer de 2021, el Toni Domenech i jo, la Belén Alastruey, vam realitzar l’experience Detecció d’Anomalies al So, amb l’ajuda del Marc Alvinyà i el Xavier Cabanes a l’equip d’AI.

 

Idea i objectius

És habitual que, estant al cotxe, ens adonem que el motor fa un soroll estrany, i conseqüentment decidim portar el cotxe al mecànic per evitar quedar-nos tirats en mig d’una carretera. En aquest cas, podem fer això perquè estem molt familiaritzats amb el so del motor del nostre cotxe, però a l’hora d’analitzar sons que no ens són habituals, o on les anomalies poden ser imperceptibles per a l’oïda humana, no estaríem capacitats per detectar un mal funcionament de forma anticipada.

L’objectiu d’aquesta experience és crear un algoritme que reprodueixi el procés que un humà realitza en el cas del cotxe, per poder-lo utilitzar en qualsevol classe de so. És a dir, farem que un algoritme ‘s’acostumi’ al so habitual que fa una màquina, i que quan senti un so prou diferent d’aquests, els reconegui com a anomalies i enviï un avís. Utilitzant aquest algoritme, per exemple, es podrien analitzar els sons que produeixen les màquines d’una fàbrica i en cas de detectar-se una anomalia, s’avisaria a un tècnic abans que la màquina fallés i es produís una aturada de la producció.

 

Desenvolupament del projecte

Per fer aquesta tasca s’han utilitzat xarxes neuronals, en concret un tipus de model anomenat autoencoder. Un autoencoder consta de dues parts principals: l’encoder i el decoder. L’encoder agafa un input i el comprimeix, i després el decoder l’intenta reconstruir perquè s’assembli el màxim possible a la informació que teníem abans d’utilitzar l’encoder.

Imatge: Autoencoder. Autora: Belen Alastruey

Com podeu veure a l’exemple de la imatge, l’autoencoder és capaç de reconstruir prou bé la imatge inicial, però mai ho farà de forma perfecta perquè el decoder només té accés a la informació comprimida que obté de l’encoder.

Per fer la detecció d’anomalies ‘ensenyarem’ a l’algoritme a reconstruir espectrogrames de sons, mitjançant un entrenament únicament amb sons normals. Per tant, l’autoencoder aprendrà a reconstruir bé els sons normals de la màquina. D’aquesta manera, un cop entrenat l’algoritme, podrem diferenciar que un so és anòmal perquè l’algoritme no el sabrà reconstruir i l’error de reconstrucció serà més gran.

 

Resultats

Vam entrenar i provar aquest algoritme amb diferents màquines, i després de mesos de treball ja teníem l’algoritme final! En general els resultats del projecte van ser bastant bons, ja que com es pretenia, es pot distingir de forma bastant clara si un so és anòmal o no analitzant el seu error de reconstrucció.

Com es pot veure al següent gràfic, on estan representats els errors de reconstrucció d’una de les màquies provades, quan l’error de reconstrucció és superior a 0.11 aproximadament, podem dir que es tracta d’un so anòmal i cal avisar a un tècnic perquè revisi la màquina.

Imatge-gràfic extret de l’Experience

 

Com els resultats d’aquesta experience van ser bastant bons, actualment ja ha sorgit un projecte per aprofitar aquest cas d’ús, i s’espera poder-lo aplicar a més clients en el futur.

Foto de la capçalera tycoon de Depositphotos

Experiences,Open,soroll,