Обсуждение

В архиве: 3 комментария.

Читать и комментировать в ЖЖ ↗

100nyk · 19 апреля 2020

Комментарий

Относительно статьи Evolving Normalization-Activation Layers (https://arxiv.org/abs/2004.02967). Статья очень интересная и стоит того, чтобы её прочесть (приятно, что можно также поиграться с кодом, который там идет, но авторы предупреждают, что этот момент займет немало времени). Из моих мысленных замечаний: К сожалению, нет никакого обмена генетическим материалом между особями. Фактически, идет случайный (почти) поиск удачных решений, модифицированных из одного из уже имеющихся. Даже такой подход дал возможность получить многое из того, что изобрели люди в прошлом. Но мне кажется, что этот путь будет сложно масштабировать на более сложные модели. Используемый метод изменения моделей имеет слишком высокую вероятность получить “урода”. Здесь как в природе – сравнительно простые вирусы могут позволить себе такой уровень ошибок при репликации (хотя и у них присутствует горизонтальный перенос). У тех же коронавирусов, у каждого нового хозяина фактически свой собственный штамм, что затрудняет адаптацию иммунной системы, а также дает возможность иногда преодолевать межвидовой барьер. Но более сложные системы (даже бактерии) так не могут – при таком же уровне мутаций, они в большинстве своем, не дадут жизнеспособного потомства. Вот и используют уже другие, более сложные, но более устойчивые схемы. Поэтому предполагаю, что на уровне более сложных систем, AutoML-zero даст сбой. Чтобы с нуля построить всю систему (более сложную, а не аналог двух слоев NN), сам алгоритм создания системы должен иметь возможность модифицировать рефлексивно и себя. Вполне возможно, что это должна быть даже не программа в общепринятом смысле (набор инструкций), а набор параллельно работающих фрагментов (автоматов), экспрессия (уровень активности) которых управляется каким-то ансамблевым алгоритмом. Ансамбли обычно более устойчивы (дают более гладкую функцию ошибки) к модификациям, чем символьные программы.

Анатолий Левенчук · 19 апреля 2020

Комментарий

Вот вы предлагаете научаться алгоритму научения, в accretion model of theory formation это эвристики по работе с эвристиками. Да, так и делают. Увы, вычислительных ресурсов пока вот на всё-всё сразу выучить не хватает.

Ответ на комментарий

100nyk · 19 апреля 2020

Комментарий

Немножко не так. Если написать программу, которая пишет другую программу, то кто будет писать и улучшать первую программу? Над ней тогда нужно еще программу... Я, скорее, о чем-то типа процесса bootstrapping. Или что-то, отдаленно напоминающее схему рефлексного радиоприемника, когда одна и та же программа переписывает и себя и ту часть, которая собственно выполняет роль "полезной нагрузки". К сожалению, пока не могу придумать четко, хотя идея в голове вертится уже много-много лет ((( Даже пытался делать какие-то эксперименты в стиле Tierra и Avida. Но пока не взлетело. Начиная с определенного размера, наборы команд становятся слишком хрупкими - их ломают самые незначительные изменения, они накапливают бесполезные куски - интроны. Нужен какой-то ансамблевый метод...

Ответ на комментарий