Список форумов neuroproject.ru neuroproject.ru
Форум сайта компании НейроПроект
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Back propagation must die

 
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Нейронные сети
Предыдущая тема :: Следующая тема  
Автор Сообщение
dmitrdv
Новый посетитель
Новый посетитель


Зарегистрирован: 02 Фев 2006
Сообщения: 10
Откуда: екатеринбург

СообщениеДобавлено: Ср Мар 01, 2006 1:22 pm    Заголовок сообщения: Back propagation must die Ответить с цитатой

Реализовал классический алгоритм обратного распространения - он ужасен

взял простую сеть из 2 последовательно связанных нейронов:
вход1 -> нейрон1 -> нейрон2 -> выход1

взял обучающую выборку из одного элемента (X1, Y1) - попытался обучить сеть
Результат:
постоянно приходится подбирать коэффициент скорости обучения для разных X1 и Y1

Что делать? - а я то хотел реализовать этот алгоритм - сделать какой нидь интересный пример (это моя дипломная работа). А теперь придется делать более совершенный алгоритм - может подскажете какой - или усовершенствовать этот?

И вообще как этим алгоритмом вообще кто то пользуется? - если он даже на таком простом примере не работает - а что будет если сеть и обучающая выборка будет больше?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
siteadmin
НейроПроект
НейроПроект


Зарегистрирован: 10 Июн 2005
Сообщения: 81
Откуда: Москва

СообщениеДобавлено: Ср Мар 01, 2006 2:37 pm    Заголовок сообщения: Ответить с цитатой

я бы посоветовал не изобретать колесо и скачать каких-нить готовых пакетов. А для диплома например провести сравнение эффективности разных архитектур или алгоритмов при решении каких-нибудь модельных или реальных задачек
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 112
Откуда: Москва

СообщениеДобавлено: Ср Мар 01, 2006 4:07 pm    Заголовок сообщения: Re: Back propagation must die Ответить с цитатой

dmitrdv писал(а):
Реализовал классический алгоритм обратного распространения - он ужасен
...
И вообще как этим алгоритмом вообще кто то пользуется? - если он даже на таком простом примере не работает - а что будет если сеть и обучающая выборка будет больше?



Уверяю вас, если правильно реализовать этот алгоритм, он будет работать прекрасно на гораздо более сложных выборках.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Eugeen
Эксперт
Эксперт


Зарегистрирован: 15 Ноя 2005
Сообщения: 66
Откуда: Москва

СообщениеДобавлено: Ср Мар 01, 2006 5:21 pm    Заголовок сообщения: Re: Back propagation must die Ответить с цитатой

Цитата:
взял простую сеть из 2 последовательно связанных нейронов:
вход1 -> нейрон1 -> нейрон2 -> выход1

взял обучающую выборку из одного элемента (X1, Y1) - попытался обучить сеть


Как же Вы хотите обучить сеть: 2 слоя а выборка из одного элемента?
Попробуйте хотя бы наоборот. Обучающий набор должен быть представительным, надо иметь еще cross-referens набор и test-набор. тогда у Вас все получиться.
_________________
Мелочи не играют решающей роли. Они решают все.
"Жизнь среди акул", Х. Маккей.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
dmitrdv
Новый посетитель
Новый посетитель


Зарегистрирован: 02 Фев 2006
Сообщения: 10
Откуда: екатеринбург

СообщениеДобавлено: Чт Мар 02, 2006 8:35 am    Заголовок сообщения: Ответить с цитатой

Sergey Sharov писал(а):
я бы посоветовал не изобретать колесо и скачать каких-нить готовых пакетов. А для диплома например провести сравнение эффективности разных архитектур или алгоритмов при решении каких-нибудь модельных или реальных задачек


уже многое сделано - нужно доработать что есть
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dmitrdv
Новый посетитель
Новый посетитель


Зарегистрирован: 02 Фев 2006
Сообщения: 10
Откуда: екатеринбург

СообщениеДобавлено: Чт Мар 02, 2006 8:39 am    Заголовок сообщения: Re: Back propagation must die Ответить с цитатой

Oleg Agapkin писал(а):
dmitrdv писал(а):
Реализовал классический алгоритм обратного распространения - он ужасен
...
И вообще как этим алгоритмом вообще кто то пользуется? - если он даже на таком простом примере не работает - а что будет если сеть и обучающая выборка будет больше?



Уверяю вас, если правильно реализовать этот алгоритм, он будет работать прекрасно на гораздо более сложных выборках.


я взял за основу алгоритм на этом сайте http://ai.obrazec.ru/neur-2.html
этот же алгоритм есть на многих других сайтах
Он может работать? - тогда посоветуйте какой нидь пример интересный чтобы я реализовал

может быть кинете ссылку где есть усовершенствованный алгоритм обр распр
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dmitrdv
Новый посетитель
Новый посетитель


Зарегистрирован: 02 Фев 2006
Сообщения: 10
Откуда: екатеринбург

СообщениеДобавлено: Чт Мар 02, 2006 8:40 am    Заголовок сообщения: Re: Back propagation must die Ответить с цитатой

Eugeen писал(а):
Цитата:
взял простую сеть из 2 последовательно связанных нейронов:
вход1 -> нейрон1 -> нейрон2 -> выход1

взял обучающую выборку из одного элемента (X1, Y1) - попытался обучить сеть


Как же Вы хотите обучить сеть: 2 слоя а выборка из одного элемента?
Попробуйте хотя бы наоборот. Обучающий набор должен быть представительным, надо иметь еще cross-referens набор и test-набор. тогда у Вас все получиться.


а как насчет того что каждый раз приходится подбирать скорость обучения
или он вылетает в большие числа или сходится к стационарной точке
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Куркин Дмитрий
Новый посетитель
Новый посетитель


Зарегистрирован: 23 Янв 2006
Сообщения: 12
Откуда: Челябинск

СообщениеДобавлено: Чт Мар 02, 2006 12:44 pm    Заголовок сообщения: Re: Back propagation must die Ответить с цитатой

Eugeen писал(а):
Цитата:
взял простую сеть из 2 последовательно связанных нейронов:
вход1 -> нейрон1 -> нейрон2 -> выход1

взял обучающую выборку из одного элемента (X1, Y1) - попытался обучить сеть


Как же Вы хотите обучить сеть: 2 слоя а выборка из одного элемента?
Попробуйте хотя бы наоборот. Обучающий набор должен быть представительным, надо иметь еще cross-referens набор и test-набор. тогда у Вас все получиться.


Не могли бы вы по-подробнее объяснить, что есть cross-referens набор и test-набор?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Eugeen
Эксперт
Эксперт


Зарегистрирован: 15 Ноя 2005
Сообщения: 66
Откуда: Москва

СообщениеДобавлено: Чт Мар 02, 2006 10:33 pm    Заголовок сообщения: Re: Back propagation must die Ответить с цитатой

Цитата:
Не могли бы вы по-подробнее объяснить, что есть cross-referens набор и test-набор


Доходчиво это описано у Саймона Хайкина п. 4.14 (стр.288-289).
Если вы хотите серьезно заниматься НС, Вам ее надо иметь.
cross-referens или cross-validation набор нужен для контроля правильности обучения. Привожу оригинальный текст, чтобы не было ошибок интерпретации:

During training, the input and desired data will be repeatedly presented to the network. As the network learns, the error will drop towards zero. Lower error, however, does not always mean a better network. It is possible to overtrain a network.
Cross validation is a highly recommended criterion for stopping the training of a network. Although highly recommended, it is not required. One will often want to try several networks using just training data in order to see which works best, and then use cross validation for the final training.

When using cross validation, the next step is to decide how to divide your data into a training set and a validation set, also called the test set. The network is trained with the training set, and the performance checked with the test set. The neural network will find the input-output map by repeatedly analyzing the training set. This is called the network training phase. Most of the neural network design effort is spent in the training phase. Training is normally slow because the network’s weights are being updated based on the error information. At times, training will strain the patience of the designer. But a carefully controlled training phase is indispensable for good performance, so be patient. NeuroSolutions’ code was written to take maximum advantage of your computer’s resources. Hardware accelerators for NeuroSolutions that are totally transparent to the user are forthcoming.

There is a need to monitor how well the network is learning. One of the simplest methods is to observe how the cost, which is the square difference between the network’s output and the desired response, changes over training iterations. Note that in principle the learning curve decreases exponentially to zero or a small constant. One should be satisfied with a small error. How small depends upon the situation, and your judgment must be used to find what error value is appropriate for your problem. The training phase also holds the key to an accurate solution, so the criterion to stop training must be very well delineated. The goal of the stop criterion is to maximize the network’s generalization.
It is relatively easy to adapt the weights in the training phase to provide a good solution to the training data. However, the best test for a network’s performance is to apply data that it has not yet seen. Take a stock prediction example. One can train the network to predict the next day’s stock price using data from the previous year. This is the training data. But what is really needed is to use the trained network to predict tomorrow’s price.

To test the network one must freeze the weights after the training phase and apply data that the network has not seen before. If the training is successful and the network’s topology is correct, it will apply its ‘past experience’ to this data and still produce a good solution. If this is the case, then the network will be able to generalize based on the training set.
What is interesting is that a network with enough weights will always learn the training set better as the number of iterations is increased. However, neural network researchers have found that this decrease in the training set error was not always coupled to better performance in the test set. When the network is trained too much, the network ‘memorizes’ the training patterns and does not generalize well.

A practical way to find a point of better generalization is to set aside a small percentage (around 10%) of the training set and use it for cross validation. One should monitor the error in the training set and the validation set. When the error in the validation set increases, the training should be stopped because the point of best generalization has been reached. Cross validation is one of the most powerful methods to stop the training.
_________________
Мелочи не играют решающей роли. Они решают все.
"Жизнь среди акул", Х. Маккей.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
dmitrdv
Новый посетитель
Новый посетитель


Зарегистрирован: 02 Фев 2006
Сообщения: 10
Откуда: екатеринбург

СообщениеДобавлено: Пн Мар 06, 2006 10:39 am    Заголовок сообщения: Ответить с цитатой

Вопрос насчет аппроксимации функций нейронными сетями:

для решения этой задачи создаем сеть с одним входом и одним выходом
далее обучаем сеть подавая точки, которые мы аппроксимируем

а затем подаем любые X из интервалов - и получаем график

Я правильно описал процесс?
Какую лучше конфигурацию выбрать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Нейронные сети Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Rambler's Top100 Rambler's Top100