Зошит: practice.ipynb · Тест: quiz.html
Три завдання, і всі три — про те саме: перевірити словесне твердження числом. Перше повторює замір теми на іншому ярлику, друге розширює його на всі класи, третє закриває суперечність, яку тема назвала, але не довела до кінця.
рівень 1Рівень 1 — База
Повтори замір 1 з іншим ярликом. Замість яскравості тла додай у лівий верхній кут кожної картинки квадратик 3×3, яскравість якого залежить від класу (шість класів — шість рівнів). Решта незмінна: 600 навчальних прикладів, три зерна, два бюджети навчання — 12 і 32 епохи, дві перевірки (той самий світ і розірваний звʼязок).
Зроблено, якщо: у тебе є таблиця «узгодженість × бюджет → точність без ярлика» для чотирьох значень узгодженості, і ти можеш відповісти на два питання числами:
- при якій узгодженості падіння вперше перевищує розкид по зернах;
- чи зберігається ефект «на 1.00 довше навчання не дає нічого» — тобто чи збігаються числа на 12-й і 32-й епосі побітово, як у лекції ([0.170, 0.207, 0.170]).
Якщо ефект зник — це теж результат: покажи, чим твій ярлик дешевший або дорожчий за яскравість тла. Підказка для порівняння: тло видно по шести сотнях пікселів, квадратик — по девʼятьох.
рівень 2Рівень 2 — Плюс
Замір 2 зроблено на одному рідкісному класі — квадраті, і вибрано його за те, що він третій із шести за складністю. Прожени той самий замір по всіх шести класах при частці 3 % на важкій задачі (шум 0.45, 500 прикладів, 30 епох, три зерна).
Зроблено, якщо: ти побудував діаграму «клас → точність на ньому при частці 3 %» і відповів числом на питання: чи корелює падіння рідкісного класу з його точністю на збалансованому навчанні? Порівнюй із таблицею з лекції: кільце 0.9200, трикутник 0.7567, хрест 0.5967, квадрат 0.4833, коло 0.4167, ромб 0.3700.
Порахуй коефіцієнт кореляції по шести точках і назви клас, який страждає найбільше. Окремо перевір, чи не є цей клас тим самим, що найлегший або найважчий на збалансованих даних, — і скажи, що це означає для вибору «репрезентативного» класу в чужих статтях.
рівень 3Рівень 3 — Виклик
Тема назвала суперечність із темою 29 — там зважена крос-ентропія дала mIoU 0.4181 проти 0.6151 без ваг, тут зважування допомогло — і показала механізм на власній задачі сегментації: у ваги є оптимум (mIoU 0.9402 при ×2), а формула 1/частота (×14.9) стоїть за ним (0.8885). Але причину того конкретного числа 0.4181 ми не довели: постановку теми 29 ми не перезапускали.
Доведи або спростуй її сам.
- Візьми модель і дані теми 29 без змін і відтвори її число без ваг.
- Прожени вагу рідкісного класу від ×1 до ×20 щонайменше в пʼятьох точках, три зерна на кожну.
- Для кожної ваги надрукуй чотири числа: mIoU, IoU рідкісного класу, повноту й точність влучань.
- Порахуй, яка частка хибно зафарбованих пікселів лежить за один піксель від справжнього предмета (розшир істинну маску на один піксель і перетни з помилками).
Зроблено, якщо: ти назвав вагу, при якій mIoU максимальний, показав числом, з якого боку від неї стоїть 1/частота в постановці теми 29, і відповів «так» або «ні» на питання: чи пояснюється число 0.4181 виходом за оптимум. Відповідь «ні» — така сама валідна, як «так», якщо вона підперта числами; тоді назви, який замір відрізнив би твоє пояснення від нашого.
Підказки
- Розкид у цих замірах великий. Перш ніж радіти різниці 0.05, подивись на розкид по зернах — часто він більший. Непересічні купи при трьох зернах — сильніший аргумент, ніж різниця середніх.
- Якщо рідкісний клас дає рівно 0.0000 на всіх зернах, перевір спершу, чи модель
узагалі колись передбачає цей клас:
torch.bincount(predict(model, x_test), minlength=6). Нуль у відповідному стовпчику означає, що клас зник із виходу цілком, а не «іноді плутається». - На рівні 3 не міняй модель теми 29 «щоб було краще». Мета — пояснити її число, а не покращити його; будь-яка зміна архітектури робить порівняння неможливим.
torch.set_num_threads(1)— не примха: кілька потоків на маленьких мережах і сповільнюють, і роблять результат невідтворюваним.