|
|
|
|
Рейтинг 4.66/88:
|
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
||||||||||||||||
Простейшая нейронная сеть для аппроксимации параболы08.05.2019, 16:18. Показов 21981. Ответов 229
Метки нет (Все метки)
Пробую написать свою первую нс из двух нейронов. На выходе простой сумматор.
http://images.vfl.ru/ii/155731... 2257_m.png Задаю значения х = [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9] и по ним получаю y = (2*x-1)^2 + 0.1 см график ниже http://images.vfl.ru/ii/155731... 2396_m.png у - это зеленый точки (соединенные просто для понимания) синими линиями. y = [0,74 0,46 0,26 0,14 0,1 0,14 0,26 0,46 0,74]. Исходные значения х и y задаю в квадрате 0-1 чтобы избавиться от нужды в нормализации. Голубая линия - это выход сети (его обозначаю в дальнейшем y1), который получаю так: сначала задаю случайные веса от -0.5 до 0.5: w = rand(6,1)-0.5; и по ним вычисляю выход сети: y1 = ynet(x, w); (код на матлабе специально писал предельно просто, развернуто, без матриц)
http://images.vfl.ru/ii/155731... 2684_m.png Пробую это делать тремя способами и ни один не работает и не понимаю почему. Способ 1. Нахожу производную от ф-ции ошибки сети по весам (как по формулам приведенным на рис выше) и соответственно ей изменяю веса (w1 = w - a*dE; w = w1)
http://images.vfl.ru/ii/155732... 2811_m.png В чем тут дело? В чем ошибка? Через десяток итераций сеть перестает обучаться. Способ 2. Меняю веса по градиенту Е, но вычисленному после каждого x(i) и y(i), но результат такой же, похожий Способ 3. Меняю веса через вычисление обратного распространения ошибки
0
|
||||||||||||||||
| 08.05.2019, 16:18 | |
|
Ответы с готовыми решениями:
229
Нейронная сеть для аппроксимации Нейронная сеть для функции Не работающая нейронная сеть для xor |
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 06.10.2019, 23:52 | ||
|
0
|
||
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
||||
| 07.10.2019, 13:52 [ТС] | ||||
|
Вот иллюстрация в этому вопросу Полторы синусоиды три нейрона, 12 итераций Левенбергом, веса приведены справа вверху. Вопрос такой: где глобальный минимум? - на "продолжении" этих найденных весов или совсем в другой яме? И даже не такой вопрос, а такой: при глобальном минимуме веса будут примерно также разновелики? Вообще что это значит w3 = -17? Ведь х = -0.2:0.005:0.2. Всего 81 значение. Уменьшим в два раза число х = -0.2:0.01:0.2. тогда получим Могут ли веса быть велики или близки к нулю если они являют собой глобальный минимум? Или их чрезмерный разброс однозначно указывает например на избыточность числа нейронов (или единицы) в сети? - "эквивалентных копий" Эквивалентных чему?
0
|
||||
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
|
| 07.10.2019, 14:15 [ТС] | |
|
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||||||
| 07.10.2019, 14:19 | ||||||
|
Поверхность целевой функции и показывает все локальные и глобальный минимум. Но построить ее вы не сможете т.к это многомерная поверхность, у нее 9 измерений =)). Т.к. поверхность целевой это функция от ваших 9 нейронов. Либо вам нужно придумать как сделать так, чтобы ваши 9 нейронов задавали уникальную точку в 2д плоскости по аналогии с декартовой системой координат тогда по этим координатам можно например высотой поверхности Z вывести loss. Так и получите то что называют поверхность целевой…
0
|
||||||
|
29 / 6 / 0
Регистрация: 14.12.2015
Сообщений: 51
|
||
| 07.10.2019, 14:28 | ||
|
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||||
| 07.10.2019, 14:45 | |||||
|
Как показать во что преобразует многомерный вектор нейросеть? Добавлено через 7 минут Это наверно была бы революция в математике… анализе многомерных данных, AI… Но контингент ребят бывает не тот =). ![]()
0
|
|||||
|
29 / 6 / 0
Регистрация: 14.12.2015
Сообщений: 51
|
||
| 07.10.2019, 15:31 | ||
|
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 07.10.2019, 16:16 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 17.08.2019
Сообщений: 39
|
||
| 07.10.2019, 16:42 | ||
Но к такому коду нужна картинка поясняющая веса w1-w7 Если бы ещё к простому обратному распространению ещё "диагональный левенберга-марквардта" также проиллюстрировать на конкретных весах, было бы совсем респектище!
0
|
||
|
2 / 2 / 0
Регистрация: 17.08.2019
Сообщений: 39
|
|
| 07.10.2019, 16:48 | |
|
картинка
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||
| 07.10.2019, 16:56 | |||
|
0
|
|||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 07.10.2019, 18:15 | |||
|
Цикл в строках 16-19 100000 раз вычисляет x и Y, но использует только последний вариант. Предположу, что в строках 20, 23, 27 опечатка - не хватает пары пробелов в начале строки.
0
|
|||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||
| 07.10.2019, 18:50 | |||
|
Где там создание обучающей выборки? Где подсчет loss? Где вообще все? Пару формул с разрывом хронологии? Почему не сделать функциями? Где графики ошибки? Баян…просто уже не стал мусолить. Именно по этому: Где то тут в теме его пробовали и баян.
0
|
|||
|
3141 / 1742 / 274
Регистрация: 19.02.2010
Сообщений: 4,550
|
|||
| 07.10.2019, 18:57 | |||
|
Как максимум - указание, что при поиске методом случайного тыка (генетический и т.д.) можно исследовать не весь объём некоторого кубика в
0
|
|||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||
| 07.10.2019, 19:25 | |||
|
0
|
|||
|
462 / 185 / 32
Регистрация: 04.08.2018
Сообщений: 732
|
|
| 07.10.2019, 19:29 | |
|
Excalibur921, вас такой результат устроит? Как по мне результат плох. Очень большая ошибка в районе +-1, поэтому обучал на диапазоне от -0.5 до 0.5, но всё равно плохая точность в районе нуля. Как калькулятор использовать нельзя, но форму вполне повторяет.
На картинке: слева график точности (среднеквадратичное отклонение) по обучающим примерам; правее - параболы по обучающей выборке, красным исходные значения, синим ответ сети; самый правый график - параболы по тестовой выборке, цвета означают то же самое. Нижние графики как менялась точность в процессе обучения на обучающей и тестовой. Не первый раз замечаю, что на тестовой точность выше, объяснить не могу. Параметры сети один слой, три нейрона, на каждый нейрон своё смещение. На выходном слое тоже действует функция активации, хотя её надо убирать. Повторяемость хорошая. Алгоритм и прочее опишу если будет заинтересованность. Документ маткада 4.0, где это всё считается прикладываю.
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||||
| 07.10.2019, 19:43 | ||||
|
Rayvenor, Ну я как бы не выбиваю тут работающую сеть. Просто пытался повторить в коде что тут кидали формулы и как видите сильно не эффективно(море графиков в теме). Да лень давно мучить код.
Кто еще пробовал тоже не удачно…тут море картинок. ![]() Вот плохая точность, каждый график результат обучения. Простейшая нейронная сеть для аппроксимации параболы Да что вы все усложняете сеть? У меня было вроде 5, потом 6 весов.
0
|
||||
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
|||
| 07.10.2019, 21:44 [ТС] | |||
|
допустим глобальный минимум получаем при w = [w1 w2 w3 w4 w5 w6] (веса все разные). Тогда сеть будет работать точно также и при таком векторе весов: w = [w2 w1 w4 w3 w6 w5]. Больше наверное нет тождественного варианта. В каком случае важно знать эти варианты? Сегодня попробовал найти глобальный минимум у сети Простейшая нейронная сеть для аппроксимации параболы таким образом: задал три положения для каждого веса -2 0 2 и нашел все возможные сочетания для всех векторов (по 9 весов в каждом векторе) этой сети. Посчитал для каждого вектора ошибку. Взял 20 весов с минимальными ошибками и запускал и в Левенберга и получил 20 векторов на выходе. И что вы думаете? В каждом векторе как минимум два веса близки к 20, т.е. нет ни одного вектора с весами хотя бы в пределах 10. Если для этой сети с тремя нейронами посчитать все возможные комбинаторные случаи, то наверное можно было бы получить не по три исходных позиции (-2 0 2), а больше. Это на сей день все зачем могут мне пригодиться комбинаторные числа. Кто-нибудь может найти настоящий глобальный минимум для простейшей сети с двумя нейронами (указанной выше) и параболой на выходе? А с тремя? см. Простейшая нейронная сеть для аппроксимации параболы
0
|
|||
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
|
| 07.10.2019, 21:49 [ТС] | |
|
Верно ли что глобальный минимум не зависит от количества точек параболы?
0
|
|
|
462 / 185 / 32
Регистрация: 04.08.2018
Сообщений: 732
|
||||
| 07.10.2019, 22:15 | ||||
|
Насколько я понимаю, НС это инструмент для поиска закономерностей, которые иным путём не находятся или нахождение требует бОльших усилий. Для ситуаций, где закономерность находится другим способом, использовать НС не эффективно. Я не понимаю зачем вам аппроксимировать параболу с помощью НС. Если для теста возможностей НС, то может продуктивнее поискать другое приложение?
0
|
||||
| 07.10.2019, 22:15 | |
|
Нейронная сеть для распознавания лиц
Нейронная сеть для распознавания чисел Нейронная сеть для сайта Asp.net Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|