|
|
|
|
Рейтинг 4.91/11:
|
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
Выбор архитектуры нейронной сети07.08.2018, 13:52. Показов 2148. Ответов 13
Метки нет (Все метки)
У меня имеется два временных ряда, причём таких, что значения в одном ряде некоторым очень сложным образом зависят от значений в другом. Задачей является дать краткосрочный прогноз для первого временного ряда, располагая 50 предыдущими значениями ряда и соответствующими значениями из второго временного ряда.
Т.е. мы имеем 100 входных значений. На выходе должно быть лишь 1. Именно: какой метод обучения сети лучше выбрать для этой цели, сколько взять нейронов в скрытом слое, сколько слоёв лучше использовать и т.д. Задача очень похожа на прогнозирование стоимости акций компании.
0
|
|
| 07.08.2018, 13:52 | |
|
Ответы с готовыми решениями:
13
Выбор модели нейронной сети Изучение нейронной сети СОВ с использование нейронной сети |
|
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
|
|
| 08.08.2018, 16:12 | |
|
Судя по заданным вопросам о количестве слоев, нейронов и пр. в нейронных сетях ваши познания мягко говоря не глубоки. А при этом вы сразу кидаетесь на решение задачи, что требует хотя бы начального понимания, что такое временные ряды, что такое связанные временные ряды и какие методы и модели используются для работы с ними. Ответы - это целый курс, а не три строчки в форуме. Поэтому мой совет - для начала разобраться, а нужны ли вам нейронные сети вообще или задача хорошо решается более традиционными методами(я почти уверен, что этого будет достаточно). А уж если потом засвербит работать именно с сетями - изучать нейронные сети, подробно и аккуратно. И тогда таких детских вопросов - не возникнет. Удачи.
0
|
|
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|||||
| 08.08.2018, 21:02 [ТС] | |||||
|
0
|
|||||
|
698 / 573 / 75
Регистрация: 20.09.2014
Сообщений: 3,706
|
||
| 09.08.2018, 04:59 | ||
|
0
|
||
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
| 09.08.2018, 17:58 [ТС] | |
|
100 значений подаётся на вход. А обучающая выборки содержит тысячи значений. Я же написал.
Добавлено через 10 минут 20-30 тыс. эпох обучения. Нормально?
0
|
|
|
2641 / 1652 / 267
Регистрация: 19.02.2010
Сообщений: 4,373
|
|||
| 09.08.2018, 19:12 | |||
Т.е. меняйте какой-то параметр (например, число нейронов) - и смотрите, как меняются тенденции (как меняется точность). И ищите выходы на асимптоты или попадания в экстремум.
0
|
|||
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|||
| 09.08.2018, 19:35 [ТС] | |||
|
Добавлено через 2 минуты 30 тыс предыдущих значений изменяющейся величины для обучения. Добавлено через 4 минуты
0
|
|||
|
2641 / 1652 / 267
Регистрация: 19.02.2010
Сообщений: 4,373
|
|
| 09.08.2018, 19:39 | |
|
Эпоха - это именно просмотр всей обуч. выборки. Независимо от того, как Вы из неё достаёте примеры при обработке временного ряда.
У Вас получается всего одна эпоха обучения. Это тоже ненормально. Ибо хоть и есть околонулевой шанс, что обучение нейросетки за одну эпоху вдруг сошлось к локальному или глобальному минимуму - но нужно сделать следующую эпоху обучения, чтобы увидеть/подтвердить наличие или отсутствие прогресса.
0
|
|
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
| 09.08.2018, 20:54 [ТС] | |
|
Хорошо.
0
|
|
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
||
| 12.08.2018, 01:29 [ТС] | ||
|
Что можно сказать на счёт архитектуры? Может быть лучше подойдёт рекуррентный перцептрон? Видите ли, в данных задачи есть информация, что если наша величина ранее уменьшалась, то она однозначно потом будет увеличиваться. Рано или поздно, но чем позже это произойдёт, тем больше времени она будет далее расти. Рекуррентный перцептрон позволяет учитывать то, как изменялась величина ранее. Я думаю, это можно рассматривать это как вариант. Не так ли?
А на счёт алгоритмов обучения. Я бы хотел использовать что-то вроде алгоритма Левенберга-Марквардта, но не могу найти в сети его реализаций. Может быть вы что-то подскажете по этому поводу
0
|
||
|
2641 / 1652 / 267
Регистрация: 19.02.2010
Сообщений: 4,373
|
||
| 12.08.2018, 12:02 | ||
|
Ибо классический ЛМ (т.е. с полной матрицей) - подходит только для очень мелких нейронок, а уже при 1000 весов в сети (грубо говоря, Ваши 100 входов и всего 10 нейронов в скрытом слое) имеем матрицу из миллиона значений. В общем, затраты на память тут выходят как квадрат общего числа весов синапсов в нейросети. Ну и нафиг такое? Поэтому из ЛМов пригоден только стохастическо-диагональный ЛМ, он работает с диагональю матрицы, т.е. с вектором, число элементов в котором равно числу весов в сети. Читать про него на буржуинском, в паре работ Яна ЛеКуна 98г. Если хотите сами его программировать - скажите, дам ссылки на эти статьи. Но скорость сходимости обучения увеличится с ним ненамного (в 2-3 раза, не более - ибо если более, то тогда с вероятностью 99% у простого попримерного обучения шаг был неверно настроен = был малым). Тем более, что стохастическо-диагональному ЛМу тоже надо ручками задавать шаг обучения. Т.е. и с ним, и без него имеются равные шансы задать шаг неоптимально. Так что если нейронка работает/обучается медленно - может имеет смысл просто заняться оптимизацией кода программы?
0
|
||
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
||
| 12.08.2018, 15:34 [ТС] | ||
|
0
|
||
|
2641 / 1652 / 267
Регистрация: 19.02.2010
Сообщений: 4,373
|
|
| 12.08.2018, 21:39 | |
|
http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf
http://yann.lecun.com/exdb/pub... un-98b.pdf В первой - это самый-самый последний раздел-аппендикс (перед списком литературы). Во второй - увы, раскидано по нескольким местам потому, что структура изложения материала там такая. Т.е. разделы 9.1 и 7.4. Но по сравнению с первой статьёй - рассказан иной способ оценивания (не только предварительный перед каждой эпохой, на небольшой подвыборке из нескольких сотен примеров - но и постоянно идущий на основе экспоненциального забывания).
0
|
|
|
13 / 12 / 4
Регистрация: 20.05.2016
Сообщений: 325
|
|
| 15.08.2018, 02:49 [ТС] | |
|
А нет ли именно самого алгоритма? А то все эти пляски вокруг частных производных весьма смущают.
Может быть вы могли бы пояснить суть?
0
|
|
| 15.08.2018, 02:49 | |
|
Помогаю со студенческими работами здесь
14
Обучение многослойной нейронной сети
Коррекция весов в LSTM нейронной сети
Робот-собеседник на основе нейронной сети Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|