Re[13]: Почему взлетел Deep Learning?
От: SkyKnight Швейцария https://github.com/dmitrigrigoriev/
Дата: 01.07.22 06:57
Оценка:
Здравствуйте, m2l, Вы писали:


m2l>>>Я это знаю. Но вопрос тот-же: как знание дифисчисления помогает человеку пользоваться библиотекой с готовым набором оптимизаторов? На каком этапе при работе с датасетом, описанием модели или обучением человек должен им воспользоваться, применительно к чему, как это помогает выбрать функцию активации или число нейронов в слое?

Еще раз по слогам. Вручную никто не считает, но так как при обучении в алгоритме back propagation идет вычисление производной для того чтобы настроить веса нейронов, необходимо подобрать такую функцию активации, у которой производная высчитывается просто. Я тебе для чего дал список самых популярных функций активации? чтобы ты посмотрел их, посмотрел как выглядят их производные.
Например производную сигмоидальной функции можно выразить через саму функцию, что приводит к тому, что собственно сложные вычисления производить не придется.

m2l>Вот. А выше писал, будто их стараться подобрать, "чтобы производную можно было вычислить просто". А тут уже оказывается никто никакие производные для выбора функции активации не считает.

Вручную нет, ну сколько раз еще говорить?

m2l>Согласен. Такая логика и приводит меня к мысли, что статистика и теория вероятностей важна. А производные и диф.счисление — не очень.

m2l>А меня тут пытаются зачем-то убедить, что именно расчет производных нужен для работы с данными и обучения. Но привести пример как это знание можно применить никто, включая тебя, не может.
Тебе уже сказали, чем проще для алгоритма вычислять производную на этапе обучения и чем стабильнее (численно) эти вычисления будут, тем проще будет обучить модель и модель будет лучше. Или ты думаешь эти функции активации просто от балды понабирали?
Но опять же очень сильно зависит от задачи какую функцию активации выбрать. Если у тебя классификация 2х классов, то тот же tanh будет уже не оптимальным выбором.

m2l>Конкретно эта — картинки. Насчет тормозить — просто нейронов чуть больше, чем нужно. Сложений/умножений слишком много. Но, заметь, никакого варианта посчитать производные, что бы найти слои, которые можно убрать или снизить размерность, или заменить ядро свертки у тебя нету.

У тебя CNN или что? Вообще посмотри уже готовые cnn сети, они очень глубокие, там до хрена параметров и почему-то они не тормозят. Я бы на твоем месте взял уже готовую обученную модель и просто дообучил ее на твоем же датасете, а не обучал бы с нуля.
github.com/dmitrigrigoriev/
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.