Академический Документы
Профессиональный Документы
Культура Документы
Вы уже знакомы с векторами и матрицами и их реализацией в numpy. Поэтому в этом разделе курса
мы будем использовать примеры реализаций полезных операций с помощью numpy. Многие
современные библиотеки реализуют нейросетевые вычисления, копируя интерфейс библиотеки numpy
или беря ее за основу (pyTorch, trax). Также все современные нейросетевые библиотеки обеспечивают
интеграцию с библиотекой numpy на основе преобразования представления тензоров numpy в
собственные тензора и обратно.
In [2]:
# импорт библиотеки numpy
import numpy as np
ε = y goal − y,
ε2
loss =
len(ε)
(С учетом использования для обучения и расчета пакетов образцов - пакетов векторов, все еще
сложнее)
Таким образом, нам понадобятся как простые операции над векторами и матрицами типа сложения и
поэлементного умножения, умножения на скаляр, так и более сложные операции, такие как матричное
умножение, скалярное умножение, конкатенация векторов и матриц, изменение размерности матриц,
перестановка размерностей.
x = (x 1, x 2, x 3)
Также мы задали вектор весов вклада этих заданий в общую оценку уровня знаний:
w = (w 1, w 2, w 3)
ТОгда оценить уровень знаний по результатам выполнения студентом контрольной работы мы можем
с помощью скалярного произведения этих двух векторов:
z abs = w ∗ x = w 1 ∗ x 1 + w 2 ∗ x 2 + w 3 ∗ x 3
Если нас интересует не абсолютное значение числа z abs, некоторой оценки уровня знаний, которая не
имеет большого смысла, кроме как ранжировать обучающихся, а мы хотим понять, кого из студентов
можно считать успешно сдавшим контрольную (и раздел курса), то можно задать некоторый порог z lim
(установленный экспертом), или вес смещения w 0 = − z lim.
Если z = w ∗ x ≥ z lim, то считаем, что студент успешно сдал контрольную. Если ввести переменную
z = z abs − z lim, то:
z = w ∗ x − zlim = w 0 ∗ 1 + w 1 ∗ x 1 + w 2 ∗ x 2 + w 3 ∗ x 3
По знаку этой переменной мы и можем судить о том, успешно (z ≥ 0) или неуспешно (z < 0) сдал студент
контрольную.
Если в вектор x добавить впереди 1, а в вектор w добавить вес смещения w 0, то критериальная оценка
успешности может быть найдена просто как скалярное произведение этих векторов
z = w ∗ x, w = (w 0, w 1, w 2, w 3), x = (1, x 1, x 2, x 3)
Здесь
y = f a(z), z = w ∗ x
где
y = sign(W ⋅ x) = { −1
1
если W ⋅ x < 0
если W ⋅ x ≥ 0
т.е. выход нейрона равен 1, если студент успешно сдал контрольную работу и равен -1, если не сдал.
ЗАДАЧА
W = (1, 2, 3)
Определите сдал студент или нет контрольную работу, если его баллы за соответствующие задания
равны:
x = (10, 8, 5)
Резюме
перечислили основные операции, которые приходится выполнять при работе с нейросетями;
вспомнили что такое скалярное произведение векторов;
рассмотрели, как с помощью скалярного произведения векторов моделируется работа простого
нейрона;