alterna ai
ALTERNA AI / ГЛАВА 07 · 05

07.5 Почему одной прямой недостаточно

На предыдущей странице: нелинейные правила преобразования.

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

Он собирает вклады входов, добавляет смещение и применяет нелинейное правило. Все части этого расчёта уже доступны школьной арифметике.

Глубина сама не создаёт нелинейность

Композиция двух аффинных слоёв без активации сворачивается в один:

W2(W1x+b1)+b2=(W2W1)x+(W2b1+b2).W_2(W_1x+b_1)+b_2=(W_2W_1)x+(W_2b_1+b_2).

XOR на точках (0,0),(0,1),(1,0),(1,1) имеет ответы 0,1,1,0. Две диагональные пары не разделяются одной прямой. Чтобы получить подходящее представление, введём два нелинейных скрытых признака (N02 §6.1):

s=x1+x2,h1=ReLU⁡(s),h2=ReLU⁡(s−1),y^=h1−2h2.s=x_1+x_2,\quad h_1=\operatorname{ReLU}(s),\quad h_2=\operatorname{ReLU}(s-1),\quad \hat y=h_1-2h_2.

При s=0,1,2 скрытые пары равны [0,0],[1,0],[2,1], а выходы 0,1,0. Следовательно, все четыре вершины обработаны правильно. Эти веса назначены вручную, не получены текущим обучением.

Эксперимент. Отключите ReLU, сохранив веса: теперь выход 2−s, то есть [2,1,1,0]. Некоторые точки совпали, но функция уже не XOR. Это контрпример к выводу «ничего не изменилось», сделанному по одной удачной точке.

Линейный output полезен после нелинейного представления. Однако ручной пример не доказывает generalization вне четырёх вершин и не гарантирует, что GD найдёт именно эти целочисленные веса. Далее соберём MLP и отдельно реализуем настоящее обучение.

outputs=[]
for x1,x2 in [(0,0),(0,1),(1,0),(1,1)]:
    s=x1+x2
    outputs.append(max(0,s)-2*max(0,s-1))
assert outputs==[0,1,1,0]

Код повторяет только что разобранные операции. Полный проверяемыйPython-пример главы доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.

Произведение матриц и новый bias не создают нелинейную семью.

Что могут несколько таких элементов, чего не может один?

Python-примеры главы 07 Академическая база →