Здравствуйте, уважаемые участники группы!
Некоторое время назад я начал интересоваться
искусственными нейронными сетями.
и пришел к проблеме синтеза структуры сети.
Анализ литературы привел меня на сайт Ю.Р.Цоя (
http://qai.narod.ru)
откуда я почерпнул много интересного, в т.ч. обширную библиографию.
В результате анализа я понял, что на Западе
это направление является достаточно популярным,
в то время как в России гораздо меньше работ по нейроэволюции,
точнее, многое является "изобретением велосипеда".
Пользуясь случаем, хочу выразить благодарность
за большой труд по популяризации нейроэволюционного направления
в нашей стране уважаемому Юрию Робертовичу:)
Однако, у меня в голове теперь некоторая каша,
если вас не затруднит, прошу разъяснить мне ряд вопросов.
1. Сложилось такое впечатление, что одновременно
синтезом структуры сети и настройкой весов
более-менее успешно "занимаются"
только эволюционные алгоритмы,
а неэволюционные методы направлены на
решение каждой из двух задач отдельно.
Каскадная корреляция с hill-climbing постепенно усложняет сеть
оптимальное прореживание структуры (OBS, ODS и т.п.) -
вообще оторваны от обучения и являются процедурами,
применяемыми к уже обученной сети.
Подскажите, пожалуйста,
а) какие существуют эффективные неэволюционные методы
для синтеза структур нейронных сетей?
б) какие существуют эффективные неэволюционные методы
для одновременного синтеза структуры сети и настройки весов?
2. Существуют ли работы, в которых предпринимаются попытки
решить все это как одну большую задачу оптимизации
"стандартными" оптимизационными алгоритмами?
Ведь кажется, что с современными мощностями вычислительной техники
решать такую задачу "классическими способами" уже не так уж затратно?
Или здесь дело не в затратах?
3. Вопрос, скорее, по терминологии.
Допустим, я хочу обсудить возможность
применения к какой-либо прикладной задаче ГА,
обсуждая этот вопрос со специалистом, который этой задачей занимается,
я хочу ему объяснить, что я буду использовать ГА/ЭА.
Для этого мне нужно "на пальцах" объяснить "место" ГА
(а в общем случае и ЭА) в той терминологии,
которой этот специалист владеет.
а)
ГА - относятся к классу адаптивных алгоритмов.
ГА - это алгоритмы случайного (стохастического) поиска.
Т.о. ГА = алгоритмы адаптивного локального поиска
(если сформулировать так - меня отсылают к работам Л.А. Растригина)
б)
ГА - это эвристические алгоритмы.
ГА - это разновидность алгоритмов локального поиска
ГА - это разновидность многоагентных алгоритмов
Т.о. ГА = метаэвристические многоагентные алгоритмы глобальной оптимизации
(если сформулировать так - меня отсылают к МГУА Ивахненко)
Как я понимаю, мне не хватает "глобальности" видения
в обсуждениях со "старыми" математиками, которые плохо знакомы
с терминами "эволюционный алгоритм", "генетический алгоритм".
Какими терминами лучше пользоваться,
чтобы быть правильно понятым
и получать "тождественно равные" ответы?
4. Если убрать из генетического алгоритма
операцию кроссовера, чем он фактически становится?