Najbardziej zagrażającą chorobą na świecie jest guz mózgu. Dokładna diagnoza może mieć kluczowe znaczenie dla przeżywalności pacjentów. Niemniej jednak wciąż istnieje potrzeba opracowania precyzyjnego systemu diagnostycznego, który pozwoliłby na wykrycie guzów mózgu we wczesnym stadium. Aby rozwiązać ten problem, zaproponowano bardziej niezawodną technikę dokładnego wykrywania guzów mózgu we wczesnych stadiach, wykorzystując hybrydowy, podwójny mechanizm głębokiego uczenia z optymalizowanymi hiperparametrami i dostrojonymi warstwami w oparciu o modele DenseNet121 oraz EfficientNetB7. Zaproponowane podejście przyjmuje jako dane wejściowe dwuwymiarowe obrazy MRI i generuje prognozę dotyczącą występowania lub braku guza dla zbioru danych do klasyfikacji binarnej Br35H, a także kategoryzację guza dla czterech pozostałych zbiorów danych do klasyfikacji wieloklasowej. W związku z tym w tej sekcji przedstawiono główne etapy zaproponowanego podejścia, od gromadzenia danych po końcowy wynik, w tym akwizycję danych, wstępne przetwarzanie danych, podział danych, wybór modelu, ekstrakcję cech,B prognozowanie guza oraz ewaluację zaproponowanego modelu, zgodnie z przedstawionym na Rysunku 1.

Rycina 1Proponowany schemat metodologii. Ten schemat przedstawia ogólną architekturę proponowanego modelu, obejmującą pozyskiwanie i przetwarzanie wstępne danych; dwa wstępnie wytrenowane modele do ekstrakcji cech; konkatenację ich cech oraz dostrajanie hiperparametrów w celu klasyfikacji guza i jego typu. Kliknij tutaj, aby wyświetlić większą wersję tej figury.
Pozyskiwanie danych
W każdych badaniach eksperymentalnych pierwszym krokiem jest pozyskanie danych. W tym celu wybrano pięć różnych, publicznie dostępnych zestawów danych, w tym Br35H24, Figshare25, Sartaj26, Masoud27 oraz zestaw danych obrazowych MRI z guzami mózgu z otwartoźródłowej biblioteki Kaggle28, które były już wykorzystywane przez wielu naukowców w diagnostyce wykrywania guzów mózgu. Zestaw danych Br35H zawiera 3 0 obrazów podzielonych na dwie klasy: obrazy mózgu zdrowego i chorego (z guzem), po 1 50 w każdej klasie, natomiast zestaw danych Figshare składa się z 3 064 obrazów, podzielonych na trzy grupy w zależności od typu guza: 1 426 obrazów glejaków, 708 obrazów oponiaków oraz 930 obrazów guzów przysadki mózgowej. Zestaw danych Sartaj zawiera 3 264 obrazy podzielone na cztery klasy guzów: glejaki (926 obrazów), oponiaki (937 obrazów), guzy przysadki mózgowej (901 obrazów) oraz mózg zdrowy lub bez guza (50 obrazów). Ponadto zestaw danych Masoud obejmuje również cztery różne klasy guzów, a obrazy do nich pobrano z trzech wyżej wymienionych zestawów; łącznie jest to 7 023 obrazy, które dalej podzielono na glejaki (1 621 obrazów), oponiaki (1 645 obrazów), guzy przysadki (1 757 obrazów) oraz mózg zdrowy lub bez guza (2 00 obrazów). Ostatnim wybranym zestawem jest zbiór oparty na obrazach MRI, który również obejmuje cztery klasy z łączną liczbą 5 248 obrazów, podzielonych na typy guzów: 1 312 obrazów glejaków, 1 312 obrazów oponiaków, 1 312 obrazów przysadki mózgowej i 1 312 obrazów mózgu zdrowego lub bez guza, co stanowi równomierny podział na typy guzów i jest uznawane za zrównoważony zestaw danych.
Preprocessing danych
Po akwizycji danych kolejnym krokiem jest przetwarzanie wstępne, które jest niezbędne dla uzyskania lepszych wyników i bardziej przydatne dla podejść obliczeniowych w celu ekstrakcji i nauki optymalnych cech z danych, co prowadzi do bardziej dokładnych rezultatów. Pierwszym zastosowanym krokiem była zmiana rozmiaru obrazów. Wybrano pięć publicznie dostępnych zbiorów danych z różnymi klasami i rozmiarami obrazów (nawet w obrębie tego samego zbioru dla różnych klas guzów), które następnie ujednolicono do wymiarów 24 x 24 dla lepszej interpretacji i uczenia modelu. Ponadto w odniesieniu do wszystkich zbiorów danych zastosowano augmentację danych poprzez generowanie dodatkowych próbek pod różnymi kątami, co poprawiło ekstrakcję cech i proces uczenia modeli DL. W tym celu zastosowano zakres rotacji 7% dla wszystkich obrazów, obracając je o maksymalnie 7 stopni. Dodatkowo zastosowano 5% losnego przesunięcia w poziomie i pionie dla wszystkich obrazów, z przesunięciem o 5% wysokości i szerokości względem obrazów oryginalnych. Następnie obrazy powiększono o 10% w stosunku do oryginałów, a na koniec wszystkie obrazy odwrócono poziomo i pionowo. Głównym powodem przeprowadzenia augmentacji danych29 jest przeciwdziałanie przeuczeniu (overfitting) i poprawa generalizacji modeli poprzez trenowanie ich na różnych przekształconych wersjach oryginalnych próbek danych. Przed podziałem zbiorów danych na zestaw treningowy i walidacyjny zastosowano kodowanie etykiet (label encoding), co jest pomocne przy obliczaniu funkcji straty podczas treningu i walidacji, a także sprawia, że próbki danych są bardziej odpowiednie do poprawnego przetwarzania etykiet przez modele. Dodatkowo zbiór danych podzielono na zestawy treningowy i walidacyjny w stosunku 80% do 20%30 dla każdego z nich; Tabela 2 przedstawia ogólną dystrybucję próbek danych oraz ich proporcje w podziale na trening i walidację.
| Zbiór danych | Klasy nowotworów | Całkowita liczba obrazów | Obrazy treningowe | Obrazy walidacyjne |
| Br35H | Zdrowy | 1500 | 1200 | 300 |
| Guz | 1500 | 1200 | 300 |
| Łączna liczba obrazów | 3000 | 2400 | 600 |
| Figshare | Glejak | 1426 | 1141 | 285 |
| Oponiak | 708 | 566 | 142 |
| Przysadka mózgowa | 930 | 744 | 186 |
| Łączna liczba obrazów | 3064 | 2451 | 613 |
| Sartaj | Glioma | 926 | 741 | 185 |
| Meningiom | 937 | 749 | 188 |
| Brak guza | 500 | 400 | 100 |
| Przysadka mózgowa | 901 | 721 | 180 |
| Łączna liczba obrazów | 3264 | 2611 | 653 |
| Masoud | Glejak | 1621 | 1297 | 324 |
| Oponiak | 1645 | 1316 | 329 |
| Brak guza | 2000 | 1600 | 400 |
| Przysadka mózgowa | 1757 | 1405 | 352 |
| Łączna liczba obrazów | 7023 | 5618 | 1405 |
| Zbalansowany zbiór danych guzów mózgu (BBT-Dataset) | Glioma | 1312 | 1050 | 262 |
| Oponiak | 1312 | 1050 | 262 |
| Brak guza | 1312 | 1050 | 262 |
| Przysadka mózgowa | 1312 | 1050 | 262 |
| Łączna liczba obrazów | 5248 | 4200 | 1048 |
Tabela 2: Rozkład zbioru danych. Tabela przedstawia statystyki dla poszczególnych klas dotyczące całkowitej liczby obrazów, liczby obrazów treningowych oraz walidacyjnych w zbiorach danych dotyczących guzów mózgu.
Zbiór danych Br35H składa się z 300 obrazów, z czego 240 wybrano do treningu, a 60 do walidacji. Zbiór danych Figshare obejmuje 3064 obrazy. Ze wszystkich obrazów 2451 wybrano do treningu, a pozostałe 613 do walidacji. Zbiór danych Sartaj zawiera łącznie 3264 obrazy, z czego 261 wykorzystano do treningu, a pozostałe 653 do walidacji. Zbiór danych Masoud posiada łącznie 7023 obrazy; z tych 5618 wykorzystano do treningu, a pozostałe 1405 do walidacji. Zbiór danych BBT obejmuje łącznie 5248 obrazów. Z całkowitej liczby obrazów 420 przeznaczono do celów treningowych, natomiast pozostałe 1048 obrazów przeznaczono do celów walidacji. Ponadto poniższa Rycina 2 przedstawia różne obrazy guzów mózgu.

Rysunek 2Obrazy guzów mózgu, w tym typy guzów. Zbiór danych zawiera cztery obrazy zdrowej tkanki mózgu oraz trzy obrazy nowotworowe: glejaka, oponiaka i gruczolaka przysadki mózgowej. Prosimy kliknąć tutaj, aby wyświetlić powiększoną wersję tej ryciny.
Proponowany model
Po etapie wstępnego przetwarzania kolejnym krokiem jest zaproponowanie modelu treningowego skutecznego wyłącznie w klasyfikacji guzów mózgu. W tym celu zaproponowano wydajny model treningowy, przeznaczony specjalnie do klasyfikacji guzów mózgu. Zaproponowano nowatorski i wydajny model pretreningowy oparty na hybrydowej fuzji cech, obejmujący DenseNet12131,32 oraz EfficientNetB73, które zostały wykorzystane do ekstrakcji cech z obrazów; następnie wyekstrahowane cechy zostały sprzężone i przekazane do różnych dostrojonych hiperparametrów, w tym warstw trenowalnych i nietrenowalnych, aby dokładnie zdiagnozować guzy mózgu. Model ten został zaimplementowany na pięciu różnych, publicznie dostępnych zbiorach danych, omówionych w powyższych odpowiednich sekcjach. Ponadto model DenseNet121 został opracowany przez Gao Huanga i jego współpracowników w 2017 roku i składa się ze 121 warstw. Głównym celem tego modelu było skupienie się na maksymalizacji ponownego wykorzystania cech oraz uniknięcie problemu zanikającego gradientu34. Warstwy w tym modelu są zorganizowane w bloki gęste (dense blocks), z których każdy zawiera wiele warstw splotowych ekstrahujących i uczących się cech. Każda warstwa przyjmuje jako wejście mapę cech ze wszystkich poprzednich warstw, a jej wyjście jest połączone z wyjściami tych warstw i przekazywane jako wejście do kolejnych warstw w tym samym bloku w sposób jednokierunkowy (feed-forward). Ponadto między blokami gęstymi dodano warstwy przejścia, z których każda składa się z warstwy splotowej 1 × 1, warstwy BatchNormalization oraz warstw uśredniającego pulingu (average pooling) 2 × 2, które redukują mapę cech w celu kontrolowania złożoności modelu. Co więcej, przed globalną warstwą uśredniającego pulingu do klasyfikacji dodano warstwę końcową z funkcją aktywacji (AF) SoftMax. Podstawowa konstrukcja modelu DenseNet121 przedstawiona jest na Rysunku 334 poniżej.

Rysunek 3Szczegóły architektury DenseNet12134. Rysunek ten przedstawia szczegóły architektury modelu DenseNet121, w tym wszystkie bloki gęste i przejścia. Prosimy kliknąć tutaj, aby wyświetlić powiększoną wersję tej ryciny.
Ponadto model EfficientNetB7 został opracowany przez Tan i Lee w 2019 roku. Należy on do rodziny EfficientNet, obejmującej warianty od B0 do B7, a jego głównym celem jest osiągnięcie lepszej wydajności niż w przypadku innych modeli przy jednoczesnym wykorzystaniu mniejszej liczby parametrów i mniejszej mocy obliczeniowej. Szerokość modelu (liczba kanałów na warstwę), głębokość (liczba warstw) oraz rozdzielczość mogą być dostrojone za pomocą skalowania złożonego (compound scaling), które stanowi kluczową cechę tego modelu. Co więcej, model ten składa się z bloków MBConv (mobile inverted bottleneck convolutional), które posiadają warstwę ekspansji splotowej 1 × 1 odpowiedzialną za zwiększanie liczby kanałów, sploty głębokościowo rozdzielne (depthwise separable convolution) odpowiedzialne za nakładanie splotu na każdy kanał osobno oraz warstwę projekcji splotowej 1 × 1, która redukuje liczbę kanałów do wartości pierwotnej. Ponadto każdy blok MBConv zawiera bloki Squeeze and Excitation (SE)35, które rekalibrują cechy wzdłuż kanałów, pomagając sieci skupić się na tych najważniejszych. Ponadto, zamiast funkcji sigmoidalnej lub jakiejkolwiek innej funkcji aktywacji (AF), zastosowano funkcję Swish, która działa lepiej niż ReLU dzięki dopuszczeniu wartości ujemnych, co usprawnia przepływ gradientu. Dodatkowo, w celu klasyfikacji, przed warstwą globalnego uśredniania pulingu (global average pooling) dodano końcową warstwę wyjściową z funkcją aktywacji SoftMax. Rysunek 435 przedstawia podstawową budowę modelu EfficientNetB7, natomiast Rysunek 5 przedstawia zalecaną architekturę modelu.

Rysunek 4Szczegóły architektury EfficientNetB735. Na tym rysunku przedstawiono szczegóły architektury modelu EfficientNetB7, w tym wszystkie mobilne odwrócone bloki splotowe typu bottleneck. Prosimy kliknąć tutaj, aby wyświetlić powiększoną wersję tej ryciny.

Rysunek 5Proponowana architektura hybrydowego modelu fusion. Zaproponowana architektura ilustruje sposób przekazywania wstępnie przetworzonych obrazów do ekstraktora cech, który składa się z trzech dostosowanych bloków o różnych hiperparametrach, za którymi następuje warstwa wyjściowa. Aby wyświetlić powiększoną wersję tego rysunku, kliknij tutaj.
Dodatkowo, wstępne cechy zostały wyekstrahowane z pretrained modeli DenseNet121 oraz EfficientNetB7. Zaktualizowane wagi pretrained modeli zostały wczytane do modeli trenowanych, a niepodlegające trenowaniu warstwy bazowe modeli zostały zamrożone, aby zapobiec ponownemu trenowaniu modelu. Powinno to pomóc modelowi zachować najlepszą wiedzę z poprzednich etapów, dostosować ją w świetle nowych próbek danych w celu poprawy zbieżności oraz skupić się na dodatkowych warstwach w celu trenowania i ekstrakcji zaawansowanych cech. Poniższe równania 1 i 2 przedstawiają działanie modeli DenseNet121 oraz EfficientNetB7.
(1)
(2)
Powyższe równania 1 i 2 przedstawiają działanie wstępnie wytrenowanego modelu w zakresie ekstrakcji cech; F1 oznacza mapy cech wyjściowych generowane przez wstępnie wytrenowany model DenseNet121, a F2 oznacza mapy cech wyjściowych generowane przez wstępnie wytrenowany model EfficientNetB7 poprzez przetwarzanie obrazów wejściowych, reprezentowanych przez X. Ponadto W1 i W2 są parametrami uczącymi lub wagami powiązanymi odpowiednio z pierwszymi blokami i warstwami modeli DenseNet121 oraz EfficientNetB7. Co więcej, ∈ RN ×H1×W1×C1 oraz ∈ RN ×H2×W2×C2 reprezentują wymiary map cech wyjściowych modeli DenseNet121 i EfficientNetB7, odpowiednio o wymiarach H1 ×N×W1×C1 oraz H2 ×N×W2×C2, gdzie N reprezentuje rozmiar partii (batch size) obrazów, który przyjęto jako 16. Ponadto H1×W1 reprezentuje odpowiednio wysokość i szerokość obrazów dla modelu DenseNet121, a H2×W2 reprezentuje wysokość i szerokość obrazów dla modelu EfficientNetB7, dla których wybrano wymiary 24 × 24. C1 i C2 reprezentują odpowiednio kanały kolorów dla modeli DenseNet121 i EfficientNetB7. Po uzyskaniu map cech wyjściowych z modelu w postaci 2560 kanałów wyjściowych z EfficientNetB7 i 1024 z DenseNet121, do map cech wyjściowych zastosowano warstwę global average pooling 2D36, aby zredukować wymiar przestrzenny poprzez obliczenie średniej ze wszystkich wymiarów przestrzennych do pojedynczego wektora, co ułatwia przekazanie danych do następnej warstwy w celu lepszej ekstrakcji cech i rozpoznawania wzorców w zakresie cech interpretowalnych.
(3)
(4)
Powyższe równania 3 i 4 przedstawiają działanie warstwy globalnego uśredniania pulingu 2D (global average pooling 2D) zastosowanej odpowiednio do modeli DenseNet121 i EfficientNetB7, gdzie
i
przedstawia procedurę normalizacji sumy poprzez podzielenie całkowitej liczby lokalizacji przestrzennych dla obu modeli, aby zapewnić, że skumulowany wynik jest średnią, a nie prostą sumą.
i
reprezentuje sumowanie w obrębie wymiarów przestrzennych map cech, podczas gdy ii j Służą one jedynie do iteracji odpowiednio po wysokości i szerokości, aby zsumować mapy cech dla obu modeli. Ponadto, F1(i, j, :) i F2(i, j, :) reprezentuje wartości map cech w konkretnych pozycjach przestrzennych (i, j) we wszystkich kanałach odpowiednio dla modeli DenseNet121 i EfficientNetB7. Operacja ta agreguje informacje przestrzenne w bardziej zwartą i dokładną reprezentację, zachowując jednocześnie najważniejsze cechy każdego obrazu. Ponadto wyjścia z warstw globalnego uśredniania (global average pooling) są łączone w celu utworzenia pojedynczego wektora cech dla każdej próbki, co często służy do fuzji cech z różnych modeli w celu poprawy wydajności poprzez wykorzystanie mocnych stron obu modeli; równanie 5 przedstawia sposób działania tego procesu.
(5)
Powyższe równanie 5 przedstawia procedurę konkatenacji dwóch różnych wektorów cech modeli [G1, G2], gdzie G1 reprezentuje wektor cech modelu DenseNet121, a G2 reprezentuje wektor cech modelu EfficientNetB7. Kształt skonkatenowanego wektora cech jest reprezentowany przez RN ×(C1+ C2), gdzie N to rozmiar partii (batch size), reprezentujący liczbę próbek przetwarzanych równolegle, a (C1+ C2) to całkowita liczba cech uzyskanych odpowiednio z modelu 1 i 2, która wynosi około 3584 i są one przetwarzane równolegle; skonkatenowany wyjściowy wektor cech jest reprezentowany przez G. Ponadto dodano trzy różne bloki w celu modyfikacji modelu hybrydowego dla ekstrakcji bardziej złożonych cech, poprawy generalizacji i zapobiegania przeuczeniu, aby uzyskać bardziej dokładne i wydajne wyniki. Każdy blok składa się z warstwy gęstej (dense layer) o różnej liczbie neuronów: pierwszy blok posiada 1024 neurony w swoich warstwach gęstych, co pozwala na uchwycenie szerokiego zakresu cech i bardziej ogólnych wzorców w danych, podczas gdy drugi blok posiada 512 neuronów w warstwie gęstej, co służy do doprecyzowania cech poprzez redukcję wymiarowości i skupienie się na bardziej specyficznych wzorcach. Trzeci blok zawiera 256 neuronów w warstwie gęstej, które w sposób bardziej specyficzny destylują cechy, aby zapewnić, że do warstwy wyjściowej w celu wykonania właściwego zadania przekazywane są tylko najistotniejsze cechy i wzorce. Ponadto do każdej warstwy gęstej w każdym bloku dodano podejścia oparte na regularyzacji L237, aby zapobiec przeuczeniu poprzez penalizowanie większych wag, co jednocześnie sprawia, że model staje się bardziej złożony. Po każdym bloku wprowadzono również warstwę dropout38, aby losowo ignorować odpowiednio 30%, 20% i 10% neuronów dla bloków 1, 2 i 3, co wymusza na sieciach wypracowanie bardziej odpornych cech, które nie są zależne od pojedynczego neuronu. Dalej, aby ustabilizować proces uczenia, po każdej warstwie gęstej zastosowano warstwę BatchNormalization39, co zapewnia, że aktywacje pozostają w stabilnym zakresie i pomaga modelowi uniknąć problemów takich jak zanikające gradienty (vanishing gradients) i eksplodujące gradienty (exploding gradients) w fazie uczenia. Dodatkowo warstwa BatchNormalization przyspieszyła proces uczenia, co pozwoliło modelowi szybciej osiągnąć zbieżność poprzez wygładzenie obszaru funkcji straty, ułatwiając optymalizatorom znalezienie minimum globalnego. Ponadto w każdym bloku, w celu wprowadzenia nieliniowości, zastosowano aktywację leaky ReLU40, która pozwala modelowi uczyć się złożonych wzorców; leaky ReLU posiada przewagę nad innymi funkcjami aktywacji, zapewniając, że neuron nie stanie się nieaktywny poprzez dopuszczenie małego, niezerowego gradientu dla wartości wejściowych ujemnych. Poniższe równanie 6 przedstawia działanie różnych bloków zintegrowanych z hybrydowym modelem fuzji.
(6)
Po uzyskaniu skoncatenowanego wektora, G przechodzi przez warstwę gęstą (w pełni połączoną) bloku 1 składającą się z 1024 neuronów, gdzie macierz wag W1 przekształca wektor wejściowy G w 1024-wymiarowy wektor wyjściowy, a każdy element wektora wyjściowego jest kombinacją liniową cech wejściowych. Następnie do każdego z 1024 elementów wyjścia dodawany jest wektor obciążenia b1, co pozwala modelowi na niezależne przesunięcie wyniku cech wejściowych. Ponadto człon regularyzacji L2: λ||W1||22 penalizuje duże wagi, co zapobiega nadmiernemu poleganiu modelu na pojedynczym neuronie i pomaga uniknąć przeuczenia. Przy czym macierz wag konkretnej warstwy w sieci neuronowej to W1, podczas gdy ||W1||22 oznacza kwadrat normy L2 macierzy wag W1, a λ jest parametrem regularyzacji kontrolującym stopień zastosowanej regularyzacji, który we wszystkich blokach został ustawiony na 0.1. Z1 staje się nową reprezentacją cech po zastosowaniu warstwy gęstej oraz regularyzacji L2 na danych przekazanych z wektora skoncatenowanego G, co przedstawiono w równaniu 6.
Po otrzymaniu wyjścia z warstwy gęstej bloku 1 jako Z1, zastosowano warstwę BatchNormalization, która służy do przyspieszenia procesu uczenia; poniższe równanie 7 obrazuje zasadę jej działania.
(7)
σ2 reprezentuje wariancję wyjścia ostatniej warstwy Z1 w obrębie partii (batch), natomiast μ to średnia wyjścia Z1, obliczana oddzielnie dla każdego neuronu, których w pierwszej warstwie gęstej było 1024. Z kolei ε jest niewielką stałą wprowadzoną w celu zapewnienia stabilności numerycznej i zapobiegania dzieleniu przez zero. Znormalizowane wyjście może być dostosowywane przez model poprzez zmianę parametrów skalowania γ, a przesunięte za pomocą parametru przesunięcia β; oba parametry są możliwe do wyuczenia. Ostatecznie zastosowanie warstwy BatchNormalization do wyjścia warstwy gęstej sprawia, że znormalizowane wyjście Z1 gwarantuje spójny rozkład aktywacji w różnych warstwach, co pomaga stabilizować i przyspieszać proces uczenia. Po BatchNormalization znormalizowane wyjście Z1 przechodzi przez funkcję aktywacji leaky ReLU, która wprowadza do sieci nieliniowość pomagającą w nauce złożonych wzorców w danych. Zamiast funkcji ReLU lub innej funkcji aktywacji, wybrano leaky ReLU, która jest zmodyfikowaną wersją funkcji ReLU uwzględniającą również małe wartości ujemne, zamiast sprowadzać je do 0 jak w przypadku ReLU, co pozwala przezwyciężyć problem „wymierającego ReLU” (dying ReLU). Równanie 8 poniżej przedstawia zasadę jej działania.
(8)
Gdzie Z1 stanowi wyjście warstwy BatchNormalization, która jest przekazywana do funkcji Leaky ReLU jako wejście w celu wprowadzenia nieliniowości, natomiast ∝ jest małą stałą używaną do określenia nachylenia ujemnej części funkcji. Ponadto A1 reprezentuje wynik uzyskany po zastosowaniu nieliniowości. Na koniec, do wyniku A1 otrzymanego z aktywacji Leaky ReLU zostaje zastosowana warstwa dropout, co przedstawiono w równaniu 9.
(9)
Gdzie A1 jest oryginalnym wyjściem funkcji aktywacji otrzymanym z ostatniej funkcji aktywacji ReLu, a p to współczynnik dropout, który przyjmuje wartości od 0 do 1 i został ustalony odpowiednio na 0,3, 0,2 oraz 0,1 dla trzech warstw blokowych w celu usunięcia określonej frakcji neuronów. Ponadto A1′ przedstawia zmodyfikowane wyjście po zastosowaniu warstwy dropout, w której niektóre neurony zostały ustawione na 0. Główną zaletą stosowania tej metody jest zapobieganie problemom z przeuczeniem (overfitting) oraz ograniczenie współadaptacji. Następnie wyjście z bloku 1 A1′ jest przekazywane do kolejnego bloku w celu ponownej ekstrakcji bardziej abstrakcyjnych cech; zastosowano w nim te same parametry co w bloku 1, z wyjątkiem zastosowania 512 neuronów w warstwie gęstej (dense layer) zamiast 1024 oraz współczynnika dropout wynoszącego 0,2 zamiast 0,3, podczas gdy pozostałe sekwencje operacyjne pozostają bez zmian, co opisano w poniższych równaniach od 10 do 13.
(10)
(11)
(12)
(13)
Po otrzymaniu wyniku z bloku 1 w postaci A1′, zostanie on przekazany do gęstej warstwy (w pełni połączonej) bloku 2 z 512 neuronami, gdzie macierz wag W2 przekształca wektor wejściowy A1′ w 512-wymiarowy wektor wyjściowy, a każdy element wektora wyjściowego stanowi kombinację liniową cech wejściowych. Następnie do każdego z 512 elementów wyjściowych dodawany jest wektor przesunięcia b2, co pozwala modelowi na niezależne przesuwanie wyników cech wejściowych. Dodatkowo zastosowano regularyzację L2, w której: λ||W2||22 penalizuje duże wagi, co służy ograniczeniu przeuczenia poprzez zapobieganie nadmiernemu poleganiu modelu na dowolnym konkretnym neuronie w tym bloku. Przy czym W2 jest macierzą wag konkretnej warstwy w sieci neuronowej, a λ jest parametrem regularyzacji kontrolującym stopień zastosowanej regularyzacji, który przyjął wartość 0.1. Z2 staje się nową reprezentacją cech po zastosowaniu gęstej warstwy oraz regularyzacji L2 na wejściu przekazanym z bloku 1, co przedstawiono w równaniu 10.
Ponadto, do nowej cechy Z2 zastosowano warstwę BatchNormalization, która posłużyła do przyspieszenia procesu trenowania; σ22 reprezentuje wariancję w obrębie partii (batch), natomiast μ2 jest średnią wyjścia Z2. Choć ε jest małą stałą wprowadzoną w celu zapewnienia stabilności numerycznej, γ jest wyuczalnym parametrem skali, który umożliwia modelowi modyfikację znormalizowanego wyjścia, a β jest wyuczalnym parametrem przesunięcia, który pozwala modelowi przesuwać znormalizowane wyjście. Ostatecznie, po zastosowaniu warstwy BatchNormalization, przedstawionej w równaniu 1, znormalizowane wyjście Z2 przeszło przez funkcję aktywacji leaky ReLU, która wprowadziła nieliniowość do sieci, co pokazano w równaniu 12. Gdzie Z2 stanowi wyjście warstwy BatchNormalization, które trafia do Leaky ReLU jako wejście w celu wykonania operacji nieliniowej. Natomiast A2 przedstawia wyjście otrzymane po zastosowaniu nieliniowości.
Na koniec do wyjścia A2, otrzymanego jako wejście z aktywacji Leaky ReLU, zastosowano warstwę dropout, co przedstawiono w równaniu 13. Gdzie A2 jest wyjściem z ostatniej funkcji aktywacji ReLU, a p2 to współczynnik dropout, który dla tego bloku wybrano jako 0,2 w celu usunięcia części neuronów. Ponadto A2′ przedstawia zmodyfikowane wyjście po zastosowaniu warstwy dropout, w której niektóre neurony zostały ustawione na 0. Następnie wyjście z bloku 2, A2′, zostało przekazane do trzeciego bloku w celu ponownej ekstrakcji bardziej abstrakcyjnych cech. Zastosowano w nim te same parametry co w bloku 2, z wyjątkiem 256 neuronów w warstwie gęstej zamiast 512 oraz współczynnika dropout wynoszącego 0,1 zamiast 0,2; pozostałe sekwencje operacyjne są identyczne, co opisano w poniższych równaniach od 14 do 17.
(14)
(15)
(16)
(17)
Po otrzymaniu wyniku z bloku 2 w postaci A2′, zostaje on przekazany do warstwy gęstej (w pełni połączonej) bloku 3 z 256 neuronami, gdzie macierz wag W3 przekształca wektor wejściowy A2′ w 256-wymiarowy wektor wyjściowy, a każdy element wektora wyjściowego jest kombinacją liniową cech wejściowych. Następnie do każdego z 256 elementów wyjścia dodawany jest wektor biasu b3, co pozwala modelowi niezależnie przesuwać wyjście cech wejściowych. Ponadto zastosowano regularyzację L2, w której: λ||W3||22 penalizuje duże wagi, co zapobiega nadmiernej zależności modelu od pojedynczego neuronu i pomaga uniknąć przeuczenia. Gdzie W3 jest macierzą wag konkretnej warstwy w sieci neuronowej, a stopień zastosowanej regularyzacji jest kontrolowany przez parametr regularyzacji λ, który został ustawiony na 0,01. Z3 staje się nową reprezentacją cech po zastosowaniu warstwy gęstej oraz regularyzacji L2 na wejściu przekazanym z bloku 3, co przedstawiono w równaniu 14.
Ponadto zastosowano warstwę BatchNormalization dla nowej cechy Z3, co posłużyło do przyspieszenia procesu uczenia; σ32 reprezentuje wariancję w obrębie partii (batch), natomiast μ3 jest średnią wartości wyjściowej Z3. Z kolei ε to mała stała dodawana w celu zapewnienia stabilności numerycznej. Znormalizowane wyjście może być dostosowane przez model za pomocą nauczalnego parametru skalowania γ3 oraz przesunięte za pomocą nauczalnego parametru przesunięcia β3. Ostatecznie, po zastosowaniu warstwy BatchNormalization, przedstawionej w równaniu 15, znormalizowane wyjście Z3 przeszło przez funkcję aktywacji leaky ReLU, która wprowadziła nieliniowość do sieci, co pokazano w równaniu 16. Gdzie Z3 stanowi wyjście warstwy BatchNormalization, które jest przekazywane do Leaky ReLU jako wejście w celu wprowadzenia nieliniowości, natomiast A3 określa wyjście otrzymane po zastosowaniu nieliniowości.
Na koniec, do wyjścia A3 otrzymanego jako wejście z aktywacji Leaky ReLU, co przedstawiono w równaniu 17, zastosowano warstwę dropout. Gdzie A3 jest wyjściem otrzymanym z ostatniej funkcji aktywacji ReLU, a p3 to współczynnik dropout, który dla tego bloku wybrano jako 0,1 w celu usunięcia frakcji neuronów. Dalej, A3′ przedstawia zmodyfikowane wyjście po zastosowaniu warstwy dropout, w którym niektóre neurony zostały ustawione na 0.
Ponadto sygnał wyjściowy z bloku 3 A3′ przechodził przez ostatnią warstwę gęstą w celu klasyfikacji, z liczbą neuronów K odpowiadającą rzeczywistej liczbie klas w zbiorze danych, co opisano w równaniu 18 poniżej.
(18)
Macierz wag powiązana z grubą warstwą to Wk, która odpowiada za przekształcenie 256-wymiarowego wektora A3′ w wektor k-wymiarowy, reprezentujący wyuczone cechy z poprzedniego bloku, który stanowi wynik wyjściowy. Ponadto bk reprezentuje wektor obciążenia (bias), który koryguje predykcję, aby zapewnić niezerowy wynik funkcji aktywacji przy zerowym wejściu, a Zk jest wynikiem końcowej warstwy przed zastosowaniem funkcji aktywacji i generuje logity dla każdej klasy; na koniec zastosowano klasyfikator SoftMax41, który przekształca logit Zk w prawdopodobieństwo każdej klasy, co przedstawiono w równaniach 19 i 20.
(19)
(20)
Gdzie przewidywane prawdopodobieństwo itej klasy jest reprezentowane przez yi, K to liczba klas, natomiast Zk, i to logit dla itej klasy, a eZk, i to wartość wykładnicza logitu itej klasy. y przedstawia rozkład prawdopodobieństwa wszystkich możliwych klas i zapewnia, że suma prawdopodobieństw wynosi 1. Poniższa Tabela 3 zawiera szczegółowe informacje o hiperparametrach użytych do trenowania proponowanego modelu hybrydowego, w tym szczegóły architektoniczne przyjęte w celu poprawy odtwarzalności i wydajności.
| Hiperparametry | Proponowany model (FusionNetX) |
| Rozmiar obrazu | 224 × 224 |
| Architektura szkieletowa | Wstępnie wytrenowane modele EfficientNetB7 i DenseNet121 jako BBA1 i BBA2 |
| Augmentacja danych | Zakres obrotu = 7, |
| Szerokość/wysokość – zakres przesunięcia do 0,05, |
| Zakres powiększenia do 0,01, |
| Odbicie poziome/pionowe |
| Współczynnik podziału danych | 80% do uczenia i 20% do walidacji przy zastosowaniu próbkowania warstwowego z ustalonym parametrem random_state = 42 |
| Ekstrakcja i fuzja cech | Do wyjścia każdego z głównych modułów (backbone) zastosowano globalne uśrednianie (global average pooling): 2560 dla BBA1 oraz 1024 dla BBA2, które następnie połączono, aby uzyskać wspólne wektory cech o wymiarze 3584. |
| Struktura bloku w pełni połączonego | 3 bloki w pełni połączone z jedną warstwą wyjściową. Każdy blok zawiera regularyzację L2 (λ=0,01), BatchNormalization, LeakyReLU (α=0,01), Dropout (odpowiednio 0,3, 0,2 i 0,1) oraz wymiar ukryty (odpowiednio 1024, 512, 256). W głowicy fuzji nie wprowadzono dodatkowych połączeń pomijających (Skip connections). |
| Funkcja aktywacji | Leaky ReLU & SoftMax |
| Optymalizator i szybkość uczenia | Adam z wartością 0,01 ustaloną na stałe, bez zastosowania harmonogramu tempa uczenia. |
| Funkcja straty | rzadka entropia krzyżowa kategoryczna |
| Wielkość partii | 16 |
| Epoki | 10 stałych epok dla każdego zbioru danych |
| Wykorzystana platforma | Notatnik Kaggle z procesorem GPU P100 i 16 GB pamięci VRAM z wykorzystaniem platform TensorFlow i Keras. |
Tabela 3: Hiperparametry użyte do trenowania proponowanego modelu oraz szczegóły proponowanej architektury.Tabela ta przedstawia szczegóły strukturalne i architektoniczne proponowanego modelu, wraz z dostrojonymi parametrami oraz środowiskiem implementacyjnym.