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

m2l>А чем их знания могут помочь построить при помощи Keras модель, обучить и пользоваться? Мой поинт именно в этом, что производную никто считать не будет. И это знание — что оно есть, что нету не влияет на способность описать и обучить модель. Или не способность.

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


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

Все зависит от задачи. Но сейчас де-факто стандарт функция активации используется ReLU. Но, если ты строишь RNN, то чаще берут tanh.
Вот просто почитай хотя бы про эти функции активации: https://neurohive.io/ru/osnovy-data-science/activation-functions/

m2l>Я не только читаю, но и в живую использую. Поэтому меня и несколько выбивает из колеи, когда люди, которые только читали, начинают выдавать прочитанное за первую истину.

Не заметно, что читаешь, тут больше похоже, что только используешь, потому что задаешь не те вопросы.

m2l>Вот смотри — по твоим собственным словам производные высчитываться только на этапе обучения. Их кто считает, человек или ML библиотека? И если это библиотека, то как именно знание производных поможет обучить модель быстрее/выше/сильней?

Я опять же не понимаю вопроса. Но знание алгоритма, как работает back propagation, особо не поможет в обучении. Тут больше поможет работа с данными, в общем называется Data Engineering, из которого потом идет feature engineering. Чтобы смочь выбрать действительно нужные данные для обучения сети.


Есть простые датасеты, например, было что-то там с yellow cab, в данных было время посадки, время высадки пассажира, сколько километров проехал, место посадки, место высадки и еще всякое.
Так вот даже на таком просто датасете было понятно, что просто время посадки и время высадки не интересные фичи, а интересная была "продолжительность поездки", которую надо было бы вычислить как разницу этих двух времен. Потому что именно расстояние и время больше всего влияли на цену поездки. Причем фичи "выходной", "не выходной" или "утро", "день", "вечер" и "ночь" не играли особой роли, точнее совсем не играли.


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


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

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