|
|
|
|
Рейтинг 4.57/47:
|
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
Обучение нейронной сети методом обратного распространения ошибки02.04.2019, 23:23. Показов 9761. Ответов 40
Метки нет (Все метки)
При обучении созданной на C# нейронной сети возникли сложности.
Используется сигмоидная функция активации и архитектура нейронной сети с одним входным, скрытым и выходным слоем. Расчёт корректировок синаптических весов: Скрытый - Внешний слои. Скрытый1 - Скрытый2 / Входной - Скрытый слои. Во входной и каждый скрытый слой добавлены нейроны смещения, выдающие на выходе 1. Сеть быстро и хорошо запоминает один конкретный пример из обучающей выборки, но при попытке обучить чему то новому, среднеквадратичная ошибка за эпоху только возрастает. Примеры подаю по порядке. Например, такая сеть: 2 нейрона во входном слое + 3 нейрона в скрытом + 2 нейрона в выходном слое (не считая нейроны смещения) Обучение бинарной операции XOR: 0 xor 0 = 0 0 xor 1 = 1 1 xor 0 = 1 1 xor 1 = 0 Первый нейрон выходного слоя отвечает за 0, второй - за 1 (если выходное значение больше 0.5, нейрон активирован). Обучающая выборка тогда имеет вид: 0, 0 - 1, 0 0, 1 - 0, 1 1, 0 - 0, 1 1, 1 - 1, 0 В процессе 120к эпох обучения (пробовал и 10к, и 30к, и 150к...) начальные выходные значения почти не изменились, а среднеквадратичная ошибка за 5000 эпох равна 0.5. Когда сеть выдаёт (0, 0), а верный ответ (1, 0), выходное значение на первом нейроне повышается. Когда с другого примера сеть выдаст (1, 0), а верный ответ (0, 1), выходное значение на первом нейроне падает, на втором повышается. Аналогичная ситуация со вторым выходным нейроном. Т.е. выходные значения то повышаются, то понижаются, а в итоге - нет обучения.
0
|
|
| 02.04.2019, 23:23 | |
|
Ответы с готовыми решениями:
40
Алгоритм обратного распространения ошибки |
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|||||||
| 05.04.2019, 21:36 [ТС] | |||||||
0
|
|||||||
|
3141 / 1742 / 274
Регистрация: 19.02.2010
Сообщений: 4,550
|
||
| 05.04.2019, 22:09 | ||
|
Если слой нейронов - то получается этот слой, 2 (судя по стартовому посту темы) скрытых слоя, и один выходной - всего 4 слоя нейронов. Так? Тогда Вас просто не поняли. Ибо входным слоем обычно называют "слой" исходных вх.сигналов. (я согласен, что этот унаследованный от буржуев способ называния входов "входными нейронами" дебилен - но он таки стал массовым, поэтому в отсутствие подробностей обычно предполагают некоторую массовую картину Ну и Вы разве каждый вход сразу же пропускаете через сигмоиду? Без весов, без смещений? Зачем Вам нужна проекция значений каждой вещественной оси на получаемый после сигмоиды отрезок [0,1]? Это эквивалентно тому, Ваш входной "слой" нейронов можно отрезать - и вместо исходных вх.сигналов подавать на оставшуюся нейросеть значения 0.5 (там, где был 0), и сигмоида(1) вместо 1.
0
|
||
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
| 05.04.2019, 22:12 [ТС] | |
|
VTsaregorodtsev, спасибо не знал) нужно внести изменения в код.
0
|
|
|
462 / 185 / 32
Регистрация: 04.08.2018
Сообщений: 732
|
|||||||
| 06.04.2019, 01:19 | |||||||
|
dm stark, ну вот, похоже разобрались.
Действительно применять какую-то математику необходимо только к нейронам, значения которых мы не знаем. Значения входных нейронов известны и используются как они есть. Стартовые значения весов нейрона смещения задавайте хоть руками, но чтобы они были далеки друг от друга. Например, веса первого нейрона: 0.5, 0.2, -0.6. Если синапс у нейрона один, то вес какой-нибудь, не важно. У вас оба были отрицательные и близкие. В начальных значениях разброс чисел у весов обычных нейронов у меня больше, чем у нейронов смещения. Не экономьте на количестве нейронов в скрытом слое. Поиграйтесь на этом сайте, посмотрите как влияет количество нейронов, количество скрытых слоёв, скорость обучения на обучение. Добавлено через 39 минут
0
|
|||||||
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,827
|
|||
| 06.04.2019, 06:58 | |||
|
Добавлено через 4 часа 9 минут
0
|
|||
|
47 / 15 / 1
Регистрация: 26.08.2017
Сообщений: 162
|
|||||||
| 06.04.2019, 17:03 | |||||||
|
Найти ошибку в Mlp тот ещё квест, особенно если пишешь впервые и нет возможности сравнить с правильным вариантом, говорят что можно зависнуть на многие годы, да и потом получив вроде работающий вариант лет через 5 обнаружить что была где то ошибка, и могло быть всё намного лучше, но прошлого не воротишь, жизнь утекла сквозь пальцы, остаётся только сетовать и брюзжать...
Но если обратиться к репетитору это позор, репетитор всё равно не поможет в реальной работе, трудности нужно уметь преодолевать самому, как бы не было тяжело. Добавлено через 1 час 44 минуты
0
|
|||||||
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|||||||
| 06.04.2019, 19:29 [ТС] | |||||||
|
Добавлено через 3 минуты Добавлено через 16 секунд Добавлено через 6 минут
0
|
|||||||
|
3141 / 1742 / 274
Регистрация: 19.02.2010
Сообщений: 4,550
|
|||
| 06.04.2019, 21:18 | |||
|
В чём отличия (семантически и функционально) этого input layer от простых inputs? На прицепленной картинке жёлтенькие кружки - это уже полноценные нейроны с нелинейностями? 1) вы отрабатываете чей-то заказ, или 2) вы рассказываете о своей неизбытой детской психотравме? Так со вторым случаем - лучше к психиатру, а не сюда на форум. А то через 5 лет будете всем рассказывать, что вовремя не сходили к психиатру, прошлого не воротишь, жизнь утекла,...
0
|
|||
|
462 / 185 / 32
Регистрация: 04.08.2018
Сообщений: 732
|
|
| 06.04.2019, 22:16 | |
|
dm stark, а саму функцию проверили? У степени экспоненты знак минус.
0
|
|
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
| 06.04.2019, 22:36 [ТС] | |
|
Rayvenor, я добавил минус, но это не помогло.
0
|
|
|
47 / 15 / 1
Регистрация: 26.08.2017
Сообщений: 162
|
||||
| 07.04.2019, 00:35 | ||||
|
0
|
||||
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
| 07.04.2019, 00:46 [ТС] | |
|
danila_zaytcev, я не опровергаю ваше замечание, а лишь уточняю почему ООП тут лишнее...
Добавлено через 1 минуту danila_zaytcev, может быть вы дадите ответ ещё и по теме вопроса?
0
|
|
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,827
|
|
| 07.04.2019, 02:26 | |
|
0
|
|
|
47 / 15 / 1
Регистрация: 26.08.2017
Сообщений: 162
|
||
| 07.04.2019, 13:34 | ||
|
Но я могу Вам дать свой код Mlp, однако это означает что вы не джедай, не спартанец и Вам логичнее пользоваться чужими библиотеками чем писать свои, но если настаиваете и позор для Вас не хуже смерти, то я по первому требованию предоставлю работающий код)))
0
|
||
|
3141 / 1742 / 274
Регистрация: 19.02.2010
Сообщений: 4,550
|
||
| 07.04.2019, 20:36 | ||
|
В общем, я не вижу "здоровой" причинно-следственной логики в Ваших постах/реакциях.
0
|
||
|
47 / 15 / 1
Регистрация: 26.08.2017
Сообщений: 162
|
|||
| 08.04.2019, 16:34 | |||
|
Уверен если меня или даже Вас посадить в комнату за чужой компом без инета с IDE, то не факт что мы бы за день справились по памяти с написанием Mlp с нуля по памяти. Вы конечно будете утверждать обратное и спорить тут не о чем но правда на моей стороне.
0
|
|||
|
3141 / 1742 / 274
Регистрация: 19.02.2010
Сообщений: 4,550
|
||||
| 08.04.2019, 20:54 | ||||
![]() Вы ведь не понимаете, что метод обратного распространения не выходит за рамки известных со школы правил дифференцирования. Поэтому вам и нужны будут инет/книга по MLP - для взятия оттуда готовых формул.
0
|
||||
|
47 / 15 / 1
Регистрация: 26.08.2017
Сообщений: 162
|
||
| 08.04.2019, 21:50 | ||
|
0
|
||
|
3141 / 1742 / 274
Регистрация: 19.02.2010
Сообщений: 4,550
|
||
| 10.04.2019, 22:16 | ||
|
Или это у вас подсознание пытается проецировать на других ваши собственные эпик-фэйлы?
0
|
||
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
| 14.04.2019, 19:52 [ТС] | |
|
Если задача сводиться к прогнозированию временного ряда, как следует формировать обучающую выборку?
В качестве примера имеет ли место взять какую нибудь математическую функцию и обучить сеть на, скажем, 1000 примерах X-Y? Но если на вход можно подавать любое чисто (ведь активационная функция его всё равно приведёт к нужному виду), то что на выходе, мы будем получать значение функции, пропущенное через активационную функцию?
1
|
|
| 14.04.2019, 19:52 | |
|
Алгоритм обратного распространения ошибки Обучение многослойной нейронной сети Определение адаптивного шага обучения алгоритм обратного распространения ошибки
Обучение и применение нейронной сети для прохождения игры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|