Guida autonoma: anche errori software dietro l’incidente mortale del 2018

L'auto dopo l'incidente. Foto del NTSB
L'auto dopo l'incidente. Foto del NTSB - https://www.ntsb.gov/investigations/AccidentReports/Pages/HWY18MH010-prelim.aspx, Public Domain, Link

Nel marzo del 2018 a Tempe, in Arizona, un veicolo a guida autonoma di Uber travolse e uccise una persona. Il SUV Volvo XC90 viaggiava a 62 chilometri orari al momento dell’impatto con Elaine Herzberg, 49 anni, che in quel momento era a piedi e attraversava la strada spingendo la sua bicicletta, di notte e lontana dalle strisce di attraversamento. L’autista di emergenza del veicolo – contravvenendo alle regole – guardava uno show sul tablet e non si accorse in tempo della collisione. L’incidente è considerato il primo dove un’auto a guida autonoma uccide un pedone.

Adesso Ars Technica ha pubblicato un dettagliato resoconto di quali sono state le attività del software e le scelte (sbagliate) di programmazione che hanno portato al tragico incidente. Come spesso avviene, la fatalità si è verificata al termine di una serie di concause, fra cui fattori umani come la distrazione dell’autista di emergenza e l’incauto attraversamento della vittima. Tuttavia vi furono anche diversi errori del software, fra cui:

  • le difficoltà avute dall’algoritmo di classificazione nel riconoscere la persona (non è stata mai stata identificata come pedone)
  • il fatto che, ogni volta che cambiava la classificazione, l’algoritmo non teneva conto delle posizioni precedenti, fallendo quindi nel calcolare la traiettoria dell’elemento e non capendo che era in collisione
  • il software prevedeva un secondo di “soppressione delle azioni” appena individuata un’emergenza, per evitare brusche attività in caso di falsi positivi, lasciando quindi passare un intero secondo senza fare nulla
  • quando l’impatto era considerato inevitabile il sistema frenava gradualmente anziché inchiodare
  • la Volvo XC90 ha un sofisticato sistema di frenata d’emergenza, che però usava le stesse frequenze radio del radar di Uber, quindi per evitare interferenze il sistema di Volvo veniva disattivato non appena partiva il sistema di guida autonoma di Uber

Dall’incidente Uber ha corretto molti aspetti del software, ad esempio eliminando il secondo di “soppressione delle azioni” e cambiando le frequenze del radar per consentire al sistema frenante di Volvo di mantenere l’operatività.

Commento: nell’aviazione civile si parla informalmente di “tombstone mentality”, ovvero la tendenza a correggere difetti di sicurezza solo dopo che hanno causato morti. Il settore della guida autonoma non ha questa mentalità, ma purtroppo anche qui alcuni difetti di progettazione sono visibili solo dopo che hanno rovinosamente fallito. È importante ricordare comunque che il numero di incidenti per chilometri percorsi è nettamente inferiore per le auto a guida autonoma se paragonate alla guida umana.

Mi sono appassionato all'intelligenza artificiale da quando ho potuto vedere all'opera i primi sistemi esperti negli anni '80. Già dal 1989 mi occupavo di cybersecurity (analizzando i primi virus informatici) ma non ho mai smesso di seguire gli sviluppi dell'AI. Dopo la laurea in Management ho conseguito una specializzazione in Business Analytics a Wharton, una certificazione Artificial Intelligence Professional da IBM e una sul machine learning da Google Cloud. Sono socio fondatore del chapter italiano di Internet Society, membro dell’Associazione Italiana esperti in Infrastrutture Critiche (AIIC), della Association for the Advancement of Artificial Intelligence (AAAI) e dell’Associazione Italiana per l’Intelligenza Artificiale (AIxIA). Dal 2002 al 2005 ho servito il Governo Italiano come advisor del Ministro delle Comunicazioni sui temi di cyber security. Oggi partecipo ai lavori della European AI Alliance della Commissione Europea e a workshop tematici della European Defence Agency e del Joint Research Centre. Questo blog è personale.