45 / 45 / 2
Регистрация: 10.06.2023
Сообщений: 679

О влиянии sigmoid на обучение сети

22.09.2025, 11:07. Показов 880. Ответов 6

Студворк — интернет-сервис помощи студентам
Разыскивая в сети пример программы с дообученнием сети, обнаружил пример простейшей сети с топологией 2-1, которая успешно обучалась различать пары положительных и отрицательных чисел. Ранее в интернете многократно встречались программы, решающие эту задачу в топологии 2-2-1. Вспомнив давнюю не решенную проблему о влиянии нелинейного фактора - sigmoid функций, решил проверить это на простейшей программе. Как и ранее обнаружил, что при отказе от sigmoid сходимость обучения исчезает. Почему?
Ранее видел объяснения о необходимости sigmoid для ограничения диапазона изменений градиентов.
Теперь для простейшего случая разделения положительных и отрицательных чисел понимаю, что для разделения достаточно многократного применения sigmoid, разводящего результат к границам.
Хотелось бы обсудить как проявляется влияние sigmoid на обучение!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.09.2025, 11:07
Ответы с готовыми решениями:

Влияние "моей графики" на монитор
Здратвуйте, скажите, пожалуйста я на Form->Canvas рисую каждые 60мс изображение (все время) пока...

Влияние выходного параметра функции
Собственно вопрос. В C++ при тип выходного параметра не учитывается при перегрузке функции , на...

Потоки и их влияние на скорость
Есть необходимость использовать несколько потоков, которые будут в цикле обрабатывать значения. Как...

6
2610 / 1623 / 264
Регистрация: 19.02.2010
Сообщений: 4,301
22.09.2025, 11:50
Цитата Сообщение от VAF34 Посмотреть сообщение
разводящего результат к границам.
Ну да, сначала сами создаём себе трудности - а потом их героически преодолеваем.
Вместо одной исходной константы 0 (и условия >=0 над ней) - вводим 2 константы (0 и 1 для сигмоиды) для "эталонных значений" ответов сети.
Т.е. вместо работы с пространством исходных значений признаков без какой-либо нейросетки - делаем линейный/нелинейный mapping (в R или интервал [0,1] - в зависимости от неиспользования/использования сигмоиды у нейронов), но (и в R, и в отрезке) выделяем там 2 значения.
Сколько действий через жопу произойдёт затем при выборе архитектуры сети и выборе/настройке алгоритма обучения - мне угадывать уже лень.

В смысле - есть правильные и есть неправильные выборы/постановки задач для нейросеток.
0
45 / 45 / 2
Регистрация: 10.06.2023
Сообщений: 679
24.09.2025, 13:05  [ТС]
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
потом их героически преодолеваем
Еще раз вернулся к проблеме sigmoid. Вспомнил, что моих попытках отказаться от sigmoid я имел дело только с собственно sigmoid, а ее производная почему-то отсутствовала в рассматриваемых примерах. Решил проверить на задаче, где как собственно sigmoid функция, так и ее производная фигурируют явно. Оказалось, что отказ от sigmoid, то есть замена их на Х и 1 соответственно, не нарушает сходимость в задаче распознавания, более того сходимость без sigmoid резко ускоряется. Прицеплен файл с результатами. Та картинка, где сходится быстрее - без sigmoid
Вложения
Тип файла: zip GraphicsSigmoid2.zip (130.2 Кб, 2 просмотров)
0
697 / 571 / 75
Регистрация: 20.09.2014
Сообщений: 3,689
30.09.2025, 16:51
Сигмоида (активационная функция) в выходном слое нужна для задач классификации. Активационная функция не нужна для задач регрессии. Это база, которую надо знать.

Добавлено через 7 минут
А ещё может быть софтмакс или функция потерь - бинарная перекрёстная энтропия с логитами... Тут надо понимать, что в структуре происходит.
0
45 / 45 / 2
Регистрация: 10.06.2023
Сообщений: 679
01.10.2025, 12:53  [ТС]
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Это база, которую надо знать.
К сожалению, не попались мне простые и понятные разъяснения, приходится учиться на своих работающих примерах Вот еще вопрос на засыпку: что важнее количество узлов или скрытых слоев сети. У меня есть примеры простейшей задачи распознавания, когда обучение сети с одним скрытым слоем с большим количеством узлов идет быстрее, чем если такое же число узлов разделить на два скрытых слоя.
Кто-нибудь может это объяснить?
Мне не попалось ни одного рецепта выбора сети. Я задумался об этом увидев пример сети 2,1, которая справлялась с задачей, часто встречавшейся в интернете и решаемой с сетью 2,2,1
Ну и на конец, из общих соображения количество узлов должно зависеть от количества примеров, используемых для обучения.
0
697 / 571 / 75
Регистрация: 20.09.2014
Сообщений: 3,689
01.10.2025, 13:50
Широкая нейросеть может запоминать больше всяких признаков, поэтому она обучается лучше, но не забывайте о переобучении. Это когда нейросеть тупо запоминает все входные данные, не пытаясь найти ограниченный набор наиболее часто попадающихся закономерностей, чтобы потом лучше работать на тестовых данных.

С глубиной чуть посложнее. При движении слева направо на каждом слое конкретность уменьшается, абстрактность увеличивается. (Это антонимы.) Допустим на входе изображение конкретной кошки, в скрытом слое есть нейроны, которые возбуждаются от ушей, от усов, от хвоста, от зубов, от когтей, от черного цвета, от белого цвета, от черно-бело-рыжего цвета и т.д. В этом слое кошечка немного размыта: мы видим признаки более общие - наличие ушей, когтей и черного цвета. На выходном слое мы видим, что единственный нейрон возбудился от кошечки, так как уши, когти и черный цвет - это явно кошка. Глубину нужно выбирать, исходя из сложности структуры данных и от степени ее обобщения. Если зададим глубину побольше, то можно будет сузить ширины слоев, уменьшая переобучение.

Входной слой - пиксели изображения кошки
Слой 2 - уши черные, уши белые, уши серые, уши рыжие, хвост черный, хвост белый, хвост серый, хвост рыжий, когти...
Слой 3 - уши (любого цвета), хвост (любого цвета), когти
Выходной слой - наличие кошки (0/1)

Задача стала чуть проще при переходе от изображения ко второму слою... Значит увеличение глубины не лишено смысла. Примерно так
0
45 / 45 / 2
Регистрация: 10.06.2023
Сообщений: 679
05.10.2025, 12:21  [ТС]
Цитата Сообщение от Mikhaylo Посмотреть сообщение
когда нейросеть тупо запоминает все входные данные, не пытаясь найти ограниченный набор наиболее часто попадающихся закономерностей
У меня есть достаточно простая программы распознавания на с++, позволяющая наглядно демонстрировать различные изменения условий: структуры сети, epochs, learning_step. Хотелось бы понять, как организуется поиск ограниченного набора закономерностей. Потому, что выше подразумевается, что такой поиск производится всегда и только в дефектных случаях он отсутствует. Но, возможно мы говорим о разном. Я о задаче распознавания, но могу и о кластеризации, но там все по другому.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.10.2025, 12:21
Помогаю со студенческими работами здесь

Оказывает ли исход инструкции условного перехода (if) какое-либо влияние на стек
Привет народ, скажите, оказывает ли исход инструкции условного перехода (if) какое-либо влияние на...

QGraphicsItem, QGraphicsEffect и ликвидация пагубного влияния родителей
Каким образом можно избежать наследования эффекта QGraphicsEffect от родителя QGraphicsItem? Если...

Влияние оптимизации? Или UB?
Добрый день, подскажите, вроде действия одинаковы, но программа выводит разный результат....

Влияние абсолютного значения константы и использованных в ее изображении суффиксов L, U на тип данных
Нужно проиллюстрировать влияние абсолютного значения константы и использованных в ее изображении...

Влияние разрядности процессора на количество операций
Здравствуйте. Объясните по подробней ответ на вопрос: сколько операций совершает процессор при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7 Чтобы решить задачу, использовал интернет: поисковики Google и Yandex, а также подсказки Deep Seek. Как оказалось, чтобы создать. . .
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru