-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchapter3.tex
419 lines (231 loc) · 28.4 KB
/
chapter3.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
\chapter{Нейромережева модель аналізу планарних зображень та методи її навчання}
Запропоновано модель нейронної мережі та метод багатозадачного навчання для одночасного підвищення достовірності класифікації та сегментації без зниження оперативності, а також метод її навчання, що заснований на методах багатозадачного навчання.
На відміну від однозадачного машинного навчання, багатозадачне дозволяє використати спільності та відмінності між різними задачами для підвищення узагальнювальної здатності на кожній з окремих задач. Використання комбінації декількох задач машинного навчання може сприяти вивченню кращих наборів ознак, та підвищити точність роботи нейронних мереж. Також, сумісне використання прогнозів декількох задач для уточнення кожного з окремих прогнозів, так і побудови нових.
Основним припущенням, на яке спирається розроблений метод є можливість створення достовірної розмітки тренувального набору даних для задачі класифікації на основі розмітки семантичної сегментації для того ж набору вхідних зображень. В даному контексті, задача семантичної сегментації називається основною задачею, а класифікації - додатковою.
\section{Структурна модель багатозадачної штучної нейронної мережі}
\label{nn-arch}
Для того, щоб основна і додаткова задачі оновлювали параметри нейронної мережі, що відповідають за виділення ознак, використано схему багатозадачного навчання з жорстким розподілом параметрів.
\subsection{Загальна структура моделі нейронної мережі}
Нейронна мережа виконана з використанням архітектури енкодер-декодер, заснована на архітектурі нейронних мереж LinkNet \cite{linknet}. На відміну від оригінальної структури LinkNet, запропонована модель нейронної мережі складається з одного енкодера та двох декодерів: для задач сегментації та класифікації відповідно.
В ролі енкодера можуть бути використані наявні багатостадійні архітектури, такі як VGGNet, ResNet, EfficientNet, розглянуті в розділі \ref{cnn-cls-models}. Карти ознак після кожного етапу просторового зменшення використовуються як входи для декодера сегментації, для декодера класифікації використовується карта ознак з найглибшого шару енкодера. Узагальнену структуру моделі зображено на рисунку \ref{fig:my_net_arch}
\begin{figure}
\centering
\includegraphics[width=16cm]{my_ne_arch.png}
\caption{Загальна архітектура нейронної мережі з декодером та класифікатором}
\label{fig:my_net_arch}
\end{figure}
Таким чином, виконується жорсткий розподіл параметрів, оскільки параметри енкодера відповідають одночасно за обидві задачі. Така структура дозволяє використати методи трансферного навчання (індуктивного переносу) для підвищення роздільності внутрішніх представлень і пришвидшення процесу навчання: набір параметрів енкодера $\theta_{enc}$ ініціалізується з використанням параметрів, отриманих після навчання енкодера на наборі даних Imagenet \cite{imagenet}. Декодери ініціалізується з використанням методу Хе: $\theta \in \mathcal{U}(-b, b)$, де $b$ - константа залежна від типу шару \cite{kaiming_uniform}
Окрім загальної архітектури моделі, критичними для коректної роботи запропонованих методів є структури декодерів для кожної з задач, зокрема, нормалізація їх внутрішніх представлень.
\subsection{Структура декодера семантичної сегментації}
Декодер складається з декількох стадій, кожна з яких має розміри карт ознак відповідно до карт ознак енкодера.
Структура декодера сегментації повторює декодер архітектури LinkNet. На відміну від оригінальної структури, в запропонованому декодері застосовується пакетна нормалізація після операцій конкатенації з шарами енкодера та перед згортковими шарами. Ця нормалізація необхідна для забезпечення незалежності значень інтенсивності карт ознак на різних шарах декодера сегментації та енкодера, які також спільно використовуються декодером класифікації.
Також, замість зворотних згорток, в декодері використовується білінійна інтерполяція для підвищення просторового розширення карт ознак, що дозволяє уникнути "шахового патерну" в прогнозованих масках \cite{upconv_checkerboard}.
Оскільки в задачі сегментації з частково-помилковою розміткою одному пікселю може бути призначено декілька класів одночасно, необхідно це враховувати при використанні функцій втрат. Для формування фінальної карти сегментації використовується спеціальна версія блоку декодера, що має сигмоподібну функцію активації. Це дозволяє нейронній мережі прогнозувати одночасно декілька класів для одного пікселя, замість спроб виділення одного конкретного класу при використанні нормованої експоненційної функції (Softmax).
Структуру окремих стадій показано на рисунку \ref{fig:my_decoder_block_arch}.
\begin{figure}
\centering
\includegraphics[width=14cm]{my_decoder_block_arch.png}
\caption{Структура стадій декодеру сегментації}
\label{fig:my_decoder_block_arch}
\end{figure}
В ролі вхідної карти ознак для найпершого шару декодера використовується останній шар енкодера $v_n$.
\subsection{Структура декодера класифікації}
Оскільки, в даному випадку, на зображенні може бути декілька об'єктів, а навчання в задачі класифікації відбувається набором зразків, декодер класифікації має враховувати як глобальний просторовий контекст, так і локальні ознаки, притаманні об'єктам. Для цього, першим шаром класифікатора є конкатенація результатів двох операцій глобальної підвибірки: з операцією усереднення (GlobalAvgPooling), та вибору максимуму (GlobalMaxPooling) для кожного з каналів карти ознак енкодера.
Для забезпечення незалежності інтенсивності останнього шару енкодера при навчанні двох декодерів одночасно, першим шаром є шар пакетної нормалізації.
Для підвищення роздільності ознак останнього шару енкодера, класифікатор являє собою лінійну функцію, що спонукає енкодер до формування лінійно-роздільних представлень $v_n$ \cite{inception_v1}, які також використовуються декодером сегментації. Застосування такої структури декодера класифікації дозволяє знизити необхідну кількість нелінійних перетворень, потрібних декодеру сегментації.
Структура декодера класифікації є важливою складовою успішного навчання при використанні обмеженої функції втрат в задачі класифікації. Основними задачами декодеру класифікації є провадження градієнтів до енкодера у випадку фільтрації неправильної розмітки в задачі сегментації, а також покращення роздільності ознак найглибшого шару енкодера.
Структура декодера класифікації зображена на рисунку \ref{fig:my_cls_arch}.
\begin{figure}[h!]
\centering
\includegraphics[width=8cm]{my_cls_arch.png}
\caption{Структура декодера класифікації}
\label{fig:my_cls_arch}
\end{figure}
Запропоновану структурну модель глибинної нейронної мережі можна представити аналітично: нехай нейронну мережу енкодера визначено як $F_{encoder}$. Тоді для вхідного зображення $x \in \mathcal{R} ^ {3 \times H \times W}$, $v_1, v_2, ... v_i, ... v_n$ - набір карт ознак, так що $v_i \in \mathcal{R} ^ {c_i \times \frac{H}{i} \times \frac{W}{i}}$, де $c_i$ - кількість каналів для кожної з карт ознак, а $n$ - кількість стадій енкодера (залежить від архітектури):
\begin{equation}
\label{eqn:enc_features}
v_1, v_2 ... v_n = F_{encoder}(x, \theta_{enc})
\end{equation}
де $\theta_{enc}$ - набір параметрів енкодера.
Тоді, нейронні мережі декодера сегментації та класифікації можна визначити як $F_{seg}$ та $F_{cls}$ відповідно. Для набору карт ознак, що генерує енкодер, маємо:
\begin{align}
\label{eqn:m_seg}
M_{seg} &= F_{seg}((v_1, v_2 ... v_n), \theta_{seg}) \\
\label{eqn:c_cls}
C_{cls} &= F_{cls}((v_n), \theta_{cls})
\end{align}
де $\theta_{seg}$ та $\theta_{cls}$ - набори параметрів декодерів сегментації та класифікації відповідно.
Таким чином, удосконалено модель глибинної нейронної мережі з використанням архітектури енкодер-декодер шляхом введення додаткового декодера з шаром нормалізації, тобто удосконалена модель складається з енкодера та двох декодерів (для задач сегментації та класифікації відповідно). Таке подання робить можливим реалізацію методів багатозадачного навчання, вирішення задач сегментації та класифікації одночасно.
% 10 страниц ------------------------------------------------------------------------
\section{Методи навчання та передбачення для багатозадачних глибинних нейронних мереж в умовах частково помилкової розмітки сегментації}
На основі запропонованої моделі нейронної мережі (\ref{eqn:enc_features}) розроблено метод багатозадачного навчання, що в умовах частково-помилкової розмітки дозволяє зменшити вплив неправильно анотованих прикладів на процес навчання за рахунок їх ефективної фільтрації безпосередньо під час навчання. Так, часто на одному зображенні можуть бути розташовані як коректно-розмічені, так і некоректно-розмічені об'єкти. Для підвищення достовірності нейронних мереж в таких умовах, запропоновано використати метод багатозадачного навчання з використанням похідної більш загальної задачі.
Запропонований метод складається з двох етапів:
\paragraph{Етап 1. Генерація похідної задачі до задачі сегментації}
Для того, щоб забезпечити успішне навчання нейронних мереж на ранніх етапах, та врахувати занадто складні приклади, необхідно ввести інформацію про ці об'єкти в обхід відфільтрованої розмітки.
На основі розмітки для задачі семантичної сегментації може бути побудовано розмітку для інших більш загальних задач, таких як задача детекції (наприклад, обмежувальні прямокутники навколо об'єктів), регресії (наприклад, координати центрів об'єктів), або класифікації (класи об'єктів). Такі задачі є більш зашальними, оскільки мають менше незалежних змінних в виходах нейронної мережі. Наприклад, замість класифікації кожного з пікселів зображення в задачі семантичної сегментації, в задачі детекції потрібно лише прогнозування класів та координат обмежувальних прямокутників.
Також, з точки зору багатозадачного машинного навчання, ці задачі є семантично-близькими: такі задачі, що мають однакові вхідні дані, та пов'язані вихідні дані \cite{caruana}.
На відміну від \cite{arxiv:1412.0069}, що спирається на вивчення більш детальних семантично-близьких задач, в розробленому методі використання більш точних даних, для загальніших задач дозволяє покращити роздільність внутрішніх представлень нейронної мережі, що, в свою чергу, покращує результати на вихідній задачі. Також, оскільки задачі є семантично близькими, не відбувається конфлікту градієнтів, що є типовим при навчанні семантично-різнорідних задач \cite{gradient_conflict}.
Оскільки задача семантичної сегментації може бути розглянута як задача піксельної класифікації, можна розглядати задачу класифікації всього зображення як більш загальну до неї. В такому контексті, класифікація буде окремим випадком навчання за набором зразків \cite{multiinstance}: замість розмітки кожного з об'єктів для всіх класів на зображенні, зображення являє собою мішок з одним, чи декількома об'єктами та відповідним маркуванням, чи є об'єкти заданих класів на ньому.
Попередній аналіз показав, що неточна розмітка в задачах сегментації полягає в наявності зайвих, або у відсутності деяких розмічених пікселів, або об'єктів. Наявність такої неточної розмітки дозволяє створити на її основі точну розмітку для класифікації.
Нехай для зображення $x \in \mathcal{R}^{3 \times H \times W}$ існує маска сегментації $y_s \in \mathcal{R}^{C \times H \times W}$ де $C$ - кількість класів, а $H$ та $W$ висота та ширина зображення відповідно. Якщо в масці сегментації є хоча б один розмічений об'єкт класу $c$, встановлюється мітка відповідного класу $y_c \in (0, 1)^C$ в розмітці задачі класифікації:
\begin{equation}
y_c = t < \sum_{i}^{H} \sum_{j}^{W} y_{s_{ij}}
\end{equation}
де $t$ - поріг мінімального розміру об'єкта в пікселях
Згенерована таким чином задача класифікації має меншу кількість помилкових анотацій.
В такому випадку, обмеження функції втрат використовується лише для оригінальної задачі, а більш загальна додаткова задача використовує оригінальну функцію втрат без обмеження. Таким чином, завжди існують градієнти від більш загальної розмітки, що спонукають навчання на прикладах, для яких немає градієнтів через обмеження функції втрат.
\paragraph{Етап 2. Введення обмежень до функції втрат}
Маючи велику кількість параметрів, сучасні нейронні мережі здатні до запам'ятовування тренувального набору даних замість вивчення корисних ознак для узагальнення на інші набори даних (перенавчання). В умовах наявності помилкової розмітки в тренувальному наборі даних, нейронні мережі схильні до вивчення і помилок розмітки на протязі навчання.
Традиційні методи запобігання перенавчанню, такі як аугментація даних \cite{augmentation}, регуляризація ваг мережі \cite{regularization}, та завчасна зупинка навчання \cite{early_stopping} хоча і показують покращені результати, але можуть виявитися недостатніми в умовах великої ймовірності помилок в навчальних даних. Також, вони можуть погіршити якість навчання через зменшення ємності нейронної мережі, або, при надмірному використанні, можуть спонукати нейронну мережу акцентувати увагу на текстурах \cite{texturing}, що часто є недопустимим в задачах семантичної сегментації.
Для того, щоб ефективно зменшити вплив помилкової розмітки, необхідно вилучити її з процесу навчання нейронної мережі. Якщо неможливо вилучення неправильно розмічених прикладів з набору даних до початку навчання, це можна зробити ітеративно в процесі навчання, для чого потрібно визначити критерії вилучення.
Такі функції втрат, як перехресна ентропія, або фокальна функція втрат призначають експоненційно високе значення для неправильних прогнозів нейронних мереж, що має шкідливий ефект при наявності помилкової розмітки в тренувальному наборі даних - правильні прогнози на неправильно-розмічених даних створюють конфліктні градієнти та знижують впевненість прогнозів нейронної мережі.
Для виключення неправильної розмітки в процесі навчання запропоновано введення обмеження другого роду (зверху) для функції втрат, з відповідним визначенням градієнтів для отриманої нової функції:
\begin{equation}
\mathcal{L} \rceil = min(L, \theta)
\end{equation}
де $\theta$ - поріг обмеження функції втрат.
Графіки обмежених зверху функцій втрат зображено на рисунку \ref{fig:trimmed_losses}.
\begin{figure}
\centering
\includegraphics[width=12cm]{trimmed_losses_en.png}
\caption{Приклади обмежених зверху функцій втрат}
\label{fig:trimmed_losses}
\end{figure}
Оскільки, для функції обмеження зверху градієнт визначено лише на проміжку $(-\inf, \theta]$, тому для проміжку $(\theta, \inf)$, в контексті даної задачі, градієнт запропоновано визначити рівним нулю:
\begin{equation}
\mathcal{\nabla} min(L, \theta) =
\begin{cases}
1 &\text{$L \in (-\inf, \theta]$}\\
0 &\text{$L \in (\theta, \inf)$}
\end{cases}
\end{equation}
Всі загальновживані методи оптимізації параметрів нейронних мереж засновані на методі оновлення параметрів першого порядку, що, в загальному випадку, є модифікацією стохастичного градієнтного спуску:
\begin{equation}
\theta \leftarrow \theta - \eta \nabla_\theta L
\end{equation}
де $\theta$ - параметри нейронної мережі, $\eta$ - темп навчання, а $\nabla_\theta$ - градієнт функції втрат відносно параметрів, таким чином, приклади з занадто великою похибкою (переважно з помилковою розміткою) ефективно виключаються з навчання, оскільки мають нульовий градієнт відносно параметрів.
Недоліком цього методу фільтрації помилкової розмітки є можливість виключення прикладів, що занадто складні для вивчення нейронною мережею на ранніх етапах навчання. Це може сповільнити процес навчання, або взагалі зупинити його. Щоб запобігти сповільненню процесу, запропоновано використання багатозадачного навчання з використанням додаткової більш загальної задачі.
\paragraph{Агрегація функцій втрат під час навчання}
Оскільки модель багатозадачної нейронної мережі має два виходи для кожної з задач, для одночасного оновлення всіх параметрів необхідне одночасне використання двох функцій втрат. Для кожної з задач окремо обчислюється функція втрат. Для навчання декодера сегментації використовується обмежена зверху, в той час як для декодера класифікації - звичайна. Кожна з функцій втрат нормалізується відносно кількості прикладів в одному пакеті навчання для зниження впливу цього гіперпараметру.
Загальне значення функції втрат визначається як арифметичне середнє між індивідуальними значеннями:
\begin{equation}
L_{total} = \frac{L_{seg} \rceil + L_{cls}}{2}
\end{equation}
Відповідно, загальний градієнт функції втрат буде сумою градієнтів складових частин:
\begin{equation}
\nabla L_{total} = \frac{\nabla L_{seg} \rceil + \nabla L_{cls}}{2}
\end{equation}
Під час навчання нейронної мережі використовується стандартний алгоритм зворотного поширення помилки з оптимізатором Adam \cite{adam-optimizer}, що відрізняється від методу стохастичного градієнтного спуску наявністю адаптивної нормалізації моментів градієнтів.
Поріг обмеження функції втрат для задачі сегментації є параметром алгоритму навчання та має обиратися емпірично в залежності від рівня помилок в розмітці. Таким чином, забезпечується "прохід" градієнтів для оновлення параметрів від хоча б однієї функції втрат для кожного вхідного прикладу.
% 10 страниц ------------------------------------------------------------------------
\subsection{Багатозадачне прогнозування результатів сегментації}
Оскільки запропонована модель нейронної мережі може одночасно виконувати як задачу сегментації, так і задачу класифікації, стає можливою реалізація фільтрування хибно-позитивних ознак без зниження оперативності на етапі прогнозування результатів.
Для фільтрації хибно-позитивних результатів запропоновано метод комбінації задач класифікації та сегментації, що дозволяє використовувати задачу класифікації, що попередньо була навчена на менш зашумленій розмітці як фільтр для задачі семантичної сегментації.
Метод складається з двох етапів:
\paragraph{Етап 1. Нормалізація}
В такому випадку можливі два варіанти комбінації двох задач: послідовний і паралельний.
Нехай $C_{cls} \in \mathcal{R}^{C}$ та $M_{seg} \in \mathcal{R}^{C \times H \times W}$- результати декодерів класифікації та сегментації відповідно, значення яких знаходяться на проміжку $(- \infty, + \infty)$ (логіти).
Для отримання результатів на проміжку $[0, 1]$ використовується логістична сигмоїдна функція активації:
\begin{equation}
\sigma(x) = \frac{1}{1 + e^{-x}}
\end{equation}
Послідовний варіант полягає у відкиданні результатів сегментації, якщо результат класифікації менший, за деякий поріг $t_{cls}$:
\begin{equation}
M_{refined} =
\begin{cases}
\sigma(M_{seg})& \text{якщо } \sigma(C_{cls}) > t_{cls}\\
0^{C \times H \times W} &\text{якщо } \sigma(C_{cls}) \leq t_{cls}
\end{cases}
\end{equation}
Такий варіант має декілька суттєвих недоліків:
\begin{itemize}
\item Необхідність вибору додаткового параметра $\theta_{cls}$ вносить додаткову можливість помилки; неправильний підбір цього параметра може призвести до значного збільшення хибно-негативних результатів.
\item Можливість розповсюдження помилки класифікатора виникає через значно меншу кількість параметрів порівняно з декодером сегментації.
\item Зниження оперативності через послідовне виконання двох нейрониих мереж.
\end{itemize}
Паралельний варіант полягає у зважуванні карти сегментації за допомогою нормованих логітів класифікатора. Першим кроком є трансформація логітів сегментації та класифікації в некалібровані оцінки на проміжку $[0, 1]$:
\begin{align}
\label{eqn:m_hat_seg}
\hat{M}_{seg} &= \sigma(M_{seg}) \\
\label{eqn:c_hat_cls}
\hat{C}_{cls} &= \sigma(C_{cls})
\end{align}
Ці оцінки мають ті самі розмірності, що й оригінальні маска та класи, для зручності репрезентації операцій додано додаткові розмірності до вектору класів: $\hat{M}_{seg} \in \mathcal{R}^{C \times H \times W}$ та $\hat{C}_{cls} \in \mathcal{R}^{C \times 1 \times 1}$
\paragraph{Етап 2. Ренормалізація}
Зважування карти сегментації відбувається за допомогою добутку Адамара між матрицями $\hat{M}_{seg}$ та $\hat{C}_{cls}$
\begin{equation}
M_{refined} = \hat{M}_{seg} \circ \hat{C}_{cls}
\end{equation}
Графічну репрезентацію структури зображено на рисунку \ref{fig:my_net_arch_comb}.
\begin{figure}
\centering
\includegraphics[width=16cm]{my_net_arch_comb.png}
\caption{Структура об'єднання прогнозів класифікації та сегментації}
\label{fig:my_net_arch_comb}
\end{figure}
Паралельний варіант має перевагу над послідовним у відсутності додаткового параметру навчання. Також, зважені карти сегментації допомагають збереженню більшої кількості інформації для етапу пост-обробки масок сегментації.
Однак, в разі використання добутку двох сигмоїдних функцій, потрібно зважати, що змінюється центральна точка, і, відповідно поріг бінаризації в подальшій обробці. Навіть у випадку співпадіння значень класифікації та сегментації, фінальний прогноз буде відрізнятися від послідовного підходу.
Графік сигмоїдної функції, та добутку двох ідентичних сигмоїдних функцій зображено на рисунку \ref{fig:sig_sig_sqr}. Досягнення того самого порогу бінаризації $0.5$ відбувається при значно різних рівнях активації останнього шару до нормалізації.
\begin{figure}
\centering
\includegraphics[width=12cm]{sig_sig_sqr.png}
\caption{Графіки сигмоїдної функції та квадратичної сигмоїди}
\label{fig:sig_sig_sqr}
\end{figure}
У випадку використання того самого порогу бінаризації для карт сегментації, зменшиться кількість позитивних пікселів в результаті, тому при прямому переході від однозадачного методу прогнозування до багатозадачного, потрібно використовувати квадрат $t_{cls}$:
\begin{equation}
\hat{t}_{cls} = t_{cls}^2
\end{equation}
Таким чином, кількість позитивних пікселів не заміниться за рахунок зміни в нормалізації сигмоїд.
% 10 страниц ------------------------------------------------------------------------
\subsection{Локалізація важливих для класифікації ознак в умовах відсутності розмітки для сегментації в навчальному наборі даних}
На основі двох представлених методів, розроблено метод навчання з частковим залученням вчителя та метод пост-обробки, що дозволяє виконувати локалізацію важливих для класифікації ознак на вихідному зображенні, що є корисним під час інтерпретації прогнозів моделей. За рахунок використання методів багатозадачного навчання досягається можливість застосування методу в умовах відсутності розмітки семантичної сегментації в навчальному наборі даних.
Даний метод застосовується для навчання тієї самої моделі, але за умови наявності лише розмітки для задачі класифікації. Так само, як і в розділі \ref{nn-arch} використані наступні позначення:
$x$ - вхідне зображення енкодера розмірами $3 \times H \times W$
$F_{encoder}(x, \theta_{enc})$ - функція енкодера зображень,
$\theta_{enc}$ - набір параметрів нейронної мережі енкодера,
$v_1, v_2, ... v_i, ... v_n$ - набір карт ознак енкодера, відповідно до рівняння \ref{eqn:enc_features},
$F_{seg}$ та $F_{cls}$ - нейронні мережі декодера сегментації та класифікації,
$M_{seg}$ та $C_{cls}$ - результати сегментації та класифікації відповідно до рівнянь \ref{eqn:m_seg} та \ref{eqn:c_cls}
$\hat{M}_{seg}$ та $\hat{C}_{cls}$ - нормовані результати сегментації та класифікації відповідно до рівнянь \ref{eqn:m_hat_seg} та \ref{eqn:c_hat_cls}
В основі запропонованого методу лежить ітеративне уточнення карти ознак сегментації за допомогою направлення градієнтів від задачі класифікації. В даному випадку, під час навчання декодер локалізації використовується в ролі механізму уваги \cite{attention}, що навчається автоматично за рахунок градієнтів до задачі класифікації. Хоча, при використанні даного методу, якість сегментації є низькою в районі контурів об'єктів, отриманих результатів достатньо для локалізації цих об'єктів на зображеннях.
Даний метод складається з двох етапів: етапу навчання та етапу прогнозування.
\paragraph{Напівавтоматичне навчання ШНМ в задачі локалізації}
\label{unsup-method}
Першим етапом, обчислюється уточнена ознак класифікації. Для цього, обчислюється добуток Адамара між нормованим за допомогою сигмоїдної функції виходом декодера сегментації та логітами класифікації:
\begin{equation}
M_{unsup} = \hat{M}_{seg} \circ C_{cls}
\end{equation}
Далі, для отримання результату класифікації виконується сумація елементів $M_{unsup}$ з нормалізацією за сумою елементів оригінальної ненормалізованої карти сегментації:
\begin{equation}
C_{unsup} = \frac{\sum_{h=0}^H \sum_{w=0}^{W} M_{unsup(h,w)}}{\sum_{h=0}^H \sum_{w=0}^{W} M_{seg(h,w)} + c}
\end{equation}
Для чисельної стабільності, до знаменника додано малу константу $c \approx 10^{-5}$
Оскільки масштаб нормованого виходу декодера сегментації знаходиться на проміжку $[0, 1]$, використання добутку Адамара дозволяє розглядати $\hat{M}_{seg}$ як карту важливості регіонів для задачі класифікації. В процесі навчання нейронної мережі, така структура поєднання задач спонукає нейронну мережу до призначення високих значень ($\hat{M}_{seg} \rightarrow 1$) для важливих ознак, що є спільними на зображеннях з навчального набору даних.
Для запобігання вивченню нейронною мережею карт сегментації, що складаються виключно з високих значень, необхідна така ініціалізація параметру зсуву останнього шару декодера сегментації $F_{seg}$, щоб активації, за замовчуванням, були близькими до нуля. Для сигмоїдної функції активації таке значення дорівнює $-4.6$
\paragraph{Прогнозування результатів сегментації}
На етапі прогнозування використовується як декодер класифікації, так і декодер, що відповідає за задачу локалізації. Тільки у тому випадку, коли вихід декодера класифікації перевищує заданий поріг $T_c$, виконується процедура декодування сегментації.
Оскільки виходи декодера сегментації $M_{unsup}$ є неперервними, а їхній масштаб визначається процесом навчання, поріг бінаризації сегментації $T_{seg}$ може бути різним для різних зображень. Для вибору оптимального порогу $T_{seg}$ на кожному з вхідних зображень, в процесі пост-обробки запропоновано використати адаптивну бінарізацію за методом Оцу, щоб уникнути необхідності калібрації прогнозів нейронної мережі.
Для цього, вихід декодера сегментації $M_{unsup}$ квантизується до 256 значень $M_q$, після чого ітеративно знаходиться поріг $T_{seg}$, що мінімізує дисперсію всередині каналів маски для кожного з класів, яка визначається як зважена сума дисперсій класів переднього та заднього плану:
\begin{equation}
\sigma_{w}^{2}(T_{seg})=min: \; \omega_{0}(t)\sigma_{0}^{2}(t)+\omega_{1}(t)\sigma_{1}^{2}(t)
\end{equation}
Тут $\omega_0$, $\omega_1$ - ймовірності класів при розділенні порогом $t$, а $\sigma_0^2$ та $\sigma_1^2$ - дисперсії класів.
Після виконання бінаризації, над отриманою маскою $M_t = M_q > T_{seg}$ виконується морфологічна операція ерозії з квадратним ядром розміру 1\% від розміру зображення для того, щоб позбутися малих можливо хибно-позитивних регіонів маски:
\begin{equation}
M_e = M_t \ominus k
\end{equation}
де $k$ - ядро ерозії.
Результатом такого перетворення є бінаризована карта сегментації, в якій розмічено найбільш вірогідні ознаки, що вплинули на результат класифікації.
% 2 страницы ------------------------------------------------------------------------
\section{Висновки до третього розділу}
Запропоновано модель багатозадачної нейронної мережі, що дозволяє вирішувати задачі семантичної сегментації та класифікації для аналізу планарних зображень, що за допомогою нормалізації внутрішніх представлень декодерів дозволяє використовувати розроблені методи багатозадачного навчання.
На основі запропонованої моделі багатозадачної нейронної мережі розроблено метод багатозадачного навчання, що в умовах частково-помилкової розмітки дозволяє зменшити вплив неправильно розмічених прикладів на процес навчання за рахунок їх ефективної фільтрації безпосередньо під час навчання.
Запропоновано метод автоматичної фільтрації помилкової розмітки, що спирається на відсіювання градієнтів в точках, що відповідають занадто високим значення функції втрат.
Запропоновано використання задачі класифікації як більш загальної до задачі семантичної сегментації при багатозадачному навчанні для оновлення параметрів енкодера в точках, що були помилково відфільтровані як зашумлені.
Удосконалено метод об'єднання задач сегментації та класифікації на етапі прогнозування для зменшення кількості хибно-позитивних результатів.
Отримано наступні пункти наукової новизни:
\begin{itemize}
\item \textit{удосконалено} моделі згорткових нейронних мереж шляхом додавання додаткового декодера класифікації з шаром нормалізації, що дало змогу побудувати методи багатозадачного навчання та передбачення результатів нейронних мереж, які вирішують задачі сегментації та класифікації одночасно;
\item \textit{удосконалено} методи багатозадачного навчання та передбачення на основі удосконаленої моделі згорткових нейронних мереж шляхом об’єднання класифікації та сегментації і введення обмеження другого роду (зверху) при обчисленні функції втрат сегментації, що дозволило підвищити достовірність сегментації та класифікації в задачах автоматизованого скринінгу.
\end{itemize}