Stan prac · 21.10.2026

Wynik,razem z jego granicami.

Prototyp badawczy AI do wspierania diagnostyki onkologicznej, który ma działać lokalnie na urządzeniu. Poniżej to, co zostało zmierzone w repozytorium, razem z tym, co nie wyszło.

dane publiczne TCGAwalidacja po placówkachnie jest wyrobem medycznym
SKAN · fragmenty 224×224ilustracja

Ilustracja generowana w kodzie, nie prawdziwy preparat i nie wynik modelu. Najedź kursorem na fragment.

72placówek w danych
2 163fragmentów obrazu
0,829trafność, test po placówkach
−51 %parametrów, kosztem trafności
9,3×szybciej w Core ML
3metody oceny pewności
Jak to działa

Od preparatu do fragmentów i pewności

Preparat jest cięty na fragmenty 224×224 px. Każdy dostaje klasę (rak piersi albo płuca) i ocenę pewności. Przy małej pewności model powinien się wstrzymać, tu oznaczone kółkiem. Przeciągnij suwak.

przedpo: klasa i pewność
rak piersirak płuca○ wstrzymanie przy niskiej pewności

Ilustracja. Który fragment dostał jaki kolor i które mają kółko, jest wylosowane, to nie jest wynik modelu.

01 · Liczby

Co jest zmierzone

Każda liczba ma źródło w skrypcie z repozytorium. Kliknij „skąd to”, żeby zobaczyć które.

72 · 74 · 2163

Placówki, preparaty i fragmenty obrazu (224×224 px) z publicznego archiwum TCGA, rak piersi i płuca. To komplet placówek dostępnych w tym archiwum dla tych dwóch nowotworów.

0,93 · AUC 0,96

Trafność i AUC na poziomie całego preparatu (średnia z około 30 fragmentów, 74 preparaty, walidacja po placówkach). Na pojedynczym fragmencie AUC wynosi 0,91. Mała próba: przedział ufności trafności 0,87 do 0,99.

0,829 ± 0,040

Trafność rozpoznania typu tkanki. Średnia z 5 grup placówek, z których każda w całości trafia do testu i nie była widziana przy uczeniu.

−51 %

Parametrów modelu (11,2 mln → 5,5 mln). Na 30 placówkach trafność się nie zmieniła (0,846 → 0,849), ale na pełnych 72 przycięcie kosztuje około 5,5 punktu: 0,840 przed i 0,785 po.

9,3×

Szybciej po uruchomieniu w Core ML niż w PyTorch: 7,0 ms → 0,75 ms na fragment obrazu. Komputer Mac, nie telefon.

5 z 5

Grup placówek, w których model jest mniej pewny przy błędnych odpowiedziach niż przy trafnych. Dotyczy trzech metod oceny pewności i pełnych 72 placówek.

To jest

  • Działający łańcuch od danych, przez model i ocenę pewności, po redukcję rozmiaru.
  • Wyniki z walidacji, w której do testu odkładana jest cała placówka, nie pojedyncze obrazy.
  • Pełny dziennik eksperymentów, także tych, które nie wyszły.

Tego nie ma

  • Produkt kliniczny ani wyrób medyczny w rozumieniu MDR.
  • Wykrywanie chorób rzadkich. Zadanie testowe to odróżnienie raka piersi od raka płuca na danych publicznych.
  • Pomiar na telefonie. Szybkość mierzono na komputerze Mac.
02 · Jak mierzymy

Cała placówka zostaje w teście

Preparaty z jednej placówki mają wspólny sposób barwienia i skanowania. Gdyby fragmenty z tej samej placówki trafiły i do uczenia, i do testu, model mógłby „rozpoznawać” placówkę zamiast nowotworu. Dlatego do testu odkładamy całe placówki.

rak piersi (39 placówek)rak płuca (33 placówek)każdy kwadrat to jedna placówka

Wybierz grupę. Jej placówki w danej rundzie są wyłącznie testem, model uczy się na pozostałych czterech.

Czy to ma znaczenie? Test A/B

Ten sam model, trzy sposoby podziału, po 20 losowych przydziałów każdy. Oś zaczyna się od poziomu losowego (0,5).

A Losowo po fragmentachte same placówki w treningu i teście (przeciek)
0,915 ± 0,003
B Po preparaciecałe preparaty w jednej grupie
0,823 ± 0,012
C Po placówcecałe placówki w jednej grupie, nasz protokół
0,820 ± 0,010

Podział po preparacie i po placówce dają to samo, bo w danych jest 74 preparatów i 72 placówki (tylko dwie placówki mają po dwa preparaty). Prawdziwy skok jest przy losowaniu fragmentów: +9,4 punktu (przedział 9,0 do 9,9), czyli sam przeciek zawyża wynik bardziej niż różnica między modelami. Ponadto liczba „najsłabszej grupy” zależy od losowego przydziału: w tych 20 przydziałach wynosiła od 0,70 do 0,83.

Podział po obrazach

Zawyża wynik

Model widzi inne fragmenty z tej samej placówki i zapamiętuje jej cechy techniczne.

Podział po placówkach

Mierzy to, o co chodzi

Test na placówkach, których model nigdy nie widział, czyli przybliżenie wdrożenia w nowym szpitalu.

03 · Stabilność

Więcej placówek, mniejszy rozrzut

Ten sam model i ta sama metoda, tylko zmieniamy liczbę placówek w danych. Każda kropka to jedna z 5 grup testowych. Kliknij kolumnę.

0,50,60,70,80,91,0poziom losowytrafność w grupie placówek odłożonych do testugrupa 1: 0,586grupa 2: 0,612grupa 3: 0,917grupa 4: 0,650grupa 5: 0,8140,716± 0,1288placówek10 prep. · 298 fragm.grupa 1: 0,818grupa 2: 0,663grupa 3: 0,889grupa 4: 0,978grupa 5: 0,7220,814± 0,11314placówek16 prep. · 455 fragm.grupa 1: 0,821grupa 2: 0,816grupa 3: 0,877grupa 4: 0,837grupa 5: 0,7400,818± 0,04552placówek54 prep. · 1566 fragm.grupa 1: 0,874grupa 2: 0,833grupa 3: 0,820grupa 4: 0,860grupa 5: 0,7570,829± 0,04072placówek74 prep. · 2163 fragm.
72placówek w danych
74 preparatów · 2163 fragmentów · 28.07.2026
Średnia
0,829
Odchylenie
0,040
Najsłabsza grupa
0,757
Najlepsza grupa
0,874

W porównaniu z 52 placówkami średnia wzrosła o 0,011, a rozrzut zmalał z 0,045 do 0,040.

Uwaga: przy 8 placówkach średnia wynosiła 0,716 z rozrzutem 0,128, czyli wynik zależał od tego, które placówki wylosowano. Dopiero przy 52 i 72 placówkach kolumny się stabilizują. Przy 72 najsłabsza grupa nadal ma 0,757.
04 · Pewność

Czy model wie, kiedy się myli?

Dobra ocena pewności oznacza, że model jest mniej pewny przy błędnych odpowiedziach niż przy trafnych. Zielona kropka to średnia pewność przy trafnych, czerwona przy błędnych. Im dalej zielona na prawo od czerwonej, tym lepiej.

przy odpowiedziach trafnychprzy odpowiedziach błędnych

Przy 14 placówkach w danych

Grupa placówek z najniższą trafnością w tym eksperymencie.

Dropout z wielokrotnym losowaniem
trafność w tej grupie 0,430 · placówki 5L, AC, AO
Poprawny kierunek różnica +0,070
Skalowanie temperaturą (pewność surowa)
trafność w tej grupie 0,686 · placówki 5L, AC, AO
Poprawny kierunek, odstęp mały różnica +0,041
Zespół 3 modeli
trafność w tej grupie 0,709 · placówki 5L, AC, AO
Odwrócone: pewniejszy przy błędach różnica −0,020
ECE: dropout 0,073 · temperatura 0,043 → 0,029 · zespół 0,085

Przy 30 placówkach w danych

Grupa placówek z najniższą trafnością w tym eksperymencie.

Dropout z wielokrotnym losowaniem
trafność w tej grupie 0,728 · placówki 05, 44, 64, 97, C8, OL
Poprawny kierunek, odstęp mały różnica +0,040
Skalowanie temperaturą (pewność surowa)
trafność w tej grupie 0,694 · placówki 69, 86, A2, E9, PL
Poprawny kierunek, odstęp mały różnica +0,040
Zespół 3 modeli
trafność w tej grupie 0,728 · placówki 05, 44, 64, 97, C8, OL
Poprawny kierunek różnica +0,062
ECE: dropout 0,082 · temperatura 0,124 → 0,084 · zespół 0,046

Przy 72 placówkach w danych

Grupa placówek z najniższą trafnością w tym eksperymencie.

Dropout z wielokrotnym losowaniem
trafność w tej grupie 0,782 · grupa 3 z 5
Poprawny kierunek różnica +0,065
Skalowanie temperaturą (pewność surowa)
trafność w tej grupie 0,744 · grupa 5 z 5
Poprawny kierunek różnica +0,096
Zespół 3 modeli
trafność w tej grupie 0,769 · grupa 5 z 5
Poprawny kierunek różnica +0,141
ECE: dropout 0,099 · temperatura 0,102 → 0,066 · zespół 0,068
Zespół 3 modeli przy 14 placówkach w najtrudniejszej grupie jest odwrócony: pewność przy błędach (0,924) jest wyższa niż przy trafnych (0,904). Przy 30 placówkach kierunek jest poprawny we wszystkich trzech metodach, ale odstęp w najtrudniejszej grupie bywa mały (0,04). Predykcja konforemna: pokrycie 0,910 przy celu 0,900, ale w trudnej grupie tylko 0,839.
Wstrzymanie się od odpowiedzi

Odrzuć połowę najmniej pewnych, a trafność rośnie

Model odpowiada tylko tam, gdzie jest dość pewny, resztę oddaje człowiekowi. Na 72 placówkach, na predykcjach spoza próby (placówki niewidziane przy uczeniu), trafność rośnie z 0,83 do 0,94 przy odpowiedzi na połowie fragmentów.

0,70,80,91,0100%90%80%70%60%50%pokrycie: odsetek fragmentów, na które model odpowiada (reszta odrzucona jako najmniej pewna)0,8280,8620,8940,9100,9250,940
wszystkie placówki5 grup osobnokreskowana: odrzucanie idealne (tylko błędy)
Każda z 5 grup rośnie, także najtrudniejsza (0,757 → 0,872). Cena: przy 50% pokrycia połowę fragmentów trzeba obejrzeć człowiekowi. To pomiar prostego modelu (zamrożony ResNet18 i regresja logistyczna) z surową pewnością. Nie porównywaliśmy tu jeszcze metod z sekcji o pewności.
Na co patrzy model

Mapy uwagi na losowych fragmentach

Mapa pokazuje, które okolice fragmentu najmocniej przemawiały za wybraną klasą (ciepłe kolory). Fragmenty wylosowano, nie wybierano: trzy z poprawną odpowiedzią i trzy z błędną. Kliknij fragment, żeby przełączyć obraz i mapę.

trafnie prawda: pierś · model: pierś · pewność 1,000
trafnie prawda: płuco · model: płuco · pewność 0,999
trafnie prawda: pierś · model: pierś · pewność 0,985
błąd prawda: pierś · model: płuco · pewność 0,737
błąd prawda: płuco · model: pierś · pewność 0,973
błąd prawda: płuco · model: pierś · pewność 0,608
Mapa pokazuje, na co patrzy model, a nie czy ma rację. Przy błędach widać, że uwaga też bywa skupiona i pewna, więc sama mapa nie zastąpi oceny pewności. Fragmenty pochodzą z publicznych danych TCGA (otwarty dostęp), bez oznaczeń pacjentów i preparatów. Przy pokazywaniu publicznie warto jeszcze sprawdzić warunki GDC.
05 · Rozmiar i szybkość

Mniejszy nie znaczy szybszy

Zadanie z grantu zakłada działanie na urządzeniu. Sprawdziliśmy kilka dróg zmniejszania modelu i dwie z nich nie dały nic albo pogorszyły wynik.

Czas na jeden fragment obrazu

PyTorch (punkt odniesienia)
7,0 ms
MobileNetV3-Small w PyTorch12× mniej parametrów, a 4× wolniej
29,2 ms
Kwantyzacja INT8 w PyTorchplik 4× mniejszy, ale wolniej
10,6 ms
Core ML
0,70 ms
Core ML, natywny Swiftto samo bez pośrednictwa Pythona
0,93 ms
Core ML, model przycięty
0,44 ms

Komputer Mac z Apple Silicon. Telefon i tablet nie były mierzone.

Co nie zadziałało

  • MobileNetV3-Small ma 12 razy mniej parametrów, ale w PyTorch był 4 razy wolniejszy (29 ms wobec 7 ms).
  • Kwantyzacja dynamiczna nic nie zmieniła. Statyczna INT8 zmniejszyła plik z 42,7 do 10,7 MB, ale model działał wolniej (10,6 ms wobec 7,0 ms).
  • Przyspieszenie dało dopiero uruchomienie w Core ML. Wcześniejsze wolne wyniki wynikały ze sposobu pomiaru w PyTorch.
06 · Architektury

Sześć podejść, jeden punkt odniesienia

Pionowa kreska to najprostsze rozwiązanie (0,829). Każde inne podejście ma sens tylko wtedy, gdy je pobije albo da coś innego, na przykład mniejszy rozmiar. Oś zaczyna się od poziomu losowego, 0,5.

0,5 (los)1,0

Wagi z ImageNet, przycięte o 30 % kanałów i douczone. Na 30 placówkach 0,849, na 72 już tylko 0,785. Ten sam model bez przycinania ma na 72 placówkach 0,840, więc spadek wynika z przycinania.

5,46 mln · 72 placówek

Wszystkie wyniki na tych samych 72 placówkach i tej samej walidacji. Ten sam v0 przed przycięciem ma 0,840, po przycięciu 0,785, więc redukcja rozmiaru kosztuje tu około 5,5 punktu trafności.

07 · Zadania grantu

Gdzie jesteśmy względem planu

Status dotyczy wyłącznie tego repozytorium, nie realizacji całego projektu. Zadania prowadzone gdzie indziej są oznaczone jako poza zakresem.

Z1Pierwszy krok

Redukcja modeli MLP do sieci MuLaKAN (KAN)

Własna warstwa KAN (B-spline) i głowica KAN na zamrożonym ResNet18, trafność 0,794. Ma 74 tys. parametrów wobec 1 tys. dla głowicy liniowej, więc to jeszcze nie redukcja.

Z2 · Z3Brak

Ocena i optymalizacja dyspersji MLP wobec KAN

Brak. Są pomiary niepewności innymi metodami.

Z4 · Z5 · Z10Szkic dokumentów

Personalizacja z zabezpieczeniami, generalizacja, anonimizacja

Brak implementacji. Jest szkic analizy ryzyka PII i polityki danych oraz plan narzędzi z grantu (ARX, Pryv, DataFog).

Z6Brak

Reprezentacja wiedzy, język dziedzinowy

Brak.

Z7Eksperymenty

Redukcja i integracja w środowisku docelowym

Eksperymenty z przycinaniem, kwantyzacją i Core ML, bez sieci KAN.

Z8 · Z11Poza zakresem

Interfejsy użytkownika (partner krajowy)

Poza tym repozytorium.

Z9 · Z12Czeka na partnera

Testy w środowisku klinicznym (partner zagraniczny)

Wymagają partnera. Umowa i zakres danych do potwierdzenia.

Pilot

Rzadkie nowotwory: czy prosty model je rozpoznaje?

Do piersi i płuca dodaliśmy rzadkie nowotwory z TCGA (łącznie 7), po około 10 preparatów każdy, i powtórzyliśmy ten sam test z odkładaniem całych placówek. Wykres pokazuje, jaki odsetek fragmentów danego typu model rozpoznał poprawnie (czułość), z przedziałem ufności. Przy 9 klasach zgadywanie dałoby około 0,11.

BRCA Pierś · czułość 0,60
LUAD Płuco (gruczolakorak) · czułość 0,54
MESO Międzybłoniak · czułość 0,05
UVM Czerniak błony naczyniowej oka · czułość 0,28
CHOL Drogi żółciowe · czułość 0,16
UCS Mięsak macicy · czułość 0,22
KICH Nerka (chromofobowy) · czułość 0,36
DLBC Chłoniak rozlany z dużych komórek B · czułość 0,19
THYM Grasica · czułość 0,32

Ilustracje są schematyczne i rysowane programowo: pokazują, że typy tkanek mają inną strukturę (gruczoły, wrzecionowate komórki, pigment, arkusze limfocytów, zrazikowa budowa grasicy). To nie są prawdziwe preparaty ani dane pacjentów, a prawdziwa histologia jest bardziej zróżnicowana. Złote ramki symbolizują fragmenty 224 × 224 px wycinane przez skaner.

BRCA Pierś40 preparatów, 39 placówek · AUC 0,77
0,600,52 do 0,68
LUAD Płuco (gruczolakorak)34 preparatów, 33 placówek · AUC 0,78
0,540,45 do 0,63
MESO Międzybłoniak10 preparatów, 10 placówek · AUC 0,55
0,050,03 do 0,07
UVM Czerniak błony naczyniowej oka10 preparatów, 6 placówek · AUC 0,69
0,280,13 do 0,56
CHOL Drogi żółciowe10 preparatów, 8 placówek · AUC 0,67
0,160,06 do 0,34
UCS Mięsak macicy10 preparatów, 10 placówek · AUC 0,70
0,220,10 do 0,35
KICH Nerka (chromofobowy)10 preparatów, 6 placówek · AUC 0,80
0,360,09 do 0,64
DLBC Chłoniak rozlany z dużych komórek B9 preparatów, 7 placówek · AUC 0,74
0,190,05 do 0,43
THYM Grasica10 preparatów, 10 placówek · AUC 0,72
0,320,18 do 0,47
Wniosek wprost: czułość dla rzadkich nowotworów waha się od 0,05 (międzybłoniak) do 0,36 (nerka (chromofobowy)), przy 0,57 dla piersi i płuca. Przedziały są szerokie, bo na klasę przypada 6 do 10 placówek, więc liczby są orientacyjne, a pojedyncza placówka może zmienić wynik. To nie jest wada metody pomiaru, tylko pokazuje, że przy tak małej liczbie preparatów ten sposób nie wystarcza. Potrzebne są inne podejścia: więcej danych, modele wstępnie uczone na tkankach, wykrywanie odstępstw.
Kontrola zaufania

Kiedy model nie powinien odpowiadać?

Model, który zawsze odpowiada, jest zły, gdy często się myli. Dlatego obudowaliśmy go czterema kontrolami: jakością fragmentu (ostrość, ilość tkanki), pewnością modelu, drugim, niezależnym modelem na innym koderze (musi wskazać tę samą klasę) oraz detektorem nieznanej tkanki. Każdy fragment dostaje jeden z trzech stanów: potwierdzony, niepewny albo odrzucony.

potwierdzone1666 fragmentów · trafność w tym stanie 0,61
40%
niepewne1743 fragmentów · trafność w tym stanie 0,23
42%
odrzucone762 fragmentów · trafność w tym stanie 0,36
18%
Wniosek wprost: wśród potwierdzonych fragmentów trafność rośnie z 0,41 do 0,61 (przedział 0,53 do 0,69), ale kosztem odpowiedzi na 40% fragmentów. Błędów, które mimo kontroli przeszły: 26%. Poprawnych odpowiedzi, które niesłusznie wstrzymano: 40%. Działa głównie zgoda drugiego modelu (trafność 0,61 przy zgodzie i 0,21 przy niezgodzie). Detektor nieznanej tkanki nie działa (AUROC 0,53, czyli losowo) i zostanie wymieniony. Warstwa nie ratuje trudnych klas: międzybłoniak ma około 1% czułości nawet wśród potwierdzonych, bo model jest tam pewny i się myli.
Poprawka po dokładniejszym teście: najlepszym sygnałem błędu okazała się pewność zespołu dwóch modeli (AUROC 0,71), a nie sama zgoda (0,65). Drugi detektor nieznanej tkanki (odległość do najbliższych sąsiadów) też nie działa (0,52). Na poziomie całego preparatu (uśrednienie fragmentów) trafność wynosi 0,57 (przedział 0,47 do 0,66, 143 preparatów), przy 0,46 na fragmentach. Pierś i płuco rozpoznajemy w 83% preparatów, a międzybłoniaka w 0%. Rzadkich klas mamy 7 do 10 preparatów, więc to są wyniki orientacyjne.
Co dalej

Dane na kolejne badania

Dziś używamy dwóch typów nowotworów i 74 preparatów. Publiczne archiwum TCGA udostępnia 11 901 preparatów w 32 typach nowotworów, czyli 30 kolejnych typów i 10 227 preparatów, których jeszcze nie ruszyliśmy.

BRCA Pierś użyte
1133
GBM Glejak wielopostaciowy
860
LGG Glejak niskiego stopnia
844
SARC Mięsaki
600
UCEC Trzon macicy
566
LUAD Płuco, gruczolakorak użyte
541
KIRC Nerka, jasnokomórkowy
519
THCA Tarczyca
519
LUSC Płuco, płaskonabłonkowy
512
SKCM Czerniak skóry
475
HNSC Głowa i szyja
472
COAD Jelito grube
459
BLCA Pęcherz moczowy
457
PRAD Prostata
449
STAD Żołądek
442
TGCT Jądro
390
LIHC Wątroba
379
KIRP Nerka, brodawkowaty
299
CESC Szyjka macicy
279
ACC Kora nadnerczy
227
PAAD Trzustka
209
PCPG Przyzwojaki i guzy chromochłonne
196
THYM Grasica
181
READ Odbytnica
166
ESCA Przełyk
158
KICH Nerka, chromofobowy
121
OV Jajnik
107
UCS Mięsak macicy
91
MESO Międzybłoniak
87
UVM Czerniak błony naczyniowej oka
80
DLBC Chłoniak rozlany z dużych komórek B
44
CHOL Drogi żółciowe
39
To plan, nie wyniki. Każdy typ to potencjalne osobne badanie, a kombinacji typów i zadań (rozpoznanie, wykrywanie odstępstw, ocena pewności) jest więcej niż typów. Nie wiemy jeszcze, czy metoda zadziała przy małej liczbie przykładów, to trzeba zmierzyć. Rzadkie nowotwory w TCGA mają dziesiątki preparatów i nie zastępują danych klinicznych o chorobach rzadkich, do których potrzebny jest partner kliniczny. Liczby: API GDC, 21.10.2026.
Plan

Najbliższe tygodnie

Dwie ścieżki spotykają się na wspólnym protokole oceny (72 placówki, punkt odniesienia 0,829). Podział jest propozycją do uzgodnienia, zadania i kryteria ukończenia są w repozytorium.

Ścieżka naukowa (zadanie Z1)

  • Głowica KAN dopasowana liczbą parametrów do głowicy liniowej i porównana z punktem odniesienia.
  • Notatka projektowa: jak redukować głębiej niż głowica (blok KAN, destylacja) i kiedy przestać.
  • Ocena pewności modelu KAN wobec czterech metod, które już mamy.
  • Metody dla rzadkich nowotworów (modele wstępnie uczone, mało przykładów, wykrywanie odstępstw).
  • Przegląd protokołu oceny z punktu widzenia recenzenta.

Ścieżka techniczna

  • Ziarna losowości we wszystkich skryptach i pomiar rozrzutu między uruchomieniami (5 ziaren).
  • Test obciążenia wyborem fragmentów: losowe kafelki zamiast pierwszych 30.
  • Automatyczne testy przy każdym wysłaniu zmian i aktualność dokumentacji.
  • Eksport warstwy KAN do Core ML i pomiar na prawdziwym telefonie lub tablecie.
  • Dane: dokończyć trzy przerwane pobrania, rozszerzyć rzadkie klasy.
Kamienie milowe: do 29.10 uruchomienie kodu i odtworzenie wyniku 0,829 na danych z paczki oraz ziarna w skryptach; do 05.11 głowica KAN porównana z punktem odniesienia, tabela rozrzutu i notatka o redukcji głębszej; w połowie listopada decyzja, jak daleko iść z redukcją KAN.
08 · Na spotkanie

Co trzeba ustalić

  1. Kto i gdzie prowadzi prace nad architekturą KAN (Z1 do Z3) i jak podłączamy do nich to, co już jest: dane z 72 placówek, walidację po placówkach i pomiary niepewności.
  2. Status umowy z partnerem klinicznym (Ainostics GmbH) i docelowy typ danych. Im wcześniej, tym łatwiej zaplanować anonimizację i zgody etyczne.
  3. Czy następny krok to redukcja całej sieci do KAN (większa i kosztowniejsza praca), czy najpierw dopracowanie tego, co już działa.