Re[9]: Нейронный сети
От: RomanGSS  
Дата: 24.07.03 09:00
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Бесит, говорите? А можно и посмеятся . Мне вот, к примеру, пришла в голову гениальная идея! А что если применить генетику для обучения нейросети? Это же получится, блин, что крутость нейросетей будет таки умножена на немеряную крутизну генетических алгоритмов! Ультра-турбо-сега-мега-драйв, все инвесторы наши! Назовем результат в честь скромного изобретателя (меня): многослойный Гапертрон.


G>А что? Вот вам правдоподобное объяснение. Нейросети "обучаются" минимизацией функции ошибки методом сопряженного градиента. Этот метод во первых, склонен застревать в локальных минимумах, во вторых очень медленно работает из-за ступенчатого характера функции ошибки (маленький модуль градиента на плоских участках приводит к "пробуксовке"). Ну и в конце концов, требуется дифференцируемость персептрона, из-за чего мы вынуждены применять гладкие финкции в персептронах вместо ступеньки (что делает персептрон менее "персептронистым"), да и расчет самой производной отнимает немало времени.


G>Если мы применим ГА, то убьем всех зайцев сразу. Дифференцируемость не требуется, ну и типа ГА то будет всяко быстрее "сопряженного градиента". Ведь ГА

G>1) Модный и современный
G>2) Не завязан на градиент, а посему не подвержен пробуксовкам.
G>3) Не застревает в локальных минимумах (ну он, типа, имеет шанс оттуда выбраться, для этого есть "мутации" и "скрещивание").
G>4) Ну что они там еще обычто говорят? Ах да, ну ГА же типа это ну совсем как естественный отбор в природе, а посему просто стопудово должно сработать ("Гоги, докажи теорему!" — "Мамой клянусь!" .

G>Вроде здорово должно получится . Вроде как раз та самая ситуация, когда непонятно как решать. Но что-то подсказывает мне, что работать не будет. Совсем. Как раз из-за того, что качество одного умножится на качество другого. Have fun, господа математики!


Я писал подобные алгоритмы в 1995-96 годах (2000 man/hours), программа до сих пор фунционирует (pure assembler). Результаты:
да, таким способом можно решать какие-то отдельные задачи. Общее впечатление: в данном случае неопределенности НС сетей накладываются на неопределенности ГА и для того, чтобы понять, найдено ли решение человек должен сидеть и смотреть результаты в реальном времени, иначе система проскакивает оптимумы и уползает неизвестно куда Специальных методов обучения НС не применялось, обучение шло только от результатов обратной связи с виртуальной средой исполнения, НС связи — весовые все со всеми, алгоритмы мутаций — стандартные, количество типов нейронов — около 30, ГА — поддержка "видов" в среде (расходящиеся виды перестают скрещиватся на определенном этапе), виртуальная среда — не стабильная (изменяющаяся со временем) и т.п.


Существует хороший учебник (издания 197X года) "Введение в кибернетику" (в библиотеках можно найти), там многое хорошо описано о НС и абсрактных алгоритмах. Читайте, очень полезная книга.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.