Pull to refresh

Comments 15

До людей постепенно начинает доходить, что низкая проходимость функции потерь гораздо большая проблема чем скорость достижения ближайшей приличной местности. Очень постепенно, учитывая как много времени люди тратят на эту отрасль в последнее время. :)

Из личного опыта — на многих задачах ситуация когда качество решения зримо улучшаться и алгоритм вышел на полку, это только первая половина, если не первая четверть решения. потому что вы выходите в область функции потерь состоящую из длиннющих извилистых ложбин с очень низким изменением градиента. И вполне возможно, если ваш алгоритм умеет путешествовать по таким областям, сможете улучшить своё решение ещё раза в полтора-два.

Также из личных наблюдений, в такой ситуации возможность посчитать вторую производную не просто не помогает, а буквально вредит. Я когда-то сделал алгоритм, вычисляющий точную вторую производную всего за троекратное примерно время от получения первой производной. Каково было моё разочарование, когда выяснилось, что такой алгоритм в локальных минимумах вдоль ложбин вязнет на много прочнее, чем гораздо более простые алгоритмы, и польза от него только на первой части решения, потом вред один.

Из всего этого один простой вывод — другие типы простых задач нужно ставить в качестве модельних для изучения алгоритмов. Возьмите, например, функцию sin(x)+sin(50x) + cos(50y) + cos(500 y) — (x^2+y^2)/1000 и попробуйте свой алгоритм на такой функции потерь запустить, и посмотрите на сколько он хорош. Реальные задачи на такое похожи гораздо больше чем на то, что показано в иллюстрациях в статьях. Это ещё не лучший пример функции, потому что у неё длинных ложбин нет. Лучше было бы что-то типа суммы пересекающихся спиралей с разными центрами.
имхо, но это очень и очень сильно зависит от задачи. Если у вас плохой ландшафт, то возможно правильней попробовать найти другую формулировку задачи, или же добавить регуляризацию
В общем виде данная задача не разрешима иначе бы из нее следовало бы решение любого диафантового уравнения.
пусть
A(x1,x2,x3...)=0 диафантово уравнние
тогда A(x)^2+sin^2(pi*x1)+sin^2(pi*x2)… = 0 -> диафантово уравнение имеет корень -> минимум уравнения 0 т.е. нельзя построить алгоритм который в произвольном случае найдет глобальный минимум.
Мир нейросетей для того и существует чтобы приближённо решать задачи, которые аналитически неразрешимы вообще или за разумное время. Всё что можно сделать аналитически лучше и быстрее делать аналитически.
Вероятно, перед формулой должен быть минус, иначе около нуля будет максимум, а не минимум. ES-подход отработает хорошо, если задать достаточно большую сигму. Текущую точку будет постоянно «выбрасывать» из (0, 0) из-за нестабильности градиентов, но это не проблема, если хранить самую лучшую точку. Соответственно, VO-подход тоже должен приземлиться в центр, если начать с достаточно большой сигмой. По самой последней ссылке в статье есть картинки с похожей функцией.

> Реальные задачи на такое похожи гораздо больше чем на то, что показано в иллюстрациях в статьях.
Я много раз слышал это утверждение. Вроде как это подтверждают визуализации в вашей статье. Есть ли реально какие-то формальные исследования на эту тему? Я видел в основном утверждения, что за пределами первой фазы обучения лежит ландшафт с кучей седловых точек. К тому же, непонятно, какого улучшения выхлопа от сети можно достичь, если хорошо преодолеть этот ландшафт (10%, 100%, 1000%?).
Я очень слабо слежу за литературой по этой теме, так что не смогу ответить. Но визуализаций, подобных моим, которые бы позволяли как-то изучать свойства рельефов на реальных задачах не только не встречал, но большинство тех с кем случалось разговаривать об этом даже не понимает постановки задачи или считают её не интересной.

Знаю, что в биологии было два исследования на тему было. В одном случае исчерпывающе изучили все пути по ландшафту образованному всего 5 однобуквенными заменами в белке, приспосабливающемся, к новому антибиотику. Из 120 основных путей без откатов путей только 5 оказались в принципе проходимы, и в 99% случаев эволюция шла по одному из них. Другое исследование было про влияние изменчивости в активной зоне белка, там где определяются не структурные свойства белка, а его каталитическая активность. И там почти все варианты оказались жизнеспособными и на эффективность выполнения белком своей функции влияли всего на десятки процентов. Абстракты обоих статей на Элементах выкладывал Маркин с разрывом в несколько лет.

Я для себя из этого делаю вывод, что вообще проходимость ландшафта в биологии очень плохая, но если эволюции это конкретно нужно она способна управлять проходимостью: порождать конструкции, делающие ландшафт на каком-то участке генома более толерантным к изменениям.
Во фразе «глобальный минимум функции не может быть меньше, чем среднее по значениям» по-видимому опечатка. Должно быть «больше, чем»
Да, действительно. Исправил.
Спасибо за статью и ссылки, особенно про пирамиды.
Подобный подход может что-то (разумное, доброе, долговечное) привнести в поле взаимодействия физики и эволюционной биологии? Как-то это соотносится со статьей
Towards physical principles of biological evolution (https://www.biorxiv.org/content/biorxiv/early/2017/08/30/182378.full.pdf)?
Прочёл несколько статей по нейроэволюции и заметил одну особенность: похоже, все варианты нейроэволюции реализованы на множественном CPU, а не на GPU. Этому есть какие-нибудь объяснения?
Вообще, есть успешные примеры нейроэволюции на GPU?
Ну или вообще примеры эволюции произвольного «чёрного ящика» на GPU

Подскажите, почему матожидание от куба дисперсии оказывается нулевое

Это матожидание не от куба дисперсии, а от куба случайной величины. Если случайная величина распределена симметрично относительно нуля, но матожидание от любой её нечётной степени будет равняться нулю.
Sign up to leave a comment.

Articles