Изменения

Перейти к: навигация, поиск

Инициализация параметров глубокой сети

126 байт добавлено, 19:11, 4 сентября 2022
м
rollbackEdits.php mass rollback
Так как мы сами выбираем параметры распределения, то мы их можем подобрать так, чтобы $\mathbb{E}[w_i]=0$ (для всех слоев). Также можно добиться того, чтобы для первого слоя $\mathbb{E}[x_i]=0$, если данные будут центрироваться в ходе нормализации, тогда:
*<tex>(\mathbb{E}[x_i]=0, \mathbb{E}[w_i]=0) \Rightarrow \mathrm{Var}[y_i]=\mathrm{Var}[w_i]\mathrm{Var}[x_i]</tex>
Предыдущее предположение верно для первого слоя. Не трудно показать, что для всех следующих слоев оно тоже будет верно, если использовать симметричную функцию активации, которая будет сохранять нулевое матожиданиематематическое ожидание. Пусть $x=f(y_{prev})$, где $f$ это симметричная функция активации, а $y_{prev}=w_{prev}^T x_{prev}$ (предыдущее представление). Покажем что $\mathbb{E}[x]=0$:*<tex>\mathbb{E}[y_{prev_{i}}]=\mathbb{E}[w_{prev_{i}} x_{prev_{i}}]=\mathbb{E}[w_{prev_{i}}] \mathbb{E}[x_{prev_{i}}]=0</tex><br>Мы можем расписать матожидание математическое ожидание произведения, как произведение матожиданиймат. ожиданий, поскольку $w$ и $x$ независимы.<br><tex>\Rightarrow \mathbb{E}[y_{prev}]=\mathbb{E}[\sum\limits_{i=1}^{n_{in}}[y_{prev_{i}}]]=\sum\limits_{i=1}^{n_{in}}(\mathbb{E}[y_{prev_{i}}])=0</tex><br><tex>\Rightarrow \mathbb{E}[x]=\mathbb{E}[f(y_{prev})]=0</tex><br>Поскольку $f$ симметрична.
Поскольку $x_i$ мы отнормировали, а $w_i$ из одного распределения, то все дисперсии одинаковые:
*<tex>\mathrm{Var}[y]=\mathrm{Var}[\sum\limits_{i=1}^{n_{in}}[y_i]]=\sum\limits_{i=1}^{n_{in}}\mathrm{Var}[w_i x_i]=n_{in} \mathrm{Var}[w_i]\mathrm{Var}[x_i]</tex>
*Если коэффициент будет $<1$ это приведет к снижению дисперсии с каждым новым преобразованием с около нулевым промежуточным представлением, что тоже негативно скажется на обучении сети.
Если бы мы не использовали между слоями функцию активации, то дисперсия на последнем слое совпадала бы с дисперсией при инициализации входных данных, но использовать глубокую сеть без функции активации не имеет смысла, потому что она добавляет нелинейность нашей модели, чтобы выявлять более сложные закономерности. Поэтому, если мы будем использовать симметричную функцию активации, дисперсия на первом слое и на последнем все еще будет отличаться, но коэффициент $n_{in} \mathrm{Var}[w_i]$ уже не экспоненциальнобудет вносить вклад в дисперсию.
Поэтому для начальной инициализации параметров стоит использовать такое распределение, что $\mathrm{Var}[w_i]=\frac{1}{n_{in}}$, которое позволит контролировать изменение дисперсии.
1632
правки

Навигация