|
|
|
|
Рейтинг 4.66/88:
|
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
||||||||||||||||
Простейшая нейронная сеть для аппроксимации параболы08.05.2019, 16:18. Показов 20052. Ответов 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 |
|
47 / 15 / 1
Регистрация: 26.08.2017
Сообщений: 162
|
||||
| 24.06.2019, 20:16 | ||||
|
0
|
||||
|
2829 / 1686 / 273
Регистрация: 19.02.2010
Сообщений: 4,459
|
||||
| 24.06.2019, 21:34 | ||||
![]() Хоть одну статью найди, где бы на ИмаджНете использовался батч на все 1.2миллиона обучающих примеров, а? Там МИНИбатчи используются на несколько сотен примеров, что по сравнению с миллионом - доля, которую не видно (и поэтому их правомернее называть недомикробатчами, никакой статистической репрезентативностью не обладающими). А ведь для обучения на больших базах данных быстрый процесс сходимости актуален - почему же не используют? В общем, ты, как всегда, смотришь туда (в т.ч. и на Хайкина), что уже как минимум десятилетие назад перестало быть актуальным. Стюардессу уже закопали - а ты её зачем-то откапываешь.[CENSORED] А пока не докажешь - я буду продолжать говорить, что ты врёшь. Алгоритмы автонастройки (и прочие wizard'ы типа автоподбора размера нейросетки под задачу) - это то, что в любом приличном нейрософте прошлого тысячелетия (да и в том современном - типа нейромодуля пакета Statistica - где по-прежнему реализованы только древние нейронки) было обязательным по дефолту. В отличие от твоей студенческой поделки, где всё нужно подбирать методом тыка
0
|
||||
|
47 / 15 / 1
Регистрация: 26.08.2017
Сообщений: 162
|
|||
| 25.06.2019, 12:08 | |||
|
0
|
|||
|
2829 / 1686 / 273
Регистрация: 19.02.2010
Сообщений: 4,459
|
|||
| 25.06.2019, 21:24 | |||
|
Враньё это было с самого начала очевидно всем, знакомым с градиентными методами оптимизации, и поэтому знающими, что ни в методе сопряжённых градиентов, ни в квазиньютонах вторые производные не вычисляются ни в каком виде. Аналогично и с методами одномерной оптимизации (применяемыми для выбора длины шага). Увы, ты настолько замазался во вранье, что тебе выгоднее было бы признаться в простой некомпетентности (или таки в шизофрении). Но раз не признаёшься - я буду напоминать, что ты соврал. Извини, но всех, врукопашную подбирающих приемлемые настройки методом случайного тыка, всегда называли либо нубами - либо таки некомпетентными (в т.ч. и тогда, когда люди полагались на некие дефолтные константы, думая, что они будут применимы всегда и везде, и не удосуживаясь проверять справедливость/правильность этих настроек в каждой новой задаче). Также напоминаю народу, что ты продолжаешь сопоставлять РАЗНЫЕ алгоритмы, причём и скомпилированные с разницей в 2 десятилетия (т.е. когда древняя прога ничего не знает об особенностях/возможностях современных процессоров). За такое жульничанье жулика в приличном обществе бьют канделябрами
0
|
|||
|
47 / 15 / 1
Регистрация: 26.08.2017
Сообщений: 162
|
||
| 27.06.2019, 13:30 | ||
|
[CENSORED] [CENSORED] Всё, в дальнейшую полемике не вижу смысла, [CENSORED]
0
|
||
|
2829 / 1686 / 273
Регистрация: 19.02.2010
Сообщений: 4,459
|
||
| 27.06.2019, 21:53 | ||
|
Фиксирую твоё очередное враньё - ты не предоставил никаких доказательств (да и не смог бы предоставить), что сопряжённые градиенты и квазиньютон ХОТЬ КАК-ТО вычисляют вторые производные.
![]() [CENSORED] [CENSORED]
0
|
||
|
47 / 15 / 1
Регистрация: 26.08.2017
Сообщений: 162
|
||
| 28.06.2019, 13:06 | ||
|
Виктор Геннадиевич, это мой последний ответ Вам [CENSORED] Удачи.
0
|
||
|
120 / 40 / 9
Регистрация: 29.10.2016
Сообщений: 243
|
|
| 28.06.2019, 14:39 | |
|
Для двух точек можно только вычитать одну из другой. По трем можно сделать очень грубое предположение о второй производной, в очень многомерном пространстве практически бесполезное. А по четырем уже можно оценивать качество этого предположения. То есть нужен метод третьего порядка чтобы методы приближенного второго были хоть немного обоснованы.
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 30.06.2019, 21:13 | ||
|
Странно почему модератор не убирает море флеима и оффтопа.
Наверно в промышленности это давно решает некий вибрирующий стенд где тысячи этих таблеток произвольно ориентированных в 3д от вибрации ориентируются правильно падая в трубочки. Затем чисто механикой подаются по одной. Или вибростенд подает таблетки по одной где дальше чисто простой механикой разделяет поштучно. В гугле набрал “автомат подачи заготовок” “Автоматические загрузочные устройства для подачи штучных заготовок” Вариантов реализаций море. https://studref.com/htm/img/39/7730/57.png
0
|
||
|
2829 / 1686 / 273
Регистрация: 19.02.2010
Сообщений: 4,459
|
||||
| 30.06.2019, 22:38 | ||||
|
Ты прогнал (пост #79 на четвёртой странице темы), что в некоторой вполне конкретной проге используются методы второго порядка. Хотя в настройках проги используемые методы перечислены явно - и это не методы второго порядка. После этого - не соскакивай на разговор "в общем", о методах второго порядка в вакууме. А давай отвечай за свой базар, врун. Но ты же не найдёшь. А если найдёшь - то для тех размеров нейросеток, которые использовались в прошлом тысячелетии (1-2-3 десятка нейронов, копеечное число входов). Ибо те, кто занят в современной нейросетевой индустрии и решают современные задачи (с современными размерами нейросеток) - таки поумнее тебя и им нафиг не упёрлась работа с матрицами с сотнями тысяч и даже миллионами строк-столбцов, ибо бОльшее число итераций более простого алгоритма оптимизации выполнится=сойдётся быстрее. Но как вариант подтверждения [CENSORED] - давай покажи, как у тебя сработает метод Ньютона на задаче MNIST (28*28=784 входных сигнала, 10 выходов) и MLP хотя-бы с 300 нейронами в скрытом слое (это примерно точка выхода на асимптоту точности - дальнейшее увеличение размера практически ничего не даёт, если не подключать дропаут). В матрице Гессе выходит (784+1)*300+(300+1)*10=238510 строк и столько же столбцов (двойное вхождение +1 в выражении - для учёта бивисов). Это >56 МИЛЛИАРДОВ элементов, и, в итоге, 227.5 ГИГАБАЙТ памяти при использовании 4байтовых флоатов. Вперёд, покажи, как ты будешь вычислять, обращать, использовать такую матрицу на персоналке/ноуте ![]() [CENSORED] задачи CIFAR10 / CIFAR100, там 32*32=1024 пиксела в картинках, немногим больше 784рёх МНИСТовских. Но число элементов-то в гессиане увеличится квадратично ![]() В общем, я фиксирую твою очередную некомпетентность - когда в теме про нейросетки ты пытаешься нести бред, предлагая использовать методы, которые использовать просто физически невозможно (без постоянного свопа их "внутренних" данных на диск) даже для задач (MNIST), появившихся ещё в прошлом тысячелетии. [CENSORED] [CENSORED] А метод Ньютона в вакууме - обсуждается в совсем ином разделе форума (Математика -> Методы оптимизации).Добавлено через 12 минут Ой, вспомнил, что у Цифаров не ч/б, а цветные картинки - т.е. каждый пиксел превратится в 3 входа (и внезапно так пара см воды в бассейне превращается в рост числа элементов матрицы Гессе почти на порядок, ибо 3*3=9). Но я верю, что ты сможешь ворочать матрицу терабайтных размеров [CENSORED]
0
|
||||
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
||
| 01.07.2019, 10:41 [ТС] | ||
|
0
|
||
| 01.07.2019, 11:48 | |||||||
0
|
|||||||
|
120 / 40 / 9
Регистрация: 29.10.2016
Сообщений: 243
|
|
| 01.07.2019, 15:18 | |
|
В реальных задачах соотношение числа имеющихся примеров и числа возможных точек в пространстве таково, что о какой-то гладкости рассуждать не приходится. Поэтому от второго порядка выигрыш даже теоретически вряд ли будет.
В базе MNIST наверняка нет ни одной точке, для которой в этой базе есть соседи по всем размерностям, и можно было бы посчитать гессиан.
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 01.07.2019, 19:50 | |
|
По телику показывали конвейер чипсов, сотня чипсов широкой полосой пролетает над узкой прорезью по инерции и форсунки воздухом сдувают брак без всяких поисков центра. Другое дело что там камера скоростная и определяет брак визуально…
Гляньте в OpenCV может там давно есть все это дело. Может даже тут opencv_features2d — распознавание и описание плоских примитивов
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 01.07.2019, 21:58 | ||
|
порог размытие порог размытие порог Затем наверно поиск центра масс отдельных областей. И это еще фотка левая, подсветка неудачная. Может если таблетки блестящие а подсветка точечная пару мм яркий источник прям над таблетками то блик на таблетках точка почти центр…Или подсветка снизу матовая при ярком источнике таблетки может быть полупрозрачны и четче виден центр…хз.
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 01.07.2019, 22:21 | |
|
Структурированный свет, спец тип подсветки для сканеров.
https://cybercom.ru/info/artic... d-skanery/ Можно использовать то что это конвейер и снимать только одну полосу от лазера Тогда по сдвигу пикселей строить 3д поверхность. Тут вариантов наверно тоже навалом как и методов скана.
0
|
|
|
2829 / 1686 / 273
Регистрация: 19.02.2010
Сообщений: 4,459
|
|||
| 01.07.2019, 22:32 | |||
|
1) ни размеров матриц, возникающих у методов второго порядка, если ими пытаться обучать нейросетки чему-то нужному именно сегодня (а не задаче ХОР и прочим игрушкам каменного века), 2) ни размеров матриц, при которых у алгоритмов обращения ещё не начинают накапливаться ошибки округления, 3) ни времязатратности, которое потребуется даже квадратичному (см его фантазию) алгоритму обращения при матрице даже 8000*8000 (это, напоминаю, примерно будет соответствовать задаче МНИСТ и MLPшке с 10 скрытыми нейронами, что для МНИСТ очень и очень мало). Т.е. обычная программистская некомпетентность (отсутствие прикидок размеров массивов) и незнание границ эффективной применимости алгоритмов. То же самое - что чуть раньше видели в его коде (если это таки его код) обращения матриц - отсутствие контроля за возможным делением на ноль (программистская некомпетентность) и выбор алгоритма, который не способен обратить ни одну матрицу с хотя-бы одним нулевым элементом (незнание границ применимости взятых методов). Как видим - стабильно одно и то же При стабильных же обидах, когда ему указывают на ошибки/незнание/бред.Считают (точным и быстрым алгоритмом, по времени ~~ как обычное вычисление градиента бэкпропом или ~~ как вычисление диагонали гессиана, т.е. времязатраты от числа синапсов в сети зависят линейно) сразу результат произведения гессиана на вектор. Но при этом надо добавочно знать, где затем используется именно произведение гессиана на вектор (а не произведение обратного гессиана на вектор, как в Ньютоне) ![]() Т.е. нет ни затрат памяти, пропорциональных квадрату весов в сети, ни времязатрат на вычисление отдельного гессиана, тоже пропорциональных квадрату числа весов, ни обращения гессиана (а тут увы - уже кубическая вычислительная сложность будет), ни вычисления гессиана отдельно с целью последующего домножения на вектор (квадратичные сложность и расход памяти, в отличие от этого алгоритма, сразу вычисляющего результата произведения).
0
|
|||
|
120 / 40 / 9
Регистрация: 29.10.2016
Сообщений: 243
|
|
| 02.07.2019, 00:28 | |
|
В нейросетях всё в практике. Без этого будет журналистика, как Egg говорит.
Или он начинающий ПМ раз много обижается.
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 02.07.2019, 11:15 | |
|
Как ваши обсуждения VTsaregorodtsev, danila_zaytcev, NO_, относиться к теме ТС?
0
|
|
|
45 / 6 / 1
Регистрация: 20.08.2012
Сообщений: 200
|
|||
| 02.07.2019, 15:14 [ТС] | |||
|
Я предельно упростил задачу и решил ее пока только для одинаковых дуг равных четвертинкам окружности и без всяких изменений ориентации в пространстве. Получилась простая сеть из одного слоя в шесть нейронов. Дуги переменной длины эта сеть уже не тянет. Непонятно куда двигаться дальше: толи увеличивать число нейронов в одном слое, толи увеличивать число слоев. А может еще что-то возможно?
0
|
|||
| 02.07.2019, 15:14 | |
|
Помогаю со студенческими работами здесь
100
Нейронная сеть для распознавания лиц
Нейронная сеть для распознавания чисел Нейронная сеть для сайта Asp.net Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации:
В классе Работник добавить:
накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни
коэффициентПрезентеизма — снижает продуктивность. . .
|
|
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день.
Для работы необходим браузер,. . .
|
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности
Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано.
. . .
|
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
|
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива
Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
|