Выбор алгоритмов оптимизации и функций потерь для модели глубокого обучения может сыграть большую роль в получении оптимальных и более быстрых результатов. Прежде чем мы начнем, давайте посмотрим, как различные компоненты модели глубокого обучения влияют на ее результат на простом примере Перцептрона. Также вы можете почитать интересную статью, про то как регуляризация в машинном обучении будет влиять на модель.
Если вы не знакомы с термином персептрон, он относится к конкретной модели обучения под наблюдением, изложенной Розенблаттом в 1957 году. Архитектура и поведение персептрона очень похожи на биологические нейроны и часто рассматриваются как самая основная форма нейронной системы. сеть. Другие виды нейронных сетей были разработаны после персептрона, и их разнообразие и применение продолжают расти. Легче объяснить составляющие нейронной сети на примере однослойного персептрона.
Однослойный персептрон работает как линейный двоичный классификатор. Рассмотрим вектор признаков [x1, x2, x3], который используется для прогнозирования вероятности (p) возникновения определенного события.
Весовые коэффициенты: Каждому входу в векторе признаков присваивается собственный относительный вес (w), который определяет влияние, которое требуется конкретному входу в функции суммирования. Говоря относительно проще, некоторые входные данные становятся более важными, чем другие, придавая им больший вес, чтобы они оказали большее влияние на функцию суммирования (y). Смещение (wo) также добавляется к суммированию.
Функция активации: результат функции суммирования, то есть взвешенная сумма, преобразуется в желаемый результат с помощью нелинейной функции (fNL), также известной как функция активации. Поскольку в этом случае желаемым выходом является вероятность события, сигмовидная функция может использоваться для ограничения результатов (y) между 0 и 1.
Функция обратного распространения и оптимизации: Ошибка J (w) является функцией внутренних параметров модели, т.е. весов и смещений. Для точных прогнозов необходимо минимизировать вычисленную ошибку. В нейронной сети это делается с использованием обратного распространения. Текущая ошибка обычно распространяется обратно на предыдущий уровень, где она используется для изменения весов и смещений таким образом, чтобы ошибка была минимизирована.Веса изменяются с помощью функции под названием Функция оптимизации.
Функции оптимизации обычно рассчитывают градиент, то есть частную производную функции потерь по весам, и веса изменяются в противоположном направлении от вычисленного градиента. Этот цикл повторяется до тех пор, пока мы не достигнем минимума функции потерь.