Sie befin­den sich hier:Start­sei­te/Blog/Wenn die KI es sich anders über­legt … und was das für den Test bedeutet

Wenn die KI es sich anders überlegt … und was das für den Test bedeutet

Lese­zeit: 5 Minu­ten
ki medizintechnik 2 socialshare

Wie alle Soft­ware-Fir­men beob­ach­ten wir einen deut­li­chen Trend weg von der „klas­si­schen“ Soft­ware hin zur soge­nann­ten künst­li­chen Intel­li­genz. So auch in der Medi­zin­tech­nik. Schon frü­her gab es Mus­ter­er­ken­nungs­ver­fah­ren, wel­che die Medi­zi­ner bei der Dia­gno­se unter­stütz­ten. Die­se Ver­fah­ren basie­ren auf fest pro­gram­mier­ten Algo­rith­men mit vor­ab defi­nier­ten Regeln, was zwar zu guten Ergeb­nis­sen führt, in der Regel jedoch lang­wie­rig zu pro­gram­mie­ren ist. Außer­dem sind die Ver­fah­ren nicht lernfähig.

Nun gibt es Deep Lear­ning-Ver­fah­ren, die dies ändern.

Hier wird das Sys­tem zunächst mit Trai­nings­da­ten ange­lernt. Wir sagen dem Pro­gramm, wel­ches Bild Auf­fäl­lig­kei­ten zeigt und wel­ches nicht. Im Pro­duk­tiv­be­trieb las­sen wir das Pro­gramm dann die antrai­nier­ten Aus­wer­tungs­ver­fah­rens auf neue Unter­su­chungs­er­geb­nis­se anwen­den. Wei­ter­ler­nen­de Sys­te­me kön­nen oben­drein ihren Erfah­rungs­schatz erwei­tern und sich durch „Nach­trai­nie­ren“ an loka­le Beson­der­hei­ten und neue Ent­wick­lun­gen anpassen.

Doch der Trend zu immer mehr Deep Lear­ning wirft Fra­gen auf. Unse­rer Erfah­rung nach stößt KI in der Medi­zin­tech­nik auf zwei gro­ße Hür­den. Die ers­te Hür­de ist regu­la­to­ri­scher Art. Hier hat die FDA vor eini­ger Zeit ein höchst inter­es­san­tes Kon­zept­pa­pier her­aus­ge­ge­ben: Pro­po­sed Regu­la­to­ry Frame­work for Modi­fi­ca­ti­ons to Arti­fi­cial Intelligence/Machine Lear­ning (AI/ML)-Based Soft­ware as a Medi­cal Device (SaMD). Dar­in wird die Fra­ge dis­ku­tiert, wie die Zulas­sung wei­ter­ler­nen­der Sys­te­me aus­se­hen könn­te. Im Doku­ment fal­len Begrif­fe wie „Good Machi­ne Lear­ning Prac­ti­ces“, „SaMD Pre­spe­ci­fi­ca­ti­ons” und „Algo­rithm Chan­ge Pro­to­col”. Die Grund­idee besteht dar­in, vor­ab zu spe­zi­fi­zie­ren, wohin sich die KI ent­wi­ckeln darf und Mecha­nis­men zu imple­men­tie­ren die sicher­stel­len, dass sie (die KI) im lau­fen­den Betrieb nicht aus der Rei­he tanzt.

Die zwei­te Hür­de ist eigent­lich ganz klas­si­scher Art und betrifft die Qua­li­täts­si­che­rung. Zu den guten Prak­ti­ken im Machi­ne Lear­ning gehört natür­lich, Trai­nings­da­ten und Vali­die­rungs­da­ten sau­ber zu tren­nen. Wäh­rend die Trai­nings­da­ten dazu ver­wen­det wer­den, den Algo­rith­mus anzu­ler­nen, die­nen die Vali­die­rungs­da­ten für den Test. Bei­de Daten­pools müs­sen streng getrennt wer­den, denn sonst kön­nen wir das Test­ergeb­nis blind vor­her­sa­gen. Die Trai­nings­da­ten wer­den immer „pas­sed“ ergeben.

Wenn Test­da­ten nicht oder nur schwer künst­lich erzeugt wer­den kön­nen, muss auf rea­le Daten zurück­ge­grif­fen wer­den. Jeder, der schon ein­mal Test­da­ten für dia­gnos­ti­sche Soft­ware zusam­men­stel­len muss­te, weiß um die damit ver­bun­de­nen Schwie­rig­kei­ten. Zum einen müs­sen die Daten anony­mi­siert wer­den. Zum ande­ren sol­len sie hin­sicht­lich der Krank­heits­bil­der, Pati­en­ten­ei­gen­schaf­ten (Alter, Geschlecht, Gewicht…) reprä­sen­ta­tiv sein. Bei einer KI kommt noch erschwe­rend hin­zu, dass es zum „Bias“-Effekt kom­men kann.

Bei­spiel 1: Die meis­ten Men­schen in Deutsch­land ster­ben im Kran­ken­haus. Dar­aus zu schlie­ßen, Kran­ken­häu­ser sei­en lebens­ge­fähr­lich, ist nicht kor­rekt. (Zuge­ge­ben: Man kann dar­über strei­ten, wie gesund ein Kran­ken­haus­auf­ent­halt ist, aber Sie ver­ste­hen, wor­auf ich hin­aus will…). Zu genau sol­chen Fehl­schlüs­sen kann es jedoch beim Deep Lear­ning leicht kom­men. Die Lösung besteht dar­in, eine „Heat Map“ anzei­gen zu las­sen die dar­stellt, wor­an die KI ihre Ent­schei­dung fest­macht. Dadurch wird die Ent­schei­dung für den Medi­zi­ner nachvollziehbar.

Bei­spiel 2: Man­che Krank­hei­ten sind sehr ungleich auf die Geschlech­ter auf­ge­teilt. Dass auch Män­ner Brust­krebs bekom­men kön­nen, mag Ärz­ten bekannt sein, aber wie bekom­me ich Test­da­ten, um die­se Fein­hei­ten auch einer KI beizubringen?

Das zwei­te Bei­spiel mag extrem sein, illus­triert jedoch, wor­auf ich hin­aus­will. Es ist unter Umstän­den schon schwie­rig, eine aus­rei­chen­de Anzahl an Trai­nings­da­ten zu bekom­men. Umso glück­li­cher sind wir Tes­ter, wenn schließ­lich sogar Vali­die­rungs­da­ten vorliegen.

Und dann kommt es, das Update des Algo­rith­mus. Die Magie des Deep Lear­nings wird erneut ange­sto­ßen und plötz­lich kom­men völ­lig neue Ergeb­nis­se her­aus. In einem unse­rer Pro­jek­te hat­te sich die Sen­si­ti­vi­tät des Algo­rith­mus geän­dert. Kran­kes Gewe­be wur­de erst ab einem höhe­ren Schwell­wert erkannt. Sys­tem­test­fäl­le, die im letz­ten Test­lauf noch voll­kom­men in Ord­nung waren, schlu­gen im Regres­si­ons­test fehl. Wir muss­ten war­ten, bis neue Vali­die­rungs­da­ten zur Ver­fü­gung stan­den. Dabei tes­ten wir gar nicht den Algo­rith­mus an sich, son­dern die Funk­tio­nen ”drum­her­um”, also die Anzei­ge, das Abspei­chern etc… Daher war es nicht so offen­sicht­lich, dass auch unse­re Tests betrof­fen sein würden.

Lei­der kann ich an die­ser Stel­le aktu­ell kei­ne bereits bewähr­te Lösung für das Pro­blem anbie­ten. Die­ser Bei­trag ist ein Erfah­rungs­be­richt – gedacht als War­nung an alle, die sich mit dem Test von KI befas­sen. Ich habe jedoch eine Rei­he von Ideen, die sich als hilf­reich erwei­sen könnten:

  • Stel­len Sie einen Ver­ant­wort­li­chen für die Ver­wal­tung der Test­da­ten ab (oder ein), der sich haupt­säch­lich um die­ses The­ma küm­mert und nicht – wie der Pro­duct Owner – noch jede Men­ge ande­re Auf­ga­ben erfül­len muss. Damit ver­mei­den Sie einen wei­te­ren Fla­schen­hals im Pro­jekt. (Der Pro­duct Owner ist ja auf jeden Fall schon einer.)
  • Ver­an­kern Sie im Ände­rungs­ma­nage­ment nicht nur die Fra­ge, ob die Ände­run­gen Ein­fluss auf die Test­fäl­le hat, son­dern ganz expli­zit auch die Fra­ge, ob Test­da­ten betrof­fen sein könn­ten. Den­ken Sie dabei auch an die Systemtests.
  • Ver­an­kern Sie die Bereit­stel­lung der Test­da­ten in der Defi­ni­ti­on of Done des Algorithmus.

Das Ände­rungs­ma­nage­ment von Test­da­ten ist übri­gens auch außer­halb der künst­li­chen Intel­li­genz eine Her­aus­for­de­rung. Im daten­ge­trie­be­nen Test beob­ach­ten wir bei­spiels­wei­se, dass die Qua­li­tät der Test­da­ten über die Zeit hin­weg abnimmt. Der ers­te Daten­pool ist noch sehr reprä­sen­ta­tiv. Dann wird ein neu­er Para­me­ter ein­ge­führt. Ist die­ser optio­nal, blei­ben die bestehen­den Test­da­ten wei­ter­hin gül­tig. Es wer­den also nur ein paar neue Daten­sät­ze hin­zu­ge­fügt, die­se eben die­sen optio­na­len Para­me­ter prü­fen sol­len. Das führt jedoch dazu, dass bei 99% der Test­da­ten besag­ter Wert nie gesetzt ist. Ist der Para­me­ter zwin­gend erfor­der­lich, muss ich die bestehen­den Test­da­ten anpas­sen. Auch hier ist der Weg des gerings­ten Wider­stan­des ver­lo­ckend. Ich set­ze ein­fach in eini­gen Test­fäl­len die ver­schie­de­nen Äqui­va­lenz­klas­sen für den neu­en Para­me­ter ein und fül­le alle ver­blei­ben­den Daten­sät­ze mit einem gül­ti­gen Wert auf. Auch hier haben wir bei 99% der Test­da­ten den glei­chen Wert.

Wir set­zen an die­ser Stel­le auf Daten­mo­del­lie­rung. Ganz wie beim modell­ba­sier­ten Test lässt sich die Kom­bi­na­to­rik sehr gut in Ablauf­dia­gram­men dar­stel­len. Der Test­fall­ge­ne­ra­tor – in unse­rem Fall natür­lich die MBT­sui­te – lie­fert uns dann einen mini­ma­len Satz an Test­da­ten, der gesi­chert alle Äqui­va­lenz­klas­sen bzw. Grenz­wer­te abdeckt. Bei jeder Ände­rung erhal­te ich einen neu­en, opti­ma­len Satz an Test­da­ten, was die Vari­anz des Tests erhöht. Ich wie­der­ho­le also nicht zwangs­läu­fig in jedem Sprint die iden­ti­schen Tests der ver­gan­ge­nen Sprints. Dadurch erhö­hen sich die Chan­cen, doch noch etwas zu fin­den und wir umge­hen das famo­se Pes­ti­zid-Para­do­xon des ISTQB® Cer­ti­fied Tes­ter (wenn alles tot ist, bringt es nichts mehr, wei­ter­hin Gift zu spritzen).

Sie möch­ten mehr erfah­ren? Neh­men Sie ger­ne Kon­takt zu mir auf.

Kommentare und Feedback gerne via Social Media:

Blei­ben Sie auf dem Lau­fen­den – mit dem monat­li­chen sepp.med Newsletter: