Честните негативни резултати
Стената на топологията беше отчасти артефакт на измерването. Лаборатория, която не публикува негативните си резултати, не заслужава доверие и за позитивните.
Голяма част от това, което публикувах тази година, е твърдение, което не оцеля при сблъсъка с доказателствата. И продължавам да ги публикувам.
Ако една лаборатория показва само победите си, нямаш начин да прецениш дали победите й са реални. Затова ето седем неща, които се провалиха, в реда, в който ги открихме, и какво научихме от всяко.
Топологичната “стена”, която отчасти беше грешна линийка
Дълго време имахме число: “стена” в способността на модела да възпроизвежда сложна топология. Усещаше се като твърд архитектурен таван. После погледнахме по-внимателно как метриката броеше провала — броеше свързаните компоненти суров, без претегляне. Значителна част от “откъснатите фрагменти” се оказаха точки с нулев обем: числен шум, не реално откъснати парчета. Стената беше отчасти счупена линийка, не счупен модел. Не поправихме числото. Поправихме инструмента и измерихме отново. Дали останалото е проблем на данните или на архитектурата — все още е реално отворен въпрос; нямаме присъда и не претендираме за такава.
Експериментът, който измери грешното нещо
Направихме тест с цел да отговори: реалната CAD геометрия (вместо синтетична) чупи ли топологичната стена? Изглеждаше като чист резултат. После забелязахме, че корпусът с реален CAD имаше 8192 точки на форма, срещу 200 000 в базовата линия, с която се сравняваше, плюс различно преизчисляване на точките при всяка епоха. Не измервахме качество на данните. Измервахме плътност на облака от точки. Изхвърлихме резултата и преработихме експеримента. Сега това е твърдо правило при нас: съгласувай параметрите на корпуса, преди да сравняваш два модела, иначе получаваш уверен, но напълно фалшив отговор.
Капанът с точността, който направи един FEM резултат произволен
Единичен FEM солв с penalty гранични условия може да има число на обусловеност около 2.7e12. Стандартната float32 аритметика носи около 8.4 милиона — шест порядъка недостатъчно. Под този праг решението не е леко грешно, а произволно — и displacement-driven patch тестовете, с които тогава проверявахме здравия разум, бяха структурно слепи за проблема, защото не проверяват обусловеността. Поправката беше механична: задължителна двойна точност на всеки път за решаване плюс изричен guard за равновесния остатък, за да не може бъдеща регресия да се скрие по същия начин. След поправката грешката спрямо аналитичното решение падна на 0.4-1.2%.
Zero-shot трансфер, който просто не се случи
Имахме mesh-graph рефайнер, тренирал на едни данни за скоби (DeepJEB), който измеримо подобряваше точността по пиков стрес в рамките на разпределението. Тествахме го, непроменен, на друг, но сроден набор данни (SimJEB). Резултат: по-лошо на 27 от 40 скоби. Част от причината е, че самият суроgat модел е извън разпределението там (грешка около 0.573). Честният извод не е “трансферното учене не работи” — по-тесен и по-неласкав е: този конкретен рефайнер е инструмент, работещ само в рамките на разпределението, и нов домейн изисква собствен рефайнер, трениран на истина от този домейн. Това е реална цена, не универсално обещание, което можем да прескочим.
Стратегия за семплиране, която се изкачи на грешния хълм
Пробвахме gradient-ascent семплиране като начин по-бързо да намираме най-тежките или най-ценните точки за дизайн. Тествано — негативно, надеждно се изкачваше към грешния оптимум. Записахме защо, не го пробвахме пак с друг learning rate с надеждата да проработи, и продължихме към метод, който наистина работеше.
Твърде слаб trust сигнал, за да му се вярва
Нашата логика за ескалация ползва разминаване между два семена — тренираме два модела и проверяваме дали се съгласуват — като заместител на “тази прогноза рискована ли е”. Измерихме доколко този заместител следва истинската грешка. Корелация: 0.265. Процент фалшиви тревоги: 47-57%. Това е хвърляне на монета с лабораторна престилка. Казваме го направо, вместо да пуснем ескалационна политика, която изглежда строга, но не е. Измерена е и още не е калибрирана.
Урокът за “късметлийските” числа
Няколко ранни публикувани числа се оказаха верни, но извадени с късмет. Единичен run, докладван като точкова оценка, може да падне по-добре от честната средна стойност просто по случайност. Когато се върнахме и погледнахме разпределението вместо единичния draw, число, публикувано като 0.208, се оказа да лежи в лента по-близо до ~0.21. Поправката не е сложна: докладвай ленти, не точки, и го казвай изрично, когато още нямаш достатъчно семена, за да построиш лента правилно.
Коляното на скалирането на данните
Хвърлихме 3.2 пъти повече тренировъчни данни към една от най-трудните ни метрики. Помогна — +5.3 процентни пункта, движение от 0.2268 към 0.1718 по една верига от измервания — но печалбата беше сублинейна спрямо увеличението на данните. Това е коляното на кривата: повече редове вече не са евтиният лост. Следващият лост трябва да е капацитет на модела или архитектура, не размер на корпуса, и третираме това като реално ограничение на пътната карта, не като нещо, което малко повече данни в крайна сметка ще оправят.
Нито един от тези седем негативни резултата не е фатален сам по себе си. По-притеснителна за мен е версията на този пост, която не съществува — лабораторията, която има всичките седем проблема и не публикува нито един. Ако не виждаш провалите ми, нямаш основание да вярваш и на успехите ми. Това е реалният аргумент да публикувам този списък.
Какъв е “негативен резултат” във вашата собствена работа, който почти не публикувахте, и какво промени решението ви?
Обсъди NeuroCAD като пилот или инвестиционна възможност.
Working MVP/demo е наличен за квалифицирани разговори.
Контакт с founder-а