Skip to content

Commit a1e9544

Browse files
refac: Revise some minor issues
1 parent 9488eef commit a1e9544

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

notes/machine_learning/miscellaneous.ipynb

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,8 @@
152152
"## Откуда может взяться недовольство заказчика машинно-обученной моделью?\n",
153153
"\n",
154154
"Любая прикладная задача моделирования имеет заказчика, неважно, внутреннего или внешнего. Когда заказчик принимает модель, он решает, устраивает ли она его. Причины недовольства заказчика бывают такие:\n",
155-
"\n",
156-
"1. Модель, и в самом деле, плохая;\n",
157-
"\n",
158-
"2. Заказчик не умеет пользоваться моделью;\n",
159-
"\n",
155+
"1. Модель, и в самом деле, плохая.\n",
156+
"2. Заказчик не умеет пользоваться моделью.\n",
160157
"3. Ожидания заказчика неоправданно завышены.\n",
161158
"\n",
162159
"Какой бы ни была истинная причина, заказчик, скорее всего, решит, что реализовался первый сценарий: модель плохая. Поэтому в интересах специалиста по моделированию избежать ситуаций, когда хорошая модель попадает во второй или третий сценарий.\n",

notes/machine_learning/neural_networks.ipynb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@
347347
"\n",
348348
"Простая, но рабочая альтернатива пакетной нормализации называется [нормализацией весов](https://arxiv.org/pdf/1602.07868.pdf) (weight normalization). Она предлагает представить каждый вектор весов $w$ в виде $w = g \\frac{v}{\\Vert v \\Vert}$, где $g$ — скаляр, а $v$ — вектор той же длины, что и $w$. Очевидно, любой ненулевой вектор можно представить в таком виде. При выполнении градиентного спуска все частные производные теперь будет считаться не относительно $w$, а относительно $g$ и $v$. Таким образом, нормализация весов сводится к перепараметризации нейронной сети, когда вместо одних обучаемых параметров используются другие, но, по сути, сеть остаётся той же самой. Утверждается, что сходимость обучения при этом улучшается.\n",
349349
"\n",
350-
"Нормализация весов в первую очередь оказывает эффект на дисперсию выходных значений. Чтобы лучше управлять ещё и средним, нормализацию весов можно совместить с урезанной версией пакетной нормализации, затрагивающей только среднее, но не трограющей среднеквадратичные отклонения (т.е. в ней есть $\\beta$, $\\mu_\\mathrm{batch}$ и $\\mu_\\mathrm{cum}$, но отсутствуют $\\gamma$, $\\sigma_\\mathrm{batch}$ и $\\sigma_\\mathrm{cum}$). \n",
350+
"Нормализация весов в первую очередь оказывает эффект на дисперсию выходных значений. Чтобы лучше управлять ещё и средним, нормализацию весов можно совместить с урезанной версией пакетной нормализации, затрагивающей только среднее, но не трогающей среднеквадратичные отклонения (т.е. в ней есть $\\beta$, $\\mu_\\mathrm{batch}$ и $\\mu_\\mathrm{cum}$, но отсутствуют $\\gamma$, $\\sigma_\\mathrm{batch}$ и $\\sigma_\\mathrm{cum}$). \n",
351351
"\n",
352352
"#### Послойная нормализация\n",
353353
"\n",
@@ -370,7 +370,9 @@
370370
"source": [
371371
"## Субдискретизация\n",
372372
"\n",
373-
"В свёрточных нейронных сетях часто используют слой, в котором фильтр (filter, kernel) проходит по входу с некоторым шагом (stride) и каждый раз от всего, что попадает в него, берёт значение некоторой агрегирующей функции, становящееся значением в соответствующем выходном юните. В англоязычной литературе этот слой называют \"pooling\", а в русскоязычной литературе принято название «субдискретизация», хотя оно не совсем точное. В цифровой обработке сигналов субдискретизацией (subsampling, downsampling) называют снижение частоты дискретизации (sample rate, frame rate), но с такой точки зрения субдискретизацией является и свёртка (convolution) с шагом, большим 1. Более того, если в слое так называемой субдискретизации шаг равен 1 и используется режим работы с граничными значениями, за которым благодаря MATLAB'у укоренилось название \"same\", то ни частота дискретизации, ни даже размерность не изменятся.\n",
373+
"В свёрточных нейронных сетях часто используют слой, в котором фильтр (filter, kernel) проходит по входу с некоторым шагом (stride) и каждый раз от всего, что попадает в него, берёт значение некоторой агрегирующей функции, становящееся значением в соответствующем выходном юните.\n",
374+
"\n",
375+
"В англоязычной литературе этот слой называют \"pooling\", а в русскоязычной литературе принято название «субдискретизация», хотя оно не совсем точное. В цифровой обработке сигналов субдискретизацией (subsampling, downsampling) называют снижение частоты дискретизации (sample rate, frame rate). В контексте изображений частотой дискретизации выступает плотность пикселей (DPI, dots-per-inch), то есть она прямо пропорциональна размеру в пикселях. Но при таких определениях субдискретизацией является и свёртка (convolution) с шагом, большим 1. Более того, есть и примеры, когда слой так называемой субдискретизации не меняет частоту дискретизации: скажем, если шаг равен 1 и используется режим работы с граничными значениями, за которым благодаря MATLAB'у укоренилось название \"same\".\n",
374376
"\n",
375377
"В качестве агрегирующей функции можно взять максимум — тогда речь пойдёт о субдискретизации максимумом (max pooling). Её часто используют для задач, связанных с изображениями, потому что она придаёт следующие свойства:\n",
376378
"* устойчивость к сдвигам изображения на небольшое количество пикселей;\n",

0 commit comments

Comments
 (0)